Title: [223882] trunk/Source/WebCore
Revision
223882
Author
rn...@webkit.org
Date
2017-10-24 00:41:39 -0700 (Tue, 24 Oct 2017)

Log Message

RenderSVGModelObject::checkIntersection triggers layout
https://bugs.webkit.org/show_bug.cgi?id=178710

Reviewed by Antti Koivisto.

Don't trigger a layout inside getElementCTM. Update the layout upfront in getEnclosureList.

* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::getElementCTM):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::getEnclosureList):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (223881 => 223882)


--- trunk/Source/WebCore/ChangeLog	2017-10-24 07:25:08 UTC (rev 223881)
+++ trunk/Source/WebCore/ChangeLog	2017-10-24 07:41:39 UTC (rev 223882)
@@ -1,3 +1,17 @@
+2017-10-24  Ryosuke Niwa  <rn...@webkit.org>
+
+        RenderSVGModelObject::checkIntersection triggers layout
+        https://bugs.webkit.org/show_bug.cgi?id=178710
+
+        Reviewed by Antti Koivisto.
+
+        Don't trigger a layout inside getElementCTM. Update the layout upfront in getEnclosureList.
+
+        * rendering/svg/RenderSVGModelObject.cpp:
+        (WebCore::getElementCTM):
+        * svg/SVGSVGElement.cpp:
+        (WebCore::SVGSVGElement::getEnclosureList):
+
 2017-10-24  Nan Wang  <n_w...@apple.com>
 
         AX: Crash at -[WebAccessibilityObjectWrapper _accessibilityMinValue] + 24

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp (223881 => 223882)


--- trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp	2017-10-24 07:25:08 UTC (rev 223881)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp	2017-10-24 07:41:39 UTC (rev 223882)
@@ -115,7 +115,6 @@
 static void getElementCTM(SVGElement* element, AffineTransform& transform)
 {
     ASSERT(element);
-    element->document().updateLayoutIgnorePendingStylesheets();
 
     SVGElement* stopAtElement = SVGLocatable::nearestViewportElement(element);
     ASSERT(stopAtElement);

Modified: trunk/Source/WebCore/svg/SVGSVGElement.cpp (223881 => 223882)


--- trunk/Source/WebCore/svg/SVGSVGElement.cpp	2017-10-24 07:25:08 UTC (rev 223881)
+++ trunk/Source/WebCore/svg/SVGSVGElement.cpp	2017-10-24 07:41:39 UTC (rev 223882)
@@ -341,6 +341,7 @@
 
 Ref<NodeList> SVGSVGElement::getEnclosureList(SVGRect& rect, SVGElement* referenceElement)
 {
+    document().updateLayoutIgnorePendingStylesheets();
     return collectIntersectionOrEnclosureList(rect, referenceElement, checkEnclosure);
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to