haikuwebkit/Tools/WebEditingTester/WK1WebDocumentController.m

71 lines
2.7 KiB
Mathematica
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 "WK1WebDocumentController.h"
#import <WebKit/WebKit.h>
#import <WebKit/WebPreferences.h>
#import <WebKit/WebPreferencesPrivate.h>
#import <WebKit/WebPreferenceKeysPrivate.h>
#import <WebKit/WebViewPrivate.h>
Add preliminary (SPI) support for NSTextFinder on WKWebView https://bugs.webkit.org/show_bug.cgi?id=150907 <rdar://problem/19171624> Reviewed by Darin Adler. New API test: WebKit2.FindInPage * Platform/spi/mac/AppKitSPI.h: Add some SPI. * UIProcess/API/APIFindClient.h: (API::FindClient::didFindString): * UIProcess/API/C/WKPage.cpp: (WKPageSetPageFindClient): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didFindString): * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/Cocoa/FindClient.h: * UIProcess/Cocoa/FindClient.mm: (WebKit::FindClient::didFindString): Make didFindString return the match rects like didFindStringMatches does. * WebProcess/WebPage/FindController.cpp: (WebKit::FindController::updateFindUIAfterPageScroll): (WebKit::FindController::findString): Keep the most recent find match around for incremental find just like we do for the non-incremental version. This way, getImageForFindMatch and selectFindMatch will work for incremental find too! * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _ensureTextFinderClient]): (-[WKWebView findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]): (-[WKWebView documentContainerView]): (-[WKWebView getSelectedText:]): (-[WKWebView selectFindMatch:completionHandler:]): Implement NSTextFinder's async client protocol and forward to the new WKTextFinderClient. * UIProcess/API/Cocoa/WKWebViewPrivate.h: Privately note our conformance to the aformentioned protocol. * UIProcess/mac/WKTextFinderClient.h: Added. * UIProcess/mac/WKTextFinderClient.mm: Added. (WebKit::TextFinderFindClient::TextFinderFindClient): (-[WKTextFinderMatch initWithClient:view:index:rects:]): (-[WKTextFinderMatch containingView]): (-[WKTextFinderMatch textRects]): (-[WKTextFinderMatch generateTextImage:]): (-[WKTextFinderMatch index]): (-[WKTextFinderClient initWithPage:view:]): (-[WKTextFinderClient willDestroyView:]): (-[WKTextFinderClient findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]): (-[WKTextFinderClient getSelectedText:]): (-[WKTextFinderClient selectFindMatch:completionHandler:]): (-[WKTextFinderClient didFindStringMatches:rects:index:]): (-[WKTextFinderClient didGetImageForMatchResult:index:]): (-[WKTextFinderClient didFindString:rects:index:]): (-[WKTextFinderClient didFailToFindString:]): (-[WKTextFinderClient getImageForMatchResult:completionHandler:]): * WebKit2.xcodeproj/project.pbxproj: Add WKTextFinderClient. It installs itself as the FindClient and FindMatchesClient, so you can only use one mechanism or the other. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm: Added. (-[FindInPageNavigationDelegate webView:didFinishNavigation:]): (TEST): Add an API test. * WebEditingTester/WK1WebDocumentController.m: * WebEditingTester/WK2WebDocumentController.m: (-[WK2WebDocumentController awakeFromNib]): (-[WK2WebDocumentController contentView]): Use incremental find, and show the overlay/indicator. Canonical link: https://commits.webkit.org/169194@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-11-06 19:48:27 +00:00
@interface WK1WebDocumentController () <WebUIDelegate>
@property (nonatomic, strong) WebView *webView;
@end
@implementation WK1WebDocumentController
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
- (void)awakeFromNib
{
self.webView = [[WebView alloc] initWithFrame:[containerView bounds] frameName:nil groupName:@"WebEditingTester"];
_webView.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable;
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
_webView.editable = YES;
_webView.UIDelegate = self;
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
WebPreferences *preferences = [WebPreferences standardPreferences];
preferences.fullScreenEnabled = YES;
preferences.developerExtrasEnabled = YES;
preferences.imageControlsEnabled = YES;
preferences.serviceControlsEnabled = YES;
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
self.window.title = @"WebEditor [WK1]";
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
[containerView addSubview:_webView];
}
[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
- (void)loadHTMLString:(NSString *)content
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
{
[_webView.mainFrame loadHTMLString:content baseURL:nil];
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)pasteAsMarkup:(id)sender
{
// FIXME: This is probably incorrect, should use WebArchive
NSString *markup = [[NSPasteboard generalPasteboard] stringForType:NSStringPboardType];
[_webView replaceSelectionWithMarkupString:markup ? markup : @""];
}
@end