chromium/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope.idl

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://drafts.css-houdini.org/css-paint-api/#paintworkletglobalscope

[
    Exposed=PaintWorklet,
    Global=(Worklet,PaintWorklet)
] interface PaintWorkletGlobalScope : WorkletGlobalScope {
    [HighEntropy=Direct, Measure] readonly attribute unrestricted double devicePixelRatio;
    [Measure, RaisesException, CallWith=ScriptState] void registerPaint(DOMString name, NoArgumentConstructor paintCtor);
};

// Blink-specific type for paint function
// https://drafts.css-houdini.org/css-paint-api/#paint-definition-paint-function
callback PaintCallback = void (PaintRenderingContext2D renderingContext, PaintSize paintSize, StylePropertyMapReadOnly styleMap, sequence<CSSStyleValue> inputArguments);