Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(297)

Issue 185333004: [SVG] Refactor getIntersectionList() and getEnclosureList() (Closed)

Created:
6 years, 9 months ago by f(malita)
Modified:
6 years, 9 months ago
CC:
blink-reviews, krit, bemjb+rendering_chromium.org, dsinclair, zoltan1, eae+blinkwatch, leviw+renderwatch, ed+blinkwatch_opera.com, gyuyoung.kim_webkit.org, jchaffraix+rendering, pdr., Stephen Chennney, rwlbuis
Visibility:
Public.

Description

[SVG] Refactor getIntersectionList() and getEnclosureList() 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 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=168479

Patch Set 1 #

Patch Set 2 : Build fix. #

Total comments: 9

Patch Set 3 : Updated per comments. #

Patch Set 4 : Copyright notice update. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+331 lines, -122 lines) Patch
A LayoutTests/svg/dom/SVGSVGElement-intersection-enclosure.html View 1 2 1 chunk +94 lines, -0 lines 0 comments Download
A LayoutTests/svg/dom/SVGSVGElement-intersection-enclosure-expected.txt View 1 2 1 chunk +104 lines, -0 lines 0 comments Download
M Source/core/rendering/svg/RenderSVGModelObject.h View 1 chunk +0 lines, -3 lines 0 comments Download
M Source/core/rendering/svg/RenderSVGModelObject.cpp View 2 chunks +0 lines, -71 lines 0 comments Download
M Source/core/svg/SVGElement.h View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/svg/SVGGraphicsElement.h View 1 2 3 2 chunks +4 lines, -0 lines 0 comments Download
M Source/core/svg/SVGGraphicsElement.cpp View 1 2 3 4 chunks +30 lines, -18 lines 0 comments Download
M Source/core/svg/SVGSVGElement.h View 1 2 3 2 chunks +6 lines, -4 lines 0 comments Download
M Source/core/svg/SVGSVGElement.cpp View 1 2 3 2 chunks +91 lines, -25 lines 0 comments Download

Messages

Total messages: 15 (0 generated)
f(malita)
6 years, 9 months ago (2014-03-02 16:23:56 UTC) #1
fs
https://codereview.chromium.org/185333004/diff/10010/Source/core/svg/SVGElement.h File Source/core/svg/SVGElement.h (right): https://codereview.chromium.org/185333004/diff/10010/Source/core/svg/SVGElement.h#newcode65 Source/core/svg/SVGElement.h:65: AncestorScope // Used by SVGSVGElemeng::get{Enclosure|Intersection}List() Nit: typo SVGSVGElemeng https://codereview.chromium.org/185333004/diff/10010/Source/core/svg/SVGSVGElement.cpp ...
6 years, 9 months ago (2014-03-03 10:44:32 UTC) #2
Stephen Chennney
One significant issue. https://codereview.chromium.org/185333004/diff/10010/Source/core/svg/SVGSVGElement.cpp File Source/core/svg/SVGSVGElement.cpp (right): https://codereview.chromium.org/185333004/diff/10010/Source/core/svg/SVGSVGElement.cpp#newcode334 Source/core/svg/SVGSVGElement.cpp:334: static bool intersectsAllowingEmpty(const FloatRect& r, const ...
6 years, 9 months ago (2014-03-03 13:00:22 UTC) #3
f(malita)
https://codereview.chromium.org/185333004/diff/10010/Source/core/svg/SVGSVGElement.cpp File Source/core/svg/SVGSVGElement.cpp (right): https://codereview.chromium.org/185333004/diff/10010/Source/core/svg/SVGSVGElement.cpp#newcode334 Source/core/svg/SVGSVGElement.cpp:334: static bool intersectsAllowingEmpty(const FloatRect& r, const FloatRect& other) On ...
6 years, 9 months ago (2014-03-03 14:12:18 UTC) #4
fs
On 2014/03/03 14:12:18, Florin Malita wrote: > https://codereview.chromium.org/185333004/diff/10010/Source/core/svg/SVGSVGElement.cpp > File Source/core/svg/SVGSVGElement.cpp (right): > > https://codereview.chromium.org/185333004/diff/10010/Source/core/svg/SVGSVGElement.cpp#newcode334 ...
6 years, 9 months ago (2014-03-03 15:20:51 UTC) #5
f(malita)
Updated, PTAL.
6 years, 9 months ago (2014-03-04 13:43:57 UTC) #6
fs
On 2014/03/04 13:43:57, Florin Malita wrote: > Updated, PTAL. Looks good to me.
6 years, 9 months ago (2014-03-04 14:17:20 UTC) #7
Stephen Chennney
lgtm with one nit. It's time to add Google to the copyright holders.
6 years, 9 months ago (2014-03-04 14:40:58 UTC) #8
f(malita)
The CQ bit was checked by fmalita@chromium.org
6 years, 9 months ago (2014-03-04 17:27:36 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/fmalita@chromium.org/185333004/50001
6 years, 9 months ago (2014-03-04 17:28:33 UTC) #10
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-05 08:54:22 UTC) #11
commit-bot: I haz the power
Retried try job too often on linux_blink for step(s) webkit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_blink&number=15355
6 years, 9 months ago (2014-03-05 08:54:23 UTC) #12
f(malita)
The CQ bit was checked by fmalita@chromium.org
6 years, 9 months ago (2014-03-05 14:10:22 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/fmalita@chromium.org/185333004/50001
6 years, 9 months ago (2014-03-05 14:10:39 UTC) #14
commit-bot: I haz the power
6 years, 9 months ago (2014-03-05 14:11:09 UTC) #15
Message was sent while issue was closed.
Change committed as 168479

Powered by Google App Engine
This is Rietveld 408576698