• fmalita@chromium.org's avatar
    [SVG] Refactor getIntersectionList() and getEnclosureList() · 28cf22c0
    fmalita@chromium.org authored
    This CL moves most of the implementation out of RenderSVGModelObject and
    into SVGSVGElement (which is the only client). Some notes:
    
    * use the consolidated SVGGraphicsElement::computeCTM() (which is
      accumulating localCoordinateSpaceTransform()s and not
      localToParentTransform()s like the old getElementCTM() did <- root
      cause for the zooming bug)
    * only force a layout update once, at the entry point, instead of on each
      getElementCTM() call.
    * detect the stopping element on the fly, instead of an additional upfront
      ancestor crawl.
    * transforms are now correctly computed relative to the target <svg>
      element instead of the nearest viewport.
    
    BUG=155277
    R=pdr@chromium.org,schenney@chromium.org,fs@opera.com,rob.buis@samsung.com
    
    Review URL: https://codereview.chromium.org/185333004
    
    git-svn-id: svn://svn.chromium.org/blink/trunk@168479 bbb929c8-8fbe-4397-9dbb-9b2b20218538
    28cf22c0
SVGSVGElement-intersection-enclosure-expected.txt 3.48 KB