|
Reland of "Tracking reference filter mutation via SVGElementProxy"
This introduces SVGElementProxy - a new piece with the functionality of
DocumentResourceReference and the ReferenceFilterBuilder merged. It
provides the means to track clients of a certain element (only
SVGFilterElements for now, but will likely be extended to other types if
it ends up sticking.) An SVGElementProxy is created, and primarily
owned, by CSSURIValue. The proxy also handles loading of a resource
document, if requested.
Clients are SVGResourceClients, like before, with methods/callbacks
renamed. Some of the old functionality of SVGResourceClient has either
been moved to clients, to the proxy or been replaced with different
solutions.
Mutations to the element/subtree is signaled separately from any
potential changes to the actual reference (anything that might
invalidate the element reference.)
Fixed an issue from [1] where an observer would be removed too early if
there was several clients sharing it, causing crashes.
[1] https://codereview.chromium.org/2401343002
BUG= 439970
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Committed: https://crrev.com/c5de692783f306d25186d46039f8541c9c4ebbe0
Cr-Commit-Position: refs/heads/master@{#431235}
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+634 lines, -694 lines) |
Patch |
|
A |
third_party/WebKit/LayoutTests/css3/filters/multiple-references-id-mutate-crash.html
|
View
|
1
|
1 chunk |
+16 lines, -0 lines |
0 comments
|
Download
|
|
A |
third_party/WebKit/LayoutTests/css3/filters/multiple-references-id-mutate-crash-2.html
|
View
|
1
|
1 chunk |
+18 lines, -0 lines |
0 comments
|
Download
|
|
A |
third_party/WebKit/LayoutTests/css3/filters/multiple-references-id-mutate-crash-2-expected.txt
|
View
|
1
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
A |
third_party/WebKit/LayoutTests/css3/filters/multiple-references-id-mutate-crash-expected.txt
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/css/CSSURIValue.h
|
View
|
|
1 chunk |
+5 lines, -8 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/css/CSSURIValue.cpp
|
View
|
|
2 chunks |
+15 lines, -15 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/css/resolver/ElementStyleResources.h
|
View
|
|
3 chunks |
+2 lines, -5 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/css/resolver/ElementStyleResources.cpp
|
View
|
|
3 chunks |
+11 lines, -24 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp
|
View
|
|
2 chunks |
+4 lines, -15 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/dom/Document.h
|
View
|
|
4 chunks |
+0 lines, -12 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/dom/Document.cpp
|
View
|
|
4 chunks |
+0 lines, -31 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/dom/Element.h
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/dom/Element.cpp
|
View
|
|
3 chunks |
+1 line, -9 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/dom/Node.h
|
View
|
|
3 chunks |
+14 lines, -25 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/dom/Node.cpp
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/dom/StyleChangeReason.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/dom/StyleChangeReason.cpp
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/fetch/BUILD.gn
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
D |
third_party/WebKit/Source/core/fetch/DocumentResourceReference.h
|
View
|
|
1 chunk |
+0 lines, -62 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/frame/FrameView.cpp
|
View
|
|
1 chunk |
+0 lines, -13 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/layout/svg/BUILD.gn
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.h
|
View
|
|
4 chunks |
+5 lines, -6 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp
|
View
|
|
7 chunks |
+19 lines, -46 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceFilter.h
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceFilter.cpp
|
View
|
|
2 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
|
D |
third_party/WebKit/Source/core/layout/svg/ReferenceFilterBuilder.h
|
View
|
|
1 chunk |
+0 lines, -60 lines |
0 comments
|
Download
|
|
D |
third_party/WebKit/Source/core/layout/svg/ReferenceFilterBuilder.cpp
|
View
|
|
1 chunk |
+0 lines, -95 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/paint/FilterEffectBuilder.cpp
|
View
|
|
2 chunks |
+7 lines, -7 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/paint/PaintLayer.h
|
View
|
|
6 chunks |
+2 lines, -7 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
View
|
|
11 chunks |
+31 lines, -73 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/paint/PaintLayerFilterInfo.h
|
View
|
|
2 chunks |
+6 lines, -4 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/paint/PaintLayerFilterInfo.cpp
|
View
|
|
2 chunks |
+22 lines, -8 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/style/FilterOperation.h
|
View
|
|
3 chunks |
+13 lines, -14 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/style/FilterOperation.cpp
|
View
|
|
3 chunks |
+22 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/style/FilterOperations.h
|
View
|
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/style/FilterOperations.cpp
|
View
|
|
2 chunks |
+14 lines, -3 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/svg/BUILD.gn
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/svg/SVGDocumentExtensions.h
|
View
|
|
2 chunks |
+3 lines, -4 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/svg/SVGDocumentExtensions.cpp
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
A |
third_party/WebKit/Source/core/svg/SVGElementProxy.h
|
View
|
|
1 chunk |
+138 lines, -0 lines |
0 comments
|
Download
|
|
A |
third_party/WebKit/Source/core/svg/SVGElementProxy.cpp
|
View
|
1
|
1 chunk |
+196 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/svg/SVGFilterElement.h
|
View
|
|
3 chunks |
+3 lines, -4 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/svg/SVGFilterElement.cpp
|
View
|
|
4 chunks |
+7 lines, -17 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/svg/SVGResourceClient.h
|
View
|
|
1 chunk |
+9 lines, -18 lines |
0 comments
|
Download
|
|
D |
third_party/WebKit/Source/core/svg/SVGResourceClient.cpp
|
View
|
|
1 chunk |
+0 lines, -86 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.h
|
View
|
|
3 chunks |
+8 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
|
View
|
|
2 chunks |
+23 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp
|
View
|
|
2 chunks |
+1 line, -9 lines |
0 comments
|
Download
|
Total messages: 16 (10 generated)
|