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

Issue 1331053002: Propagate resource-triggered repaints to text node children of <text> (Closed)

Created:
5 years, 3 months ago by fs
Modified:
5 years, 3 months ago
Reviewers:
pdr., chrishtr
CC:
blink-reviews, blink-reviews-layout_chromium.org, 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
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Propagate resource-triggered repaints to text node children of <text> When a paint server is modified, it is marked for layout and its clients are marked for repaint. In the case of <text> (and <tspan> and other text content elements), the text nodes (for which the actual painting is performed) uses their parent (LayoutObject) to get the fill/stroke. This means that if a repaint is requested for all clients of a resource, the text nodes will not be notified. Add and use a new paint invalidation reason for this case: PaintInvalidationSVGResourceChange Handle this reason in LayoutSVGText and LayoutSVGInline. Generalize the ancestorHadPaintInvalidationForLocationChange functionality, renaming it to forcedSubtreeInvalidationWithinContainer. BUG=528159 Committed: https://crrev.com/bb9fb099862cd8adc8b9d5b1702fc7b7d1cd4a37 git-svn-id: svn://svn.chromium.org/blink/trunk@202280 bbb929c8-8fbe-4397-9dbb-9b2b20218538

Patch Set 1 #

Total comments: 5

Patch Set 2 : Use new PaintInv. reason #

Patch Set 3 : Fix debug compilation. #

Total comments: 4

Patch Set 4 : Name/comment updates. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+138 lines, -34 lines) Patch
A LayoutTests/svg/repaint/text-pattern-update.html View 1 chunk +17 lines, -0 lines 0 comments Download
A LayoutTests/svg/repaint/text-pattern-update-2.html View 1 1 chunk +17 lines, -0 lines 0 comments Download
A + LayoutTests/svg/repaint/text-pattern-update-2-expected.txt View 1 1 chunk +9 lines, -8 lines 0 comments Download
A + LayoutTests/svg/repaint/text-pattern-update-expected.txt View 1 chunk +4 lines, -3 lines 0 comments Download
A LayoutTests/svg/repaint/tspan-pattern-update.html View 1 1 chunk +17 lines, -0 lines 0 comments Download
A + LayoutTests/svg/repaint/tspan-pattern-update-expected.txt View 1 1 chunk +5 lines, -6 lines 0 comments Download
M Source/core/layout/LayoutBoxModelObject.cpp View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M Source/core/layout/LayoutObject.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M Source/core/layout/LayoutObject.cpp View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/layout/PaintInvalidationState.h View 1 2 3 2 chunks +3 lines, -3 lines 0 comments Download
M Source/core/layout/PaintInvalidationState.cpp View 1 2 3 5 chunks +9 lines, -8 lines 0 comments Download
M Source/core/layout/svg/LayoutSVGInline.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/layout/svg/LayoutSVGInline.cpp View 1 2 3 1 chunk +19 lines, -0 lines 0 comments Download
M Source/core/layout/svg/LayoutSVGResourceContainer.cpp View 1 1 chunk +6 lines, -1 line 0 comments Download
M Source/core/layout/svg/LayoutSVGText.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/layout/svg/LayoutSVGText.cpp View 1 2 3 3 chunks +21 lines, -1 line 0 comments Download
M Source/platform/graphics/PaintInvalidationReason.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M Source/platform/graphics/PaintInvalidationReason.cpp View 1 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 14 (3 generated)
fs
https://codereview.chromium.org/1331053002/diff/1/Source/core/layout/svg/LayoutSVGResourceContainer.cpp File Source/core/layout/svg/LayoutSVGResourceContainer.cpp (right): https://codereview.chromium.org/1331053002/diff/1/Source/core/layout/svg/LayoutSVGResourceContainer.cpp#newcode174 Source/core/layout/svg/LayoutSVGResourceContainer.cpp:174: // TODO(fs): Allowing LayoutSVGInlineTexts to have should allow them ...
5 years, 3 months ago (2015-09-10 10:41:13 UTC) #2
pdr.
https://codereview.chromium.org/1331053002/diff/1/Source/core/layout/svg/LayoutSVGResourceContainer.cpp File Source/core/layout/svg/LayoutSVGResourceContainer.cpp (right): https://codereview.chromium.org/1331053002/diff/1/Source/core/layout/svg/LayoutSVGResourceContainer.cpp#newcode174 Source/core/layout/svg/LayoutSVGResourceContainer.cpp:174: // TODO(fs): Allowing LayoutSVGInlineTexts to have should allow them ...
5 years, 3 months ago (2015-09-11 06:22:04 UTC) #3
fs
https://codereview.chromium.org/1331053002/diff/1/Source/core/layout/svg/LayoutSVGResourceContainer.cpp File Source/core/layout/svg/LayoutSVGResourceContainer.cpp (right): https://codereview.chromium.org/1331053002/diff/1/Source/core/layout/svg/LayoutSVGResourceContainer.cpp#newcode174 Source/core/layout/svg/LayoutSVGResourceContainer.cpp:174: // TODO(fs): Allowing LayoutSVGInlineTexts to have should allow them ...
5 years, 3 months ago (2015-09-11 16:32:16 UTC) #4
pdr.
On 2015/09/11 at 16:32:16, fs wrote: > https://codereview.chromium.org/1331053002/diff/1/Source/core/layout/svg/LayoutSVGResourceContainer.cpp > File Source/core/layout/svg/LayoutSVGResourceContainer.cpp (right): > > https://codereview.chromium.org/1331053002/diff/1/Source/core/layout/svg/LayoutSVGResourceContainer.cpp#newcode174 ...
5 years, 3 months ago (2015-09-11 18:03:06 UTC) #5
fs
On 2015/09/11 18:03:06, pdr wrote: > On 2015/09/11 at 16:32:16, fs wrote: ... > https://codereview.chromium.org/1331053002/diff/1/Source/core/layout/svg/LayoutSVGResourceContainer.cpp#newcode178 ...
5 years, 3 months ago (2015-09-14 13:38:09 UTC) #6
pdr.
LGTM https://codereview.chromium.org/1331053002/diff/40001/Source/core/layout/PaintInvalidationState.cpp File Source/core/layout/PaintInvalidationState.cpp (right): https://codereview.chromium.org/1331053002/diff/40001/Source/core/layout/PaintInvalidationState.cpp#newcode56 Source/core/layout/PaintInvalidationState.cpp:56: // from our parents will just move the ...
5 years, 3 months ago (2015-09-15 02:33:39 UTC) #8
fs
https://codereview.chromium.org/1331053002/diff/40001/Source/core/layout/PaintInvalidationState.cpp File Source/core/layout/PaintInvalidationState.cpp (right): https://codereview.chromium.org/1331053002/diff/40001/Source/core/layout/PaintInvalidationState.cpp#newcode56 Source/core/layout/PaintInvalidationState.cpp:56: // from our parents will just move the whole ...
5 years, 3 months ago (2015-09-15 08:44:35 UTC) #9
pdr.
lgtm
5 years, 3 months ago (2015-09-15 18:19:56 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1331053002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1331053002/60001
5 years, 3 months ago (2015-09-15 18:20:14 UTC) #12
commit-bot: I haz the power
Committed patchset #4 (id:60001) as https://src.chromium.org/viewvc/blink?view=rev&revision=202280
5 years, 3 months ago (2015-09-15 18:28:14 UTC) #13
commit-bot: I haz the power
5 years, 3 months ago (2015-09-23 12:47:13 UTC) #14
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/bb9fb099862cd8adc8b9d5b1702fc7b7d1cd4a37

Powered by Google App Engine
This is Rietveld 408576698