Title: [172984] branches/safari-600.1-branch/Source/WebCore
Revision
172984
Author
[email protected]
Date
2014-08-26 16:59:29 -0700 (Tue, 26 Aug 2014)

Log Message

Merge r172969. <rdar://problem/17435564>

Modified Paths

Diff

Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (172983 => 172984)


--- branches/safari-600.1-branch/Source/WebCore/ChangeLog	2014-08-26 23:57:18 UTC (rev 172983)
+++ branches/safari-600.1-branch/Source/WebCore/ChangeLog	2014-08-26 23:59:29 UTC (rev 172984)
@@ -1,3 +1,26 @@
+2014-08-26  Dana Burkart  <[email protected]>
+
+        Merge r172969. <rdar://problem/17435564>
+
+    2014-08-26  Simon Fraser  <[email protected]>
+    
+            Ensure that layout is up-to-date before hit testing
+            https://bugs.webkit.org/show_bug.cgi?id=136242
+            rdar://problem/17435564
+    
+            Reviewed by Tim Horton.
+            
+            Various code paths can call into RenderView::hitTest() but fail to
+            ensure that layout is up-to-date. This is a conservative change that
+            fixes the issue for callers of EventHandler::hitTestResultAtPoint(),
+            including WebPage::acceptsFirstMouse() and WebFrame::hitTest().
+            
+            This change is not general enough that we can ASSERT(!needsLayout())
+            in RenderView::hitTest() yet.
+            
+            * page/EventHandler.cpp:
+            (WebCore::EventHandler::hitTestResultAtPoint):
+    
 2014-08-22  Lucas Forschler  <[email protected]>
 
         Merge r172854

Modified: branches/safari-600.1-branch/Source/WebCore/page/EventHandler.cpp (172983 => 172984)


--- branches/safari-600.1-branch/Source/WebCore/page/EventHandler.cpp	2014-08-26 23:57:18 UTC (rev 172983)
+++ branches/safari-600.1-branch/Source/WebCore/page/EventHandler.cpp	2014-08-26 23:59:29 UTC (rev 172984)
@@ -1077,6 +1077,8 @@
     if (!m_frame.contentRenderer())
         return result;
 
+    m_frame.document()->updateLayout();
+    
     // hitTestResultAtPoint is specifically used to hitTest into all frames, thus it always allows child frame content.
     HitTestRequest request(hitType | HitTestRequest::AllowChildFrameContent);
     m_frame.contentRenderer()->hitTest(request, result);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to