Index: third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.cpp |
diff --git a/third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.cpp b/third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.cpp |
index 5a37f56c481afe7ba76b546e4f2899b80fb06166..93aeb06dc3463961d3dbc0678ad2a77d192d6f15 100644 |
--- a/third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.cpp |
+++ b/third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.cpp |
@@ -66,9 +66,13 @@ CSSPaintDefinition::CSSPaintDefinition( |
CSSPaintDefinition::~CSSPaintDefinition() {} |
-PassRefPtr<Image> CSSPaintDefinition::paint(const LayoutObject& layoutObject, |
- const IntSize& size, |
- float zoom) { |
+PassRefPtr<Image> CSSPaintDefinition::paint( |
+ const LayoutObject& layoutObject, |
+ const IntSize& size, |
+ float zoom, |
+ const CSSStyleValueVector* paintArguments) { |
+ DCHECK(paintArguments); |
+ |
const IntSize specifiedSize = getSpecifiedSize(size, zoom); |
ScriptState::Scope scope(m_scriptState.get()); |
@@ -99,15 +103,21 @@ PassRefPtr<Image> CSSPaintDefinition::paint(const LayoutObject& layoutObject, |
v8::Local<v8::Value> argv[] = { |
ToV8(renderingContext, m_scriptState->context()->Global(), isolate), |
ToV8(paintSize, m_scriptState->context()->Global(), isolate), |
- ToV8(styleMap, m_scriptState->context()->Global(), isolate)}; |
+ ToV8(styleMap, m_scriptState->context()->Global(), isolate), |
+ ToV8(*paintArguments, m_scriptState->context()->Global(), isolate)}; |
v8::Local<v8::Function> paint = m_paint.newLocal(isolate); |
v8::TryCatch block(isolate); |
block.SetVerbose(true); |
- V8ScriptRunner::callFunction(paint, m_scriptState->getExecutionContext(), |
- instance, 3, argv, isolate); |
+ if (RuntimeEnabledFeatures::cssPaintAPIArgumentsEnabled()) { |
+ V8ScriptRunner::callFunction(paint, m_scriptState->getExecutionContext(), |
+ instance, 4, argv, isolate); |
+ } else { |
+ V8ScriptRunner::callFunction(paint, m_scriptState->getExecutionContext(), |
+ instance, 3, argv, isolate); |
+ } |
// The paint function may have produced an error, in which case produce an |
// invalid image. |