diff --git a/Tests/LibWeb/Text/expected/scroll-window-using-wheel-event.txt b/Tests/LibWeb/Text/expected/scroll-window-using-wheel-event.txt
new file mode 100644
index 00000000000..7965a7952bc
--- /dev/null
+++ b/Tests/LibWeb/Text/expected/scroll-window-using-wheel-event.txt
@@ -0,0 +1 @@
+ new scrollY: 100
diff --git a/Tests/LibWeb/Text/input/scroll-window-using-wheel-event.html b/Tests/LibWeb/Text/input/scroll-window-using-wheel-event.html
new file mode 100644
index 00000000000..10e53c7d0a7
--- /dev/null
+++ b/Tests/LibWeb/Text/input/scroll-window-using-wheel-event.html
@@ -0,0 +1,54 @@
+
+
+
+
+
diff --git a/Userland/Libraries/LibWeb/Painting/ViewportPaintable.cpp b/Userland/Libraries/LibWeb/Painting/ViewportPaintable.cpp
index 8cce3ea837b..dc3c6841296 100644
--- a/Userland/Libraries/LibWeb/Painting/ViewportPaintable.cpp
+++ b/Userland/Libraries/LibWeb/Painting/ViewportPaintable.cpp
@@ -515,6 +515,11 @@ void ViewportPaintable::recompute_selection_states()
}
}
+bool ViewportPaintable::handle_mousewheel(Badge, CSSPixelPoint, unsigned, unsigned, int, int)
+{
+ return false;
+}
+
void ViewportPaintable::visit_edges(Visitor& visitor)
{
Base::visit_edges(visitor);
diff --git a/Userland/Libraries/LibWeb/Painting/ViewportPaintable.h b/Userland/Libraries/LibWeb/Painting/ViewportPaintable.h
index 6708c6e5c2e..e91d8c3d103 100644
--- a/Userland/Libraries/LibWeb/Painting/ViewportPaintable.h
+++ b/Userland/Libraries/LibWeb/Painting/ViewportPaintable.h
@@ -34,6 +34,8 @@ public:
JS::GCPtr selection() const;
void recompute_selection_states();
+ bool handle_mousewheel(Badge, CSSPixelPoint, unsigned, unsigned, int wheel_delta_x, int wheel_delta_y) override;
+
private:
void build_stacking_context_tree();