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

Unified Diff: third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp

Issue 2490163002: Reland of "Tracking reference filter mutation via SVGElementProxy" (Closed)
Patch Set: Fix double observer unregistration; simplify scope selection; add tests Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp
diff --git a/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp b/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp
index 041f1914cd3145754a62c46196089ce2942d2042..6ac699796981b0e6edd8f111ba41b2c62cdfb1a5 100644
--- a/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp
@@ -36,8 +36,6 @@
#include "core/css/CSSURIValue.h"
#include "core/css/resolver/StyleResolverState.h"
#include "core/frame/UseCounter.h"
-#include "core/layout/svg/ReferenceFilterBuilder.h"
-#include "core/svg/SVGURIReference.h"
namespace blink {
@@ -135,19 +133,10 @@ FilterOperations FilterOperationResolver::createFilterOperations(
countFilterUse(FilterOperation::REFERENCE, state.document());
const CSSURIValue& urlValue = toCSSURIValue(*currValue);
- SVGURLReferenceResolver resolver(urlValue.value(), state.document());
- ReferenceFilterOperation* operation = ReferenceFilterOperation::create(
- urlValue.value(), resolver.fragmentIdentifier());
- if (!resolver.isLocal()) {
- if (!urlValue.loadRequested())
- state.elementStyleResources().addPendingSVGDocument(operation,
- &urlValue);
- else if (urlValue.cachedDocument())
- ReferenceFilterBuilder::setDocumentResourceReference(
- operation,
- new DocumentResourceReference(urlValue.cachedDocument()));
- }
- operations.operations().append(operation);
+ SVGElementProxy& elementProxy =
+ state.elementStyleResources().cachedOrPendingFromValue(urlValue);
+ operations.operations().append(
+ ReferenceFilterOperation::create(urlValue.value(), elementProxy));
continue;
}
« no previous file with comments | « third_party/WebKit/Source/core/css/resolver/ElementStyleResources.cpp ('k') | third_party/WebKit/Source/core/dom/Document.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698