From 2b7e7cc1ad2c0c96ddf1b7e899bc4814b92dc2f7 Mon Sep 17 00:00:00 2001 From: Aliaksandr Kalenik Date: Mon, 19 Feb 2024 00:07:42 +0100 Subject: [PATCH] LibWeb: Implement ResizeObserver::disconnect() --- .../expected/ResizeObserver/disconnect.txt | 2 + .../Text/input/ResizeObserver/disconnect.html | 72 +++++++++++++++++++ .../LibWeb/ResizeObserver/ResizeObserver.cpp | 8 ++- 3 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 Tests/LibWeb/Text/expected/ResizeObserver/disconnect.txt create mode 100644 Tests/LibWeb/Text/input/ResizeObserver/disconnect.html diff --git a/Tests/LibWeb/Text/expected/ResizeObserver/disconnect.txt b/Tests/LibWeb/Text/expected/ResizeObserver/disconnect.txt new file mode 100644 index 00000000000..f704bdf72f3 --- /dev/null +++ b/Tests/LibWeb/Text/expected/ResizeObserver/disconnect.txt @@ -0,0 +1,2 @@ + Size changed: 100px x 100px +Size changed: 200px x 200px diff --git a/Tests/LibWeb/Text/input/ResizeObserver/disconnect.html b/Tests/LibWeb/Text/input/ResizeObserver/disconnect.html new file mode 100644 index 00000000000..958b4b7c3ac --- /dev/null +++ b/Tests/LibWeb/Text/input/ResizeObserver/disconnect.html @@ -0,0 +1,72 @@ + + + + + + + +
+
+
+ + + diff --git a/Userland/Libraries/LibWeb/ResizeObserver/ResizeObserver.cpp b/Userland/Libraries/LibWeb/ResizeObserver/ResizeObserver.cpp index 8330f7eed4a..f18548b8d57 100644 --- a/Userland/Libraries/LibWeb/ResizeObserver/ResizeObserver.cpp +++ b/Userland/Libraries/LibWeb/ResizeObserver/ResizeObserver.cpp @@ -89,10 +89,14 @@ void ResizeObserver::unobserve(DOM::Element& target) m_observation_targets.remove(observation.index()); } -// https://drafts.csswg.org/resize-observer/#dom-resizeobserver-disconnect +// https://drafts.csswg.org/resize-observer-1/#dom-resizeobserver-disconnect void ResizeObserver::disconnect() { - // FIXME: Implement + // 1. Clear the [[observationTargets]] list. + m_observation_targets.clear(); + + // 2. Clear the [[activeTargets]] list. + m_active_targets.clear(); } void ResizeObserver::invoke_callback(Vector>& entries) const