|
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
Total comments: 5
Total comments: 4
|
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
|
Total messages: 14 (3 generated)
|