| 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.
|
|
|