diff --git a/Tests/LibWeb/Text/expected/ResizeObserver/disconnect.txt b/Tests/LibWeb/Text/expected/ResizeObserver/disconnect.txt new file mode 100644 index 0000000000..f704bdf72f --- /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 0000000000..958b4b7c3a --- /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 8330f7eed4..f18548b8d5 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