diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp
index 15302c1230..5ce9555a7f 100644
--- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp
+++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp
@@ -726,6 +726,11 @@ void CanvasRenderingContext2D::reset_transform()
m_drawing_state.transform = {};
}
+void CanvasRenderingContext2D::clip()
+{
+ // FIXME: Implement.
+}
+
// https://html.spec.whatwg.org/multipage/canvas.html#check-the-usability-of-the-image-argument
DOM::ExceptionOr check_usability_of_image(CanvasImageSource const& image)
{
diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h
index b86ee07ef0..efdbc55fff 100644
--- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h
+++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h
@@ -101,6 +101,7 @@ public:
void transform(double a, double b, double c, double d, double e, double f);
void set_transform(double a, double b, double c, double d, double e, double f);
void reset_transform();
+ void clip();
private:
explicit CanvasRenderingContext2D(HTMLCanvasElement&);
diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl
index 6806b05658..f70159c8f3 100644
--- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl
+++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl
@@ -60,4 +60,9 @@ interface CanvasRenderingContext2D {
undefined setTransform(double a, double b, double c, double d, double e, double f);
undefined resetTransform();
+ // undefined clip(optional CanvasFillRule fillRule = "nonzero");
+ // undefined clip(Path2D path, optional CanvasFillRule fillRule = "nonzero");
+ // FIXME: Replace this with the two definitions above.
+ undefined clip();
+
};