Title: [223882] trunk/Source/WebCore
- Revision
- 223882
- Author
- [email protected]
- 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 <[email protected]>
+
+ 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 <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes