Changeset 223882 in webkit


Ignore:
Timestamp:
Oct 24, 2017 12:41:39 AM (6 years ago)
Author:
rniwa@webkit.org
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):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r223881 r223882  
     12017-10-24  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        RenderSVGModelObject::checkIntersection triggers layout
     4        https://bugs.webkit.org/show_bug.cgi?id=178710
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Don't trigger a layout inside getElementCTM. Update the layout upfront in getEnclosureList.
     9
     10        * rendering/svg/RenderSVGModelObject.cpp:
     11        (WebCore::getElementCTM):
     12        * svg/SVGSVGElement.cpp:
     13        (WebCore::SVGSVGElement::getEnclosureList):
     14
    1152017-10-24  Nan Wang  <n_wang@apple.com>
    216
  • trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp

    r200041 r223882  
    116116{
    117117    ASSERT(element);
    118     element->document().updateLayoutIgnorePendingStylesheets();
    119118
    120119    SVGElement* stopAtElement = SVGLocatable::nearestViewportElement(element);
  • trunk/Source/WebCore/svg/SVGSVGElement.cpp

    r223802 r223882  
    342342Ref<NodeList> SVGSVGElement::getEnclosureList(SVGRect& rect, SVGElement* referenceElement)
    343343{
     344    document().updateLayoutIgnorePendingStylesheets();
    344345    return collectIntersectionOrEnclosureList(rect, referenceElement, checkEnclosure);
    345346}
Note: See TracChangeset for help on using the changeset viewer.