| 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 5f1a77734e78cc6881f45212d6dd7044236edb54..ade326092eb9962e4192c6c27797ed21162f9d0c 100644
|
| --- a/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp
|
| +++ b/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp
|
| @@ -35,6 +35,7 @@
|
| #include "core/css/resolver/StyleResolverState.h"
|
| #include "core/frame/UseCounter.h"
|
| #include "core/layout/svg/ReferenceFilterBuilder.h"
|
| +#include "core/svg/SVGURIReference.h"
|
|
|
| namespace blink {
|
|
|
| @@ -130,10 +131,9 @@ FilterOperations FilterOperationResolver::createFilterOperations(StyleResolverSt
|
| countFilterUse(FilterOperation::REFERENCE, state.document());
|
|
|
| const CSSURIValue& urlValue = toCSSURIValue(*currValue);
|
| - KURL url = state.document().completeURL(urlValue.url());
|
| -
|
| - ReferenceFilterOperation* operation = ReferenceFilterOperation::create(urlValue.url(), AtomicString(url.fragmentIdentifier()));
|
| - if (!equalIgnoringFragmentIdentifier(url, state.document().url())) {
|
| + 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())
|
|
|