<!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>[182556] trunk/Source</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/182556">182556</a></dd>
<dt>Author</dt> <dd>bdakin@apple.com</dd>
<dt>Date</dt> <dd>2015-04-08 11:25:25 -0700 (Wed, 08 Apr 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Force events should not require preventDefault in order to fire
https://bugs.webkit.org/show_bug.cgi?id=143503
-and corresponding-
rdar://problem/20458916

Reviewed by Tim Horton.

Source/WebCore:

Since these events will fire whether or not preventDefault was set on the 
willBegin event, we should make sure we only send them when there are registered 
event listeners. These are new events, so we don’t want to spam the vast majority 
of web content that doesn’t use them yet.
* dom/Document.cpp:
(WebCore::Document::addListenerTypeIfNeeded):
* dom/Document.h:
* dom/Element.cpp:
(WebCore::Element::dispatchMouseForceWillBegin):
(WebCore::Element::dispatchMouseForceChanged):
(WebCore::Element::dispatchMouseForceDown):
(WebCore::Element::dispatchMouseForceUp):
(WebCore::Element::dispatchMouseForceClick):
(WebCore::Element::dispatchMouseForceCancelled):

Source/WebKit2:

We no longer need m_lastActionMenuHitTestPreventsDefault since we’ll always 
dispatch the events to Element.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::inputDeviceForceDidChange):
(WebKit::WebPage::immediateActionDidCancel):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumenth">trunk/Source/WebCore/dom/Document.h</a></li>
<li><a href="#trunkSourceWebCoredomElementcpp">trunk/Source/WebCore/dom/Element.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPageh">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPagemacWebPageMacmm">trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (182555 => 182556)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-04-08 18:12:56 UTC (rev 182555)
+++ trunk/Source/WebCore/ChangeLog        2015-04-08 18:25:25 UTC (rev 182556)
</span><span class="lines">@@ -1,3 +1,27 @@
</span><ins>+2015-04-08  Beth Dakin  &lt;bdakin@apple.com&gt;
+
+        Force events should not require preventDefault in order to fire
+        https://bugs.webkit.org/show_bug.cgi?id=143503
+        -and corresponding-
+        rdar://problem/20458916
+
+        Reviewed by Tim Horton.
+
+        Since these events will fire whether or not preventDefault was set on the 
+        willBegin event, we should make sure we only send them when there are registered 
+        event listeners. These are new events, so we don’t want to spam the vast majority 
+        of web content that doesn’t use them yet.
+        * dom/Document.cpp:
+        (WebCore::Document::addListenerTypeIfNeeded):
+        * dom/Document.h:
+        * dom/Element.cpp:
+        (WebCore::Element::dispatchMouseForceWillBegin):
+        (WebCore::Element::dispatchMouseForceChanged):
+        (WebCore::Element::dispatchMouseForceDown):
+        (WebCore::Element::dispatchMouseForceUp):
+        (WebCore::Element::dispatchMouseForceClick):
+        (WebCore::Element::dispatchMouseForceCancelled):
+
</ins><span class="cx"> 2015-04-08  Jer Noble  &lt;jer.noble@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Mac][WebAudio] Update the AVAudioMix in the AudioSourceProviderAVFObjC when the list of enabled audio tracks change.
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (182555 => 182556)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2015-04-08 18:12:56 UTC (rev 182555)
+++ trunk/Source/WebCore/dom/Document.cpp        2015-04-08 18:25:25 UTC (rev 182556)
</span><span class="lines">@@ -3999,6 +3999,18 @@
</span><span class="cx">         addListenerType(BEFORELOAD_LISTENER);
</span><span class="cx">     else if (eventType == eventNames().scrollEvent)
</span><span class="cx">         addListenerType(SCROLL_LISTENER);
</span><ins>+    else if (eventType == eventNames().webkitmouseforcewillbeginEvent)
+        addListenerType(FORCEWILLBEGIN_LISTENER);
+    else if (eventType == eventNames().webkitmouseforcechangedEvent)
+        addListenerType(FORCECHANGED_LISTENER);
+    else if (eventType == eventNames().webkitmouseforcedownEvent)
+        addListenerType(FORCEDOWN_LISTENER);
+    else if (eventType == eventNames().webkitmouseforceupEvent)
+        addListenerType(FORCEUP_LISTENER);
+    else if (eventType == eventNames().webkitmouseforceclickEvent)
+        addListenerType(FORCECLICK_LISTENER);
+    else if (eventType == eventNames().webkitmouseforcecancelledEvent)
+        addListenerType(FORCECANCELLED_LISTENER);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CSSStyleDeclaration* Document::getOverrideStyle(Element*, const String&amp;)
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.h (182555 => 182556)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2015-04-08 18:12:56 UTC (rev 182555)
+++ trunk/Source/WebCore/dom/Document.h        2015-04-08 18:25:25 UTC (rev 182556)
</span><span class="lines">@@ -770,8 +770,13 @@
</span><span class="cx">         ANIMATIONITERATION_LISTENER          = 1 &lt;&lt; 9,
</span><span class="cx">         TRANSITIONEND_LISTENER               = 1 &lt;&lt; 10,
</span><span class="cx">         BEFORELOAD_LISTENER                  = 1 &lt;&lt; 11,
</span><del>-        SCROLL_LISTENER                      = 1 &lt;&lt; 12
-        // 3 bits remaining
</del><ins>+        SCROLL_LISTENER                      = 1 &lt;&lt; 12,
+        FORCEWILLBEGIN_LISTENER              = 1 &lt;&lt; 13,
+        FORCECHANGED_LISTENER                = 1 &lt;&lt; 14,
+        FORCEDOWN_LISTENER                   = 1 &lt;&lt; 15,
+        FORCEUP_LISTENER                     = 1 &lt;&lt; 16,
+        FORCECLICK_LISTENER                  = 1 &lt;&lt; 17,
+        FORCECANCELLED_LISTENER              = 1 &lt;&lt; 18
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     bool hasListenerType(ListenerType listenerType) const { return (m_listenerTypes &amp; listenerType); }
</span><span class="lines">@@ -1400,7 +1405,7 @@
</span><span class="cx">     HashSet&lt;NodeIterator*&gt; m_nodeIterators;
</span><span class="cx">     HashSet&lt;Range*&gt; m_ranges;
</span><span class="cx"> 
</span><del>-    unsigned short m_listenerTypes;
</del><ins>+    unsigned m_listenerTypes;
</ins><span class="cx"> 
</span><span class="cx">     MutationObserverOptions m_mutationObserverTypes;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.cpp (182555 => 182556)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.cpp        2015-04-08 18:12:56 UTC (rev 182555)
+++ trunk/Source/WebCore/dom/Element.cpp        2015-04-08 18:25:25 UTC (rev 182556)
</span><span class="lines">@@ -2237,6 +2237,9 @@
</span><span class="cx"> #if ENABLE(MOUSE_FORCE_EVENTS)
</span><span class="cx"> bool Element::dispatchMouseForceWillBegin()
</span><span class="cx"> {
</span><ins>+    if (!document().hasListenerType(Document::FORCEWILLBEGIN_LISTENER))
+        return false;
+
</ins><span class="cx">     Frame* frame = document().frame();
</span><span class="cx">     if (!frame)
</span><span class="cx">         return false;
</span><span class="lines">@@ -2253,6 +2256,9 @@
</span><span class="cx"> 
</span><span class="cx"> void Element::dispatchMouseForceChanged(float force, const PlatformMouseEvent&amp; platformMouseEvent)
</span><span class="cx"> {
</span><ins>+    if (!document().hasListenerType(Document::FORCECHANGED_LISTENER))
+        return;
+
</ins><span class="cx">     RefPtr&lt;WebKitMouseForceEvent&gt; mouseForceChangedEvent = WebKitMouseForceEvent::create(eventNames().webkitmouseforcechangedEvent, force, platformMouseEvent, document().defaultView());
</span><span class="cx">     mouseForceChangedEvent-&gt;setTarget(this);
</span><span class="cx">     dispatchEvent(mouseForceChangedEvent);
</span><span class="lines">@@ -2260,6 +2266,9 @@
</span><span class="cx"> 
</span><span class="cx"> void Element::dispatchMouseForceDown(const PlatformMouseEvent&amp; platformMouseEvent)
</span><span class="cx"> {
</span><ins>+    if (!document().hasListenerType(Document::FORCEDOWN_LISTENER))
+        return;
+
</ins><span class="cx">     RefPtr&lt;Event&gt; mouseForceDownEvent = WebKitMouseForceEvent::create(eventNames().webkitmouseforcedownEvent, 1, platformMouseEvent, document().defaultView());
</span><span class="cx">     mouseForceDownEvent-&gt;setTarget(this);
</span><span class="cx">     dispatchEvent(mouseForceDownEvent);
</span><span class="lines">@@ -2267,6 +2276,9 @@
</span><span class="cx"> 
</span><span class="cx"> void Element::dispatchMouseForceUp(const PlatformMouseEvent&amp; platformMouseEvent)
</span><span class="cx"> {
</span><ins>+    if (!document().hasListenerType(Document::FORCEUP_LISTENER))
+        return;
+
</ins><span class="cx">     RefPtr&lt;Event&gt; mouseForceUpEvent = WebKitMouseForceEvent::create(eventNames().webkitmouseforceupEvent, 1, platformMouseEvent, document().defaultView());
</span><span class="cx">     mouseForceUpEvent-&gt;setTarget(this);
</span><span class="cx">     dispatchEvent(mouseForceUpEvent);
</span><span class="lines">@@ -2274,6 +2286,9 @@
</span><span class="cx"> 
</span><span class="cx"> void Element::dispatchMouseForceClick(const PlatformMouseEvent&amp; platformMouseEvent)
</span><span class="cx"> {
</span><ins>+    if (!document().hasListenerType(Document::FORCECLICK_LISTENER))
+        return;
+
</ins><span class="cx">     RefPtr&lt;Event&gt; mouseForceClickEvent = WebKitMouseForceEvent::create(eventNames().webkitmouseforceclickEvent, 1, platformMouseEvent, document().defaultView());
</span><span class="cx">     mouseForceClickEvent-&gt;setTarget(this);
</span><span class="cx">     dispatchEvent(mouseForceClickEvent);
</span><span class="lines">@@ -2281,6 +2296,9 @@
</span><span class="cx"> 
</span><span class="cx"> void Element::dispatchMouseForceCancelled(const PlatformMouseEvent&amp; platformMouseEvent)
</span><span class="cx"> {
</span><ins>+    if (!document().hasListenerType(Document::FORCECANCELLED_LISTENER))
+        return;
+
</ins><span class="cx">     RefPtr&lt;Event&gt; mouseForceCancelledEvent = WebKitMouseForceEvent::create(eventNames().webkitmouseforcecancelledEvent, 0, platformMouseEvent, document().defaultView());
</span><span class="cx">     mouseForceCancelledEvent-&gt;setTarget(this);
</span><span class="cx">     dispatchEvent(mouseForceCancelledEvent);
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (182555 => 182556)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-04-08 18:12:56 UTC (rev 182555)
+++ trunk/Source/WebKit2/ChangeLog        2015-04-08 18:25:25 UTC (rev 182556)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2015-04-08  Beth Dakin  &lt;bdakin@apple.com&gt;
+
+        Force events should not require preventDefault in order to fire
+        https://bugs.webkit.org/show_bug.cgi?id=143503
+        -and corresponding-
+        rdar://problem/20458916
+
+        Reviewed by Tim Horton.
+
+        We no longer need m_lastActionMenuHitTestPreventsDefault since we’ll always 
+        dispatch the events to Element.
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::WebPage):
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/mac/WebPageMac.mm:
+        (WebKit::WebPage::performActionMenuHitTestAtLocation):
+        (WebKit::WebPage::inputDeviceForceDidChange):
+        (WebKit::WebPage::immediateActionDidCancel):
+
</ins><span class="cx"> 2015-04-08  Enrica Casucci  &lt;enrica@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Calling makeFirstResponder on WKWebView doesn't work.
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (182555 => 182556)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-04-08 18:12:56 UTC (rev 182555)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-04-08 18:25:25 UTC (rev 182556)
</span><span class="lines">@@ -340,9 +340,6 @@
</span><span class="cx"> #if ENABLE(WEBGL)
</span><span class="cx">     , m_systemWebGLPolicy(WebGLAllowCreation)
</span><span class="cx"> #endif
</span><del>-#if PLATFORM(MAC)
-    , m_lastActionMenuHitTestPreventsDefault(false)
-#endif
</del><span class="cx">     , m_mainFrameProgressCompleted(false)
</span><span class="cx">     , m_shouldDispatchFakeMouseMoveEvents(true)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (182555 => 182556)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2015-04-08 18:12:56 UTC (rev 182555)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2015-04-08 18:25:25 UTC (rev 182556)
</span><span class="lines">@@ -1348,7 +1348,6 @@
</span><span class="cx">     RefPtr&lt;WebCore::Range&gt; m_lastActionMenuRangeForSelection;
</span><span class="cx">     WebCore::HitTestResult m_lastActionMenuHitTestResult;
</span><span class="cx">     RefPtr&lt;WebPageOverlay&gt; m_lastActionMenuHitPageOverlay;
</span><del>-    bool m_lastActionMenuHitTestPreventsDefault;
</del><span class="cx">     int m_lastForceStage { 0 };
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPagemacWebPageMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm (182555 => 182556)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm        2015-04-08 18:12:56 UTC (rev 182555)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm        2015-04-08 18:25:25 UTC (rev 182556)
</span><span class="lines">@@ -1024,13 +1024,13 @@
</span><span class="cx">     IntPoint locationInContentCoordinates = mainFrame.view()-&gt;rootViewToContents(roundedIntPoint(locationInViewCooordinates));
</span><span class="cx">     HitTestResult hitTestResult = mainFrame.eventHandler().hitTestResultAtPoint(locationInContentCoordinates);
</span><span class="cx"> 
</span><del>-    m_lastActionMenuHitTestPreventsDefault = false;
</del><ins>+    bool actionMenuHitTestPreventsDefault = false;
</ins><span class="cx">     Element* element = hitTestResult.innerElement();
</span><span class="cx"> 
</span><span class="cx">     if (forImmediateAction) {
</span><span class="cx">         mainFrame.eventHandler().setImmediateActionStage(ImmediateActionStage::PerformedHitTest);
</span><span class="cx">         if (element)
</span><del>-            m_lastActionMenuHitTestPreventsDefault = element-&gt;dispatchMouseForceWillBegin();
</del><ins>+            actionMenuHitTestPreventsDefault = element-&gt;dispatchMouseForceWillBegin();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     WebHitTestResult::Data actionMenuResult(hitTestResult);
</span><span class="lines">@@ -1116,7 +1116,7 @@
</span><span class="cx">     RefPtr&lt;API::Object&gt; userData;
</span><span class="cx">     injectedBundleContextMenuClient().prepareForActionMenu(*this, hitTestResult, userData);
</span><span class="cx"> 
</span><del>-    send(Messages::WebPageProxy::DidPerformActionMenuHitTest(actionMenuResult, forImmediateAction, m_lastActionMenuHitTestPreventsDefault, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())));
</del><ins>+    send(Messages::WebPageProxy::DidPerformActionMenuHitTest(actionMenuResult, forImmediateAction, actionMenuHitTestPreventsDefault, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;WebCore::Range&gt; WebPage::lookupTextAtLocation(FloatPoint locationInViewCooordinates, NSDictionary **options)
</span><span class="lines">@@ -1160,9 +1160,6 @@
</span><span class="cx">     if (!element)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (!m_lastActionMenuHitTestPreventsDefault)
-        return;
-
</del><span class="cx">     float overallForce = stage &lt; 1 ? force : force + stage - 1;
</span><span class="cx">     element-&gt;dispatchMouseForceChanged(overallForce, m_page-&gt;mainFrame().eventHandler().lastMouseDownEvent());
</span><span class="cx"> 
</span><span class="lines">@@ -1189,9 +1186,6 @@
</span><span class="cx">     if (!element)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (!m_lastActionMenuHitTestPreventsDefault)
-        return;
-
</del><span class="cx">     element-&gt;dispatchMouseForceCancelled(m_page-&gt;mainFrame().eventHandler().lastMouseDownEvent());
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>