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;
};