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

Issue 1920833002: Don't force layout of descendants of SVG containers needing self-layout (Closed)

Created:
4 years, 8 months ago by fs
Modified:
4 years, 7 months ago
Reviewers:
pdr., Stephen Chennney
CC:
blink-reviews, blink-reviews-layout_chromium.org, chromium-reviews, krit, eae+blinkwatch, f(malita), gyuyoung2, jchaffraix+rendering, kouhei+svg_chromium.org, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, pdr+svgwatchlist_chromium.org, rwlbuis, Stephen Chennney, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Don't force layout of descendants of SVG containers needing self-layout There isn't much "layout" required for a generic SVG container - it is sensitive to changes to its descendants and any impact a filter it itself references has. We would however always relayout the entire subtree of a container that had been marked as needing layout. Like he code removed by https://codereview.chromium.org/1907273002, this remaining part of the condition is primarily a remnant of the old way of performing paint invalidation. This CL changes to not force layout unconditionally based on the self-needs-layout flag, but instead relies on the scale-factor-changed flag (and of course specific marking of descendants) to handle this job. To achieve this, rudimentary scale-factor-changed "detection" is added to LayoutSVGRoot, as well as code to propagate this state to descendants. LayoutSVGResourceMarker is modified in a similar fashion. This is needed to counter-act the removal of the forced layout, since previously this would propagate to descendants (unconditionally) by forcing layout in both the root and containers. This effect is now achieved (for the root) by using the scale-factor-changed signal instead. This signal will be improved in future CLs. BUG=603956 Committed: https://crrev.com/6260c0fbdec366ad2c78c3ba5cb9be297859dbef Cr-Commit-Position: refs/heads/master@{#389742}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Clarify comments. Make some methods private. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+26 lines, -11 lines) Patch
M third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp View 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMarker.h View 1 2 chunks +4 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMarker.cpp View 1 1 chunk +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.h View 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp View 1 3 chunks +7 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/SVGLayoutSupport.cpp View 1 chunk +4 lines, -2 lines 0 comments Download

Messages

Total messages: 12 (4 generated)
fs
4 years, 7 months ago (2016-04-25 14:26:42 UTC) #2
fs
Some additional context/background: https://bugs.webkit.org/show_bug.cgi?id=14003
4 years, 7 months ago (2016-04-25 15:12:20 UTC) #3
pdr.
This is a little messy but I see the light at the end of the ...
4 years, 7 months ago (2016-04-26 00:07:42 UTC) #4
pdr.
On 2016/04/25 at 15:12:20, fs wrote: > Some additional context/background: https://bugs.webkit.org/show_bug.cgi?id=14003 Yikes! I think your ...
4 years, 7 months ago (2016-04-26 00:09:10 UTC) #5
fs
On 2016/04/26 at 00:07:42, pdr wrote: > This is a little messy but I see ...
4 years, 7 months ago (2016-04-26 08:15:07 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1920833002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1920833002/20001
4 years, 7 months ago (2016-04-26 10:30:48 UTC) #9
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 7 months ago (2016-04-26 10:34:50 UTC) #10
commit-bot: I haz the power
4 years, 7 months ago (2016-04-26 10:36:18 UTC) #12
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/6260c0fbdec366ad2c78c3ba5cb9be297859dbef
Cr-Commit-Position: refs/heads/master@{#389742}

Powered by Google App Engine
This is Rietveld 408576698