<!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>[182442] trunk/Source/WebKit2</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/182442">182442</a></dd>
<dt>Author</dt> <dd>beidson@apple.com</dd>
<dt>Date</dt> <dd>2015-04-06 15:33:57 -0700 (Mon, 06 Apr 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Combine ActionMenuHitTestResult with WebHitTestResult
https://bugs.webkit.org/show_bug.cgi?id=143444
Reviewed by Beth Dakin.
* Shared/mac/ActionMenuHitTestResult.h: Removed.
* Shared/mac/ActionMenuHitTestResult.mm: Removed.
* Shared/WebHitTestResult.cpp:
(WebKit::WebHitTestResult::Data::Data):
(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):
(WebKit::WebHitTestResult::Data::platformEncode):
(WebKit::WebHitTestResult::Data::platformDecode):
* Shared/WebHitTestResult.h:
* Shared/mac/WebHitTestResult.mm: Added.
(WebKit::WebHitTestResult::Data::platformEncode):
(WebKit::WebHitTestResult::Data::platformDecode):
* UIProcess/API/mac/WKView.mm:
(-[WKView _didPerformActionMenuHitTest:forImmediateAction:contentPreventsDefault:userData:]):
(-[WKView _didPerformActionMenuHitTest:forImmediateAction:userData:]): Deleted.
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didPerformActionMenuHitTest):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didPerformActionMenuHitTest):
* UIProcess/mac/WKActionMenuController.h:
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController willDestroyView:]):
(-[WKActionMenuController _clearActionMenuState]):
(-[WKActionMenuController didPerformActionMenuHitTest:userData:]):
(-[WKActionMenuController _hitTestResultDataImage]):
(-[WKActionMenuController _defaultMenuItemsForImage]):
(-[WKActionMenuController _copyImage:]):
(-[WKActionMenuController _addImageToPhotos:]):
(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
(-[WKActionMenuController _defaultMenuItemsForEditableTextWithSuggestions]):
(-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]):
(-[WKActionMenuController _webHitTestResult]):
(-[WKActionMenuController _defaultMenuItems]):
(-[WKActionMenuController _hitTestResultImage]): Deleted.
* UIProcess/mac/WKImmediateActionController.h:
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController willDestroyView:]):
(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController didPerformActionMenuHitTest:contentPreventsDefault:userData:]):
(-[WKImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
(-[WKImmediateActionController _webHitTestResult]):
(-[WKImmediateActionController _defaultAnimationController]):
(-[WKImmediateActionController _updateImmediateActionItem]):
(-[WKImmediateActionController _menuItemForDataDetectedText]):
(-[WKImmediateActionController _animationControllerForText]):
(-[WKImmediateActionController didPerformActionMenuHitTest:userData:]): Deleted.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performActionMenuHitTestAtLocation):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedWebHitTestResultcpp">trunk/Source/WebKit2/Shared/WebHitTestResult.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedWebHitTestResulth">trunk/Source/WebKit2/Shared/WebHitTestResult.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="#trunkSourceWebKit2UIProcessPageClienth">trunk/Source/WebKit2/UIProcess/PageClient.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxycpp">trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxyh">trunk/Source/WebKit2/UIProcess/WebPageProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxymessagesin">trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacPageClientImplh">trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacPageClientImplmm">trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacWKActionMenuControllerh">trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacWKActionMenuControllermm">trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacWKImmediateActionControllerh">trunk/Source/WebKit2/UIProcess/mac/WKImmediateActionController.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacWKImmediateActionControllermm">trunk/Source/WebKit2/UIProcess/mac/WKImmediateActionController.mm</a></li>
<li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPagemacWebPageMacmm">trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2SharedmacWebHitTestResultmm">trunk/Source/WebKit2/Shared/mac/WebHitTestResult.mm</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2SharedmacActionMenuHitTestResulth">trunk/Source/WebKit2/Shared/mac/ActionMenuHitTestResult.h</a></li>
<li><a href="#trunkSourceWebKit2SharedmacActionMenuHitTestResultmm">trunk/Source/WebKit2/Shared/mac/ActionMenuHitTestResult.mm</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/ChangeLog        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -1,3 +1,67 @@
</span><ins>+2015-04-06 Brady Eidson <beidson@apple.com>
+
+ Combine ActionMenuHitTestResult with WebHitTestResult
+ https://bugs.webkit.org/show_bug.cgi?id=143444
+
+ Reviewed by Beth Dakin.
+
+ * Shared/mac/ActionMenuHitTestResult.h: Removed.
+ * Shared/mac/ActionMenuHitTestResult.mm: Removed.
+
+ * Shared/WebHitTestResult.cpp:
+ (WebKit::WebHitTestResult::Data::Data):
+ (WebKit::WebHitTestResult::Data::encode):
+ (WebKit::WebHitTestResult::Data::decode):
+ (WebKit::WebHitTestResult::Data::platformEncode):
+ (WebKit::WebHitTestResult::Data::platformDecode):
+ * Shared/WebHitTestResult.h:
+ * Shared/mac/WebHitTestResult.mm: Added.
+ (WebKit::WebHitTestResult::Data::platformEncode):
+ (WebKit::WebHitTestResult::Data::platformDecode):
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _didPerformActionMenuHitTest:forImmediateAction:contentPreventsDefault:userData:]):
+ (-[WKView _didPerformActionMenuHitTest:forImmediateAction:userData:]): Deleted.
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didPerformActionMenuHitTest):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/mac/PageClientImpl.h:
+ * UIProcess/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didPerformActionMenuHitTest):
+ * UIProcess/mac/WKActionMenuController.h:
+ * UIProcess/mac/WKActionMenuController.mm:
+ (-[WKActionMenuController willDestroyView:]):
+ (-[WKActionMenuController _clearActionMenuState]):
+ (-[WKActionMenuController didPerformActionMenuHitTest:userData:]):
+ (-[WKActionMenuController _hitTestResultDataImage]):
+ (-[WKActionMenuController _defaultMenuItemsForImage]):
+ (-[WKActionMenuController _copyImage:]):
+ (-[WKActionMenuController _addImageToPhotos:]):
+ (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
+ (-[WKActionMenuController _defaultMenuItemsForEditableTextWithSuggestions]):
+ (-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]):
+ (-[WKActionMenuController _webHitTestResult]):
+ (-[WKActionMenuController _defaultMenuItems]):
+ (-[WKActionMenuController _hitTestResultImage]): Deleted.
+ * UIProcess/mac/WKImmediateActionController.h:
+ * UIProcess/mac/WKImmediateActionController.mm:
+ (-[WKImmediateActionController willDestroyView:]):
+ (-[WKImmediateActionController _clearImmediateActionState]):
+ (-[WKImmediateActionController didPerformActionMenuHitTest:contentPreventsDefault:userData:]):
+ (-[WKImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
+ (-[WKImmediateActionController _webHitTestResult]):
+ (-[WKImmediateActionController _defaultAnimationController]):
+ (-[WKImmediateActionController _updateImmediateActionItem]):
+ (-[WKImmediateActionController _menuItemForDataDetectedText]):
+ (-[WKImmediateActionController _animationControllerForText]):
+ (-[WKImmediateActionController didPerformActionMenuHitTest:userData:]): Deleted.
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::performActionMenuHitTestAtLocation):
+
</ins><span class="cx"> 2015-04-06 Jer Noble <jer.noble@apple.com>
</span><span class="cx">
</span><span class="cx"> Synchronize fullscreen animation between processes.
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebHitTestResultcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebHitTestResult.cpp (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebHitTestResult.cpp        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/Shared/WebHitTestResult.cpp        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -58,6 +58,7 @@
</span><span class="cx"> , isOverTextInsideFormControlElement(hitTestResult.isOverTextInsideFormControlElement())
</span><span class="cx"> , allowsCopy(hitTestResult.allowsCopy())
</span><span class="cx"> , isDownloadableMedia(hitTestResult.isDownloadableMedia())
</span><ins>+ , imageSize(0)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -81,6 +82,23 @@
</span><span class="cx"> encoder << isOverTextInsideFormControlElement;
</span><span class="cx"> encoder << allowsCopy;
</span><span class="cx"> encoder << isDownloadableMedia;
</span><ins>+ encoder << hitTestLocationInViewCooordinates;
+ encoder << lookupText;
+ encoder << dictionaryPopupInfo;
+
+ SharedMemory::Handle imageHandle;
+ if (imageSharedMemory && imageSharedMemory->data())
+ imageSharedMemory->createHandle(imageHandle, SharedMemory::ReadOnly);
+ encoder << imageHandle;
+ encoder << imageSize;
+ encoder << imageExtension;
+
+ bool hasLinkTextIndicator = linkTextIndicator;
+ encoder << hasLinkTextIndicator;
+ if (hasLinkTextIndicator)
+ encoder << linkTextIndicator->data();
+
+ platformEncode(encoder);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool WebHitTestResult::Data::decode(IPC::ArgumentDecoder& decoder, WebHitTestResult::Data& hitTestResultData)
</span><span class="lines">@@ -98,11 +116,50 @@
</span><span class="cx"> || !decoder.decode(hitTestResultData.isTextNode)
</span><span class="cx"> || !decoder.decode(hitTestResultData.isOverTextInsideFormControlElement)
</span><span class="cx"> || !decoder.decode(hitTestResultData.allowsCopy)
</span><del>- || !decoder.decode(hitTestResultData.isDownloadableMedia))
</del><ins>+ || !decoder.decode(hitTestResultData.isDownloadableMedia)
+ || !decoder.decode(hitTestResultData.hitTestLocationInViewCooordinates)
+ || !decoder.decode(hitTestResultData.lookupText)
+ || !decoder.decode(hitTestResultData.dictionaryPopupInfo))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><ins>+ SharedMemory::Handle imageHandle;
+ if (!decoder.decode(imageHandle))
+ return false;
+
+ if (!imageHandle.isNull())
+ hitTestResultData.imageSharedMemory = SharedMemory::create(imageHandle, SharedMemory::ReadOnly);
+
+ if (!decoder.decode(hitTestResultData.imageSize))
+ return false;
+
+ if (!decoder.decode(hitTestResultData.imageExtension))
+ return false;
+
+ bool hasLinkTextIndicator;
+ if (!decoder.decode(hasLinkTextIndicator))
+ return false;
+
+ if (hasLinkTextIndicator) {
+ WebCore::TextIndicatorData indicatorData;
+ if (!decoder.decode(indicatorData))
+ return false;
+
+ hitTestResultData.linkTextIndicator = WebCore::TextIndicator::create(indicatorData);
+ }
+
+ return platformDecode(decoder, hitTestResultData);
+}
+
+#if !PLATFORM(MAC)
+void WebHitTestResult::Data::platformEncode(IPC::ArgumentEncoder& encoder) const
+{
+}
+
+bool WebHitTestResult::Data::platformDecode(IPC::ArgumentDecoder& decoder, WebHitTestResult::Data& hitTestResultData)
+{
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><ins>+#endif // !PLATFORM(MAC)
</ins><span class="cx">
</span><span class="cx"> IntRect WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates(const HitTestResult& hitTestResult)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebHitTestResulth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebHitTestResult.h (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebHitTestResult.h        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/Shared/WebHitTestResult.h        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -21,12 +21,18 @@
</span><span class="cx"> #define WebHitTestResult_h
</span><span class="cx">
</span><span class="cx"> #include "APIObject.h"
</span><ins>+#include "DictionaryPopupInfo.h"
+#include "SharedMemory.h"
+#include <WebCore/FloatPoint.h>
</ins><span class="cx"> #include <WebCore/IntRect.h>
</span><ins>+#include <WebCore/PageOverlay.h>
</ins><span class="cx"> #include <wtf/Forward.h>
</span><span class="cx"> #include <wtf/PassRefPtr.h>
</span><span class="cx"> #include <wtf/RefPtr.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="cx">
</span><ins>+OBJC_CLASS DDActionContext;
+
</ins><span class="cx"> namespace IPC {
</span><span class="cx"> class ArgumentDecoder;
</span><span class="cx"> class ArgumentEncoder;
</span><span class="lines">@@ -58,12 +64,32 @@
</span><span class="cx"> bool allowsCopy;
</span><span class="cx"> bool isDownloadableMedia;
</span><span class="cx">
</span><ins>+ // FIXME: Added from ActionHitTestResult. All make sense?
+ WebCore::FloatPoint hitTestLocationInViewCooordinates;
+ String lookupText;
+ RefPtr<SharedMemory> imageSharedMemory;
+ uint64_t imageSize;
+ String imageExtension;
+
+#if PLATFORM(MAC)
+ RetainPtr<DDActionContext> detectedDataActionContext;
+#endif
+ WebCore::FloatRect detectedDataBoundingBox;
+ RefPtr<WebCore::TextIndicator> detectedDataTextIndicator;
+ WebCore::PageOverlay::PageOverlayID detectedDataOriginatingPageOverlay;
+
+ DictionaryPopupInfo dictionaryPopupInfo;
+
+ RefPtr<WebCore::TextIndicator> linkTextIndicator;
+
</ins><span class="cx"> Data();
</span><span class="cx"> explicit Data(const WebCore::HitTestResult&);
</span><span class="cx"> ~Data();
</span><span class="cx">
</span><span class="cx"> void encode(IPC::ArgumentEncoder&) const;
</span><ins>+ void platformEncode(IPC::ArgumentEncoder&) const;
</ins><span class="cx"> static bool decode(IPC::ArgumentDecoder&, WebHitTestResult::Data&);
</span><ins>+ static bool platformDecode(IPC::ArgumentDecoder&, WebHitTestResult::Data&);
</ins><span class="cx">
</span><span class="cx"> WebCore::IntRect elementBoundingBoxInWindowCoordinates(const WebCore::HitTestResult&);
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedmacActionMenuHitTestResulth"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/Shared/mac/ActionMenuHitTestResult.h (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/mac/ActionMenuHitTestResult.h        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/Shared/mac/ActionMenuHitTestResult.h        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -1,74 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ActionMenuHitTestResult_h
-#define ActionMenuHitTestResult_h
-
-#include "DataReference.h"
-#include "DictionaryPopupInfo.h"
-#include "ShareableBitmap.h"
-#include "SharedMemory.h"
-#include "WebHitTestResult.h"
-#include <WebCore/FloatRect.h>
-#include <WebCore/PageOverlay.h>
-#include <WebCore/TextIndicator.h>
-#include <wtf/text/WTFString.h>
-
-OBJC_CLASS DDActionContext;
-
-namespace IPC {
-class ArgumentDecoder;
-class ArgumentEncoder;
-}
-
-namespace WebKit {
-
-struct ActionMenuHitTestResult {
- void encode(IPC::ArgumentEncoder&) const;
- static bool decode(IPC::ArgumentDecoder&, ActionMenuHitTestResult&);
-
- WebCore::FloatPoint hitTestLocationInViewCooordinates;
- WebHitTestResult::Data hitTestResult;
-
- String lookupText;
- RefPtr<SharedMemory> imageSharedMemory;
- uint64_t imageSize;
- String imageExtension;
-
- RetainPtr<DDActionContext> actionContext;
- WebCore::FloatRect detectedDataBoundingBox;
- RefPtr<WebCore::TextIndicator> detectedDataTextIndicator;
- WebCore::PageOverlay::PageOverlayID detectedDataOriginatingPageOverlay;
-
- DictionaryPopupInfo dictionaryPopupInfo;
-
- RefPtr<WebCore::TextIndicator> linkTextIndicator;
-
- bool contentPreventsDefault;
-};
-
-} // namespace WebKit
-
-#endif // ActionMenuHitTestResult_h
</del></span></pre></div>
<a id="trunkSourceWebKit2SharedmacActionMenuHitTestResultmm"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/Shared/mac/ActionMenuHitTestResult.mm (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/mac/ActionMenuHitTestResult.mm        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/Shared/mac/ActionMenuHitTestResult.mm        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -1,169 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "ActionMenuHitTestResult.h"
-
-#if PLATFORM(MAC)
-
-#import "ArgumentCodersCF.h"
-#import "ArgumentDecoder.h"
-#import "ArgumentEncoder.h"
-#import "WebCoreArgumentCoders.h"
-#import <WebCore/DataDetectorsSPI.h>
-#import <WebCore/TextIndicator.h>
-
-namespace WebKit {
-
-void ActionMenuHitTestResult::encode(IPC::ArgumentEncoder& encoder) const
-{
- encoder << hitTestLocationInViewCooordinates;
- encoder << hitTestResult;
- encoder << lookupText;
- encoder << imageExtension;
-
- SharedMemory::Handle imageHandle;
- if (imageSharedMemory && imageSharedMemory->data())
- imageSharedMemory->createHandle(imageHandle, SharedMemory::ReadOnly);
- encoder << imageHandle;
- encoder << imageSize;
-
- bool hasActionContext = actionContext;
- encoder << hasActionContext;
- if (hasActionContext) {
- RetainPtr<NSMutableData> data = adoptNS([[NSMutableData alloc] init]);
- RetainPtr<NSKeyedArchiver> archiver = adoptNS([[NSKeyedArchiver alloc] initForWritingWithMutableData:data.get()]);
- [archiver setRequiresSecureCoding:YES];
- [archiver encodeObject:actionContext.get() forKey:@"actionContext"];
- [archiver finishEncoding];
-
- IPC::encode(encoder, reinterpret_cast<CFDataRef>(data.get()));
-
- encoder << detectedDataBoundingBox;
- encoder << detectedDataOriginatingPageOverlay;
-
- bool hasDetectedDataTextIndicator = detectedDataTextIndicator;
- encoder << hasDetectedDataTextIndicator;
- if (hasDetectedDataTextIndicator)
- encoder << detectedDataTextIndicator->data();
- }
-
- encoder << dictionaryPopupInfo;
-
- bool hasLinkTextIndicator = linkTextIndicator;
- encoder << hasLinkTextIndicator;
- if (hasLinkTextIndicator)
- encoder << linkTextIndicator->data();
-
- encoder << contentPreventsDefault;
-}
-
-bool ActionMenuHitTestResult::decode(IPC::ArgumentDecoder& decoder, ActionMenuHitTestResult& actionMenuHitTestResult)
-{
- if (!decoder.decode(actionMenuHitTestResult.hitTestLocationInViewCooordinates))
- return false;
-
- if (!decoder.decode(actionMenuHitTestResult.hitTestResult))
- return false;
-
- if (!decoder.decode(actionMenuHitTestResult.lookupText))
- return false;
-
- if (!decoder.decode(actionMenuHitTestResult.imageExtension))
- return false;
-
- SharedMemory::Handle imageHandle;
- if (!decoder.decode(imageHandle))
- return false;
-
- if (!imageHandle.isNull())
- actionMenuHitTestResult.imageSharedMemory = SharedMemory::create(imageHandle, SharedMemory::ReadOnly);
-
- if (!decoder.decode(actionMenuHitTestResult.imageSize))
- return false;
-
- bool hasActionContext;
- if (!decoder.decode(hasActionContext))
- return false;
-
- if (hasActionContext) {
- RetainPtr<CFDataRef> data;
- if (!IPC::decode(decoder, data))
- return false;
-
- RetainPtr<NSKeyedUnarchiver> unarchiver = adoptNS([[NSKeyedUnarchiver alloc] initForReadingWithData:(NSData *)data.get()]);
- [unarchiver setRequiresSecureCoding:YES];
- @try {
- actionMenuHitTestResult.actionContext = [unarchiver decodeObjectOfClass:getDDActionContextClass() forKey:@"actionContext"];
- } @catch (NSException *exception) {
- LOG_ERROR("Failed to decode DDActionContext: %@", exception);
- return false;
- }
-
- [unarchiver finishDecoding];
-
- if (!decoder.decode(actionMenuHitTestResult.detectedDataBoundingBox))
- return false;
-
- if (!decoder.decode(actionMenuHitTestResult.detectedDataOriginatingPageOverlay))
- return false;
-
- bool hasDetectedDataTextIndicator;
- if (!decoder.decode(hasDetectedDataTextIndicator))
- return false;
-
- if (hasDetectedDataTextIndicator) {
- WebCore::TextIndicatorData indicatorData;
- if (!decoder.decode(indicatorData))
- return false;
-
- actionMenuHitTestResult.detectedDataTextIndicator = WebCore::TextIndicator::create(indicatorData);
- }
- }
-
- if (!decoder.decode(actionMenuHitTestResult.dictionaryPopupInfo))
- return false;
-
- bool hasLinkTextIndicator;
- if (!decoder.decode(hasLinkTextIndicator))
- return false;
-
- if (hasLinkTextIndicator) {
- WebCore::TextIndicatorData indicatorData;
- if (!decoder.decode(indicatorData))
- return false;
-
- actionMenuHitTestResult.linkTextIndicator = WebCore::TextIndicator::create(indicatorData);
- }
-
- if (!decoder.decode(actionMenuHitTestResult.contentPreventsDefault))
- return false;
-
- return true;
-}
-
-} // namespace WebKit
-
-#endif // PLATFORM(MAC)
</del></span></pre></div>
<a id="trunkSourceWebKit2SharedmacWebHitTestResultmm"></a>
<div class="addfile"><h4>Added: trunk/Source/WebKit2/Shared/mac/WebHitTestResult.mm (0 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/mac/WebHitTestResult.mm         (rev 0)
+++ trunk/Source/WebKit2/Shared/mac/WebHitTestResult.mm        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -0,0 +1,111 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "WebHitTestResult.h"
+
+#if PLATFORM(MAC)
+
+#import "ArgumentCodersCF.h"
+#import "ArgumentDecoder.h"
+#import "ArgumentEncoder.h"
+#import "WebCoreArgumentCoders.h"
+#import <WebCore/DataDetectorsSPI.h>
+#import <WebCore/TextIndicator.h>
+
+namespace WebKit {
+
+void WebHitTestResult::Data::platformEncode(IPC::ArgumentEncoder& encoder) const
+{
+ bool hasActionContext = detectedDataActionContext;
+ encoder << hasActionContext;
+ if (!hasActionContext)
+ return;
+
+ RetainPtr<NSMutableData> data = adoptNS([[NSMutableData alloc] init]);
+ RetainPtr<NSKeyedArchiver> archiver = adoptNS([[NSKeyedArchiver alloc] initForWritingWithMutableData:data.get()]);
+ [archiver setRequiresSecureCoding:YES];
+ [archiver encodeObject:detectedDataActionContext.get() forKey:@"actionContext"];
+ [archiver finishEncoding];
+
+ IPC::encode(encoder, reinterpret_cast<CFDataRef>(data.get()));
+
+ encoder << detectedDataBoundingBox;
+ encoder << detectedDataOriginatingPageOverlay;
+
+ bool hasDetectedDataTextIndicator = detectedDataTextIndicator;
+ encoder << hasDetectedDataTextIndicator;
+ if (hasDetectedDataTextIndicator)
+ encoder << detectedDataTextIndicator->data();
+}
+
+bool WebHitTestResult::Data::platformDecode(IPC::ArgumentDecoder& decoder, WebHitTestResult::Data& hitTestResultData)
+{
+ bool hasActionContext;
+ if (!decoder.decode(hasActionContext))
+ return false;
+
+ if (!hasActionContext)
+ return true;
+
+ RetainPtr<CFDataRef> data;
+ if (!IPC::decode(decoder, data))
+ return false;
+
+ RetainPtr<NSKeyedUnarchiver> unarchiver = adoptNS([[NSKeyedUnarchiver alloc] initForReadingWithData:(NSData *)data.get()]);
+ [unarchiver setRequiresSecureCoding:YES];
+ @try {
+ hitTestResultData.detectedDataActionContext = [unarchiver decodeObjectOfClass:getDDActionContextClass() forKey:@"actionContext"];
+ } @catch (NSException *exception) {
+ LOG_ERROR("Failed to decode DDActionContext: %@", exception);
+ return false;
+ }
+
+ [unarchiver finishDecoding];
+
+ if (!decoder.decode(hitTestResultData.detectedDataBoundingBox))
+ return false;
+
+ if (!decoder.decode(hitTestResultData.detectedDataOriginatingPageOverlay))
+ return false;
+
+ bool hasDetectedDataTextIndicator;
+ if (!decoder.decode(hasDetectedDataTextIndicator))
+ return false;
+
+ if (hasDetectedDataTextIndicator) {
+ WebCore::TextIndicatorData indicatorData;
+ if (!decoder.decode(indicatorData))
+ return false;
+
+ hitTestResultData.detectedDataTextIndicator = WebCore::TextIndicator::create(indicatorData);
+ }
+
+ return true;
+}
+
+} // namespace WebKit
+
+#endif // PLATFORM(MAC)
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -35,7 +35,6 @@
</span><span class="cx">
</span><span class="cx"> #import "APILegacyContextHistoryClient.h"
</span><span class="cx"> #import "APIPageConfiguration.h"
</span><del>-#import "ActionMenuHitTestResult.h"
</del><span class="cx"> #import "AttributedString.h"
</span><span class="cx"> #import "ColorSpaceData.h"
</span><span class="cx"> #import "DataReference.h"
</span><span class="lines">@@ -68,6 +67,7 @@
</span><span class="cx"> #import "WKViewPrivate.h"
</span><span class="cx"> #import "WebBackForwardList.h"
</span><span class="cx"> #import "WebEventFactory.h"
</span><ins>+#import "WebHitTestResult.h"
</ins><span class="cx"> #import "WebInspectorProxy.h"
</span><span class="cx"> #import "WebKit2Initialize.h"
</span><span class="cx"> #import "WebPage.h"
</span><span class="lines">@@ -3931,10 +3931,10 @@
</span><span class="cx"> [_data->_actionMenuController didCloseMenu:menu withEvent:event];
</span><span class="cx"> }
</span><span class="cx">
</span><del>-- (void)_didPerformActionMenuHitTest:(const ActionMenuHitTestResult&)hitTestResult forImmediateAction:(BOOL)forImmediateAction userData:(API::Object*)userData
</del><ins>+- (void)_didPerformActionMenuHitTest:(const WebHitTestResult::Data&)hitTestResult forImmediateAction:(BOOL)forImmediateAction contentPreventsDefault:(BOOL)contentPreventsDefault userData:(API::Object*)userData
</ins><span class="cx"> {
</span><span class="cx"> if (forImmediateAction)
</span><del>- [_data->_immediateActionController didPerformActionMenuHitTest:hitTestResult userData:userData];
</del><ins>+ [_data->_immediateActionController didPerformActionMenuHitTest:hitTestResult contentPreventsDefault:contentPreventsDefault userData:userData];
</ins><span class="cx"> else
</span><span class="cx"> [_data->_actionMenuController didPerformActionMenuHitTest:hitTestResult userData:userData];
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKViewInternalh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #import "PluginComplexTextInputState.h"
</span><span class="cx"> #import "SameDocumentNavigationType.h"
</span><span class="cx"> #import "WebFindOptions.h"
</span><ins>+#import "WebHitTestResult.h"
</ins><span class="cx"> #import <wtf/Forward.h>
</span><span class="cx"> #import <wtf/RetainPtr.h>
</span><span class="cx"> #import <wtf/Vector.h>
</span><span class="lines">@@ -55,7 +56,6 @@
</span><span class="cx"> class LayerTreeContext;
</span><span class="cx"> class ViewSnapshot;
</span><span class="cx"> class WebProcessPool;
</span><del>-struct ActionMenuHitTestResult;
</del><span class="cx"> struct ColorSpaceData;
</span><span class="cx"> struct EditorState;
</span><span class="cx"> struct WebPageConfiguration;
</span><span class="lines">@@ -140,7 +140,7 @@
</span><span class="cx"> - (void)_closeFullScreenWindowController;
</span><span class="cx">
</span><span class="cx"> #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
</span><del>-- (void)_didPerformActionMenuHitTest:(const WebKit::ActionMenuHitTestResult&)hitTestResult forImmediateAction:(BOOL)forImmediateAction userData:(API::Object*)userData;
</del><ins>+- (void)_didPerformActionMenuHitTest:(const WebKit::WebHitTestResult::Data&)hitTestResult forImmediateAction:(BOOL)forImmediateAction contentPreventsDefault:(BOOL)contentPreventsDefault userData:(API::Object*)userData;
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> @property (nonatomic, retain, setter=_setPrimaryTrackingArea:) NSTrackingArea *_primaryTrackingArea;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessPageClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/PageClient.h (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/PageClient.h        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/UIProcess/PageClient.h        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -65,7 +65,6 @@
</span><span class="cx"> class WebContextMenuProxy;
</span><span class="cx"> class WebEditCommandProxy;
</span><span class="cx"> class WebPopupMenuProxy;
</span><del>-struct ActionMenuHitTestResult;
</del><span class="cx">
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><span class="cx"> class NativeWebTouchEvent;
</span><span class="lines">@@ -322,7 +321,7 @@
</span><span class="cx"> virtual void didChangeBackgroundColor() = 0;
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(MAC)
</span><del>- virtual void didPerformActionMenuHitTest(const ActionMenuHitTestResult&, bool forImmediateAction, API::Object*) = 0;
</del><ins>+ virtual void didPerformActionMenuHitTest(const WebHitTestResult::Data&, bool forImmediateAction, bool contentPreventsDefault, API::Object*) = 0;
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -5645,9 +5645,9 @@
</span><span class="cx"> m_process->send(Messages::WebPage::ImmediateActionDidComplete(), m_pageID);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebPageProxy::didPerformActionMenuHitTest(const ActionMenuHitTestResult& result, bool forImmediateAction, const UserData& userData)
</del><ins>+void WebPageProxy::didPerformActionMenuHitTest(const WebHitTestResult::Data& result, bool forImmediateAction, bool contentPreventsDefault, const UserData& userData)
</ins><span class="cx"> {
</span><del>- m_pageClient.didPerformActionMenuHitTest(result, forImmediateAction, m_process->transformHandlesToObjects(userData.object()).get());
</del><ins>+ m_pageClient.didPerformActionMenuHitTest(result, forImmediateAction, contentPreventsDefault, m_process->transformHandlesToObjects(userData.object()).get());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebPageProxy::installViewStateChangeCompletionHandler(void (^completionHandler)())
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -190,7 +190,6 @@
</span><span class="cx"> class WebUserContentControllerProxy;
</span><span class="cx"> class WebWheelEvent;
</span><span class="cx"> class WebsiteDataStore;
</span><del>-struct ActionMenuHitTestResult;
</del><span class="cx"> struct AttributedString;
</span><span class="cx"> struct ColorSpaceData;
</span><span class="cx"> struct DictionaryPopupInfo;
</span><span class="lines">@@ -1413,7 +1412,7 @@
</span><span class="cx"> void viewDidEnterWindow();
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(MAC)
</span><del>- void didPerformActionMenuHitTest(const ActionMenuHitTestResult&, bool forImmediateAction, const UserData&);
</del><ins>+ void didPerformActionMenuHitTest(const WebHitTestResult::Data&, bool forImmediateAction, bool contentPreventsDefault, const UserData&);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> void handleAutoFillButtonClick(const UserData&);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxymessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -424,7 +424,7 @@
</span><span class="cx"> IsPlayingAudioDidChange(bool newIsPlayingAudio)
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(MAC)
</span><del>- DidPerformActionMenuHitTest(struct WebKit::ActionMenuHitTestResult result, bool forImmediateAction, WebKit::UserData userData)
</del><ins>+ DidPerformActionMenuHitTest(struct WebKit::WebHitTestResult::Data result, bool forImmediateAction, bool contentPreventsDefault, WebKit::UserData userData)
</ins><span class="cx"> #endif
</span><span class="cx"> HandleMessage(String messageName, WebKit::UserData messageBody) WantsConnection
</span><span class="cx"> HandleSynchronousMessage(String messageName, WebKit::UserData messageBody) -> (WebKit::UserData returnData) WantsConnection
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacPageClientImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.h (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.h        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.h        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -195,7 +195,7 @@
</span><span class="cx"> virtual void didSameDocumentNavigationForMainFrame(SameDocumentNavigationType) override;
</span><span class="cx"> virtual void removeNavigationGestureSnapshot() override;
</span><span class="cx">
</span><del>- virtual void didPerformActionMenuHitTest(const ActionMenuHitTestResult&, bool forImmediateAction, API::Object*) override;
</del><ins>+ virtual void didPerformActionMenuHitTest(const WebHitTestResult::Data&, bool forImmediateAction, bool contentPreventsDefault, API::Object*) override;
</ins><span class="cx"> virtual void showPlatformContextMenu(NSMenu *, WebCore::IntPoint) override;
</span><span class="cx">
</span><span class="cx"> virtual void didChangeBackgroundColor() override;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacPageClientImplmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -792,10 +792,10 @@
</span><span class="cx"> return [windowContentLayer convertRect:layer.bounds fromLayer:layer];
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void PageClientImpl::didPerformActionMenuHitTest(const ActionMenuHitTestResult& result, bool forImmediateAction, API::Object* userData)
</del><ins>+void PageClientImpl::didPerformActionMenuHitTest(const WebHitTestResult::Data& result, bool forImmediateAction, bool contentPreventsDefault, API::Object* userData)
</ins><span class="cx"> {
</span><span class="cx"> #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
</span><del>- [m_wkView _didPerformActionMenuHitTest:result forImmediateAction:forImmediateAction userData:userData];
</del><ins>+ [m_wkView _didPerformActionMenuHitTest:result forImmediateAction:forImmediateAction contentPreventsDefault:contentPreventsDefault userData:userData];
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacWKActionMenuControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.h (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.h        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.h        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -28,9 +28,9 @@
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
</span><span class="cx">
</span><del>-#import "ActionMenuHitTestResult.h"
</del><span class="cx"> #import "WKActionMenuItemTypes.h"
</span><span class="cx"> #import "WKActionMenuTypes.h"
</span><ins>+#import "WebHitTestResult.h"
</ins><span class="cx"> #import <AppKit/NSSharingService.h>
</span><span class="cx"> #import <wtf/RetainPtr.h>
</span><span class="cx">
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> WKView *_wkView;
</span><span class="cx">
</span><span class="cx"> WebKit::ActionMenuState _state;
</span><del>- WebKit::ActionMenuHitTestResult _hitTestResult;
</del><ins>+ WebKit::WebHitTestResult::Data _hitTestResultData;
</ins><span class="cx"> RefPtr<API::Object> _userData;
</span><span class="cx"> _WKActionMenuType _type;
</span><span class="cx"> RetainPtr<NSSharingServicePicker> _sharingServicePicker;
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx"> - (void)didCloseMenu:(NSMenu *)menu withEvent:(NSEvent *)event;
</span><span class="cx"> - (void)wkView:(WKView *)wkView willHandleMouseDown:(NSEvent *)event;
</span><span class="cx">
</span><del>-- (void)didPerformActionMenuHitTest:(const WebKit::ActionMenuHitTestResult&)hitTestResult userData:(API::Object*)userData;
</del><ins>+- (void)didPerformActionMenuHitTest:(const WebKit::WebHitTestResult::Data&)hitTestResult userData:(API::Object*)userData;
</ins><span class="cx">
</span><span class="cx"> @end
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacWKActionMenuControllermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.mm (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.mm        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.mm        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx"> {
</span><span class="cx"> _page = nullptr;
</span><span class="cx"> _wkView = nil;
</span><del>- _hitTestResult = ActionMenuHitTestResult();
</del><ins>+ _hitTestResultData = WebHitTestResult::Data();
</ins><span class="cx"> _currentActionContext = nil;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -161,18 +161,18 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> _state = ActionMenuState::None;
</span><del>- _hitTestResult = ActionMenuHitTestResult();
</del><ins>+ _hitTestResultData = WebHitTestResult::Data();
</ins><span class="cx"> _type = kWKActionMenuNone;
</span><span class="cx"> _sharingServicePicker = nil;
</span><span class="cx"> _currentActionContext = nil;
</span><span class="cx"> _userData = nil;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-- (void)didPerformActionMenuHitTest:(const ActionMenuHitTestResult&)hitTestResult userData:(API::Object*)userData
</del><ins>+- (void)didPerformActionMenuHitTest:(const WebHitTestResult::Data&)hitTestResult userData:(API::Object*)userData
</ins><span class="cx"> {
</span><span class="cx"> // FIXME: This needs to use the WebKit2 callback mechanism to avoid out-of-order replies.
</span><span class="cx"> _state = ActionMenuState::Ready;
</span><del>- _hitTestResult = hitTestResult;
</del><ins>+ _hitTestResultData = hitTestResult;
</ins><span class="cx"> _userData = userData;
</span><span class="cx">
</span><span class="cx"> [self _updateActionMenuItems];
</span><span class="lines">@@ -239,13 +239,13 @@
</span><span class="cx">
</span><span class="cx"> #pragma mark Image actions
</span><span class="cx">
</span><del>-- (NSImage *)_hitTestResultImage
</del><ins>+- (NSImage *)_hitTestResultDataImage
</ins><span class="cx"> {
</span><del>- RefPtr<SharedMemory> imageSharedMemory = _hitTestResult.imageSharedMemory;
</del><ins>+ RefPtr<SharedMemory> imageSharedMemory = _hitTestResultData.imageSharedMemory;
</ins><span class="cx"> if (!imageSharedMemory)
</span><span class="cx"> return nil;
</span><span class="cx">
</span><del>- RetainPtr<NSImage> nsImage = adoptNS([[NSImage alloc] initWithData:[NSData dataWithBytes:imageSharedMemory->data() length:_hitTestResult.imageSize]]);
</del><ins>+ RetainPtr<NSImage> nsImage = adoptNS([[NSImage alloc] initWithData:[NSData dataWithBytes:imageSharedMemory->data() length:_hitTestResultData.imageSize]]);
</ins><span class="cx"> return nsImage.autorelease();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -258,14 +258,14 @@
</span><span class="cx"> else
</span><span class="cx"> addToPhotosItem = [NSMenuItem separatorItem];
</span><span class="cx"> RetainPtr<NSMenuItem> saveToDownloadsItem = [self _createActionMenuItemForTag:kWKContextActionItemTagSaveImageToDownloads];
</span><del>- RetainPtr<NSMenuItem> shareItem = [self _createShareActionMenuItemForTag:kWKContextActionItemTagShareImage withItems:@[ [self _hitTestResultImage] ]];
</del><ins>+ RetainPtr<NSMenuItem> shareItem = [self _createShareActionMenuItemForTag:kWKContextActionItemTagShareImage withItems:@[ [self _hitTestResultDataImage] ]];
</ins><span class="cx">
</span><span class="cx"> return @[ copyImageItem.get(), addToPhotosItem.get(), saveToDownloadsItem.get(), shareItem.get() ];
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (void)_copyImage:(id)sender
</span><span class="cx"> {
</span><del>- RetainPtr<NSImage> image = [self _hitTestResultImage];
</del><ins>+ RetainPtr<NSImage> image = [self _hitTestResultDataImage];
</ins><span class="cx"> if (!image)
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="lines">@@ -334,12 +334,12 @@
</span><span class="cx"> if (![self _canAddMediaToPhotos])
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- RefPtr<SharedMemory> imageSharedMemory = _hitTestResult.imageSharedMemory;
- if (!imageSharedMemory->data() || _hitTestResult.imageExtension.isEmpty() || !_hitTestResult.imageSize)
</del><ins>+ RefPtr<SharedMemory> imageSharedMemory = _hitTestResultData.imageSharedMemory;
+ if (!imageSharedMemory->data() || _hitTestResultData.imageExtension.isEmpty() || !_hitTestResultData.imageSize)
</ins><span class="cx"> return;
</span><span class="cx">
</span><del>- RetainPtr<NSData> imageData = adoptNS([[NSData alloc] initWithBytes:imageSharedMemory->data() length:_hitTestResult.imageSize]);
- RetainPtr<NSString> suggestedFilename = [[[NSProcessInfo processInfo] globallyUniqueString] stringByAppendingPathExtension:_hitTestResult.imageExtension];
</del><ins>+ RetainPtr<NSData> imageData = adoptNS([[NSData alloc] initWithBytes:imageSharedMemory->data() length:_hitTestResultData.imageSize]);
+ RetainPtr<NSString> suggestedFilename = [[[NSProcessInfo processInfo] globallyUniqueString] stringByAppendingPathExtension:_hitTestResultData.imageExtension];
</ins><span class="cx">
</span><span class="cx"> dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
</span><span class="cx"> NSString *filePath = pathToPhotoOnDisk(suggestedFilename.get());
</span><span class="lines">@@ -360,7 +360,7 @@
</span><span class="cx">
</span><span class="cx"> - (NSArray *)_defaultMenuItemsForDataDetectedText
</span><span class="cx"> {
</span><del>- DDActionContext *actionContext = _hitTestResult.actionContext.get();
</del><ins>+ DDActionContext *actionContext = _hitTestResultData.detectedDataActionContext.get();
</ins><span class="cx"> if (!actionContext)
</span><span class="cx"> return @[ ];
</span><span class="cx">
</span><span class="lines">@@ -372,19 +372,19 @@
</span><span class="cx">
</span><span class="cx"> // Ref our WebPageProxy for use in the blocks below.
</span><span class="cx"> RefPtr<WebPageProxy> page = _page;
</span><del>- PageOverlay::PageOverlayID overlayID = _hitTestResult.detectedDataOriginatingPageOverlay;
</del><ins>+ PageOverlay::PageOverlayID overlayID = _hitTestResultData.detectedDataOriginatingPageOverlay;
</ins><span class="cx"> _currentActionContext = [actionContext contextForView:_wkView altMode:YES interactionStartedHandler:^() {
</span><span class="cx"> page->send(Messages::WebPage::DataDetectorsDidPresentUI(overlayID));
</span><span class="cx"> } interactionChangedHandler:^() {
</span><del>- if (_hitTestResult.detectedDataTextIndicator)
- page->setTextIndicator(_hitTestResult.detectedDataTextIndicator->data(), false);
</del><ins>+ if (_hitTestResultData.detectedDataTextIndicator)
+ page->setTextIndicator(_hitTestResultData.detectedDataTextIndicator->data(), false);
</ins><span class="cx"> page->send(Messages::WebPage::DataDetectorsDidChangeUI(overlayID));
</span><span class="cx"> } interactionStoppedHandler:^() {
</span><span class="cx"> page->send(Messages::WebPage::DataDetectorsDidHideUI(overlayID));
</span><span class="cx"> page->clearTextIndicator();
</span><span class="cx"> }];
</span><span class="cx">
</span><del>- [_currentActionContext setHighlightFrame:[_wkView.window convertRectToScreen:[_wkView convertRect:_hitTestResult.detectedDataBoundingBox toView:nil]]];
</del><ins>+ [_currentActionContext setHighlightFrame:[_wkView.window convertRectToScreen:[_wkView convertRect:_hitTestResultData.detectedDataBoundingBox toView:nil]]];
</ins><span class="cx">
</span><span class="cx"> NSArray *menuItems = [[getDDActionsManagerClass() sharedManager] menuItemsForResult:[_currentActionContext mainResult] actionContext:_currentActionContext.get()];
</span><span class="cx"> return menuItems;
</span><span class="lines">@@ -409,16 +409,16 @@
</span><span class="cx">
</span><span class="cx"> - (NSArray *)_defaultMenuItemsForEditableTextWithSuggestions
</span><span class="cx"> {
</span><del>- if (_hitTestResult.lookupText.isEmpty())
</del><ins>+ if (_hitTestResultData.lookupText.isEmpty())
</ins><span class="cx"> return @[ ];
</span><span class="cx">
</span><span class="cx"> Vector<TextCheckingResult> results;
</span><del>- _page->checkTextOfParagraph(_hitTestResult.lookupText, NSTextCheckingTypeSpelling, results);
</del><ins>+ _page->checkTextOfParagraph(_hitTestResultData.lookupText, NSTextCheckingTypeSpelling, results);
</ins><span class="cx"> if (results.isEmpty())
</span><span class="cx"> return @[ ];
</span><span class="cx">
</span><span class="cx"> Vector<String> guesses;
</span><del>- _page->getGuessesForWord(_hitTestResult.lookupText, String(), guesses);
</del><ins>+ _page->getGuessesForWord(_hitTestResultData.lookupText, String(), guesses);
</ins><span class="cx"> if (guesses.isEmpty())
</span><span class="cx"> return @[ ];
</span><span class="cx">
</span><span class="lines">@@ -484,7 +484,7 @@
</span><span class="cx"> } interactionStoppedHandler:^() {
</span><span class="cx"> }];
</span><span class="cx">
</span><del>- [_currentActionContext setHighlightFrame:[_wkView.window convertRectToScreen:[_wkView convertRect:_hitTestResult.detectedDataBoundingBox toView:nil]]];
</del><ins>+ [_currentActionContext setHighlightFrame:[_wkView.window convertRectToScreen:[_wkView convertRect:_hitTestResultData.detectedDataBoundingBox toView:nil]]];
</ins><span class="cx">
</span><span class="cx"> return [[getDDActionsManagerClass() sharedManager] menuItemsForTargetURL:hitTestResult->absoluteLinkURL() actionContext:_currentActionContext.get()];
</span><span class="cx"> }
</span><span class="lines">@@ -650,7 +650,7 @@
</span><span class="cx"> {
</span><span class="cx"> RefPtr<WebHitTestResult> hitTestResult;
</span><span class="cx"> if (_state == ActionMenuState::Ready)
</span><del>- hitTestResult = WebHitTestResult::create(_hitTestResult.hitTestResult);
</del><ins>+ hitTestResult = WebHitTestResult::create(_hitTestResultData);
</ins><span class="cx"> else
</span><span class="cx"> hitTestResult = _page->lastMouseMoveHitTestResult();
</span><span class="cx">
</span><span class="lines">@@ -688,7 +688,7 @@
</span><span class="cx"> return [self _defaultMenuItemsForVideo];
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (!hitTestResult->absoluteImageURL().isEmpty() && _hitTestResult.imageSharedMemory && !_hitTestResult.imageExtension.isEmpty()) {
</del><ins>+ if (!hitTestResult->absoluteImageURL().isEmpty() && _hitTestResultData.imageSharedMemory && !_hitTestResultData.imageExtension.isEmpty()) {
</ins><span class="cx"> _type = kWKActionMenuImage;
</span><span class="cx"> return [self _defaultMenuItemsForImage];
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacWKImmediateActionControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/WKImmediateActionController.h (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/WKImmediateActionController.h        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/UIProcess/mac/WKImmediateActionController.h        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -28,8 +28,8 @@
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
</span><span class="cx">
</span><del>-#import "ActionMenuHitTestResult.h"
</del><span class="cx"> #import "WKImmediateActionTypes.h"
</span><ins>+#import "WebHitTestResult.h"
</ins><span class="cx"> #import <WebCore/NSImmediateActionGestureRecognizerSPI.h>
</span><span class="cx"> #import <wtf/RetainPtr.h>
</span><span class="cx">
</span><span class="lines">@@ -54,7 +54,8 @@
</span><span class="cx"> WKView *_wkView;
</span><span class="cx">
</span><span class="cx"> WebKit::ImmediateActionState _state;
</span><del>- WebKit::ActionMenuHitTestResult _hitTestResult;
</del><ins>+ WebKit::WebHitTestResult::Data _hitTestResultData;
+ BOOL _contentPreventsDefault;
</ins><span class="cx"> RefPtr<API::Object> _userData;
</span><span class="cx"> _WKImmediateActionType _type;
</span><span class="cx"> RetainPtr<NSImmediateActionGestureRecognizer> _immediateActionRecognizer;
</span><span class="lines">@@ -68,7 +69,7 @@
</span><span class="cx">
</span><span class="cx"> - (instancetype)initWithPage:(WebKit::WebPageProxy&)page view:(WKView *)wkView recognizer:(NSImmediateActionGestureRecognizer *)immediateActionRecognizer;
</span><span class="cx"> - (void)willDestroyView:(WKView *)view;
</span><del>-- (void)didPerformActionMenuHitTest:(const WebKit::ActionMenuHitTestResult&)hitTestResult userData:(API::Object*)userData;
</del><ins>+- (void)didPerformActionMenuHitTest:(const WebKit::WebHitTestResult::Data&)hitTestResult contentPreventsDefault:(BOOL)contentPreventsDefault userData:(API::Object*)userData;
</ins><span class="cx"> - (void)dismissContentRelativeChildWindows;
</span><span class="cx"> - (BOOL)hasActiveImmediateAction;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacWKImmediateActionControllermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/WKImmediateActionController.mm (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/WKImmediateActionController.mm        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/UIProcess/mac/WKImmediateActionController.mm        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -82,8 +82,9 @@
</span><span class="cx"> {
</span><span class="cx"> _page = nullptr;
</span><span class="cx"> _wkView = nil;
</span><del>- _hitTestResult = ActionMenuHitTestResult();
-
</del><ins>+ _hitTestResultData = WebHitTestResult::Data();
+ _contentPreventsDefault = NO;
+
</ins><span class="cx"> id animationController = [_immediateActionRecognizer animationController];
</span><span class="cx"> if ([animationController isKindOfClass:NSClassFromString(@"QLPreviewMenuItem")]) {
</span><span class="cx"> QLPreviewMenuItem *menuItem = (QLPreviewMenuItem *)animationController;
</span><span class="lines">@@ -121,7 +122,8 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> _state = ImmediateActionState::None;
</span><del>- _hitTestResult = ActionMenuHitTestResult();
</del><ins>+ _hitTestResultData = WebHitTestResult::Data();
+ _contentPreventsDefault = NO;
</ins><span class="cx"> _type = kWKImmediateActionNone;
</span><span class="cx"> _currentActionContext = nil;
</span><span class="cx"> _userData = nil;
</span><span class="lines">@@ -129,7 +131,7 @@
</span><span class="cx"> _hasActiveImmediateAction = NO;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-- (void)didPerformActionMenuHitTest:(const ActionMenuHitTestResult&)hitTestResult userData:(API::Object*)userData
</del><ins>+- (void)didPerformActionMenuHitTest:(const WebHitTestResult::Data&)hitTestResult contentPreventsDefault:(BOOL)contentPreventsDefault userData:(API::Object*)userData
</ins><span class="cx"> {
</span><span class="cx"> // If we've already given up on this gesture (either because it was canceled or the
</span><span class="cx"> // willBeginAnimation timeout expired), we shouldn't build a new animationController for it.
</span><span class="lines">@@ -138,7 +140,8 @@
</span><span class="cx">
</span><span class="cx"> // FIXME: This needs to use the WebKit2 callback mechanism to avoid out-of-order replies.
</span><span class="cx"> _state = ImmediateActionState::Ready;
</span><del>- _hitTestResult = hitTestResult;
</del><ins>+ _hitTestResultData = hitTestResult;
+ _contentPreventsDefault = contentPreventsDefault;
</ins><span class="cx"> _userData = userData;
</span><span class="cx">
</span><span class="cx"> [self _updateImmediateActionItem];
</span><span class="lines">@@ -213,7 +216,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> _page->immediateActionDidUpdate();
</span><del>- if (_hitTestResult.contentPreventsDefault)
</del><ins>+ if (_contentPreventsDefault)
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> _page->setTextIndicatorAnimationProgress([immediateActionRecognizer animationProgress]);
</span><span class="lines">@@ -249,7 +252,7 @@
</span><span class="cx"> {
</span><span class="cx"> RefPtr<WebHitTestResult> hitTestResult;
</span><span class="cx"> if (_state == ImmediateActionState::Ready)
</span><del>- hitTestResult = WebHitTestResult::create(_hitTestResult.hitTestResult);
</del><ins>+ hitTestResult = WebHitTestResult::create(_hitTestResultData);
</ins><span class="cx"> else
</span><span class="cx"> hitTestResult = _page->lastMouseMoveHitTestResult();
</span><span class="cx">
</span><span class="lines">@@ -260,7 +263,7 @@
</span><span class="cx">
</span><span class="cx"> - (id <NSImmediateActionAnimationController>)_defaultAnimationController
</span><span class="cx"> {
</span><del>- if (_hitTestResult.contentPreventsDefault) {
</del><ins>+ if (_contentPreventsDefault) {
</ins><span class="cx"> RetainPtr<WebAnimationController> dummyController = [[WebAnimationController alloc] init];
</span><span class="cx"> return dummyController.get();
</span><span class="cx"> }
</span><span class="lines">@@ -274,7 +277,7 @@
</span><span class="cx"> if (!absoluteLinkURL.isEmpty() && WebCore::protocolIsInHTTPFamily(absoluteLinkURL)) {
</span><span class="cx"> _type = kWKImmediateActionLinkPreview;
</span><span class="cx">
</span><del>- if (TextIndicator *textIndicator = _hitTestResult.linkTextIndicator.get())
</del><ins>+ if (TextIndicator *textIndicator = _hitTestResultData.linkTextIndicator.get())
</ins><span class="cx"> _page->setTextIndicator(textIndicator->data(), false);
</span><span class="cx">
</span><span class="cx"> RetainPtr<QLPreviewMenuItem> qlPreviewLinkItem = [NSMenuItem standardQuickLookMenuItem];
</span><span class="lines">@@ -305,7 +308,7 @@
</span><span class="cx">
</span><span class="cx"> id <NSImmediateActionAnimationController> defaultAnimationController = [self _defaultAnimationController];
</span><span class="cx">
</span><del>- if (_hitTestResult.contentPreventsDefault) {
</del><ins>+ if (_contentPreventsDefault) {
</ins><span class="cx"> [_immediateActionRecognizer.get() setAnimationController:defaultAnimationController];
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -373,7 +376,7 @@
</span><span class="cx">
</span><span class="cx"> - (NSMenuItem *)_menuItemForDataDetectedText
</span><span class="cx"> {
</span><del>- DDActionContext *actionContext = _hitTestResult.actionContext.get();
</del><ins>+ DDActionContext *actionContext = _hitTestResultData.detectedDataActionContext.get();
</ins><span class="cx"> if (!actionContext)
</span><span class="cx"> return nil;
</span><span class="cx">
</span><span class="lines">@@ -385,19 +388,19 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> RefPtr<WebPageProxy> page = _page;
</span><del>- PageOverlay::PageOverlayID overlayID = _hitTestResult.detectedDataOriginatingPageOverlay;
</del><ins>+ PageOverlay::PageOverlayID overlayID = _hitTestResultData.detectedDataOriginatingPageOverlay;
</ins><span class="cx"> _currentActionContext = [actionContext contextForView:_wkView altMode:YES interactionStartedHandler:^() {
</span><span class="cx"> page->send(Messages::WebPage::DataDetectorsDidPresentUI(overlayID));
</span><span class="cx"> } interactionChangedHandler:^() {
</span><del>- if (_hitTestResult.detectedDataTextIndicator)
- page->setTextIndicator(_hitTestResult.detectedDataTextIndicator->data(), false);
</del><ins>+ if (_hitTestResultData.detectedDataTextIndicator)
+ page->setTextIndicator(_hitTestResultData.detectedDataTextIndicator->data(), false);
</ins><span class="cx"> page->send(Messages::WebPage::DataDetectorsDidChangeUI(overlayID));
</span><span class="cx"> } interactionStoppedHandler:^() {
</span><span class="cx"> page->send(Messages::WebPage::DataDetectorsDidHideUI(overlayID));
</span><span class="cx"> [self _clearImmediateActionState];
</span><span class="cx"> }];
</span><span class="cx">
</span><del>- [_currentActionContext setHighlightFrame:[_wkView.window convertRectToScreen:[_wkView convertRect:_hitTestResult.detectedDataBoundingBox toView:nil]]];
</del><ins>+ [_currentActionContext setHighlightFrame:[_wkView.window convertRectToScreen:[_wkView convertRect:_hitTestResultData.detectedDataBoundingBox toView:nil]]];
</ins><span class="cx">
</span><span class="cx"> NSArray *menuItems = [[getDDActionsManagerClass() sharedManager] menuItemsForResult:[_currentActionContext mainResult] actionContext:_currentActionContext.get()];
</span><span class="cx">
</span><span class="lines">@@ -417,7 +420,7 @@
</span><span class="cx"> if (!getLULookupDefinitionModuleClass())
</span><span class="cx"> return nil;
</span><span class="cx">
</span><del>- DictionaryPopupInfo dictionaryPopupInfo = _hitTestResult.dictionaryPopupInfo;
</del><ins>+ DictionaryPopupInfo dictionaryPopupInfo = _hitTestResultData.dictionaryPopupInfo;
</ins><span class="cx"> if (!dictionaryPopupInfo.attributedString.string)
</span><span class="cx"> return nil;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -600,8 +600,6 @@
</span><span class="cx">                 2D2ADF0916362DD500197E47 /* PDFPluginTextAnnotation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2D2ADF0616362DC700197E47 /* PDFPluginTextAnnotation.mm */; };
</span><span class="cx">                 2D2ADF0B16362DDB00197E47 /* PDFPluginAnnotation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2D2ADF031636243500197E47 /* PDFPluginAnnotation.mm */; };
</span><span class="cx">                 2D2ADF1016364D8200197E47 /* PDFPluginChoiceAnnotation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2D2ADF0E16364D8200197E47 /* PDFPluginChoiceAnnotation.mm */; };
</span><del>-                2D353B1219F8305D000EEACD /* ActionMenuHitTestResult.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2D353B1019F8305D000EEACD /* ActionMenuHitTestResult.mm */; };
-                2D353B1319F8305D000EEACD /* ActionMenuHitTestResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D353B1119F8305D000EEACD /* ActionMenuHitTestResult.h */; };
</del><span class="cx">                 2D3A65DA1A7C3A1F00CAC637 /* WKNavigationActionRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D3A65D81A7C3A1F00CAC637 /* WKNavigationActionRef.cpp */; };
</span><span class="cx">                 2D3A65DB1A7C3A1F00CAC637 /* WKNavigationActionRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D3A65D91A7C3A1F00CAC637 /* WKNavigationActionRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 2D3A65DE1A7C3A7D00CAC637 /* WKNavigationResponseRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D3A65DC1A7C3A7D00CAC637 /* WKNavigationResponseRef.cpp */; };
</span><span class="lines">@@ -1008,6 +1006,7 @@
</span><span class="cx">                 51ACBB82127A8BAD00D203B9 /* WebContextMenuProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ACBB81127A8BAD00D203B9 /* WebContextMenuProxy.h */; };
</span><span class="cx">                 51ACBBA0127A8F2C00D203B9 /* WebContextMenuProxyMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 51ACBB9E127A8F2C00D203B9 /* WebContextMenuProxyMac.h */; };
</span><span class="cx">                 51ACBBA1127A8F2C00D203B9 /* WebContextMenuProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51ACBB9F127A8F2C00D203B9 /* WebContextMenuProxyMac.mm */; };
</span><ins>+                51AD35731AD2F3940057B38E /* WebHitTestResult.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51AD35721AD2F3750057B38E /* WebHitTestResult.mm */; };
</ins><span class="cx">                 51B15A8413843A3900321AD8 /* EnvironmentUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51B15A8213843A3900321AD8 /* EnvironmentUtilities.cpp */; };
</span><span class="cx">                 51B15A8513843A3900321AD8 /* EnvironmentUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 51B15A8313843A3900321AD8 /* EnvironmentUtilities.h */; };
</span><span class="cx">                 51BA24441858EE3000EA2811 /* AsyncTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 51BA24431858EE3000EA2811 /* AsyncTask.h */; };
</span><span class="lines">@@ -2758,8 +2757,6 @@
</span><span class="cx">                 2D2ADF0C16363DEC00197E47 /* PDFLayerControllerDetails.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PDFLayerControllerDetails.h; path = PDF/PDFLayerControllerDetails.h; sourceTree = "<group>"; };
</span><span class="cx">                 2D2ADF0D16364D8200197E47 /* PDFPluginChoiceAnnotation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PDFPluginChoiceAnnotation.h; path = PDF/PDFPluginChoiceAnnotation.h; sourceTree = "<group>"; };
</span><span class="cx">                 2D2ADF0E16364D8200197E47 /* PDFPluginChoiceAnnotation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PDFPluginChoiceAnnotation.mm; path = PDF/PDFPluginChoiceAnnotation.mm; sourceTree = "<group>"; };
</span><del>-                2D353B1019F8305D000EEACD /* ActionMenuHitTestResult.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ActionMenuHitTestResult.mm; sourceTree = "<group>"; };
-                2D353B1119F8305D000EEACD /* ActionMenuHitTestResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActionMenuHitTestResult.h; sourceTree = "<group>"; };
</del><span class="cx">                 2D3A65D81A7C3A1F00CAC637 /* WKNavigationActionRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKNavigationActionRef.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 2D3A65D91A7C3A1F00CAC637 /* WKNavigationActionRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKNavigationActionRef.h; sourceTree = "<group>"; };
</span><span class="cx">                 2D3A65DC1A7C3A7D00CAC637 /* WKNavigationResponseRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKNavigationResponseRef.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -3204,6 +3201,7 @@
</span><span class="cx">                 51ACBB9F127A8F2C00D203B9 /* WebContextMenuProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebContextMenuProxyMac.mm; sourceTree = "<group>"; };
</span><span class="cx">                 51ACC9341628064800342550 /* NetworkProcessMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkProcessMessageReceiver.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51ACC9351628064800342550 /* NetworkProcessMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkProcessMessages.h; sourceTree = "<group>"; };
</span><ins>+                51AD35721AD2F3750057B38E /* WebHitTestResult.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = WebHitTestResult.mm; sourceTree = "<group>"; };
</ins><span class="cx">                 51B15A8213843A3900321AD8 /* EnvironmentUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EnvironmentUtilities.cpp; path = unix/EnvironmentUtilities.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51B15A8313843A3900321AD8 /* EnvironmentUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnvironmentUtilities.h; path = unix/EnvironmentUtilities.h; sourceTree = "<group>"; };
</span><span class="cx">                 51BA24431858EE3000EA2811 /* AsyncTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AsyncTask.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -6522,8 +6520,6 @@
</span><span class="cx">                 BC111B5A112F628200337BAB /* mac */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><del>-                                2D353B1119F8305D000EEACD /* ActionMenuHitTestResult.h */,
-                                2D353B1019F8305D000EEACD /* ActionMenuHitTestResult.mm */,
</del><span class="cx">                                 E179FD9B134D38060015B883 /* ArgumentCodersMac.h */,
</span><span class="cx">                                 E179FD9E134D38250015B883 /* ArgumentCodersMac.mm */,
</span><span class="cx">                                 E1A31731134CEA6C007C9A4F /* AttributedString.h */,
</span><span class="lines">@@ -6571,6 +6567,7 @@
</span><span class="cx">                                 BCE23262122C6CF300D5C35A /* WebCoreArgumentCodersMac.mm */,
</span><span class="cx">                                 BC111B5B112F629800337BAB /* WebEventFactory.h */,
</span><span class="cx">                                 BC111B5C112F629800337BAB /* WebEventFactory.mm */,
</span><ins>+                                51AD35721AD2F3750057B38E /* WebHitTestResult.mm */,
</ins><span class="cx">                                 905620E512BC2476000799B6 /* WebMemorySampler.mac.mm */,
</span><span class="cx">                         );
</span><span class="cx">                         path = mac;
</span><span class="lines">@@ -7607,7 +7604,6 @@
</span><span class="cx">                                 75A8D2C8187CCFAB00C39C9E /* _WKWebsiteDataStore.h in Headers */,
</span><span class="cx">                                 75A8D2D6187D1C0E00C39C9E /* _WKWebsiteDataStoreInternal.h in Headers */,
</span><span class="cx">                                 A115DC72191D82DA00DA8072 /* _WKWebViewPrintFormatter.h in Headers */,
</span><del>-                                2D353B1319F8305D000EEACD /* ActionMenuHitTestResult.h in Headers */,
</del><span class="cx">                                 A7D792D81767CCA300881CBE /* ActivityAssertion.h in Headers */,
</span><span class="cx">                                 BC64697011DBE603006455B0 /* APIArray.h in Headers */,
</span><span class="cx">                                 1A3DD206125E5A2F004515E6 /* APIClient.h in Headers */,
</span><span class="lines">@@ -9378,7 +9374,6 @@
</span><span class="cx">                                 1A81B38018BD66AD0007FDAC /* _WKVisitedLinkProvider.mm in Sources */,
</span><span class="cx">                                 75A8D2C9187CCFAF00C39C9E /* _WKWebsiteDataStore.mm in Sources */,
</span><span class="cx">                                 A115DC71191D82D700DA8072 /* _WKWebViewPrintFormatter.mm in Sources */,
</span><del>-                                2D353B1219F8305D000EEACD /* ActionMenuHitTestResult.mm in Sources */,
</del><span class="cx">                                 A7D792D61767CB6E00881CBE /* ActivityAssertion.cpp in Sources */,
</span><span class="cx">                                 8372DB281A67562800C697C5 /* WebPageDiagnosticLoggingClient.cpp in Sources */,
</span><span class="cx">                                 BC64696F11DBE603006455B0 /* APIArray.cpp in Sources */,
</span><span class="lines">@@ -9766,6 +9761,7 @@
</span><span class="cx">                                 31A505F91680025500A930EB /* WebContextClient.cpp in Sources */,
</span><span class="cx">                                 BC09B8F8147460F7005F5625 /* WebContextConnectionClient.cpp in Sources */,
</span><span class="cx">                                 BCDE059C11CDA8AE00E41AF1 /* WebContextInjectedBundleClient.cpp in Sources */,
</span><ins>+                                51AD35731AD2F3940057B38E /* WebHitTestResult.mm in Sources */,
</ins><span class="cx">                                 51871B5B127CB89D00F76232 /* WebContextMenu.cpp in Sources */,
</span><span class="cx">                                 BC111A5B112F4FBB00337BAB /* WebContextMenuClient.cpp in Sources */,
</span><span class="cx">                                 51021E9C12B16788005C033C /* WebContextMenuClientMac.mm in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPagemacWebPageMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm (182441 => 182442)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm        2015-04-06 22:27:09 UTC (rev 182441)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm        2015-04-06 22:33:57 UTC (rev 182442)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx">
</span><del>-#import "ActionMenuHitTestResult.h"
</del><span class="cx"> #import "AttributedString.h"
</span><span class="cx"> #import "DataReference.h"
</span><span class="cx"> #import "DictionaryPopupInfo.h"
</span><span class="lines">@@ -45,6 +44,7 @@
</span><span class="cx"> #import "WebEvent.h"
</span><span class="cx"> #import "WebEventConversion.h"
</span><span class="cx"> #import "WebFrame.h"
</span><ins>+#import "WebHitTestResult.h"
</ins><span class="cx"> #import "WebImage.h"
</span><span class="cx"> #import "WebInspector.h"
</span><span class="cx"> #import "WebPageOverlay.h"
</span><span class="lines">@@ -1017,7 +1017,7 @@
</span><span class="cx">
</span><span class="cx"> MainFrame& mainFrame = corePage()->mainFrame();
</span><span class="cx"> if (!mainFrame.view() || !mainFrame.view()->renderView()) {
</span><del>- send(Messages::WebPageProxy::DidPerformActionMenuHitTest(ActionMenuHitTestResult(), forImmediateAction, UserData()));
</del><ins>+ send(Messages::WebPageProxy::DidPerformActionMenuHitTest(WebHitTestResult::Data(), forImmediateAction, false, UserData()));
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1033,10 +1033,8 @@
</span><span class="cx"> m_lastActionMenuHitTestPreventsDefault = element->dispatchMouseForceWillBegin();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- ActionMenuHitTestResult actionMenuResult;
</del><ins>+ WebHitTestResult::Data actionMenuResult(hitTestResult);
</ins><span class="cx"> actionMenuResult.hitTestLocationInViewCooordinates = locationInViewCooordinates;
</span><del>- actionMenuResult.hitTestResult = WebHitTestResult::Data(hitTestResult);
- actionMenuResult.contentPreventsDefault = m_lastActionMenuHitTestPreventsDefault;
</del><span class="cx">
</span><span class="cx"> RefPtr<Range> selectionRange = corePage()->focusController().focusedOrMainFrame().selection().selection().firstRange();
</span><span class="cx">
</span><span class="lines">@@ -1086,7 +1084,7 @@
</span><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> pageOverlayDidOverrideDataDetectors = true;
</span><del>- actionMenuResult.actionContext = actionContext;
</del><ins>+ actionMenuResult.detectedDataActionContext = actionContext;
</ins><span class="cx">
</span><span class="cx"> Vector<FloatQuad> quads;
</span><span class="cx"> mainResultRange->textQuads(quads);
</span><span class="lines">@@ -1107,8 +1105,8 @@
</span><span class="cx"> if (!pageOverlayDidOverrideDataDetectors && hitTestResult.innerNode() && hitTestResult.innerNode()->isTextNode()) {
</span><span class="cx"> FloatRect detectedDataBoundingBox;
</span><span class="cx"> RefPtr<Range> detectedDataRange;
</span><del>- actionMenuResult.actionContext = DataDetection::detectItemAroundHitTestResult(hitTestResult, detectedDataBoundingBox, detectedDataRange);
- if (actionMenuResult.actionContext && detectedDataRange) {
</del><ins>+ actionMenuResult.detectedDataActionContext = DataDetection::detectItemAroundHitTestResult(hitTestResult, detectedDataBoundingBox, detectedDataRange);
+ if (actionMenuResult.detectedDataActionContext && detectedDataRange) {
</ins><span class="cx"> actionMenuResult.detectedDataBoundingBox = detectedDataBoundingBox;
</span><span class="cx"> actionMenuResult.detectedDataTextIndicator = TextIndicator::createWithRange(*detectedDataRange, textIndicatorTransitionForActionMenu(selectionRange.get(), *detectedDataRange, forImmediateAction, true));
</span><span class="cx"> m_lastActionMenuRangeForSelection = detectedDataRange;
</span><span class="lines">@@ -1118,7 +1116,7 @@
</span><span class="cx"> RefPtr<API::Object> userData;
</span><span class="cx"> injectedBundleContextMenuClient().prepareForActionMenu(*this, hitTestResult, userData);
</span><span class="cx">
</span><del>- send(Messages::WebPageProxy::DidPerformActionMenuHitTest(actionMenuResult, forImmediateAction, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())));
</del><ins>+ send(Messages::WebPageProxy::DidPerformActionMenuHitTest(actionMenuResult, forImmediateAction, m_lastActionMenuHitTestPreventsDefault, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> PassRefPtr<WebCore::Range> WebPage::lookupTextAtLocation(FloatPoint locationInViewCooordinates, NSDictionary **options)
</span></span></pre>
</div>
</div>
</body>
</html>