Title: [165200] branches/safari-537.75-branch/Source/WebCore

Diff

Modified: branches/safari-537.75-branch/Source/WebCore/ChangeLog (165199 => 165200)


--- branches/safari-537.75-branch/Source/WebCore/ChangeLog	2014-03-06 19:33:51 UTC (rev 165199)
+++ branches/safari-537.75-branch/Source/WebCore/ChangeLog	2014-03-06 19:40:06 UTC (rev 165200)
@@ -1,3 +1,24 @@
+2014-03-06  Matthew Hanson  <[email protected]>
+
+        Merge r155071.
+
+    2013-09-04  Pratik Solanki  <[email protected]>
+
+            Document::updateHoverActiveState() should allow for deferred style recalcs
+            https://bugs.webkit.org/show_bug.cgi?id=120700
+
+            Reviewed by Simon Fraser.
+
+            Add an extra argument to Document::updateHoverActiveState() to specify if a style recalc
+            should be done. The default value keeps the current behavior of doing a style recalc. iOS
+            touch handling code will pass in DeferRecalcStyleIfNeeded to avoid the work.
+
+            No new tests because no functional changes.
+
+            * dom/Document.cpp:
+            (WebCore::Document::updateHoverActiveState):
+            * dom/Document.h:
+
 2014-03-05  Matthew Hanson  <[email protected]>
 
         Merge r158802.

Modified: branches/safari-537.75-branch/Source/WebCore/dom/Document.cpp (165199 => 165200)


--- branches/safari-537.75-branch/Source/WebCore/dom/Document.cpp	2014-03-06 19:33:51 UTC (rev 165199)
+++ branches/safari-537.75-branch/Source/WebCore/dom/Document.cpp	2014-03-06 19:40:06 UTC (rev 165200)
@@ -5799,7 +5799,7 @@
     return 0;
 }
 
-void Document::updateHoverActiveState(const HitTestRequest& request, Element* innerElement, const PlatformMouseEvent* event)
+void Document::updateHoverActiveState(const HitTestRequest& request, Element* innerElement, const PlatformMouseEvent* event, StyleResolverUpdateFlag updateFlag)
 {
     ASSERT(!request.readOnly());
 
@@ -5943,7 +5943,9 @@
         }
     }
 
-    updateStyleIfNeeded();
+    ASSERT(updateFlag == RecalcStyleIfNeeded || updateFlag == DeferRecalcStyleIfNeeded);
+    if (updateFlag == RecalcStyleIfNeeded)
+        updateStyleIfNeeded();
 }
 
 bool Document::haveStylesheetsLoaded() const

Modified: branches/safari-537.75-branch/Source/WebCore/dom/Document.h (165199 => 165200)


--- branches/safari-537.75-branch/Source/WebCore/dom/Document.h	2014-03-06 19:33:51 UTC (rev 165199)
+++ branches/safari-537.75-branch/Source/WebCore/dom/Document.h	2014-03-06 19:40:06 UTC (rev 165200)
@@ -687,7 +687,7 @@
     void hoveredElementDidDetach(Element*);
     void elementInActiveChainDidDetach(Element*);
 
-    void updateHoverActiveState(const HitTestRequest&, Element*, const PlatformMouseEvent* = 0);
+    void updateHoverActiveState(const HitTestRequest&, Element*, const PlatformMouseEvent* = 0, StyleResolverUpdateFlag = RecalcStyleIfNeeded);
 
     // Updates for :target (CSS3 selector).
     void setCSSTarget(Element*);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to