From ed03f37ae93d30263337d9cc72c9a820d25adff6 Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Fri, 4 Mar 2022 18:57:29 +0100 Subject: [PATCH] LibWeb: Add CanvasRenderingContext2D's origin-clean flag --- Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h | 3 +++ 2 files changed, 5 insertions(+) diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp index 50d2279f49..aa431eb51f 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp @@ -31,6 +31,7 @@ CanvasRenderingContext2D::~CanvasRenderingContext2D() void CanvasRenderingContext2D::set_fill_style(String style) { + // FIXME: 2. If the given value is a CanvasPattern object that is marked as not origin-clean, then set this's origin-clean flag to false. m_drawing_state.fill_style = Gfx::Color::from_string(style).value_or(Color::Black); } @@ -63,6 +64,7 @@ void CanvasRenderingContext2D::clear_rect(float x, float y, float width, float h void CanvasRenderingContext2D::set_stroke_style(String style) { + // FIXME: 2. If the given value is a CanvasPattern object that is marked as not origin-clean, then set this's origin-clean flag to false. m_drawing_state.stroke_style = Gfx::Color::from_string(style).value_or(Color::Black); } diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h index dede820e9f..14c232f0aa 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h @@ -121,6 +121,9 @@ private: DrawingState m_drawing_state; Vector m_drawing_state_stack; + // https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-origin-clean + bool m_origin_clean { true }; + // https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-context-lost bool m_context_lost { false };