diff --git a/Userland/Libraries/LibWeb/HTML/Canvas/CanvasDrawPath.h b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasDrawPath.h index 0742742ac7..eba6d8daca 100644 --- a/Userland/Libraries/LibWeb/HTML/Canvas/CanvasDrawPath.h +++ b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasDrawPath.h @@ -18,14 +18,14 @@ public: virtual void begin_path() = 0; - virtual void fill(DeprecatedString const& fill_rule) = 0; - virtual void fill(Path2D& path, DeprecatedString const& fill_rule) = 0; + virtual void fill(StringView fill_rule) = 0; + virtual void fill(Path2D& path, StringView fill_rule) = 0; virtual void stroke() = 0; virtual void stroke(Path2D const& path) = 0; - virtual void clip(DeprecatedString const& fill_rule) = 0; - virtual void clip(Path2D& path, DeprecatedString const& fill_rule) = 0; + virtual void clip(StringView fill_rule) = 0; + virtual void clip(Path2D& path, StringView fill_rule) = 0; protected: CanvasDrawPath() = default; diff --git a/Userland/Libraries/LibWeb/HTML/Canvas/CanvasFillStrokeStyles.h b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasFillStrokeStyles.h index f086c3752d..84b32cd0e6 100644 --- a/Userland/Libraries/LibWeb/HTML/Canvas/CanvasFillStrokeStyles.h +++ b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasFillStrokeStyles.h @@ -9,7 +9,7 @@ #pragma once -#include +#include #include #include #include @@ -21,12 +21,12 @@ template class CanvasFillStrokeStyles { public: ~CanvasFillStrokeStyles() = default; - using FillOrStrokeStyleVariant = Variant, JS::Handle>; + using FillOrStrokeStyleVariant = Variant, JS::Handle>; static CanvasState::FillOrStrokeStyle to_canvas_state_fill_or_stroke_style(auto const& style) { return style.visit( - [&](DeprecatedString const& string) -> CanvasState::FillOrStrokeStyle { + [&](String const& string) -> CanvasState::FillOrStrokeStyle { return Gfx::Color::from_string(string).value_or(Color::Black); }, [&](auto fill_or_stroke_style) -> CanvasState::FillOrStrokeStyle { diff --git a/Userland/Libraries/LibWeb/HTML/Canvas/CanvasState.h b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasState.h index 5af0e676c3..e5d460ffc3 100644 --- a/Userland/Libraries/LibWeb/HTML/Canvas/CanvasState.h +++ b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasState.h @@ -52,13 +52,13 @@ public: Optional as_color() const; Gfx::Color to_color_but_fixme_should_accept_any_paint_style() const; - using JsFillOrStrokeStyle = Variant, JS::Handle>; + using JsFillOrStrokeStyle = Variant, JS::Handle>; JsFillOrStrokeStyle to_js_fill_or_stroke_style() const { return m_fill_or_stroke_style.visit( [&](Gfx::Color color) -> JsFillOrStrokeStyle { - return color.to_deprecated_string(); + return MUST(String::from_deprecated_string(color.to_deprecated_string())); }, [&](auto handle) -> JsFillOrStrokeStyle { return handle; diff --git a/Userland/Libraries/LibWeb/HTML/Canvas/CanvasText.h b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasText.h index 5370339f91..220b5b9c93 100644 --- a/Userland/Libraries/LibWeb/HTML/Canvas/CanvasText.h +++ b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasText.h @@ -17,9 +17,9 @@ class CanvasText { public: virtual ~CanvasText() = default; - virtual void fill_text(DeprecatedString const&, float x, float y, Optional max_width) = 0; - virtual void stroke_text(DeprecatedString const&, float x, float y, Optional max_width) = 0; - virtual JS::NonnullGCPtr measure_text(DeprecatedString const& text) = 0; + virtual void fill_text(StringView, float x, float y, Optional max_width) = 0; + virtual void stroke_text(StringView, float x, float y, Optional max_width) = 0; + virtual JS::NonnullGCPtr measure_text(StringView text) = 0; protected: CanvasText() = default; diff --git a/Userland/Libraries/LibWeb/HTML/Canvas/CanvasTextDrawingStyles.h b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasTextDrawingStyles.h index b21c408129..71288a8eeb 100644 --- a/Userland/Libraries/LibWeb/HTML/Canvas/CanvasTextDrawingStyles.h +++ b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasTextDrawingStyles.h @@ -36,7 +36,7 @@ public: font_style_value.font_families()->to_string()); } - void set_font(DeprecatedString const& font) + void set_font(StringView font) { // The font IDL attribute, on setting, must be parsed as a CSS <'font'> value (but without supporting property-independent style sheet syntax like 'inherit'), // and the resulting font must be assigned to the context, with the 'line-height' component forced to 'normal', with the 'font-size' component converted to CSS pixels, diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp index cc63862fa9..25d8949f00 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp @@ -195,7 +195,7 @@ Optional CanvasRenderingContext2D::antialiased_painter return {}; } -void CanvasRenderingContext2D::fill_text(DeprecatedString const& text, float x, float y, Optional max_width) +void CanvasRenderingContext2D::fill_text(StringView text, float x, float y, Optional max_width) { if (max_width.has_value() && max_width.value() <= 0) return; @@ -239,7 +239,7 @@ void CanvasRenderingContext2D::fill_text(DeprecatedString const& text, float x, }); } -void CanvasRenderingContext2D::stroke_text(DeprecatedString const& text, float x, float y, Optional max_width) +void CanvasRenderingContext2D::stroke_text(StringView text, float x, float y, Optional max_width) { // FIXME: Stroke the text instead of filling it. fill_text(text, x, y, max_width); @@ -299,12 +299,12 @@ void CanvasRenderingContext2D::fill_internal(Gfx::Path const& path, Gfx::Painter }); } -void CanvasRenderingContext2D::fill(DeprecatedString const& fill_rule) +void CanvasRenderingContext2D::fill(StringView fill_rule) { return fill_internal(path(), parse_fill_rule(fill_rule)); } -void CanvasRenderingContext2D::fill(Path2D& path, DeprecatedString const& fill_rule) +void CanvasRenderingContext2D::fill(Path2D& path, StringView fill_rule) { auto transformed_path = path.path().copy_transformed(drawing_state().transform); return fill_internal(transformed_path, parse_fill_rule(fill_rule)); @@ -386,7 +386,7 @@ void CanvasRenderingContext2D::reset_to_default_state() } // https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-measuretext -JS::NonnullGCPtr CanvasRenderingContext2D::measure_text(DeprecatedString const& text) +JS::NonnullGCPtr CanvasRenderingContext2D::measure_text(StringView text) { // The measureText(text) method steps are to run the text preparation // algorithm, passing it text and the object implementing the CanvasText @@ -430,7 +430,7 @@ RefPtr CanvasRenderingContext2D::current_font() { // When font style value is empty load default font if (!drawing_state().font_style_value) { - set_font("10px sans-serif"); + set_font("10px sans-serif"sv); } // Get current loaded font @@ -533,13 +533,13 @@ void CanvasRenderingContext2D::clip_internal(Gfx::Path& path, Gfx::Painter::Wind drawing_state().clip = CanvasClip { path, winding_rule }; } -void CanvasRenderingContext2D::clip(DeprecatedString const& fill_rule) +void CanvasRenderingContext2D::clip(StringView fill_rule) { auto transformed_path = path().copy_transformed(drawing_state().transform); return clip_internal(transformed_path, parse_fill_rule(fill_rule)); } -void CanvasRenderingContext2D::clip(Path2D& path, DeprecatedString const& fill_rule) +void CanvasRenderingContext2D::clip(Path2D& path, StringView fill_rule) { auto transformed_path = path.path().copy_transformed(drawing_state().transform); return clip_internal(transformed_path, parse_fill_rule(fill_rule)); diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h index 9a99f446e2..7402c2c68e 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h @@ -73,11 +73,11 @@ public: virtual void stroke() override; virtual void stroke(Path2D const& path) override; - virtual void fill_text(DeprecatedString const&, float x, float y, Optional max_width) override; - virtual void stroke_text(DeprecatedString const&, float x, float y, Optional max_width) override; + virtual void fill_text(StringView, float x, float y, Optional max_width) override; + virtual void stroke_text(StringView, float x, float y, Optional max_width) override; - virtual void fill(DeprecatedString const& fill_rule) override; - virtual void fill(Path2D& path, DeprecatedString const& fill_rule) override; + virtual void fill(StringView fill_rule) override; + virtual void fill(Path2D& path, StringView fill_rule) override; virtual JS::GCPtr create_image_data(int width, int height) const override; virtual WebIDL::ExceptionOr> get_image_data(int x, int y, int width, int height) const override; @@ -87,10 +87,10 @@ public: JS::NonnullGCPtr canvas_for_binding() const; - virtual JS::NonnullGCPtr measure_text(DeprecatedString const& text) override; + virtual JS::NonnullGCPtr measure_text(StringView text) override; - virtual void clip(DeprecatedString const& fill_rule) override; - virtual void clip(Path2D& path, DeprecatedString const& fill_rule) override; + virtual void clip(StringView fill_rule) override; + virtual void clip(Path2D& path, StringView fill_rule) override; virtual bool image_smoothing_enabled() const override; virtual void set_image_smoothing_enabled(bool) override; diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl index 588d0bf5f0..73d03efb45 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl @@ -20,7 +20,7 @@ enum CanvasTextAlign { "start", "end", "left", "right", "center" }; enum CanvasTextBaseline { "top", "hanging", "middle", "alphabetic", "ideographic", "bottom" }; // https://html.spec.whatwg.org/multipage/canvas.html#canvasrenderingcontext2d -[Exposed=Window, UseDeprecatedAKString] +[Exposed=Window] interface CanvasRenderingContext2D { [ImplementedAs=canvas_for_binding] readonly attribute HTMLCanvasElement canvas; };