1
0
mirror of https://github.com/SerenityOS/serenity synced 2024-07-09 10:20:45 +00:00

LibWeb: Implement IDBOpenDBRequest.onblocked

(cherry picked from commit 30db7fb323c6041367155e646270e2a58f4233ea)
This commit is contained in:
Jamie Mansfield 2024-06-22 11:26:48 +01:00 committed by Nico Weber
parent 214797a69a
commit aec46809fe
4 changed files with 20 additions and 1 deletions

View File

@ -24,6 +24,7 @@ namespace Web::HTML::EventNames {
__ENUMERATE_HTML_EVENT(afterprint) \
__ENUMERATE_HTML_EVENT(beforeprint) \
__ENUMERATE_HTML_EVENT(beforeunload) \
__ENUMERATE_HTML_EVENT(blocked) \
__ENUMERATE_HTML_EVENT(blur) \
__ENUMERATE_HTML_EVENT(cancel) \
__ENUMERATE_HTML_EVENT(canplay) \

View File

@ -1,11 +1,13 @@
/*
* Copyright (c) 2024, Shannon Booth <shannon@serenityos.org>
* Copyright (c) 2024, Jamie Mansfield <jmansfield@cadixdev.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/Bindings/IDBOpenDBRequestPrototype.h>
#include <LibWeb/Bindings/Intrinsics.h>
#include <LibWeb/HTML/EventNames.h>
#include <LibWeb/IndexedDB/IDBOpenDBRequest.h>
namespace Web::IndexedDB {
@ -25,4 +27,16 @@ void IDBOpenDBRequest::initialize(JS::Realm& realm)
WEB_SET_PROTOTYPE_FOR_INTERFACE(IDBOpenDBRequest);
}
// https://w3c.github.io/IndexedDB/#dom-idbopendbrequest-onblocked
void IDBOpenDBRequest::set_onblocked(WebIDL::CallbackType* event_handler)
{
set_event_handler_attribute(HTML::EventNames::blocked, event_handler);
}
// https://w3c.github.io/IndexedDB/#dom-idbopendbrequest-onblocked
WebIDL::CallbackType* IDBOpenDBRequest::onblocked()
{
return event_handler_attribute(HTML::EventNames::blocked);
}
}

View File

@ -1,5 +1,6 @@
/*
* Copyright (c) 2024, Shannon Booth <shannon@serenityos.org>
* Copyright (c) 2024, Jamie Mansfield <jmansfield@cadixdev.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
@ -18,6 +19,9 @@ class IDBOpenDBRequest : public IDBRequest {
public:
virtual ~IDBOpenDBRequest();
void set_onblocked(WebIDL::CallbackType*);
WebIDL::CallbackType* onblocked();
protected:
explicit IDBOpenDBRequest(JS::Realm&);

View File

@ -4,6 +4,6 @@
[Exposed=(Window,Worker)]
interface IDBOpenDBRequest : IDBRequest {
// Event handlers:
[FIXME] attribute EventHandler onblocked;
attribute EventHandler onblocked;
[FIXME] attribute EventHandler onupgradeneeded;
};