#include "third_party/blink/renderer/modules/csspaint/css_paint_definition.h"
#include <memory>
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_no_argument_constructor.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_paint_callback.h"
#include "third_party/blink/renderer/core/css/css_computed_style_declaration.h"
#include "third_party/blink/renderer/core/css/cssom/cross_thread_color_value.h"
#include "third_party/blink/renderer/core/css/cssom/cross_thread_unit_value.h"
#include "third_party/blink/renderer/core/css/cssom/css_paint_worklet_input.h"
#include "third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/modules/csspaint/paint_rendering_context_2d.h"
#include "third_party/blink/renderer/modules/csspaint/paint_size.h"
#include "third_party/blink/renderer/platform/bindings/script_state.h"
#include "third_party/blink/renderer/platform/bindings/v8_binding_macros.h"
#include "third_party/blink/renderer/platform/graphics/paint_generated_image.h"
#include "third_party/blink/renderer/platform/wtf/casting.h"
namespace blink {
namespace {
gfx::SizeF GetSpecifiedSize(const gfx::SizeF& size, float zoom) { … }
}
CSSPaintDefinition::CSSPaintDefinition(
ScriptState* script_state,
V8NoArgumentConstructor* constructor,
V8PaintCallback* paint,
const Vector<CSSPropertyID>& native_invalidation_properties,
const Vector<AtomicString>& custom_invalidation_properties,
const Vector<CSSSyntaxDefinition>& input_argument_types,
const PaintRenderingContext2DSettings* context_settings,
PaintWorkletGlobalScope* global_scope)
: … { … }
CSSPaintDefinition::~CSSPaintDefinition() = default;
PaintRecord CSSPaintDefinition::Paint(
const CompositorPaintWorkletInput* compositor_input,
const CompositorPaintWorkletJob::AnimatedPropertyValues&
animated_property_values) { … }
PaintRecord CSSPaintDefinition::Paint(
const gfx::SizeF& container_size,
float zoom,
StylePropertyMapReadOnly* style_map,
const CSSStyleValueVector* paint_arguments) { … }
void CSSPaintDefinition::ApplyAnimatedPropertyOverrides(
PaintWorkletStylePropertyMap* style_map,
const CompositorPaintWorkletJob::AnimatedPropertyValues&
animated_property_values) { … }
void CSSPaintDefinition::MaybeCreatePaintInstance() { … }
void CSSPaintDefinition::Trace(Visitor* visitor) const { … }
}