haikuwebkit/Tools/WebEditingTester/AppDelegate.h

43 lines
1.8 KiB
C
Raw Permalink Normal View History

Add new tool to test editable Webviews. https://bugs.webkit.org/show_bug.cgi?id=141772 Reviewed by Tim Horton. Adding WebEditingTester, a Cocoa application to test WK1 and Wk2 views in editable mode. * WebEditingTester: Added. * WebEditingTester/AppDelegate.h: Added. * WebEditingTester/AppDelegate.m: Added. (-[WebEditingAppDelegate init]): (defaultConfiguration): (-[WebEditingAppDelegate applicationDidFinishLaunching:]): (-[WebEditingAppDelegate applicationWillTerminate:]): (-[WebEditingAppDelegate newEditor:]): (-[WebEditingAppDelegate showOperations:]): (-[WebEditingAppDelegate useWebKit2ByDefault]): (-[WebEditingAppDelegate toggleUseWK2ByDefault:]): (-[WebEditingAppDelegate validateMenuItem:]): * WebEditingTester/Info.plist: Added. * WebEditingTester/MainMenu.xib: Added. * WebEditingTester/WK1WebDocumentController.h: Added. * WebEditingTester/WK1WebDocumentController.m: Added. (-[WK1WebDocumentController awakeFromNib]): (-[WK1WebDocumentController loadContent]): (-[WK1WebDocumentController dealloc]): (-[WK1WebDocumentController pasteAsMarkup:]): * WebEditingTester/WK2WebDocumentController.h: Added. * WebEditingTester/WK2WebDocumentController.m: Added. (-[WK2WebDocumentController initWithConfiguration:]): (-[WK2WebDocumentController pasteAsMarkup:]): (-[WK2WebDocumentController awakeFromNib]): (-[WK2WebDocumentController dealloc]): (-[WK2WebDocumentController loadContent]): * WebEditingTester/WebDocument.xib: Added. * WebEditingTester/WebDocumentController.h: Added. * WebEditingTester/WebDocumentController.m: Added. (-[WebDocumentController initWithWindow:]): (-[WebDocumentController windowDidLoad]): (-[WebDocumentController defaultEditingSource]): (-[WebDocumentController applicationTerminating]): (-[WebDocumentController loadContent]): * WebEditingTester/WebEditingTester.xcodeproj: Added. * WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj: Added. * WebEditingTester/main.m: Added. (main): Canonical link: https://commits.webkit.org/159820@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-02-19 18:41:24 +00:00
/*
* Copyright (C) 2015 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
#import <Cocoa/Cocoa.h>
@interface WebEditingAppDelegate : NSObject <NSApplicationDelegate> {
NSMutableSet *_webDocuments;
IBOutlet NSMenuItem *_newWebKit1EditorItem;
IBOutlet NSMenuItem *_newWebKit2EditorItem;
Add new tool to test editable Webviews. https://bugs.webkit.org/show_bug.cgi?id=141772 Reviewed by Tim Horton. Adding WebEditingTester, a Cocoa application to test WK1 and Wk2 views in editable mode. * WebEditingTester: Added. * WebEditingTester/AppDelegate.h: Added. * WebEditingTester/AppDelegate.m: Added. (-[WebEditingAppDelegate init]): (defaultConfiguration): (-[WebEditingAppDelegate applicationDidFinishLaunching:]): (-[WebEditingAppDelegate applicationWillTerminate:]): (-[WebEditingAppDelegate newEditor:]): (-[WebEditingAppDelegate showOperations:]): (-[WebEditingAppDelegate useWebKit2ByDefault]): (-[WebEditingAppDelegate toggleUseWK2ByDefault:]): (-[WebEditingAppDelegate validateMenuItem:]): * WebEditingTester/Info.plist: Added. * WebEditingTester/MainMenu.xib: Added. * WebEditingTester/WK1WebDocumentController.h: Added. * WebEditingTester/WK1WebDocumentController.m: Added. (-[WK1WebDocumentController awakeFromNib]): (-[WK1WebDocumentController loadContent]): (-[WK1WebDocumentController dealloc]): (-[WK1WebDocumentController pasteAsMarkup:]): * WebEditingTester/WK2WebDocumentController.h: Added. * WebEditingTester/WK2WebDocumentController.m: Added. (-[WK2WebDocumentController initWithConfiguration:]): (-[WK2WebDocumentController pasteAsMarkup:]): (-[WK2WebDocumentController awakeFromNib]): (-[WK2WebDocumentController dealloc]): (-[WK2WebDocumentController loadContent]): * WebEditingTester/WebDocument.xib: Added. * WebEditingTester/WebDocumentController.h: Added. * WebEditingTester/WebDocumentController.m: Added. (-[WebDocumentController initWithWindow:]): (-[WebDocumentController windowDidLoad]): (-[WebDocumentController defaultEditingSource]): (-[WebDocumentController applicationTerminating]): (-[WebDocumentController loadContent]): * WebEditingTester/WebEditingTester.xcodeproj: Added. * WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj: Added. * WebEditingTester/main.m: Added. (main): Canonical link: https://commits.webkit.org/159820@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-02-19 18:41:24 +00:00
IBOutlet NSPanel *_operationsPanel;
}
[WebEditingTester] Hook up key equivalents for new window action https://bugs.webkit.org/show_bug.cgi?id=141828 Reviewed by Enrica Casucci. * WebEditingTester/AppDelegate.h: * WebEditingTester/AppDelegate.m: (-[WebEditingAppDelegate applicationDidFinishLaunching:]): (-[WebEditingAppDelegate newEditor:]): (-[WebEditingAppDelegate _defaultWebDocumentControllerClass]): (-[WebEditingAppDelegate toggleUseWK2ByDefault:]): (-[WebEditingAppDelegate _updateNewWindowKeyEquivalents]): (defaultConfiguration): Deleted. (-[WebEditingAppDelegate applicationWillTerminate:]): Deleted. Move WKWebViewConfiguration setup into WK2WebDocumentController. Remove unused application termination code. Update new-window menu item key equivalents when launching and when changing the use-WebKit2-by-default setting. Make WebDocumentController subclasses all initialized the same way, and use that to factor out alloc/init. Rename loadContent to loadHTMLString for future use. * WebEditingTester/MainMenu.xib: Add default key equivalents. Cmd-N will always make the default kind of window (controlled by the pref). Cmd-Opt-N will always make the other kind. The menu items are configured as alternates so they only show up if you press alt (just like in MiniBrowser). * WebEditingTester/WK1WebDocumentController.m: (-[WK1WebDocumentController loadHTMLString:]): (-[WK1WebDocumentController loadContent]): Deleted. * WebEditingTester/WK2WebDocumentController.h: * WebEditingTester/WK2WebDocumentController.m: (defaultConfiguration): (-[WK2WebDocumentController awakeFromNib]): (-[WK2WebDocumentController loadHTMLString:]): (-[WK2WebDocumentController initWithConfiguration:]): Deleted. (-[WK2WebDocumentController dealloc]): Deleted. * WebEditingTester/WebDocumentController.h: * WebEditingTester/WebDocumentController.m: (-[WebDocumentController init]): (-[WebDocumentController initWithWindow:]): (+[WebDocumentController defaultEditingSource]): (-[WebDocumentController loadHTMLString:]): (-[WebDocumentController windowDidLoad]): Deleted. (-[WebDocumentController defaultEditingSource]): Deleted. (-[WebDocumentController applicationTerminating]): Deleted. (-[WebDocumentController loadContent]): Deleted. Canonical link: https://commits.webkit.org/159866@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-02-20 19:17:51 +00:00
Add new tool to test editable Webviews. https://bugs.webkit.org/show_bug.cgi?id=141772 Reviewed by Tim Horton. Adding WebEditingTester, a Cocoa application to test WK1 and Wk2 views in editable mode. * WebEditingTester: Added. * WebEditingTester/AppDelegate.h: Added. * WebEditingTester/AppDelegate.m: Added. (-[WebEditingAppDelegate init]): (defaultConfiguration): (-[WebEditingAppDelegate applicationDidFinishLaunching:]): (-[WebEditingAppDelegate applicationWillTerminate:]): (-[WebEditingAppDelegate newEditor:]): (-[WebEditingAppDelegate showOperations:]): (-[WebEditingAppDelegate useWebKit2ByDefault]): (-[WebEditingAppDelegate toggleUseWK2ByDefault:]): (-[WebEditingAppDelegate validateMenuItem:]): * WebEditingTester/Info.plist: Added. * WebEditingTester/MainMenu.xib: Added. * WebEditingTester/WK1WebDocumentController.h: Added. * WebEditingTester/WK1WebDocumentController.m: Added. (-[WK1WebDocumentController awakeFromNib]): (-[WK1WebDocumentController loadContent]): (-[WK1WebDocumentController dealloc]): (-[WK1WebDocumentController pasteAsMarkup:]): * WebEditingTester/WK2WebDocumentController.h: Added. * WebEditingTester/WK2WebDocumentController.m: Added. (-[WK2WebDocumentController initWithConfiguration:]): (-[WK2WebDocumentController pasteAsMarkup:]): (-[WK2WebDocumentController awakeFromNib]): (-[WK2WebDocumentController dealloc]): (-[WK2WebDocumentController loadContent]): * WebEditingTester/WebDocument.xib: Added. * WebEditingTester/WebDocumentController.h: Added. * WebEditingTester/WebDocumentController.m: Added. (-[WebDocumentController initWithWindow:]): (-[WebDocumentController windowDidLoad]): (-[WebDocumentController defaultEditingSource]): (-[WebDocumentController applicationTerminating]): (-[WebDocumentController loadContent]): * WebEditingTester/WebEditingTester.xcodeproj: Added. * WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj: Added. * WebEditingTester/main.m: Added. (main): Canonical link: https://commits.webkit.org/159820@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-02-19 18:41:24 +00:00
- (IBAction)newEditor:(id)sender;
- (IBAction)showOperations:(id)sender;
- (IBAction)toggleUseWebKit2ByDefault:(id)sender;
Add new tool to test editable Webviews. https://bugs.webkit.org/show_bug.cgi?id=141772 Reviewed by Tim Horton. Adding WebEditingTester, a Cocoa application to test WK1 and Wk2 views in editable mode. * WebEditingTester: Added. * WebEditingTester/AppDelegate.h: Added. * WebEditingTester/AppDelegate.m: Added. (-[WebEditingAppDelegate init]): (defaultConfiguration): (-[WebEditingAppDelegate applicationDidFinishLaunching:]): (-[WebEditingAppDelegate applicationWillTerminate:]): (-[WebEditingAppDelegate newEditor:]): (-[WebEditingAppDelegate showOperations:]): (-[WebEditingAppDelegate useWebKit2ByDefault]): (-[WebEditingAppDelegate toggleUseWK2ByDefault:]): (-[WebEditingAppDelegate validateMenuItem:]): * WebEditingTester/Info.plist: Added. * WebEditingTester/MainMenu.xib: Added. * WebEditingTester/WK1WebDocumentController.h: Added. * WebEditingTester/WK1WebDocumentController.m: Added. (-[WK1WebDocumentController awakeFromNib]): (-[WK1WebDocumentController loadContent]): (-[WK1WebDocumentController dealloc]): (-[WK1WebDocumentController pasteAsMarkup:]): * WebEditingTester/WK2WebDocumentController.h: Added. * WebEditingTester/WK2WebDocumentController.m: Added. (-[WK2WebDocumentController initWithConfiguration:]): (-[WK2WebDocumentController pasteAsMarkup:]): (-[WK2WebDocumentController awakeFromNib]): (-[WK2WebDocumentController dealloc]): (-[WK2WebDocumentController loadContent]): * WebEditingTester/WebDocument.xib: Added. * WebEditingTester/WebDocumentController.h: Added. * WebEditingTester/WebDocumentController.m: Added. (-[WebDocumentController initWithWindow:]): (-[WebDocumentController windowDidLoad]): (-[WebDocumentController defaultEditingSource]): (-[WebDocumentController applicationTerminating]): (-[WebDocumentController loadContent]): * WebEditingTester/WebEditingTester.xcodeproj: Added. * WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj: Added. * WebEditingTester/main.m: Added. (main): Canonical link: https://commits.webkit.org/159820@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-02-19 18:41:24 +00:00
[WebEditingTester] Add support for the find and replace bar https://bugs.webkit.org/show_bug.cgi?id=142247 Reviewed by Enrica Casucci. While it's not hooked up yet in WKWebView, adding support for the find bar to WebEditingTester will help us implement that functionality. * WebEditingTester/AppDelegate.h: * WebEditingTester/AppDelegate.m: (-[WebEditingAppDelegate performTextFinderAction:]): * WebEditingTester/MainMenu.xib: Receive performTextFinderAction: and forward it to the frontmost WebDocumentController. * WebEditingTester/WK2WebDocumentController.m: (-[WK2WebDocumentController awakeFromNib]): (-[WK2WebDocumentController performTextFinderAction:]): (-[WK2WebDocumentController findBarView]): (-[WK2WebDocumentController setFindBarView:]): (-[WK2WebDocumentController isFindBarVisible]): (-[WK2WebDocumentController setFindBarVisible:]): (-[WK2WebDocumentController findBarViewDidChangeHeight]): (-[WK2WebDocumentController layout]): Implement performTextFinderAction: for WebKit2, and have a NSTextFinder pointing at the WKWebView (currently nothing will work, but the bar will show up). Install and uninstall the bar as needed. * WebEditingTester/WebDocument.xib: Don't use a full-size content view. There's no need, and it makes find bar layout harder. * WebEditingTester/WebDocumentController.h: * WebEditingTester/WebDocumentController.m: (-[WebDocumentController performTextFinderAction:]): Canonical link: https://commits.webkit.org/160324@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-04 19:27:39 +00:00
- (IBAction)performTextFinderAction:(id)sender;
Add new tool to test editable Webviews. https://bugs.webkit.org/show_bug.cgi?id=141772 Reviewed by Tim Horton. Adding WebEditingTester, a Cocoa application to test WK1 and Wk2 views in editable mode. * WebEditingTester: Added. * WebEditingTester/AppDelegate.h: Added. * WebEditingTester/AppDelegate.m: Added. (-[WebEditingAppDelegate init]): (defaultConfiguration): (-[WebEditingAppDelegate applicationDidFinishLaunching:]): (-[WebEditingAppDelegate applicationWillTerminate:]): (-[WebEditingAppDelegate newEditor:]): (-[WebEditingAppDelegate showOperations:]): (-[WebEditingAppDelegate useWebKit2ByDefault]): (-[WebEditingAppDelegate toggleUseWK2ByDefault:]): (-[WebEditingAppDelegate validateMenuItem:]): * WebEditingTester/Info.plist: Added. * WebEditingTester/MainMenu.xib: Added. * WebEditingTester/WK1WebDocumentController.h: Added. * WebEditingTester/WK1WebDocumentController.m: Added. (-[WK1WebDocumentController awakeFromNib]): (-[WK1WebDocumentController loadContent]): (-[WK1WebDocumentController dealloc]): (-[WK1WebDocumentController pasteAsMarkup:]): * WebEditingTester/WK2WebDocumentController.h: Added. * WebEditingTester/WK2WebDocumentController.m: Added. (-[WK2WebDocumentController initWithConfiguration:]): (-[WK2WebDocumentController pasteAsMarkup:]): (-[WK2WebDocumentController awakeFromNib]): (-[WK2WebDocumentController dealloc]): (-[WK2WebDocumentController loadContent]): * WebEditingTester/WebDocument.xib: Added. * WebEditingTester/WebDocumentController.h: Added. * WebEditingTester/WebDocumentController.m: Added. (-[WebDocumentController initWithWindow:]): (-[WebDocumentController windowDidLoad]): (-[WebDocumentController defaultEditingSource]): (-[WebDocumentController applicationTerminating]): (-[WebDocumentController loadContent]): * WebEditingTester/WebEditingTester.xcodeproj: Added. * WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj: Added. * WebEditingTester/main.m: Added. (main): Canonical link: https://commits.webkit.org/159820@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-02-19 18:41:24 +00:00
@end