| 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 c7dde59b21da6ba0d31ee5eca23aafdafd310dbc..74458c84a2802d5bb634b2b560a8820d08d631a5 100644
|
| --- a/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp
|
| +++ b/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp
|
| @@ -32,8 +32,8 @@
|
|
|
| #include "core/css/CSSFunctionValue.h"
|
| #include "core/css/CSSPrimitiveValueMappings.h"
|
| -#include "core/css/CSSShadowValue.h"
|
| #include "core/css/CSSURIValue.h"
|
| +#include "core/css/resolver/StyleBuilderConverter.h"
|
| #include "core/css/resolver/StyleResolverState.h"
|
| #include "core/frame/UseCounter.h"
|
|
|
| @@ -200,18 +200,13 @@ FilterOperations FilterOperationResolver::createFilterOperations(
|
| break;
|
| }
|
| case CSSValueDropShadow: {
|
| - const CSSShadowValue& item = toCSSShadowValue(filterValue->item(0));
|
| - IntPoint location(item.x->computeLength<int>(conversionData),
|
| - item.y->computeLength<int>(conversionData));
|
| - int blur =
|
| - item.blur ? item.blur->computeLength<int>(conversionData) : 0;
|
| - Color shadowColor = Color::black;
|
| - if (item.color)
|
| - shadowColor = state.document().textLinkColors().colorFromCSSValue(
|
| - *item.color, state.style()->color());
|
| -
|
| + ShadowData shadow =
|
| + StyleBuilderConverter::convertShadow(state, filterValue->item(0));
|
| + // TODO(fs): Resolve 'currentcolor' when constructing the filter chain.
|
| + if (shadow.color().isCurrentColor())
|
| + shadow.overrideColor(state.style()->color());
|
| operations.operations().push_back(
|
| - DropShadowFilterOperation::create(location, blur, shadowColor));
|
| + DropShadowFilterOperation::create(shadow));
|
| break;
|
| }
|
| default:
|
|
|