Index: Source/modules/canvas2d/CanvasRenderingContext2D.cpp |
diff --git a/Source/modules/canvas2d/CanvasRenderingContext2D.cpp b/Source/modules/canvas2d/CanvasRenderingContext2D.cpp |
index 4e3e06d2f42195553adec4d946b0c6b8eb677e55..df3a881ba7f81f8a6804b825b0acf515fff440e0 100644 |
--- a/Source/modules/canvas2d/CanvasRenderingContext2D.cpp |
+++ b/Source/modules/canvas2d/CanvasRenderingContext2D.cpp |
@@ -663,6 +663,25 @@ void CanvasRenderingContext2D::setFilter(const String& filterString) |
modifiableState().setFilter(filterValue.release()); |
} |
+String CanvasRenderingContext2D::backdropFilter() const |
+{ |
+ return state().unparsedBackdropFilter(); |
+} |
+ |
+void CanvasRenderingContext2D::setBackdropFilter(const String& backdropFilterString) |
+{ |
+ if (backdropFilterString == state().unparsedBackdropFilter()) |
+ return; |
+ |
+ RefPtrWillBeRawPtr<CSSValue> backdropFilterValue = CSSParser::parseSingleValue(CSSPropertyBackdropFilter, backdropFilterString, CSSParserContext(HTMLStandardMode, 0)); |
+ |
+ if (!backdropFilterValue || backdropFilterValue->isInitialValue() || backdropFilterValue->isInheritedValue()) |
+ return; |
+ |
+ modifiableState().setUnparsedBackdropFilter(backdropFilterString); |
+ modifiableState().setBackdropFilter(backdropFilterValue.release()); |
+} |
+ |
PassRefPtrWillBeRawPtr<SVGMatrixTearOff> CanvasRenderingContext2D::currentTransform() const |
{ |
return SVGMatrixTearOff::create(state().transform()); |