<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[191907] trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/191907">191907</a></dd>
<dt>Author</dt> <dd>timothy_horton@apple.com</dd>
<dt>Date</dt> <dd>2015-11-02 13:15:06 -0800 (Mon, 02 Nov 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Get rid of WKWebView's inner WKView (WKView being inside WKWebView leads to weird API issues)
https://bugs.webkit.org/show_bug.cgi?id=150174
Reviewed by Anders Carlsson.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView dealloc]):
(-[WKWebView allowsLinkPreview]):
(-[WKWebView setAllowsLinkPreview:]):
(-[WKWebView acceptsFirstResponder]):
(-[WKWebView becomeFirstResponder]):
(-[WKWebView resignFirstResponder]):
(-[WKWebView viewWillStartLiveResize]):
(-[WKWebView viewDidEndLiveResize]):
(-[WKWebView isFlipped]):
(-[WKWebView intrinsicContentSize]):
(-[WKWebView prepareContentInRect:]):
(-[WKWebView setFrameSize:]):
(-[WKWebView renewGState]):
(-[WKWebView writeSelectionToPasteboard:types:]):
(-[WKWebView centerSelectionInVisibleArea:]):
(-[WKWebView validRequestorForSendType:returnType:]):
(-[WKWebView readSelectionFromPasteboard:]):
(-[WKWebView changeFont:]):
(-[WKWebView validateUserInterfaceItem:]):
(-[WKWebView startSpeaking:]):
(-[WKWebView stopSpeaking:]):
(-[WKWebView showGuessPanel:]):
(-[WKWebView checkSpelling:]):
(-[WKWebView changeSpelling:]):
(-[WKWebView toggleContinuousSpellChecking:]):
(-[WKWebView isGrammarCheckingEnabled]):
(-[WKWebView setGrammarCheckingEnabled:]):
(-[WKWebView toggleGrammarChecking:]):
(-[WKWebView toggleAutomaticSpellingCorrection:]):
(-[WKWebView orderFrontSubstitutionsPanel:]):
(-[WKWebView toggleSmartInsertDelete:]):
(-[WKWebView isAutomaticQuoteSubstitutionEnabled]):
(-[WKWebView setAutomaticQuoteSubstitutionEnabled:]):
(-[WKWebView toggleAutomaticQuoteSubstitution:]):
(-[WKWebView isAutomaticDashSubstitutionEnabled]):
(-[WKWebView setAutomaticDashSubstitutionEnabled:]):
(-[WKWebView toggleAutomaticDashSubstitution:]):
(-[WKWebView isAutomaticLinkDetectionEnabled]):
(-[WKWebView setAutomaticLinkDetectionEnabled:]):
(-[WKWebView toggleAutomaticLinkDetection:]):
(-[WKWebView isAutomaticTextReplacementEnabled]):
(-[WKWebView setAutomaticTextReplacementEnabled:]):
(-[WKWebView toggleAutomaticTextReplacement:]):
(-[WKWebView uppercaseWord:]):
(-[WKWebView lowercaseWord:]):
(-[WKWebView capitalizeWord:]):
(-[WKWebView _wantsKeyDownForEvent:]):
(-[WKWebView scrollWheel:]):
(-[WKWebView swipeWithEvent:]):
(-[WKWebView mouseMoved:]):
(-[WKWebView mouseDown:]):
(-[WKWebView mouseUp:]):
(-[WKWebView mouseDragged:]):
(-[WKWebView mouseEntered:]):
(-[WKWebView mouseExited:]):
(-[WKWebView otherMouseDown:]):
(-[WKWebView otherMouseDragged:]):
(-[WKWebView otherMouseUp:]):
(-[WKWebView rightMouseDown:]):
(-[WKWebView rightMouseDragged:]):
(-[WKWebView rightMouseUp:]):
(-[WKWebView pressureChangeWithEvent:]):
(-[WKWebView acceptsFirstMouse:]):
(-[WKWebView shouldDelayWindowOrderingForEvent:]):
(-[WKWebView doCommandBySelector:]):
(-[WKWebView insertText:]):
(-[WKWebView insertText:replacementRange:]):
(-[WKWebView inputContext]):
(-[WKWebView performKeyEquivalent:]):
(-[WKWebView keyUp:]):
(-[WKWebView keyDown:]):
(-[WKWebView flagsChanged:]):
(-[WKWebView setMarkedText:selectedRange:replacementRange:]):
(-[WKWebView unmarkText]):
(-[WKWebView selectedRange]):
(-[WKWebView hasMarkedText]):
(-[WKWebView markedRange]):
(-[WKWebView attributedSubstringForProposedRange:actualRange:]):
(-[WKWebView characterIndexForPoint:]):
(-[WKWebView firstRectForCharacterRange:actualRange:]):
(-[WKWebView selectedRangeWithCompletionHandler:]):
(-[WKWebView markedRangeWithCompletionHandler:]):
(-[WKWebView hasMarkedTextWithCompletionHandler:]):
(-[WKWebView attributedSubstringForProposedRange:completionHandler:]):
(-[WKWebView firstRectForCharacterRange:completionHandler:]):
(-[WKWebView characterIndexForPoint:completionHandler:]):
(-[WKWebView validAttributesForMarkedText]):
(-[WKWebView draggedImage:endedAt:operation:]):
(-[WKWebView draggingEntered:]):
(-[WKWebView draggingUpdated:]):
(-[WKWebView draggingExited:]):
(-[WKWebView prepareForDragOperation:]):
(-[WKWebView performDragOperation:]):
(-[WKWebView _hitTest:dragTypes:]):
(-[WKWebView _windowResizeMouseLocationIsInVisibleScrollerThumb:]):
(-[WKWebView viewWillMoveToWindow:]):
(-[WKWebView viewDidMoveToWindow]):
(-[WKWebView drawRect:]):
(-[WKWebView isOpaque]):
(-[WKWebView mouseDownCanMoveWindow]):
(-[WKWebView viewDidHide]):
(-[WKWebView viewDidUnhide]):
(-[WKWebView viewDidChangeBackingProperties]):
(-[WKWebView _activeSpaceDidChange:]):
(-[WKWebView accessibilityFocusedUIElement]):
(-[WKWebView accessibilityIsIgnored]):
(-[WKWebView accessibilityHitTest:]):
(-[WKWebView accessibilityAttributeValue:]):
(-[WKWebView hitTest:]):
(-[WKWebView conversationIdentifier]):
(-[WKWebView quickLookWithEvent:]):
(-[WKWebView addTrackingRect:owner:userData:assumeInside:]):
(-[WKWebView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
(-[WKWebView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
(-[WKWebView removeTrackingRect:]):
(-[WKWebView _removeTrackingRects:count:]):
(-[WKWebView view:stringForToolTip:point:userData:]):
(-[WKWebView pasteboardChangedOwner:]):
(-[WKWebView pasteboard:provideDataForType:]):
(-[WKWebView namesOfPromisedFilesDroppedAtDestination:]):
(-[WKWebView wantsUpdateLayer]):
(-[WKWebView updateLayer]):
(-[WKWebView setAllowsBackForwardNavigationGestures:]):
(-[WKWebView allowsBackForwardNavigationGestures]):
(-[WKWebView smartMagnifyWithEvent:]):
(-[WKWebView setMagnification:centeredAtPoint:]):
(-[WKWebView setMagnification:]):
(-[WKWebView magnification]):
(-[WKWebView setAllowsMagnification:]):
(-[WKWebView allowsMagnification]):
(-[WKWebView magnifyWithEvent:]):
(-[WKWebView rotateWithEvent:]):
(-[WKWebView _web_superInputContext]):
(-[WKWebView _web_superQuickLookWithEvent:]):
(-[WKWebView _web_superSwipeWithEvent:]):
(-[WKWebView _web_superMagnifyWithEvent:]):
(-[WKWebView _web_superSmartMagnifyWithEvent:]):
(-[WKWebView _web_superRemoveTrackingRect:]):
(-[WKWebView _web_superAccessibilityAttributeValue:]):
(-[WKWebView _web_superDoCommandBySelector:]):
(-[WKWebView _web_superPerformKeyEquivalent:]):
(-[WKWebView _web_superKeyDown:]):
(-[WKWebView _web_superHitTest:]):
(-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
(-[WKWebView _web_prepareForImmediateActionAnimation]):
(-[WKWebView _web_cancelImmediateActionAnimation]):
(-[WKWebView _web_completeImmediateActionAnimation]):
(-[WKWebView _web_didChangeContentSize:]):
(-[WKWebView _web_dismissContentRelativeChildWindows]):
(-[WKWebView _web_dismissContentRelativeChildWindowsWithAnimation:]):
(-[WKWebView _web_gestureEventWasNotHandledByWebCore:]):
(-[WKWebView _setEditable:]):
(-[WKWebView _remoteObjectRegistry]):
(-[WKWebView _layoutMode]):
(-[WKWebView _setLayoutMode:]):
(-[WKWebView _setViewScale:]):
(-[WKWebView _drawsTransparentBackground]):
(-[WKWebView _setDrawsTransparentBackground:]):
(-[WKWebView _inspectorAttachmentView]):
(-[WKWebView _setInspectorAttachmentView:]):
(-[WKWebView _windowOcclusionDetectionEnabled]):
(-[WKWebView _setWindowOcclusionDetectionEnabled:]):
(-[WKWebView _setOverrideDeviceScaleFactor:]):
(-[WKWebView _overrideDeviceScaleFactor]):
(-[WKWebView _setTopContentInset:]):
(-[WKWebView _topContentInset]):
(-[WKWebView _pageExtendedBackgroundColor]):
(-[WKWebView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
(-[WKWebView _setAutomaticallyAdjustsContentInsets:]):
(-[WKWebView _automaticallyAdjustsContentInsets]):
(-[WKWebView _setMinimumLayoutWidth:]):
(-[WKWebView resizeSubviewsWithOldSize:]): Deleted.
(-[WKWebView _ignoresNonWheelEvents]): Deleted.
(-[WKWebView _setIgnoresNonWheelEvents:]): Deleted.
(-[WKWebView _setIntrinsicContentSize:]): Deleted.
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _web_superInputContext]):
(-[WKView _web_superQuickLookWithEvent:]):
(-[WKView _web_superSwipeWithEvent:]):
(-[WKView _web_superMagnifyWithEvent:]):
(-[WKView _web_superSmartMagnifyWithEvent:]):
(-[WKView _web_superRemoveTrackingRect:]):
(-[WKView _web_superAccessibilityAttributeValue:]):
(-[WKView _web_superDoCommandBySelector:]):
(-[WKView _web_superPerformKeyEquivalent:]):
(-[WKView _web_superKeyDown:]):
(-[WKView _web_superHitTest:]):
(-[WKView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
(-[WKView _web_prepareForImmediateActionAnimation]):
(-[WKView _web_cancelImmediateActionAnimation]):
(-[WKView _web_completeImmediateActionAnimation]):
(-[WKView _web_didChangeContentSize:]):
(-[WKView _web_dismissContentRelativeChildWindows]):
(-[WKView _web_dismissContentRelativeChildWindowsWithAnimation:]):
(-[WKView _web_gestureEventWasNotHandledByWebCore:]):
(-[WKView _superInputContext]): Deleted.
(-[WKView _superQuickLookWithEvent:]): Deleted.
(-[WKView _superSwipeWithEvent:]): Deleted.
(-[WKView _superMagnifyWithEvent:]): Deleted.
(-[WKView _superSmartMagnifyWithEvent:]): Deleted.
(-[WKView _superRemoveTrackingRect:]): Deleted.
(-[WKView _superAccessibilityAttributeValue:]): Deleted.
(-[WKView _superDoCommandBySelector:]): Deleted.
(-[WKView _superPerformKeyEquivalent:]): Deleted.
(-[WKView _superKeyDown:]): Deleted.
(-[WKView _superHitTest:]): Deleted.
(-[WKView _addFontPanelObserver]): Deleted.
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::hitTest):
(WebKit::WebViewImpl::updateSecureInputState):
(WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
(WebKit::WebViewImpl::executeSavedCommandBySelector):
(WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimation):
(WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimationFromViewOnly):
(WebKit::WebViewImpl::quickLookWithEvent):
(WebKit::WebViewImpl::prepareForImmediateActionAnimation):
(WebKit::WebViewImpl::cancelImmediateActionAnimation):
(WebKit::WebViewImpl::completeImmediateActionAnimation):
(WebKit::WebViewImpl::didChangeContentSize):
(WebKit::WebViewImpl::accessibilityAttributeValue):
(WebKit::WebViewImpl::removeTrackingRect):
(WebKit::WebViewImpl::swipeWithEvent):
(WebKit::WebViewImpl::magnifyWithEvent):
(WebKit::WebViewImpl::smartMagnifyWithEvent):
(WebKit::WebViewImpl::gestureEventWasNotHandledByWebCore):
(WebKit::WebViewImpl::doCommandBySelector):
(WebKit::WebViewImpl::inputContext):
(WebKit::WebViewImpl::performKeyEquivalent):
(WebKit::WebViewImpl::keyDown):
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::setDragImage):
(WebKit::PageClientImpl::intrinsicContentSizeDidChange): Deleted.
(WebKit::PageClientImpl::immediateActionAnimationControllerForHitTestResult): Deleted.
Plop.
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
Revert some parts of <a href="http://trac.webkit.org/projects/webkit/changeset/188828">r188828</a> which no longer apply.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKWebViewInternalh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKViewmm">trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKViewInternalh">trunk/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessCocoaWebViewImplh">trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessCocoaWebViewImplmm">trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacPageClientImplmm">trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsWebKitTestRunnermacEventSenderProxymm">trunk/Tools/WebKitTestRunner/mac/EventSenderProxy.mm</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (191906 => 191907)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-11-02 21:13:22 UTC (rev 191906)
+++ trunk/Source/WebKit2/ChangeLog        2015-11-02 21:15:06 UTC (rev 191907)
</span><span class="lines">@@ -1,3 +1,250 @@
</span><ins>+2015-11-02 Tim Horton <timothy_horton@apple.com>
+
+ Get rid of WKWebView's inner WKView (WKView being inside WKWebView leads to weird API issues)
+ https://bugs.webkit.org/show_bug.cgi?id=150174
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/API/Cocoa/WKWebView.mm:
+ (-[WKWebView initWithFrame:configuration:]):
+ (-[WKWebView dealloc]):
+ (-[WKWebView allowsLinkPreview]):
+ (-[WKWebView setAllowsLinkPreview:]):
+ (-[WKWebView acceptsFirstResponder]):
+ (-[WKWebView becomeFirstResponder]):
+ (-[WKWebView resignFirstResponder]):
+ (-[WKWebView viewWillStartLiveResize]):
+ (-[WKWebView viewDidEndLiveResize]):
+ (-[WKWebView isFlipped]):
+ (-[WKWebView intrinsicContentSize]):
+ (-[WKWebView prepareContentInRect:]):
+ (-[WKWebView setFrameSize:]):
+ (-[WKWebView renewGState]):
+ (-[WKWebView writeSelectionToPasteboard:types:]):
+ (-[WKWebView centerSelectionInVisibleArea:]):
+ (-[WKWebView validRequestorForSendType:returnType:]):
+ (-[WKWebView readSelectionFromPasteboard:]):
+ (-[WKWebView changeFont:]):
+ (-[WKWebView validateUserInterfaceItem:]):
+ (-[WKWebView startSpeaking:]):
+ (-[WKWebView stopSpeaking:]):
+ (-[WKWebView showGuessPanel:]):
+ (-[WKWebView checkSpelling:]):
+ (-[WKWebView changeSpelling:]):
+ (-[WKWebView toggleContinuousSpellChecking:]):
+ (-[WKWebView isGrammarCheckingEnabled]):
+ (-[WKWebView setGrammarCheckingEnabled:]):
+ (-[WKWebView toggleGrammarChecking:]):
+ (-[WKWebView toggleAutomaticSpellingCorrection:]):
+ (-[WKWebView orderFrontSubstitutionsPanel:]):
+ (-[WKWebView toggleSmartInsertDelete:]):
+ (-[WKWebView isAutomaticQuoteSubstitutionEnabled]):
+ (-[WKWebView setAutomaticQuoteSubstitutionEnabled:]):
+ (-[WKWebView toggleAutomaticQuoteSubstitution:]):
+ (-[WKWebView isAutomaticDashSubstitutionEnabled]):
+ (-[WKWebView setAutomaticDashSubstitutionEnabled:]):
+ (-[WKWebView toggleAutomaticDashSubstitution:]):
+ (-[WKWebView isAutomaticLinkDetectionEnabled]):
+ (-[WKWebView setAutomaticLinkDetectionEnabled:]):
+ (-[WKWebView toggleAutomaticLinkDetection:]):
+ (-[WKWebView isAutomaticTextReplacementEnabled]):
+ (-[WKWebView setAutomaticTextReplacementEnabled:]):
+ (-[WKWebView toggleAutomaticTextReplacement:]):
+ (-[WKWebView uppercaseWord:]):
+ (-[WKWebView lowercaseWord:]):
+ (-[WKWebView capitalizeWord:]):
+ (-[WKWebView _wantsKeyDownForEvent:]):
+ (-[WKWebView scrollWheel:]):
+ (-[WKWebView swipeWithEvent:]):
+ (-[WKWebView mouseMoved:]):
+ (-[WKWebView mouseDown:]):
+ (-[WKWebView mouseUp:]):
+ (-[WKWebView mouseDragged:]):
+ (-[WKWebView mouseEntered:]):
+ (-[WKWebView mouseExited:]):
+ (-[WKWebView otherMouseDown:]):
+ (-[WKWebView otherMouseDragged:]):
+ (-[WKWebView otherMouseUp:]):
+ (-[WKWebView rightMouseDown:]):
+ (-[WKWebView rightMouseDragged:]):
+ (-[WKWebView rightMouseUp:]):
+ (-[WKWebView pressureChangeWithEvent:]):
+ (-[WKWebView acceptsFirstMouse:]):
+ (-[WKWebView shouldDelayWindowOrderingForEvent:]):
+ (-[WKWebView doCommandBySelector:]):
+ (-[WKWebView insertText:]):
+ (-[WKWebView insertText:replacementRange:]):
+ (-[WKWebView inputContext]):
+ (-[WKWebView performKeyEquivalent:]):
+ (-[WKWebView keyUp:]):
+ (-[WKWebView keyDown:]):
+ (-[WKWebView flagsChanged:]):
+ (-[WKWebView setMarkedText:selectedRange:replacementRange:]):
+ (-[WKWebView unmarkText]):
+ (-[WKWebView selectedRange]):
+ (-[WKWebView hasMarkedText]):
+ (-[WKWebView markedRange]):
+ (-[WKWebView attributedSubstringForProposedRange:actualRange:]):
+ (-[WKWebView characterIndexForPoint:]):
+ (-[WKWebView firstRectForCharacterRange:actualRange:]):
+ (-[WKWebView selectedRangeWithCompletionHandler:]):
+ (-[WKWebView markedRangeWithCompletionHandler:]):
+ (-[WKWebView hasMarkedTextWithCompletionHandler:]):
+ (-[WKWebView attributedSubstringForProposedRange:completionHandler:]):
+ (-[WKWebView firstRectForCharacterRange:completionHandler:]):
+ (-[WKWebView characterIndexForPoint:completionHandler:]):
+ (-[WKWebView validAttributesForMarkedText]):
+ (-[WKWebView draggedImage:endedAt:operation:]):
+ (-[WKWebView draggingEntered:]):
+ (-[WKWebView draggingUpdated:]):
+ (-[WKWebView draggingExited:]):
+ (-[WKWebView prepareForDragOperation:]):
+ (-[WKWebView performDragOperation:]):
+ (-[WKWebView _hitTest:dragTypes:]):
+ (-[WKWebView _windowResizeMouseLocationIsInVisibleScrollerThumb:]):
+ (-[WKWebView viewWillMoveToWindow:]):
+ (-[WKWebView viewDidMoveToWindow]):
+ (-[WKWebView drawRect:]):
+ (-[WKWebView isOpaque]):
+ (-[WKWebView mouseDownCanMoveWindow]):
+ (-[WKWebView viewDidHide]):
+ (-[WKWebView viewDidUnhide]):
+ (-[WKWebView viewDidChangeBackingProperties]):
+ (-[WKWebView _activeSpaceDidChange:]):
+ (-[WKWebView accessibilityFocusedUIElement]):
+ (-[WKWebView accessibilityIsIgnored]):
+ (-[WKWebView accessibilityHitTest:]):
+ (-[WKWebView accessibilityAttributeValue:]):
+ (-[WKWebView hitTest:]):
+ (-[WKWebView conversationIdentifier]):
+ (-[WKWebView quickLookWithEvent:]):
+ (-[WKWebView addTrackingRect:owner:userData:assumeInside:]):
+ (-[WKWebView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
+ (-[WKWebView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
+ (-[WKWebView removeTrackingRect:]):
+ (-[WKWebView _removeTrackingRects:count:]):
+ (-[WKWebView view:stringForToolTip:point:userData:]):
+ (-[WKWebView pasteboardChangedOwner:]):
+ (-[WKWebView pasteboard:provideDataForType:]):
+ (-[WKWebView namesOfPromisedFilesDroppedAtDestination:]):
+ (-[WKWebView wantsUpdateLayer]):
+ (-[WKWebView updateLayer]):
+ (-[WKWebView setAllowsBackForwardNavigationGestures:]):
+ (-[WKWebView allowsBackForwardNavigationGestures]):
+ (-[WKWebView smartMagnifyWithEvent:]):
+ (-[WKWebView setMagnification:centeredAtPoint:]):
+ (-[WKWebView setMagnification:]):
+ (-[WKWebView magnification]):
+ (-[WKWebView setAllowsMagnification:]):
+ (-[WKWebView allowsMagnification]):
+ (-[WKWebView magnifyWithEvent:]):
+ (-[WKWebView rotateWithEvent:]):
+ (-[WKWebView _web_superInputContext]):
+ (-[WKWebView _web_superQuickLookWithEvent:]):
+ (-[WKWebView _web_superSwipeWithEvent:]):
+ (-[WKWebView _web_superMagnifyWithEvent:]):
+ (-[WKWebView _web_superSmartMagnifyWithEvent:]):
+ (-[WKWebView _web_superRemoveTrackingRect:]):
+ (-[WKWebView _web_superAccessibilityAttributeValue:]):
+ (-[WKWebView _web_superDoCommandBySelector:]):
+ (-[WKWebView _web_superPerformKeyEquivalent:]):
+ (-[WKWebView _web_superKeyDown:]):
+ (-[WKWebView _web_superHitTest:]):
+ (-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
+ (-[WKWebView _web_prepareForImmediateActionAnimation]):
+ (-[WKWebView _web_cancelImmediateActionAnimation]):
+ (-[WKWebView _web_completeImmediateActionAnimation]):
+ (-[WKWebView _web_didChangeContentSize:]):
+ (-[WKWebView _web_dismissContentRelativeChildWindows]):
+ (-[WKWebView _web_dismissContentRelativeChildWindowsWithAnimation:]):
+ (-[WKWebView _web_gestureEventWasNotHandledByWebCore:]):
+ (-[WKWebView _setEditable:]):
+ (-[WKWebView _remoteObjectRegistry]):
+ (-[WKWebView _layoutMode]):
+ (-[WKWebView _setLayoutMode:]):
+ (-[WKWebView _setViewScale:]):
+ (-[WKWebView _drawsTransparentBackground]):
+ (-[WKWebView _setDrawsTransparentBackground:]):
+ (-[WKWebView _inspectorAttachmentView]):
+ (-[WKWebView _setInspectorAttachmentView:]):
+ (-[WKWebView _windowOcclusionDetectionEnabled]):
+ (-[WKWebView _setWindowOcclusionDetectionEnabled:]):
+ (-[WKWebView _setOverrideDeviceScaleFactor:]):
+ (-[WKWebView _overrideDeviceScaleFactor]):
+ (-[WKWebView _setTopContentInset:]):
+ (-[WKWebView _topContentInset]):
+ (-[WKWebView _pageExtendedBackgroundColor]):
+ (-[WKWebView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
+ (-[WKWebView _setAutomaticallyAdjustsContentInsets:]):
+ (-[WKWebView _automaticallyAdjustsContentInsets]):
+ (-[WKWebView _setMinimumLayoutWidth:]):
+ (-[WKWebView resizeSubviewsWithOldSize:]): Deleted.
+ (-[WKWebView _ignoresNonWheelEvents]): Deleted.
+ (-[WKWebView _setIgnoresNonWheelEvents:]): Deleted.
+ (-[WKWebView _setIntrinsicContentSize:]): Deleted.
+ * UIProcess/API/Cocoa/WKWebViewInternal.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _web_superInputContext]):
+ (-[WKView _web_superQuickLookWithEvent:]):
+ (-[WKView _web_superSwipeWithEvent:]):
+ (-[WKView _web_superMagnifyWithEvent:]):
+ (-[WKView _web_superSmartMagnifyWithEvent:]):
+ (-[WKView _web_superRemoveTrackingRect:]):
+ (-[WKView _web_superAccessibilityAttributeValue:]):
+ (-[WKView _web_superDoCommandBySelector:]):
+ (-[WKView _web_superPerformKeyEquivalent:]):
+ (-[WKView _web_superKeyDown:]):
+ (-[WKView _web_superHitTest:]):
+ (-[WKView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
+ (-[WKView _web_prepareForImmediateActionAnimation]):
+ (-[WKView _web_cancelImmediateActionAnimation]):
+ (-[WKView _web_completeImmediateActionAnimation]):
+ (-[WKView _web_didChangeContentSize:]):
+ (-[WKView _web_dismissContentRelativeChildWindows]):
+ (-[WKView _web_dismissContentRelativeChildWindowsWithAnimation:]):
+ (-[WKView _web_gestureEventWasNotHandledByWebCore:]):
+ (-[WKView _superInputContext]): Deleted.
+ (-[WKView _superQuickLookWithEvent:]): Deleted.
+ (-[WKView _superSwipeWithEvent:]): Deleted.
+ (-[WKView _superMagnifyWithEvent:]): Deleted.
+ (-[WKView _superSmartMagnifyWithEvent:]): Deleted.
+ (-[WKView _superRemoveTrackingRect:]): Deleted.
+ (-[WKView _superAccessibilityAttributeValue:]): Deleted.
+ (-[WKView _superDoCommandBySelector:]): Deleted.
+ (-[WKView _superPerformKeyEquivalent:]): Deleted.
+ (-[WKView _superKeyDown:]): Deleted.
+ (-[WKView _superHitTest:]): Deleted.
+ (-[WKView _addFontPanelObserver]): Deleted.
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/Cocoa/WebViewImpl.h:
+ * UIProcess/Cocoa/WebViewImpl.mm:
+ (WebKit::WebViewImpl::hitTest):
+ (WebKit::WebViewImpl::updateSecureInputState):
+ (WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
+ (WebKit::WebViewImpl::executeSavedCommandBySelector):
+ (WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimation):
+ (WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimationFromViewOnly):
+ (WebKit::WebViewImpl::quickLookWithEvent):
+ (WebKit::WebViewImpl::prepareForImmediateActionAnimation):
+ (WebKit::WebViewImpl::cancelImmediateActionAnimation):
+ (WebKit::WebViewImpl::completeImmediateActionAnimation):
+ (WebKit::WebViewImpl::didChangeContentSize):
+ (WebKit::WebViewImpl::accessibilityAttributeValue):
+ (WebKit::WebViewImpl::removeTrackingRect):
+ (WebKit::WebViewImpl::swipeWithEvent):
+ (WebKit::WebViewImpl::magnifyWithEvent):
+ (WebKit::WebViewImpl::smartMagnifyWithEvent):
+ (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCore):
+ (WebKit::WebViewImpl::doCommandBySelector):
+ (WebKit::WebViewImpl::inputContext):
+ (WebKit::WebViewImpl::performKeyEquivalent):
+ (WebKit::WebViewImpl::keyDown):
+ * UIProcess/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setDragImage):
+ (WebKit::PageClientImpl::intrinsicContentSizeDidChange): Deleted.
+ (WebKit::PageClientImpl::immediateActionAnimationControllerForHitTestResult): Deleted.
+ Plop.
+
</ins><span class="cx"> 2015-11-02 Anders Carlsson <andersca@apple.com>
</span><span class="cx">
</span><span class="cx"> Remove unused API client callback code
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (191906 => 191907)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2015-11-02 21:13:22 UTC (rev 191906)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2015-11-02 21:15:06 UTC (rev 191907)
</span><span class="lines">@@ -72,9 +72,11 @@
</span><span class="cx"> #import "WebPreferencesKeys.h"
</span><span class="cx"> #import "WebProcessPool.h"
</span><span class="cx"> #import "WebProcessProxy.h"
</span><ins>+#import "WebViewImpl.h"
</ins><span class="cx"> #import "_WKDiagnosticLoggingDelegate.h"
</span><span class="cx"> #import "_WKFindDelegate.h"
</span><span class="cx"> #import "_WKFormDelegate.h"
</span><ins>+#import "_WKHitTestResultInternal.h"
</ins><span class="cx"> #import "_WKInputDelegate.h"
</span><span class="cx"> #import "_WKRemoteObjectRegistryInternal.h"
</span><span class="cx"> #import "_WKSessionStateInternal.h"
</span><span class="lines">@@ -144,6 +146,9 @@
</span><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx"> #import "WKViewInternal.h"
</span><span class="cx"> #import <WebCore/ColorMac.h>
</span><ins>+
+@interface WKWebView () <WebViewImplDelegate>
+@end
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> static HashMap<WebKit::WebPageProxy*, WKWebView *>& pageToViewMap()
</span><span class="lines">@@ -161,12 +166,13 @@
</span><span class="cx"> std::unique_ptr<WebKit::NavigationState> _navigationState;
</span><span class="cx"> std::unique_ptr<WebKit::UIDelegate> _uiDelegate;
</span><span class="cx">
</span><del>- RetainPtr<_WKRemoteObjectRegistry> _remoteObjectRegistry;
</del><span class="cx"> _WKRenderingProgressEvents _observedRenderingProgressEvents;
</span><span class="cx">
</span><span class="cx"> WebKit::WeakObjCPtr<id <_WKInputDelegate>> _inputDelegate;
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span><ins>+ RetainPtr<_WKRemoteObjectRegistry> _remoteObjectRegistry;
+
</ins><span class="cx"> RetainPtr<WKScrollView> _scrollView;
</span><span class="cx"> RetainPtr<WKContentView> _contentView;
</span><span class="cx">
</span><span class="lines">@@ -228,8 +234,7 @@
</span><span class="cx"> Vector<std::function<void ()>> _snapshotsDeferredDuringResize;
</span><span class="cx"> #endif
</span><span class="cx"> #if PLATFORM(MAC)
</span><del>- RetainPtr<WKView> _wkView;
- CGSize _intrinsicContentSize;
</del><ins>+ std::unique_ptr<WebKit::WebViewImpl> _impl;
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -308,7 +313,6 @@
</span><span class="cx">
</span><span class="cx"> [_configuration _validate];
</span><span class="cx">
</span><del>- CGRect bounds = self.bounds;
</del><span class="cx">
</span><span class="cx"> WebKit::WebProcessPool& processPool = *[_configuration processPool]->_processPool;
</span><span class="cx">
</span><span class="lines">@@ -347,6 +351,7 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span><ins>+ CGRect bounds = self.bounds;
</ins><span class="cx"> _scrollView = adoptNS([[WKScrollView alloc] initWithFrame:bounds]);
</span><span class="cx"> [_scrollView setInternalDelegate:self];
</span><span class="cx"> [_scrollView setBouncesZoom:YES];
</span><span class="lines">@@ -383,14 +388,11 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(MAC)
</span><del>- _wkView = adoptNS([[WKView alloc] initWithFrame:bounds processPool:processPool configuration:WTF::move(pageConfiguration) webView:self]);
- [self addSubview:_wkView.get()];
- _page = WebKit::toImpl([_wkView pageRef]);
</del><ins>+ _impl = std::make_unique<WebKit::WebViewImpl>(self, self, processPool, WTF::move(pageConfiguration));
+ _page = &_impl->page();
</ins><span class="cx">
</span><del>- _intrinsicContentSize = CGSizeMake(NSViewNoInstrinsicMetric, NSViewNoInstrinsicMetric);
-
</del><span class="cx"> #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
</span><del>- [_wkView _setAutomaticallyAdjustsContentInsets:YES];
</del><ins>+ _impl->setAutomaticallyAdjustsContentInsets(true);
</ins><span class="cx"> #endif
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="lines">@@ -417,13 +419,13 @@
</span><span class="cx">
</span><span class="cx"> - (void)dealloc
</span><span class="cx"> {
</span><ins>+#if PLATFORM(IOS)
</ins><span class="cx"> if (_remoteObjectRegistry)
</span><span class="cx"> _page->process().processPool().removeMessageReceiver(Messages::RemoteObjectRegistry::messageReceiverName(), _page->pageID());
</span><span class="cx">
</span><span class="cx"> _page->close();
</span><span class="cx">
</span><span class="cx"> [_remoteObjectRegistry _invalidate];
</span><del>-#if PLATFORM(IOS)
</del><span class="cx"> [[_configuration _contentProviderRegistry] removePage:*_page];
</span><span class="cx"> [[NSNotificationCenter defaultCenter] removeObserver:self];
</span><span class="cx"> [_scrollView setInternalDelegate:nil];
</span><span class="lines">@@ -697,7 +699,7 @@
</span><span class="cx"> - (BOOL)allowsLinkPreview
</span><span class="cx"> {
</span><span class="cx"> #if PLATFORM(MAC)
</span><del>- return [_wkView allowsLinkPreview];
</del><ins>+ return _impl->allowsLinkPreview();
</ins><span class="cx"> #elif PLATFORM(IOS)
</span><span class="cx"> return _allowsLinkPreview;
</span><span class="cx"> #endif
</span><span class="lines">@@ -706,7 +708,7 @@
</span><span class="cx"> - (void)setAllowsLinkPreview:(BOOL)allowsLinkPreview
</span><span class="cx"> {
</span><span class="cx"> #if PLATFORM(MAC)
</span><del>- [_wkView setAllowsLinkPreview:allowsLinkPreview];
</del><ins>+ _impl->setAllowsLinkPreview(allowsLinkPreview);
</ins><span class="cx"> return;
</span><span class="cx"> #elif PLATFORM(IOS)
</span><span class="cx"> if (_allowsLinkPreview == allowsLinkPreview)
</span><span class="lines">@@ -1877,110 +1879,872 @@
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx">
</span><ins>+- (BOOL)acceptsFirstResponder
+{
+ return _impl->acceptsFirstResponder();
+}
+
</ins><span class="cx"> - (BOOL)becomeFirstResponder
</span><span class="cx"> {
</span><del>- return [[self window] makeFirstResponder: _wkView.get()];
</del><ins>+ return _impl->becomeFirstResponder();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (BOOL)acceptsFirstResponder
</del><ins>+- (BOOL)resignFirstResponder
</ins><span class="cx"> {
</span><del>- return [_wkView acceptsFirstResponder];
</del><ins>+ return _impl->resignFirstResponder();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (void)resizeSubviewsWithOldSize:(NSSize)oldSize
</del><ins>+- (void)viewWillStartLiveResize
</ins><span class="cx"> {
</span><del>- [_wkView setFrame:self.bounds];
</del><ins>+ _impl->viewWillStartLiveResize();
</ins><span class="cx"> }
</span><span class="cx">
</span><ins>+- (void)viewDidEndLiveResize
+{
+ _impl->viewDidEndLiveResize();
+}
+
+- (BOOL)isFlipped
+{
+ return YES;
+}
+
+- (NSSize)intrinsicContentSize
+{
+ return NSSizeFromCGSize(_impl->intrinsicContentSize());
+}
+
+- (void)prepareContentInRect:(NSRect)rect
+{
+ _impl->prepareContentInRect(NSRectToCGRect(rect));
+}
+
+- (void)setFrameSize:(NSSize)size
+{
+ [super setFrameSize:size];
+ _impl->setFrameSize(NSSizeToCGSize(size));
+}
+
+- (void)renewGState
+{
+ _impl->renewGState();
+ [super renewGState];
+}
+
+#define WEBCORE_COMMAND(command) - (void)command:(id)sender { _impl->executeEditCommandForSelector(_cmd); }
+
+WEBCORE_COMMAND(alignCenter)
+WEBCORE_COMMAND(alignJustified)
+WEBCORE_COMMAND(alignLeft)
+WEBCORE_COMMAND(alignRight)
+WEBCORE_COMMAND(copy)
+WEBCORE_COMMAND(cut)
+WEBCORE_COMMAND(delete)
+WEBCORE_COMMAND(deleteBackward)
+WEBCORE_COMMAND(deleteBackwardByDecomposingPreviousCharacter)
+WEBCORE_COMMAND(deleteForward)
+WEBCORE_COMMAND(deleteToBeginningOfLine)
+WEBCORE_COMMAND(deleteToBeginningOfParagraph)
+WEBCORE_COMMAND(deleteToEndOfLine)
+WEBCORE_COMMAND(deleteToEndOfParagraph)
+WEBCORE_COMMAND(deleteToMark)
+WEBCORE_COMMAND(deleteWordBackward)
+WEBCORE_COMMAND(deleteWordForward)
+WEBCORE_COMMAND(ignoreSpelling)
+WEBCORE_COMMAND(indent)
+WEBCORE_COMMAND(insertBacktab)
+WEBCORE_COMMAND(insertLineBreak)
+WEBCORE_COMMAND(insertNewline)
+WEBCORE_COMMAND(insertNewlineIgnoringFieldEditor)
+WEBCORE_COMMAND(insertParagraphSeparator)
+WEBCORE_COMMAND(insertTab)
+WEBCORE_COMMAND(insertTabIgnoringFieldEditor)
+WEBCORE_COMMAND(makeTextWritingDirectionLeftToRight)
+WEBCORE_COMMAND(makeTextWritingDirectionNatural)
+WEBCORE_COMMAND(makeTextWritingDirectionRightToLeft)
+WEBCORE_COMMAND(moveBackward)
+WEBCORE_COMMAND(moveBackwardAndModifySelection)
+WEBCORE_COMMAND(moveDown)
+WEBCORE_COMMAND(moveDownAndModifySelection)
+WEBCORE_COMMAND(moveForward)
+WEBCORE_COMMAND(moveForwardAndModifySelection)
+WEBCORE_COMMAND(moveLeft)
+WEBCORE_COMMAND(moveLeftAndModifySelection)
+WEBCORE_COMMAND(moveParagraphBackwardAndModifySelection)
+WEBCORE_COMMAND(moveParagraphForwardAndModifySelection)
+WEBCORE_COMMAND(moveRight)
+WEBCORE_COMMAND(moveRightAndModifySelection)
+WEBCORE_COMMAND(moveToBeginningOfDocument)
+WEBCORE_COMMAND(moveToBeginningOfDocumentAndModifySelection)
+WEBCORE_COMMAND(moveToBeginningOfLine)
+WEBCORE_COMMAND(moveToBeginningOfLineAndModifySelection)
+WEBCORE_COMMAND(moveToBeginningOfParagraph)
+WEBCORE_COMMAND(moveToBeginningOfParagraphAndModifySelection)
+WEBCORE_COMMAND(moveToBeginningOfSentence)
+WEBCORE_COMMAND(moveToBeginningOfSentenceAndModifySelection)
+WEBCORE_COMMAND(moveToEndOfDocument)
+WEBCORE_COMMAND(moveToEndOfDocumentAndModifySelection)
+WEBCORE_COMMAND(moveToEndOfLine)
+WEBCORE_COMMAND(moveToEndOfLineAndModifySelection)
+WEBCORE_COMMAND(moveToEndOfParagraph)
+WEBCORE_COMMAND(moveToEndOfParagraphAndModifySelection)
+WEBCORE_COMMAND(moveToEndOfSentence)
+WEBCORE_COMMAND(moveToEndOfSentenceAndModifySelection)
+WEBCORE_COMMAND(moveToLeftEndOfLine)
+WEBCORE_COMMAND(moveToLeftEndOfLineAndModifySelection)
+WEBCORE_COMMAND(moveToRightEndOfLine)
+WEBCORE_COMMAND(moveToRightEndOfLineAndModifySelection)
+WEBCORE_COMMAND(moveUp)
+WEBCORE_COMMAND(moveUpAndModifySelection)
+WEBCORE_COMMAND(moveWordBackward)
+WEBCORE_COMMAND(moveWordBackwardAndModifySelection)
+WEBCORE_COMMAND(moveWordForward)
+WEBCORE_COMMAND(moveWordForwardAndModifySelection)
+WEBCORE_COMMAND(moveWordLeft)
+WEBCORE_COMMAND(moveWordLeftAndModifySelection)
+WEBCORE_COMMAND(moveWordRight)
+WEBCORE_COMMAND(moveWordRightAndModifySelection)
+WEBCORE_COMMAND(outdent)
+WEBCORE_COMMAND(pageDown)
+WEBCORE_COMMAND(pageDownAndModifySelection)
+WEBCORE_COMMAND(pageUp)
+WEBCORE_COMMAND(pageUpAndModifySelection)
+WEBCORE_COMMAND(paste)
+WEBCORE_COMMAND(pasteAsPlainText)
+WEBCORE_COMMAND(scrollPageDown)
+WEBCORE_COMMAND(scrollPageUp)
+WEBCORE_COMMAND(scrollLineDown)
+WEBCORE_COMMAND(scrollLineUp)
+WEBCORE_COMMAND(scrollToBeginningOfDocument)
+WEBCORE_COMMAND(scrollToEndOfDocument)
+WEBCORE_COMMAND(selectAll)
+WEBCORE_COMMAND(selectLine)
+WEBCORE_COMMAND(selectParagraph)
+WEBCORE_COMMAND(selectSentence)
+WEBCORE_COMMAND(selectToMark)
+WEBCORE_COMMAND(selectWord)
+WEBCORE_COMMAND(setMark)
+WEBCORE_COMMAND(subscript)
+WEBCORE_COMMAND(superscript)
+WEBCORE_COMMAND(swapWithMark)
+WEBCORE_COMMAND(takeFindStringFromSelection)
+WEBCORE_COMMAND(transpose)
+WEBCORE_COMMAND(underline)
+WEBCORE_COMMAND(unscript)
+WEBCORE_COMMAND(yank)
+WEBCORE_COMMAND(yankAndSelect)
+
+#undef WEBCORE_COMMAND
+
+- (BOOL)writeSelectionToPasteboard:(NSPasteboard *)pasteboard types:(NSArray *)types
+{
+ return _impl->writeSelectionToPasteboard(pasteboard, types);
+}
+
+- (void)centerSelectionInVisibleArea:(id)sender
+{
+ _impl->centerSelectionInVisibleArea();
+}
+
+- (id)validRequestorForSendType:(NSString *)sendType returnType:(NSString *)returnType
+{
+ return _impl->validRequestorForSendAndReturnTypes(sendType, returnType);
+}
+
+- (BOOL)readSelectionFromPasteboard:(NSPasteboard *)pasteboard
+{
+ return _impl->readSelectionFromPasteboard(pasteboard);
+}
+
+- (void)changeFont:(id)sender
+{
+ _impl->changeFontFromFontPanel();
+}
+
+- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item
+{
+ return _impl->validateUserInterfaceItem(item);
+}
+
+- (IBAction)startSpeaking:(id)sender
+{
+ _impl->startSpeaking();
+}
+
+- (IBAction)stopSpeaking:(id)sender
+{
+ _impl->stopSpeaking(sender);
+}
+
+- (IBAction)showGuessPanel:(id)sender
+{
+ _impl->showGuessPanel(sender);
+}
+
+- (IBAction)checkSpelling:(id)sender
+{
+ _impl->checkSpelling();
+}
+
+- (void)changeSpelling:(id)sender
+{
+ _impl->changeSpelling(sender);
+}
+
+- (IBAction)toggleContinuousSpellChecking:(id)sender
+{
+ _impl->toggleContinuousSpellChecking();
+}
+
+- (BOOL)isGrammarCheckingEnabled
+{
+ return _impl->isGrammarCheckingEnabled();
+}
+
+- (void)setGrammarCheckingEnabled:(BOOL)flag
+{
+ _impl->setGrammarCheckingEnabled(flag);
+}
+
+- (IBAction)toggleGrammarChecking:(id)sender
+{
+ _impl->toggleGrammarChecking();
+}
+
+- (IBAction)toggleAutomaticSpellingCorrection:(id)sender
+{
+ _impl->toggleAutomaticSpellingCorrection();
+}
+
+- (void)orderFrontSubstitutionsPanel:(id)sender
+{
+ _impl->orderFrontSubstitutionsPanel(sender);
+}
+
+- (IBAction)toggleSmartInsertDelete:(id)sender
+{
+ _impl->toggleSmartInsertDelete();
+}
+
+- (BOOL)isAutomaticQuoteSubstitutionEnabled
+{
+ return _impl->isAutomaticQuoteSubstitutionEnabled();
+}
+
+- (void)setAutomaticQuoteSubstitutionEnabled:(BOOL)flag
+{
+ _impl->setAutomaticQuoteSubstitutionEnabled(flag);
+}
+
+- (void)toggleAutomaticQuoteSubstitution:(id)sender
+{
+ _impl->toggleAutomaticQuoteSubstitution();
+}
+
+- (BOOL)isAutomaticDashSubstitutionEnabled
+{
+ return _impl->isAutomaticDashSubstitutionEnabled();
+}
+
+- (void)setAutomaticDashSubstitutionEnabled:(BOOL)flag
+{
+ _impl->setAutomaticDashSubstitutionEnabled(flag);
+}
+
+- (void)toggleAutomaticDashSubstitution:(id)sender
+{
+ _impl->toggleAutomaticDashSubstitution();
+}
+
+- (BOOL)isAutomaticLinkDetectionEnabled
+{
+ return _impl->isAutomaticLinkDetectionEnabled();
+}
+
+- (void)setAutomaticLinkDetectionEnabled:(BOOL)flag
+{
+ _impl->setAutomaticLinkDetectionEnabled(flag);
+}
+
+- (void)toggleAutomaticLinkDetection:(id)sender
+{
+ _impl->toggleAutomaticLinkDetection();
+}
+
+- (BOOL)isAutomaticTextReplacementEnabled
+{
+ return _impl->isAutomaticTextReplacementEnabled();
+}
+
+- (void)setAutomaticTextReplacementEnabled:(BOOL)flag
+{
+ _impl->setAutomaticTextReplacementEnabled(flag);
+}
+
+- (void)toggleAutomaticTextReplacement:(id)sender
+{
+ _impl->toggleAutomaticTextReplacement();
+}
+
+- (void)uppercaseWord:(id)sender
+{
+ _impl->uppercaseWord();
+}
+
+- (void)lowercaseWord:(id)sender
+{
+ _impl->lowercaseWord();
+}
+
+- (void)capitalizeWord:(id)sender
+{
+ _impl->capitalizeWord();
+}
+
+- (BOOL)_wantsKeyDownForEvent:(NSEvent *)event
+{
+ return _impl->wantsKeyDownForEvent(event);
+}
+
+- (void)scrollWheel:(NSEvent *)event
+{
+ _impl->scrollWheel(event);
+}
+
+- (void)swipeWithEvent:(NSEvent *)event
+{
+ _impl->swipeWithEvent(event);
+}
+
+- (void)mouseMoved:(NSEvent *)event
+{
+ _impl->mouseMoved(event);
+}
+
+- (void)mouseDown:(NSEvent *)event
+{
+ _impl->mouseDown(event);
+}
+
+- (void)mouseUp:(NSEvent *)event
+{
+ _impl->mouseUp(event);
+}
+
+- (void)mouseDragged:(NSEvent *)event
+{
+ _impl->mouseDragged(event);
+}
+
+- (void)mouseEntered:(NSEvent *)event
+{
+ _impl->mouseEntered(event);
+}
+
+- (void)mouseExited:(NSEvent *)event
+{
+ _impl->mouseExited(event);
+}
+
+- (void)otherMouseDown:(NSEvent *)event
+{
+ _impl->otherMouseDown(event);
+}
+
+- (void)otherMouseDragged:(NSEvent *)event
+{
+ _impl->otherMouseDragged(event);
+}
+
+- (void)otherMouseUp:(NSEvent *)event
+{
+ _impl->otherMouseUp(event);
+}
+
+- (void)rightMouseDown:(NSEvent *)event
+{
+ _impl->rightMouseDown(event);
+}
+
+- (void)rightMouseDragged:(NSEvent *)event
+{
+ _impl->rightMouseDragged(event);
+}
+
+- (void)rightMouseUp:(NSEvent *)event
+{
+ _impl->rightMouseUp(event);
+}
+
+- (void)pressureChangeWithEvent:(NSEvent *)event
+{
+ _impl->pressureChangeWithEvent(event);
+}
+
+- (BOOL)acceptsFirstMouse:(NSEvent *)event
+{
+ return _impl->acceptsFirstMouse(event);
+}
+
+- (BOOL)shouldDelayWindowOrderingForEvent:(NSEvent *)event
+{
+ return _impl->shouldDelayWindowOrderingForEvent(event);
+}
+
+- (void)doCommandBySelector:(SEL)selector
+{
+ _impl->doCommandBySelector(selector);
+}
+
+- (void)insertText:(id)string
+{
+ _impl->insertText(string);
+}
+
+- (void)insertText:(id)string replacementRange:(NSRange)replacementRange
+{
+ _impl->insertText(string, replacementRange);
+}
+
+- (NSTextInputContext *)inputContext
+{
+ return _impl->inputContext();
+}
+
+- (BOOL)performKeyEquivalent:(NSEvent *)event
+{
+ return _impl->performKeyEquivalent(event);
+}
+
+- (void)keyUp:(NSEvent *)theEvent
+{
+ _impl->keyUp(theEvent);
+}
+
+- (void)keyDown:(NSEvent *)theEvent
+{
+ _impl->keyDown(theEvent);
+}
+
+- (void)flagsChanged:(NSEvent *)theEvent
+{
+ _impl->flagsChanged(theEvent);
+}
+
+- (void)setMarkedText:(id)string selectedRange:(NSRange)newSelectedRange replacementRange:(NSRange)replacementRange
+{
+ _impl->setMarkedText(string, newSelectedRange, replacementRange);
+}
+
+- (void)unmarkText
+{
+ _impl->unmarkText();
+}
+
+- (NSRange)selectedRange
+{
+ return _impl->selectedRange();
+}
+
+- (BOOL)hasMarkedText
+{
+ return _impl->hasMarkedText();
+}
+
+- (NSRange)markedRange
+{
+ return _impl->markedRange();
+}
+
+- (NSAttributedString *)attributedSubstringForProposedRange:(NSRange)nsRange actualRange:(NSRangePointer)actualRange
+{
+ return _impl->attributedSubstringForProposedRange(nsRange, actualRange);
+}
+
+- (NSUInteger)characterIndexForPoint:(NSPoint)thePoint
+{
+ return _impl->characterIndexForPoint(thePoint);
+}
+
+- (NSRect)firstRectForCharacterRange:(NSRange)theRange actualRange:(NSRangePointer)actualRange
+{
+ return _impl->firstRectForCharacterRange(theRange, actualRange);
+}
+
+#if USE(ASYNC_NSTEXTINPUTCLIENT)
+
+- (void)selectedRangeWithCompletionHandler:(void(^)(NSRange selectedRange))completionHandlerPtr
+{
+ _impl->selectedRangeWithCompletionHandler(completionHandlerPtr);
+}
+
+- (void)markedRangeWithCompletionHandler:(void(^)(NSRange markedRange))completionHandlerPtr
+{
+ _impl->markedRangeWithCompletionHandler(completionHandlerPtr);
+}
+
+- (void)hasMarkedTextWithCompletionHandler:(void(^)(BOOL hasMarkedText))completionHandlerPtr
+{
+ _impl->hasMarkedTextWithCompletionHandler(completionHandlerPtr);
+}
+
+- (void)attributedSubstringForProposedRange:(NSRange)nsRange completionHandler:(void(^)(NSAttributedString *attrString, NSRange actualRange))completionHandlerPtr
+{
+ _impl->attributedSubstringForProposedRange(nsRange, completionHandlerPtr);
+}
+
+- (void)firstRectForCharacterRange:(NSRange)theRange completionHandler:(void(^)(NSRect firstRect, NSRange actualRange))completionHandlerPtr
+{
+ _impl->firstRectForCharacterRange(theRange, completionHandlerPtr);
+}
+
+- (void)characterIndexForPoint:(NSPoint)thePoint completionHandler:(void(^)(NSUInteger))completionHandlerPtr
+{
+ _impl->characterIndexForPoint(thePoint, completionHandlerPtr);
+}
+
+#endif // USE(ASYNC_NSTEXTINPUTCLIENT)
+
+- (NSArray *)validAttributesForMarkedText
+{
+ return _impl->validAttributesForMarkedText();
+}
+
+#if ENABLE(DRAG_SUPPORT)
+- (void)draggedImage:(NSImage *)image endedAt:(NSPoint)endPoint operation:(NSDragOperation)operation
+{
+ _impl->draggedImage(image, NSPointToCGPoint(endPoint), operation);
+}
+
+- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)draggingInfo
+{
+ return _impl->draggingEntered(draggingInfo);
+}
+
+- (NSDragOperation)draggingUpdated:(id <NSDraggingInfo>)draggingInfo
+{
+ return _impl->draggingUpdated(draggingInfo);
+}
+
+- (void)draggingExited:(id <NSDraggingInfo>)draggingInfo
+{
+ _impl->draggingExited(draggingInfo);
+}
+
+- (BOOL)prepareForDragOperation:(id <NSDraggingInfo>)draggingInfo
+{
+ return _impl->prepareForDragOperation(draggingInfo);
+}
+
+- (BOOL)performDragOperation:(id <NSDraggingInfo>)draggingInfo
+{
+ return _impl->performDragOperation(draggingInfo);
+}
+
+- (NSView *)_hitTest:(NSPoint *)point dragTypes:(NSSet *)types
+{
+ return _impl->hitTestForDragTypes(NSPointToCGPoint(*point), types);
+}
+#endif // ENABLE(DRAG_SUPPORT)
+
+- (BOOL)_windowResizeMouseLocationIsInVisibleScrollerThumb:(NSPoint)point
+{
+ return _impl->windowResizeMouseLocationIsInVisibleScrollerThumb(NSPointToCGPoint(point));
+}
+
+- (void)viewWillMoveToWindow:(NSWindow *)window
+{
+ _impl->viewWillMoveToWindow(window);
+}
+
+- (void)viewDidMoveToWindow
+{
+ _impl->viewDidMoveToWindow();
+}
+
+- (void)drawRect:(NSRect)rect
+{
+ _impl->drawRect(NSRectToCGRect(rect));
+}
+
+- (BOOL)isOpaque
+{
+ return _impl->isOpaque();
+}
+
+- (BOOL)mouseDownCanMoveWindow
+{
+ return WebKit::WebViewImpl::mouseDownCanMoveWindow();
+}
+
+- (void)viewDidHide
+{
+ _impl->viewDidHide();
+}
+
+- (void)viewDidUnhide
+{
+ _impl->viewDidUnhide();
+}
+
+- (void)viewDidChangeBackingProperties
+{
+ _impl->viewDidChangeBackingProperties();
+}
+
+- (void)_activeSpaceDidChange:(NSNotification *)notification
+{
+ _impl->activeSpaceDidChange();
+}
+
+- (id)accessibilityFocusedUIElement
+{
+ return _impl->accessibilityFocusedUIElement();
+}
+
+- (BOOL)accessibilityIsIgnored
+{
+ return _impl->accessibilityIsIgnored();
+}
+
+- (id)accessibilityHitTest:(NSPoint)point
+{
+ return _impl->accessibilityHitTest(NSPointToCGPoint(point));
+}
+
+- (id)accessibilityAttributeValue:(NSString *)attribute
+{
+ return _impl->accessibilityAttributeValue(attribute);
+}
+
+- (NSView *)hitTest:(NSPoint)point
+{
+ if (!_impl)
+ return [super hitTest:point];
+ return _impl->hitTest(NSPointToCGPoint(point));
+}
+
+- (NSInteger)conversationIdentifier
+{
+ return (NSInteger)self;
+}
+
+- (void)quickLookWithEvent:(NSEvent *)event
+{
+ _impl->quickLookWithEvent(event);
+}
+
+- (NSTrackingRectTag)addTrackingRect:(NSRect)rect owner:(id)owner userData:(void *)data assumeInside:(BOOL)assumeInside
+{
+ return _impl->addTrackingRect(NSRectToCGRect(rect), owner, data, assumeInside);
+}
+
+- (NSTrackingRectTag)_addTrackingRect:(NSRect)rect owner:(id)owner userData:(void *)data assumeInside:(BOOL)assumeInside useTrackingNum:(int)tag
+{
+ return _impl->addTrackingRectWithTrackingNum(NSRectToCGRect(rect), owner, data, assumeInside, tag);
+}
+
+- (void)_addTrackingRects:(NSRect *)rects owner:(id)owner userDataList:(void **)userDataList assumeInsideList:(BOOL *)assumeInsideList trackingNums:(NSTrackingRectTag *)trackingNums count:(int)count
+{
+ CGRect *cgRects = (CGRect *)calloc(1, sizeof(CGRect));
+ for (int i = 0; i < count; i++)
+ cgRects[i] = NSRectToCGRect(rects[i]);
+ _impl->addTrackingRectsWithTrackingNums(cgRects, owner, userDataList, assumeInsideList, trackingNums, count);
+ free(cgRects);
+}
+
+- (void)removeTrackingRect:(NSTrackingRectTag)tag
+{
+ if (!_impl)
+ return;
+ _impl->removeTrackingRect(tag);
+}
+
+- (void)_removeTrackingRects:(NSTrackingRectTag *)tags count:(int)count
+{
+ if (!_impl)
+ return;
+ _impl->removeTrackingRects(tags, count);
+}
+
+- (NSString *)view:(NSView *)view stringForToolTip:(NSToolTipTag)tag point:(NSPoint)point userData:(void *)data
+{
+ return _impl->stringForToolTip(tag);
+}
+
+- (void)pasteboardChangedOwner:(NSPasteboard *)pasteboard
+{
+ _impl->pasteboardChangedOwner(pasteboard);
+}
+
+- (void)pasteboard:(NSPasteboard *)pasteboard provideDataForType:(NSString *)type
+{
+ _impl->provideDataForPasteboard(pasteboard, type);
+}
+
+- (NSArray *)namesOfPromisedFilesDroppedAtDestination:(NSURL *)dropDestination
+{
+ return _impl->namesOfPromisedFilesDroppedAtDestination(dropDestination);
+}
+
+- (BOOL)wantsUpdateLayer
+{
+ return WebKit::WebViewImpl::wantsUpdateLayer();
+}
+
+- (void)updateLayer
+{
+ _impl->updateLayer();
+}
+
</ins><span class="cx"> - (void)setAllowsBackForwardNavigationGestures:(BOOL)allowsBackForwardNavigationGestures
</span><span class="cx"> {
</span><del>- [_wkView setAllowsBackForwardNavigationGestures:allowsBackForwardNavigationGestures];
</del><ins>+ _impl->setAllowsBackForwardNavigationGestures(allowsBackForwardNavigationGestures);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (BOOL)allowsBackForwardNavigationGestures
</span><span class="cx"> {
</span><del>- return [_wkView allowsBackForwardNavigationGestures];
</del><ins>+ return _impl->allowsBackForwardNavigationGestures();
</ins><span class="cx"> }
</span><span class="cx">
</span><ins>+- (void)smartMagnifyWithEvent:(NSEvent *)event
+{
+ _impl->smartMagnifyWithEvent(event);
+}
+
+- (void)setMagnification:(double)magnification centeredAtPoint:(NSPoint)point
+{
+ _impl->setMagnification(magnification, NSPointToCGPoint(point));
+}
+
+- (void)setMagnification:(double)magnification
+{
+ _impl->setMagnification(magnification);
+}
+
+- (double)magnification
+{
+ return _impl->magnification();
+}
+
</ins><span class="cx"> - (void)setAllowsMagnification:(BOOL)allowsMagnification
</span><span class="cx"> {
</span><del>- [_wkView setAllowsMagnification:allowsMagnification];
</del><ins>+ _impl->setAllowsMagnification(allowsMagnification);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (BOOL)allowsMagnification
</span><span class="cx"> {
</span><del>- return [_wkView allowsMagnification];
</del><ins>+ return _impl->allowsMagnification();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (void)setMagnification:(CGFloat)magnification
</del><ins>+- (void)magnifyWithEvent:(NSEvent *)event
</ins><span class="cx"> {
</span><del>- [_wkView setMagnification:magnification];
</del><ins>+ _impl->magnifyWithEvent(event);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (CGFloat)magnification
</del><ins>+#if ENABLE(MAC_GESTURE_EVENTS)
+- (void)rotateWithEvent:(NSEvent *)event
</ins><span class="cx"> {
</span><del>- return [_wkView magnification];
</del><ins>+ _impl->rotateWithEvent(event);
</ins><span class="cx"> }
</span><ins>+#endif
</ins><span class="cx">
</span><del>-- (void)setMagnification:(CGFloat)magnification centeredAtPoint:(CGPoint)point
</del><ins>+- (NSTextInputContext *)_web_superInputContext
</ins><span class="cx"> {
</span><del>- [_wkView setMagnification:magnification centeredAtPoint:NSPointFromCGPoint(point)];
</del><ins>+ return [super inputContext];
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (BOOL)_ignoresNonWheelEvents
</del><ins>+- (void)_web_superQuickLookWithEvent:(NSEvent *)event
</ins><span class="cx"> {
</span><del>- return [_wkView _ignoresNonWheelEvents];
</del><ins>+ [super quickLookWithEvent:event];
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (void)_setIgnoresNonWheelEvents:(BOOL)ignoresNonWheelEvents
</del><ins>+- (void)_web_superSwipeWithEvent:(NSEvent *)event
</ins><span class="cx"> {
</span><del>- [_wkView _setIgnoresNonWheelEvents:ignoresNonWheelEvents];
</del><ins>+ [super swipeWithEvent:event];
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender
</del><ins>+- (void)_web_superMagnifyWithEvent:(NSEvent *)event
</ins><span class="cx"> {
</span><del>- return [_wkView draggingEntered:sender];
</del><ins>+ [super magnifyWithEvent:event];
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (NSDragOperation)draggingUpdated:(id <NSDraggingInfo>)sender
</del><ins>+- (void)_web_superSmartMagnifyWithEvent:(NSEvent *)event
</ins><span class="cx"> {
</span><del>- return [_wkView draggingUpdated:sender];
</del><ins>+ [super smartMagnifyWithEvent:event];
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (void)draggingExited:(id <NSDraggingInfo>)sender
</del><ins>+- (void)_web_superRemoveTrackingRect:(NSTrackingRectTag)tag
</ins><span class="cx"> {
</span><del>- [_wkView draggingExited:sender];
</del><ins>+ [super removeTrackingRect:tag];
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (BOOL)prepareForDragOperation:(id <NSDraggingInfo>)sender
</del><ins>+- (id)_web_superAccessibilityAttributeValue:(NSString *)attribute
</ins><span class="cx"> {
</span><del>- return [_wkView prepareForDragOperation:sender];
</del><ins>+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ return [super accessibilityAttributeValue:attribute];
+#pragma clang diagnostic pop
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
</del><ins>+- (void)_web_superDoCommandBySelector:(SEL)selector
</ins><span class="cx"> {
</span><del>- return [_wkView performDragOperation:sender];
</del><ins>+ [super doCommandBySelector:selector];
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (CGSize)intrinsicContentSize
</del><ins>+- (BOOL)_web_superPerformKeyEquivalent:(NSEvent *)event
</ins><span class="cx"> {
</span><del>- return _intrinsicContentSize;
</del><ins>+ return [super performKeyEquivalent:event];
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (void)_setIntrinsicContentSize:(CGSize)intrinsicContentSize
</del><ins>+- (void)_web_superKeyDown:(NSEvent *)event
</ins><span class="cx"> {
</span><del>- // If the intrinsic content size is less than the minimum layout width, the content flowed to fit,
- // so we can report that that dimension is flexible. If not, we need to report our intrinsic width
- // so that autolayout will know to provide space for us.
</del><ins>+ [super keyDown:event];
+}
</ins><span class="cx">
</span><del>- CGSize intrinsicContentSizeAcknowledgingFlexibleWidth = intrinsicContentSize;
- if (intrinsicContentSize.width < _page->minimumLayoutSize().width())
- intrinsicContentSizeAcknowledgingFlexibleWidth.width = NSViewNoInstrinsicMetric;
</del><ins>+- (NSView *)_web_superHitTest:(NSPoint)point
+{
+ return [super hitTest:point];
+}
</ins><span class="cx">
</span><del>- _intrinsicContentSize = intrinsicContentSizeAcknowledgingFlexibleWidth;
- [self invalidateIntrinsicContentSize];
</del><ins>+- (id)_web_immediateActionAnimationControllerForHitTestResultInternal:(API::HitTestResult*)hitTestResult withType:(uint32_t)type userData:(API::Object*)userData
+{
+ return [self _immediateActionAnimationControllerForHitTestResult:wrapper(*hitTestResult) withType:(_WKImmediateActionType)type userData:(id)userData];
</ins><span class="cx"> }
</span><span class="cx">
</span><ins>+// We don't expose these various bits of SPI like WKView does,
+// so have these internal methods just do the work (or do nothing):
+- (void)_web_prepareForImmediateActionAnimation
+{
+}
+
+- (void)_web_cancelImmediateActionAnimation
+{
+}
+
+- (void)_web_completeImmediateActionAnimation
+{
+}
+
+- (void)_web_didChangeContentSize:(NSSize)newSize
+{
+}
+
+- (void)_web_dismissContentRelativeChildWindows
+{
+ _impl->dismissContentRelativeChildWindowsFromViewOnly();
+}
+
+- (void)_web_dismissContentRelativeChildWindowsWithAnimation:(BOOL)withAnimation
+{
+ _impl->dismissContentRelativeChildWindowsWithAnimationFromViewOnly(withAnimation);
+}
+
+- (void)_web_gestureEventWasNotHandledByWebCore:(NSEvent *)event
+{
+ _impl->gestureEventWasNotHandledByWebCoreFromViewOnly(event);
+}
+
</ins><span class="cx"> #endif // PLATFORM(MAC)
</span><span class="cx">
</span><span class="cx"> @end
</span><span class="lines">@@ -1995,19 +2759,23 @@
</span><span class="cx"> - (void)_setEditable:(BOOL)editable
</span><span class="cx"> {
</span><span class="cx"> _page->setEditable(editable);
</span><del>-#if !PLATFORM(IOS)
- [_wkView _addFontPanelObserver];
</del><ins>+#if PLATFORM(MAC)
+ _impl->startObservingFontPanel();
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (_WKRemoteObjectRegistry *)_remoteObjectRegistry
</span><span class="cx"> {
</span><ins>+#if PLATFORM(MAC)
+ return _impl->remoteObjectRegistry();
+#else
</ins><span class="cx"> if (!_remoteObjectRegistry) {
</span><span class="cx"> _remoteObjectRegistry = adoptNS([[_WKRemoteObjectRegistry alloc] _initWithMessageSender:*_page]);
</span><span class="cx"> _page->process().processPool().addMessageReceiver(Messages::RemoteObjectRegistry::messageReceiverName(), _page->pageID(), [_remoteObjectRegistry remoteObjectRegistry]);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return _remoteObjectRegistry.get();
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (WKBrowsingContextHandle *)_handle
</span><span class="lines">@@ -2618,7 +3386,7 @@
</span><span class="cx"> - (_WKLayoutMode)_layoutMode
</span><span class="cx"> {
</span><span class="cx"> #if PLATFORM(MAC)
</span><del>- switch ([_wkView _layoutMode]) {
</del><ins>+ switch (_impl->layoutMode()) {
</ins><span class="cx"> case kWKLayoutModeFixedSize:
</span><span class="cx"> return _WKLayoutModeFixedSize;
</span><span class="cx"> case kWKLayoutModeDynamicSizeComputedFromViewScale:
</span><span class="lines">@@ -2653,7 +3421,7 @@
</span><span class="cx"> wkViewLayoutMode = kWKLayoutModeViewSize;
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- [_wkView _setLayoutMode:wkViewLayoutMode];
</del><ins>+ _impl->setLayoutMode(wkViewLayoutMode);
</ins><span class="cx"> #else
</span><span class="cx"> _page->setUseFixedLayout(layoutMode == _WKLayoutModeFixedSize || layoutMode == _WKLayoutModeDynamicSizeComputedFromViewScale);
</span><span class="cx"> #endif
</span><span class="lines">@@ -2677,7 +3445,7 @@
</span><span class="cx"> - (void)_setViewScale:(CGFloat)viewScale
</span><span class="cx"> {
</span><span class="cx"> #if PLATFORM(MAC)
</span><del>- [_wkView _setViewScale:viewScale];
</del><ins>+ _impl->setViewScale(viewScale);
</ins><span class="cx"> #else
</span><span class="cx"> if (viewScale <= 0 || isnan(viewScale) || isinf(viewScale))
</span><span class="cx"> [NSException raise:NSInvalidArgumentException format:@"View scale should be a positive number"];
</span><span class="lines">@@ -3143,74 +3911,80 @@
</span><span class="cx">
</span><span class="cx"> #pragma mark - OS X-specific methods
</span><span class="cx">
</span><del>-- (NSColor *)_pageExtendedBackgroundColor
</del><ins>+- (BOOL)_drawsTransparentBackground
</ins><span class="cx"> {
</span><del>- WebCore::Color color = _page->pageExtendedBackgroundColor();
- if (!color.isValid())
- return nil;
</del><ins>+ return _impl->drawsTransparentBackground();
+}
</ins><span class="cx">
</span><del>- return nsColor(color);
</del><ins>+- (void)_setDrawsTransparentBackground:(BOOL)drawsTransparentBackground
+{
+ _impl->setDrawsTransparentBackground(drawsTransparentBackground);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (BOOL)_drawsTransparentBackground
</del><ins>+#if WK_API_ENABLED
+- (NSView *)_inspectorAttachmentView
</ins><span class="cx"> {
</span><del>- return _page->drawsTransparentBackground();
</del><ins>+ return _impl->inspectorAttachmentView();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (void)_setDrawsTransparentBackground:(BOOL)drawsTransparentBackground
</del><ins>+- (void)_setInspectorAttachmentView:(NSView *)newView
</ins><span class="cx"> {
</span><del>- _page->setDrawsTransparentBackground(drawsTransparentBackground);
</del><ins>+ _impl->setInspectorAttachmentView(newView);
</ins><span class="cx"> }
</span><ins>+#endif
</ins><span class="cx">
</span><del>-- (void)_setOverrideDeviceScaleFactor:(CGFloat)deviceScaleFactor
</del><ins>+- (BOOL)_windowOcclusionDetectionEnabled
</ins><span class="cx"> {
</span><del>- [_wkView _setOverrideDeviceScaleFactor:deviceScaleFactor];
</del><ins>+ return _impl->windowOcclusionDetectionEnabled();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (CGFloat)_overrideDeviceScaleFactor
</del><ins>+- (void)_setWindowOcclusionDetectionEnabled:(BOOL)enabled
</ins><span class="cx"> {
</span><del>- return [_wkView _overrideDeviceScaleFactor];
</del><ins>+ _impl->setWindowOcclusionDetectionEnabled(enabled);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (id)_immediateActionAnimationControllerForHitTestResult:(_WKHitTestResult *)hitTestResult withType:(_WKImmediateActionType)type userData:(id<NSSecureCoding>)userData
</del><ins>+- (void)_setOverrideDeviceScaleFactor:(CGFloat)deviceScaleFactor
</ins><span class="cx"> {
</span><del>- return nil;
</del><ins>+ _impl->setOverrideDeviceScaleFactor(deviceScaleFactor);
</ins><span class="cx"> }
</span><span class="cx">
</span><ins>+- (CGFloat)_overrideDeviceScaleFactor
+{
+ return _impl->overrideDeviceScaleFactor();
+}
+
</ins><span class="cx"> - (void)_setTopContentInset:(CGFloat)contentInset
</span><span class="cx"> {
</span><del>- [_wkView _setTopContentInset:contentInset];
</del><ins>+ return _impl->setTopContentInset(contentInset);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (CGFloat)_topContentInset
</span><span class="cx"> {
</span><del>- return [_wkView _topContentInset];
</del><ins>+ return _impl->topContentInset();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (BOOL)_windowOcclusionDetectionEnabled
</del><ins>+- (NSColor *)_pageExtendedBackgroundColor
</ins><span class="cx"> {
</span><del>- return [_wkView windowOcclusionDetectionEnabled];
</del><ins>+ return _impl->pageExtendedBackgroundColor();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-- (void)_setWindowOcclusionDetectionEnabled:(BOOL)flag
</del><ins>+- (id)_immediateActionAnimationControllerForHitTestResult:(_WKHitTestResult *)hitTestResult withType:(_WKImmediateActionType)type userData:(id<NSSecureCoding>)userData
</ins><span class="cx"> {
</span><del>- [_wkView setWindowOcclusionDetectionEnabled:flag];
</del><ins>+ return nil;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
</span><del>-
</del><span class="cx"> - (void)_setAutomaticallyAdjustsContentInsets:(BOOL)automaticallyAdjustsContentInsets
</span><span class="cx"> {
</span><del>- [_wkView _setAutomaticallyAdjustsContentInsets:automaticallyAdjustsContentInsets];
</del><ins>+ _impl->setAutomaticallyAdjustsContentInsets(automaticallyAdjustsContentInsets);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (BOOL)_automaticallyAdjustsContentInsets
</span><span class="cx"> {
</span><del>- return [_wkView _automaticallyAdjustsContentInsets];
</del><ins>+ return _impl->automaticallyAdjustsContentInsets();
</ins><span class="cx"> }
</span><ins>+#endif
</ins><span class="cx">
</span><del>-#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
-
</del><span class="cx"> - (CGFloat)_minimumLayoutWidth
</span><span class="cx"> {
</span><span class="cx"> return _page->minimumLayoutSize().width();
</span><span class="lines">@@ -3223,7 +3997,7 @@
</span><span class="cx"> _page->setMinimumLayoutSize(WebCore::IntSize(width, 0));
</span><span class="cx"> _page->setMainFrameIsScrollable(!expandsToFit);
</span><span class="cx">
</span><del>- [_wkView setShouldClipToVisibleRect:expandsToFit];
</del><ins>+ _impl->setClipsToVisibleRect(expandsToFit);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKWebViewInternalh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h (191906 => 191907)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h        2015-11-02 21:13:22 UTC (rev 191906)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h        2015-11-02 21:15:06 UTC (rev 191907)
</span><span class="lines">@@ -111,9 +111,6 @@
</span><span class="cx">
</span><span class="cx"> @property (nonatomic, readonly) BOOL _allowsDoubleTapGestures;
</span><span class="cx"> @property (nonatomic, readonly) UIEdgeInsets _computedContentInset;
</span><del>-#else
-@property (nonatomic, setter=_setIgnoresNonWheelEvents:) BOOL _ignoresNonWheelEvents;
-- (void)_setIntrinsicContentSize:(CGSize)intrinsicContentSize;
</del><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> - (WKPageRef)_pageForTesting;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm (191906 => 191907)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm        2015-11-02 21:13:22 UTC (rev 191906)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm        2015-11-02 21:15:06 UTC (rev 191907)
</span><span class="lines">@@ -664,64 +664,6 @@
</span><span class="cx">
</span><span class="cx"> #endif // USE(ASYNC_NSTEXTINPUTCLIENT)
</span><span class="cx">
</span><del>-- (NSTextInputContext *)_superInputContext
-{
- return [super inputContext];
-}
-
-- (void)_superQuickLookWithEvent:(NSEvent *)event
-{
- [super quickLookWithEvent:event];
-}
-
-- (void)_superSwipeWithEvent:(NSEvent *)event
-{
- [super swipeWithEvent:event];
-}
-
-- (void)_superMagnifyWithEvent:(NSEvent *)event
-{
- [super magnifyWithEvent:event];
-}
-
-- (void)_superSmartMagnifyWithEvent:(NSEvent *)event
-{
- [super smartMagnifyWithEvent:event];
-}
-
-- (void)_superRemoveTrackingRect:(NSTrackingRectTag)tag
-{
- [super removeTrackingRect:tag];
-}
-
-- (id)_superAccessibilityAttributeValue:(NSString *)attribute
-{
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- return [super accessibilityAttributeValue:attribute];
-#pragma clang diagnostic pop
-}
-
-- (void)_superDoCommandBySelector:(SEL)selector
-{
- [super doCommandBySelector:selector];
-}
-
-- (BOOL)_superPerformKeyEquivalent:(NSEvent *)event
-{
- return [super performKeyEquivalent:event];
-}
-
-- (void)_superKeyDown:(NSEvent *)event
-{
- [super keyDown:event];
-}
-
-- (NSView *)_superHitTest:(NSPoint)point
-{
- return [super hitTest:point];
-}
-
</del><span class="cx"> - (NSArray *)validAttributesForMarkedText
</span><span class="cx"> {
</span><span class="cx"> return _data->_impl->validAttributesForMarkedText();
</span><span class="lines">@@ -769,11 +711,6 @@
</span><span class="cx"> return _data->_impl->windowResizeMouseLocationIsInVisibleScrollerThumb(NSPointToCGPoint(point));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-- (void)_addFontPanelObserver
-{
- _data->_impl->startObservingFontPanel();
-}
-
</del><span class="cx"> - (void)viewWillMoveToWindow:(NSWindow *)window
</span><span class="cx"> {
</span><span class="cx"> _data->_impl->viewWillMoveToWindow(window);
</span><span class="lines">@@ -937,6 +874,104 @@
</span><span class="cx"> }
</span><span class="cx"> #endif // WK_API_ENABLED
</span><span class="cx">
</span><ins>+- (NSTextInputContext *)_web_superInputContext
+{
+ return [super inputContext];
+}
+
+- (void)_web_superQuickLookWithEvent:(NSEvent *)event
+{
+ [super quickLookWithEvent:event];
+}
+
+- (void)_web_superSwipeWithEvent:(NSEvent *)event
+{
+ [super swipeWithEvent:event];
+}
+
+- (void)_web_superMagnifyWithEvent:(NSEvent *)event
+{
+ [super magnifyWithEvent:event];
+}
+
+- (void)_web_superSmartMagnifyWithEvent:(NSEvent *)event
+{
+ [super smartMagnifyWithEvent:event];
+}
+
+- (void)_web_superRemoveTrackingRect:(NSTrackingRectTag)tag
+{
+ [super removeTrackingRect:tag];
+}
+
+- (id)_web_superAccessibilityAttributeValue:(NSString *)attribute
+{
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ return [super accessibilityAttributeValue:attribute];
+#pragma clang diagnostic pop
+}
+
+- (void)_web_superDoCommandBySelector:(SEL)selector
+{
+ [super doCommandBySelector:selector];
+}
+
+- (BOOL)_web_superPerformKeyEquivalent:(NSEvent *)event
+{
+ return [super performKeyEquivalent:event];
+}
+
+- (void)_web_superKeyDown:(NSEvent *)event
+{
+ [super keyDown:event];
+}
+
+- (NSView *)_web_superHitTest:(NSPoint)point
+{
+ return [super hitTest:point];
+}
+
+- (id)_web_immediateActionAnimationControllerForHitTestResultInternal:(API::HitTestResult*)hitTestResult withType:(uint32_t)type userData:(API::Object*)userData
+{
+ return [self _immediateActionAnimationControllerForHitTestResult:toAPI(hitTestResult) withType:type userData:toAPI(userData)];
+}
+
+- (void)_web_prepareForImmediateActionAnimation
+{
+ [self _prepareForImmediateActionAnimation];
+}
+
+- (void)_web_cancelImmediateActionAnimation
+{
+ [self _cancelImmediateActionAnimation];
+}
+
+- (void)_web_completeImmediateActionAnimation
+{
+ [self _completeImmediateActionAnimation];
+}
+
+- (void)_web_didChangeContentSize:(NSSize)newSize
+{
+ [self _didChangeContentSize:newSize];
+}
+
+- (void)_web_dismissContentRelativeChildWindows
+{
+ [self _dismissContentRelativeChildWindows];
+}
+
+- (void)_web_dismissContentRelativeChildWindowsWithAnimation:(BOOL)withAnimation
+{
+ [self _dismissContentRelativeChildWindowsWithAnimation:withAnimation];
+}
+
+- (void)_web_gestureEventWasNotHandledByWebCore:(NSEvent *)event
+{
+ [self _gestureEventWasNotHandledByWebCore:event];
+}
+
</ins><span class="cx"> @end
</span><span class="cx">
</span><span class="cx"> @implementation WKView (Private)
</span><span class="lines">@@ -1359,11 +1394,6 @@
</span><span class="cx"> _data->_impl->setDidMoveSwipeSnapshotCallback(callback);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-- (id)_web_immediateActionAnimationControllerForHitTestResultInternal:(API::HitTestResult*)hitTestResult withType:(uint32_t)type userData:(API::Object*)userData
-{
- return [self _immediateActionAnimationControllerForHitTestResult:toAPI(hitTestResult) withType:type userData:toAPI(userData)];
-}
-
</del><span class="cx"> - (id)_immediateActionAnimationControllerForHitTestResult:(WKHitTestResultRef)hitTestResult withType:(uint32_t)type userData:(WKTypeRef)userData
</span><span class="cx"> {
</span><span class="cx"> return nil;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKViewInternalh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h (191906 => 191907)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h        2015-11-02 21:13:22 UTC (rev 191906)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h        2015-11-02 21:15:06 UTC (rev 191907)
</span><span class="lines">@@ -50,8 +50,6 @@
</span><span class="cx"> @property (nonatomic, setter=_setThumbnailView:) _WKThumbnailView *_thumbnailView;
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-- (void)_addFontPanelObserver;
-
</del><span class="cx"> @end
</span><span class="cx">
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessCocoaWebViewImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h (191906 => 191907)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h        2015-11-02 21:13:22 UTC (rev 191906)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h        2015-11-02 21:15:06 UTC (rev 191907)
</span><span class="lines">@@ -52,32 +52,30 @@
</span><span class="cx">
</span><span class="cx"> @protocol WebViewImplDelegate
</span><span class="cx">
</span><del>-- (NSTextInputContext *)_superInputContext;
-- (void)_superQuickLookWithEvent:(NSEvent *)event;
-- (void)_superRemoveTrackingRect:(NSTrackingRectTag)tag;
-- (void)_superSwipeWithEvent:(NSEvent *)event;
-- (void)_superMagnifyWithEvent:(NSEvent *)event;
-- (void)_superSmartMagnifyWithEvent:(NSEvent *)event;
-- (id)_superAccessibilityAttributeValue:(NSString *)attribute;
-- (void)_superDoCommandBySelector:(SEL)selector;
-- (BOOL)_superPerformKeyEquivalent:(NSEvent *)event;
-- (void)_superKeyDown:(NSEvent *)event;
-- (NSView *)_superHitTest:(NSPoint)point;
</del><ins>+- (NSTextInputContext *)_web_superInputContext;
+- (void)_web_superQuickLookWithEvent:(NSEvent *)event;
+- (void)_web_superRemoveTrackingRect:(NSTrackingRectTag)tag;
+- (void)_web_superSwipeWithEvent:(NSEvent *)event;
+- (void)_web_superMagnifyWithEvent:(NSEvent *)event;
+- (void)_web_superSmartMagnifyWithEvent:(NSEvent *)event;
+- (id)_web_superAccessibilityAttributeValue:(NSString *)attribute;
+- (void)_web_superDoCommandBySelector:(SEL)selector;
+- (BOOL)_web_superPerformKeyEquivalent:(NSEvent *)event;
+- (void)_web_superKeyDown:(NSEvent *)event;
+- (NSView *)_web_superHitTest:(NSPoint)point;
</ins><span class="cx">
</span><del>-// This is a hack; these things live can live on a category (e.g. WKView (Private)) but WKView itself conforms to this protocol.
-// They're not actually optional.
-@optional
-
</del><span class="cx"> - (id)_web_immediateActionAnimationControllerForHitTestResultInternal:(API::HitTestResult*)hitTestResult withType:(uint32_t)type userData:(API::Object*)userData;
</span><ins>+- (void)_web_prepareForImmediateActionAnimation;
+- (void)_web_cancelImmediateActionAnimation;
+- (void)_web_completeImmediateActionAnimation;
</ins><span class="cx">
</span><del>-- (void)_prepareForImmediateActionAnimation;
-- (void)_cancelImmediateActionAnimation;
-- (void)_completeImmediateActionAnimation;
-- (void)_dismissContentRelativeChildWindows;
-- (void)_dismissContentRelativeChildWindowsWithAnimation:(BOOL)animate;
-- (void)_gestureEventWasNotHandledByWebCore:(NSEvent *)event;
-- (void)_didChangeContentSize:(NSSize)newSize;
</del><ins>+- (void)_web_dismissContentRelativeChildWindows;
+- (void)_web_dismissContentRelativeChildWindowsWithAnimation:(BOOL)animate;
</ins><span class="cx">
</span><ins>+- (void)_web_gestureEventWasNotHandledByWebCore:(NSEvent *)event;
+
+- (void)_web_didChangeContentSize:(NSSize)newSize;
+
</ins><span class="cx"> @end
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessCocoaWebViewImplmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm (191906 => 191907)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm        2015-11-02 21:13:22 UTC (rev 191906)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm        2015-11-02 21:15:06 UTC (rev 191907)
</span><span class="lines">@@ -1274,7 +1274,7 @@
</span><span class="cx">
</span><span class="cx"> NSView *WebViewImpl::hitTest(CGPoint point)
</span><span class="cx"> {
</span><del>- NSView *hitView = [m_view _superHitTest:NSPointFromCGPoint(point)];
</del><ins>+ NSView *hitView = [m_view _web_superHitTest:NSPointFromCGPoint(point)];
</ins><span class="cx"> if (hitView && hitView == m_layerHostingView)
</span><span class="cx"> hitView = m_view;
</span><span class="cx">
</span><span class="lines">@@ -1417,7 +1417,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> // WKView has a single input context for all editable areas (except for plug-ins).
</span><del>- NSTextInputContext *context = [m_view _superInputContext];
</del><ins>+ NSTextInputContext *context = [m_view _web_superInputContext];
</ins><span class="cx"> bool isInPasswordField = m_page->editorState().isInPasswordField;
</span><span class="cx">
</span><span class="cx"> if (isInPasswordField) {
</span><span class="lines">@@ -1453,7 +1453,7 @@
</span><span class="cx">
</span><span class="cx"> LOG(TextInput, "-> discardMarkedText");
</span><span class="cx">
</span><del>- [[m_view _superInputContext] discardMarkedText]; // Inform the input method that we won't have an inline input area despite having been asked to.
</del><ins>+ [[m_view _web_superInputContext] discardMarkedText]; // Inform the input method that we won't have an inline input area despite having been asked to.
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::setPluginComplexTextInputState(PluginComplexTextInputState pluginComplexTextInputState)
</span><span class="lines">@@ -1700,7 +1700,7 @@
</span><span class="cx"> // The sink does two things: 1) Tells us if the responder went unhandled, and
</span><span class="cx"> // 2) prevents any NSBeep; we don't ever want to beep here.
</span><span class="cx"> RetainPtr<WKResponderChainSink> sink = adoptNS([[WKResponderChainSink alloc] initWithResponderChain:m_view]);
</span><del>- [m_view _superDoCommandBySelector:selector];
</del><ins>+ [m_view _web_superDoCommandBySelector:selector];
</ins><span class="cx"> [sink detach];
</span><span class="cx"> return ![sink didReceiveUnhandledCommand];
</span><span class="cx"> }
</span><span class="lines">@@ -2181,7 +2181,7 @@
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::dismissContentRelativeChildWindowsWithAnimation(bool animate)
</span><span class="cx"> {
</span><del>- [m_view _dismissContentRelativeChildWindowsWithAnimation:animate];
</del><ins>+ [m_view _web_dismissContentRelativeChildWindowsWithAnimation:animate];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::dismissContentRelativeChildWindowsWithAnimationFromViewOnly(bool animate)
</span><span class="lines">@@ -2190,7 +2190,7 @@
</span><span class="cx"> // We can't invert these because clients can override (and have overridden) _dismissContentRelativeChildWindows, so it needs to be called.
</span><span class="cx"> // For this same reason, this can't be moved to WebViewImpl without care.
</span><span class="cx"> clearTextIndicatorWithAnimation(animate ? WebCore::TextIndicatorWindowDismissalAnimation::FadeOut : WebCore::TextIndicatorWindowDismissalAnimation::None);
</span><del>- [m_view _dismissContentRelativeChildWindows];
</del><ins>+ [m_view _web_dismissContentRelativeChildWindows];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::dismissContentRelativeChildWindowsFromViewOnly()
</span><span class="lines">@@ -2232,7 +2232,7 @@
</span><span class="cx">
</span><span class="cx"> #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
</span><span class="cx"> if (m_immediateActionGestureRecognizer) {
</span><del>- [m_view _superQuickLookWithEvent:event];
</del><ins>+ [m_view _web_superQuickLookWithEvent:event];
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="lines">@@ -2280,22 +2280,22 @@
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::prepareForImmediateActionAnimation()
</span><span class="cx"> {
</span><del>- [m_view _prepareForImmediateActionAnimation];
</del><ins>+ [m_view _web_prepareForImmediateActionAnimation];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::cancelImmediateActionAnimation()
</span><span class="cx"> {
</span><del>- [m_view _cancelImmediateActionAnimation];
</del><ins>+ [m_view _web_cancelImmediateActionAnimation];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::completeImmediateActionAnimation()
</span><span class="cx"> {
</span><del>- [m_view _completeImmediateActionAnimation];
</del><ins>+ [m_view _web_completeImmediateActionAnimation];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::didChangeContentSize(CGSize newSize)
</span><span class="cx"> {
</span><del>- [m_view _didChangeContentSize:NSSizeFromCGSize(newSize)];
</del><ins>+ [m_view _web_didChangeContentSize:NSSizeFromCGSize(newSize)];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::setIgnoresNonWheelEvents(bool ignoresNonWheelEvents)
</span><span class="lines">@@ -2404,7 +2404,7 @@
</span><span class="cx"> if ([attribute isEqualToString:NSAccessibilityEnabledAttribute])
</span><span class="cx"> return @YES;
</span><span class="cx">
</span><del>- return [m_view _superAccessibilityAttributeValue:attribute];
</del><ins>+ return [m_view _web_superAccessibilityAttributeValue:attribute];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::setPrimaryTrackingArea(NSTrackingArea *trackingArea)
</span><span class="lines">@@ -2455,7 +2455,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (tag == m_lastToolTipTag) {
</span><del>- [m_view _superRemoveTrackingRect:tag];
</del><ins>+ [m_view _web_superRemoveTrackingRect:tag];
</ins><span class="cx"> m_lastToolTipTag = 0;
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -3139,7 +3139,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (!m_allowsBackForwardNavigationGestures) {
</span><del>- [m_view _superSwipeWithEvent:event];
</del><ins>+ [m_view _web_superSwipeWithEvent:event];
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -3148,7 +3148,7 @@
</span><span class="cx"> else if (event.deltaX < 0.0)
</span><span class="cx"> m_page->goForward();
</span><span class="cx"> else
</span><del>- [m_view _superSwipeWithEvent:event];
</del><ins>+ [m_view _web_superSwipeWithEvent:event];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::magnifyWithEvent(NSEvent *event)
</span><span class="lines">@@ -3158,7 +3158,7 @@
</span><span class="cx"> NativeWebGestureEvent webEvent = NativeWebGestureEvent(event, m_view);
</span><span class="cx"> m_page->handleGestureEvent(webEvent);
</span><span class="cx"> #endif
</span><del>- [m_view _superMagnifyWithEvent:event];
</del><ins>+ [m_view _web_superMagnifyWithEvent:event];
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -3182,7 +3182,7 @@
</span><span class="cx"> void WebViewImpl::smartMagnifyWithEvent(NSEvent *event)
</span><span class="cx"> {
</span><span class="cx"> if (!m_allowsMagnification) {
</span><del>- [m_view _superSmartMagnifyWithEvent:event];
</del><ins>+ [m_view _web_superSmartMagnifyWithEvent:event];
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -3211,7 +3211,7 @@
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::gestureEventWasNotHandledByWebCore(NSEvent *event)
</span><span class="cx"> {
</span><del>- [m_view _gestureEventWasNotHandledByWebCore:event];
</del><ins>+ [m_view _web_gestureEventWasNotHandledByWebCore:event];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::gestureEventWasNotHandledByWebCoreFromViewOnly(NSEvent *event)
</span><span class="lines">@@ -3360,7 +3360,7 @@
</span><span class="cx"> } else {
</span><span class="cx"> // FIXME: Send the command to Editor synchronously and only send it along the
</span><span class="cx"> // responder chain if it's a selector that does not correspond to an editing command.
</span><del>- [m_view _superDoCommandBySelector:selector];
</del><ins>+ [m_view _web_superDoCommandBySelector:selector];
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -3576,7 +3576,7 @@
</span><span class="cx"> if (!m_page->editorState().isContentEditable)
</span><span class="cx"> return nil;
</span><span class="cx">
</span><del>- return [m_view _superInputContext];
</del><ins>+ return [m_view _web_superInputContext];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::unmarkText()
</span><span class="lines">@@ -3671,13 +3671,13 @@
</span><span class="cx"> // but both get transformed to a cancelOperation: command, executing which passes an Esc key event to -performKeyEquivalent:.
</span><span class="cx"> // Don't interpret this event again, avoiding re-entrancy and infinite loops.
</span><span class="cx"> if ([[event charactersIgnoringModifiers] isEqualToString:@"\e"] && !([event modifierFlags] & NSDeviceIndependentModifierFlagsMask))
</span><del>- return [m_view _superPerformKeyEquivalent:event];
</del><ins>+ return [m_view _web_superPerformKeyEquivalent:event];
</ins><span class="cx">
</span><span class="cx"> if (m_keyDownEventBeingResent) {
</span><span class="cx"> // WebCore has already seen the event, no need for custom processing.
</span><span class="cx"> // Note that we can get multiple events for each event being re-sent. For example, for Cmd+'=' AppKit
</span><span class="cx"> // first performs the original key equivalent, and if that isn't handled, it dispatches a synthetic Cmd+'+'.
</span><del>- return [m_view _superPerformKeyEquivalent:event];
</del><ins>+ return [m_view _web_superPerformKeyEquivalent:event];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT(event == [NSApp currentEvent]);
</span><span class="lines">@@ -3694,7 +3694,7 @@
</span><span class="cx"> return YES;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- return [m_view _superPerformKeyEquivalent:event];
</del><ins>+ return [m_view _web_superPerformKeyEquivalent:event];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::keyUp(NSEvent *event)
</span><span class="lines">@@ -3727,7 +3727,7 @@
</span><span class="cx"> // there is no range selection).
</span><span class="cx"> // If this is the case we should ignore the key down.
</span><span class="cx"> if (m_keyDownEventBeingResent == event) {
</span><del>- [m_view _superKeyDown:event];
</del><ins>+ [m_view _web_superKeyDown:event];
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -3831,7 +3831,7 @@
</span><span class="cx"> } else {
</span><span class="cx"> // FIXME: Send the command to Editor synchronously and only send it along the
</span><span class="cx"> // responder chain if it's a selector that does not correspond to an editing command.
</span><del>- [m_view _superDoCommandBySelector:selector];
</del><ins>+ [m_view _web_superDoCommandBySelector:selector];
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -3908,7 +3908,7 @@
</span><span class="cx"> if (!m_page->editorState().isContentEditable)
</span><span class="cx"> return nil;
</span><span class="cx">
</span><del>- return [m_view _superInputContext];
</del><ins>+ return [m_view _web_superInputContext];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> NSRange WebViewImpl::selectedRange()
</span><span class="lines">@@ -4110,13 +4110,13 @@
</span><span class="cx"> // but both get transformed to a cancelOperation: command, executing which passes an Esc key event to -performKeyEquivalent:.
</span><span class="cx"> // Don't interpret this event again, avoiding re-entrancy and infinite loops.
</span><span class="cx"> if ([[event charactersIgnoringModifiers] isEqualToString:@"\e"] && !([event modifierFlags] & NSDeviceIndependentModifierFlagsMask))
</span><del>- return [m_view _superPerformKeyEquivalent:event];
</del><ins>+ return [m_view _web_superPerformKeyEquivalent:event];
</ins><span class="cx">
</span><span class="cx"> if (m_keyDownEventBeingResent) {
</span><span class="cx"> // WebCore has already seen the event, no need for custom processing.
</span><span class="cx"> // Note that we can get multiple events for each event being re-sent. For example, for Cmd+'=' AppKit
</span><span class="cx"> // first performs the original key equivalent, and if that isn't handled, it dispatches a synthetic Cmd+'+'.
</span><del>- return [m_view _superPerformKeyEquivalent:event];
</del><ins>+ return [m_view _web_superPerformKeyEquivalent:event];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT(event == [NSApp currentEvent]);
</span><span class="lines">@@ -4133,7 +4133,7 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- return [m_view _superPerformKeyEquivalent:event];
</del><ins>+ return [m_view _web_superPerformKeyEquivalent:event];
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::keyUp(NSEvent *event)
</span><span class="lines">@@ -4168,7 +4168,7 @@
</span><span class="cx"> // there is no range selection).
</span><span class="cx"> // If this is the case we should ignore the key down.
</span><span class="cx"> if (m_keyDownEventBeingResent == event) {
</span><del>- [m_view _superKeyDown:event];
</del><ins>+ [m_view _web_superKeyDown:event];
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacPageClientImplmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm (191906 => 191907)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm        2015-11-02 21:13:22 UTC (rev 191906)
+++ trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm        2015-11-02 21:15:06 UTC (rev 191907)
</span><span class="lines">@@ -358,13 +358,7 @@
</span><span class="cx"> size.scale(1.0 / m_impl->page().deviceScaleFactor());
</span><span class="cx"> [dragNSImage setSize:size];
</span><span class="cx">
</span><del>-#if WK_API_ENABLED
- if (m_webView) {
- NSPoint webViewPosition = [m_view convertPoint:clientPosition toView:m_webView];
- m_impl->dragImageForView(m_webView, dragNSImage.get(), webViewPosition, isLinkDrag);
- } else
-#endif
- m_impl->dragImageForView(m_view, dragNSImage.get(), clientPosition, isLinkDrag);
</del><ins>+ m_impl->dragImageForView(m_view, dragNSImage.get(), clientPosition, isLinkDrag);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void PageClientImpl::setPromisedDataForImage(const String& pasteboardName, PassRefPtr<SharedBuffer> imageBuffer, const String& filename, const String& extension, const String& title, const String& url, const String& visibleURL, PassRefPtr<SharedBuffer> archiveBuffer)
</span><span class="lines">@@ -605,13 +599,6 @@
</span><span class="cx">
</span><span class="cx"> void PageClientImpl::intrinsicContentSizeDidChange(const IntSize& intrinsicContentSize)
</span><span class="cx"> {
</span><del>-#if WK_API_ENABLED
- if (m_webView) {
- [m_webView _setIntrinsicContentSize:intrinsicContentSize];
- return;
- }
-#endif
-
</del><span class="cx"> m_impl->setIntrinsicContentSize(intrinsicContentSize);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -798,10 +785,6 @@
</span><span class="cx">
</span><span class="cx"> void* PageClientImpl::immediateActionAnimationControllerForHitTestResult(RefPtr<API::HitTestResult> hitTestResult, uint64_t type, RefPtr<API::Object> userData)
</span><span class="cx"> {
</span><del>-#if WK_API_ENABLED
- if (m_webView)
- return [m_webView _immediateActionAnimationControllerForHitTestResult:wrapper(*hitTestResult) withType:(_WKImmediateActionType)type userData:(id)(userData.get())];
-#endif
</del><span class="cx"> return m_impl->immediateActionAnimationControllerForHitTestResult(hitTestResult.get(), type, userData.get());
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (191906 => 191907)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2015-11-02 21:13:22 UTC (rev 191906)
+++ trunk/Tools/ChangeLog        2015-11-02 21:15:06 UTC (rev 191907)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2015-11-02 Tim Horton <timothy_horton@apple.com>
+
+ Get rid of WKWebView's inner WKView (WKView being inside WKWebView leads to weird API issues)
+ https://bugs.webkit.org/show_bug.cgi?id=150174
+
+ Reviewed by Anders Carlsson.
+
+ * WebKitTestRunner/mac/EventSenderProxy.mm:
+ (WTR::EventSenderProxy::mouseUp):
+ (WTR::EventSenderProxy::mouseMoveTo):
+ Revert some parts of r188828 which no longer apply.
+
</ins><span class="cx"> 2015-10-30 Dana Burkart <dburkart@apple.com>
</span><span class="cx">
</span><span class="cx"> svn-apply should handle unified diffs
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnermacEventSenderProxymm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/mac/EventSenderProxy.mm (191906 => 191907)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/mac/EventSenderProxy.mm        2015-11-02 21:13:22 UTC (rev 191906)
+++ trunk/Tools/WebKitTestRunner/mac/EventSenderProxy.mm        2015-11-02 21:15:06 UTC (rev 191907)
</span><span class="lines">@@ -348,17 +348,9 @@
</span><span class="cx"> // FIXME: Silly hack to teach WKTR to respect capturing mouse events outside the WKView.
</span><span class="cx"> // The right solution is just to use NSApplication's built-in event sending methods,
</span><span class="cx"> // instead of rolling our own algorithm for selecting an event target.
</span><del>- // FIXME: This is even worse now, because we need to hit the WKWebView's inner WKView
- // when using the modern API, so the level of fakery and horror increases.
- if (!targetView) {
</del><ins>+ if (!targetView)
</ins><span class="cx"> targetView = m_testController->mainWebView()->platformView();
</span><del>- for (NSView *wkWebViewChild in targetView.subviews) {
- if ([wkWebViewChild isKindOfClass:[WKView class]]) {
- targetView = wkWebViewChild;
- break;
- }
- }
- }
</del><ins>+
</ins><span class="cx"> ASSERT(targetView);
</span><span class="cx"> [NSApp _setCurrentEvent:event];
</span><span class="cx"> [targetView mouseUp:event];
</span><span class="lines">@@ -622,7 +614,7 @@
</span><span class="cx"> void EventSenderProxy::mouseMoveTo(double x, double y)
</span><span class="cx"> {
</span><span class="cx"> NSView *view = m_testController->mainWebView()->platformView();
</span><del>- NSPoint position = [view convertPoint:NSMakePoint(x, view.frame.size.height - y) toView:nil];
</del><ins>+ NSPoint position = [view convertPoint:NSMakePoint(x, y) toView:nil];
</ins><span class="cx"> m_position.x = position.x;
</span><span class="cx"> m_position.y = position.y;
</span><span class="cx"> NSEvent *event = [NSEvent mouseEventWithType:(m_leftMouseButtonDown ? NSLeftMouseDragged : NSMouseMoved)
</span></span></pre>
</div>
</div>
</body>
</html>