LibWeb: Add methods to Window that must do nothing

This change adds the `captureEvents()` and `releaseEvents()` methods to
the window object. These methods are obsolete, but are still included
in the HTML specification, which says they must do nothing.
This commit is contained in:
Tim Ledbetter 2024-04-14 07:38:10 +01:00 committed by Andreas Kling
commit 88f3145f8a
Notes: sideshowbarker 2024-07-17 02:38:39 +09:00
5 changed files with 28 additions and 0 deletions

View file

@ -0,0 +1,2 @@
window.captureEvents() returns undefined: true
window.releaseEvents() returns undefined: true

View file

@ -0,0 +1,8 @@
<!DOCTYPE html>
<script src="../include.js"></script>
<script>
test(() => {
println(`window.captureEvents() returns undefined: ${window.captureEvents() === undefined}`);
println(`window.releaseEvents() returns undefined: ${window.releaseEvents() === undefined}`);
});
</script>

View file

@ -1600,6 +1600,18 @@ JS::NonnullGCPtr<Crypto::Crypto> Window::crypto()
return JS::NonnullGCPtr { *m_crypto };
}
// https://html.spec.whatwg.org/multipage/obsolete.html#dom-window-captureevents
void Window::capture_events()
{
// Do nothing.
}
// https://html.spec.whatwg.org/multipage/obsolete.html#dom-document-releaseevents
void Window::release_events()
{
// Do nothing.
}
// https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-navigation
JS::NonnullGCPtr<Navigation> Window::navigation()
{

View file

@ -202,6 +202,9 @@ public:
[[nodiscard]] JS::NonnullGCPtr<Crypto::Crypto> crypto();
void capture_events();
void release_events();
[[nodiscard]] JS::NonnullGCPtr<CustomElementRegistry> custom_elements();
HighResolutionTime::DOMHighResTimeStamp get_last_activation_timestamp() const { return m_last_activation_timestamp; }

View file

@ -110,6 +110,9 @@ interface Window : EventTarget {
// https://w3c.github.io/webcrypto/#crypto-interface
[SameObject] readonly attribute Crypto crypto;
undefined captureEvents();
undefined releaseEvents();
};
Window includes AnimationFrameProvider;
Window includes GlobalEventHandlers;