mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-09 17:44:56 +09:00
LibWeb: Rename Bindings::HostDefined to Bindings::PrincipalHostDefined
With the introduction of shadow realms, there will be two different possible host defined objects. For clarity, rename the existing host defined object to PrincipalHostDefined.
This commit is contained in:
parent
16ab3c5f9d
commit
5154df020b
Notes:
github-actions[bot]
2024-11-05 18:00:05 +00:00
Author: https://github.com/shannonbooth
Commit: 5154df020b
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1993
Reviewed-by: https://github.com/ADKaster ✅
25 changed files with 81 additions and 89 deletions
|
@ -1,46 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2022, Andrew Kaster <akaster@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AK/TypeCasts.h>
|
||||
#include <LibJS/Heap/GCPtr.h>
|
||||
#include <LibJS/Runtime/Realm.h>
|
||||
#include <LibWeb/Forward.h>
|
||||
|
||||
namespace Web::Bindings {
|
||||
|
||||
struct HostDefined : public JS::Realm::HostDefined {
|
||||
HostDefined(JS::NonnullGCPtr<HTML::EnvironmentSettingsObject> eso, JS::NonnullGCPtr<Intrinsics> intrinsics, JS::NonnullGCPtr<Page> page)
|
||||
: environment_settings_object(eso)
|
||||
, intrinsics(intrinsics)
|
||||
, page(page)
|
||||
{
|
||||
}
|
||||
virtual ~HostDefined() override = default;
|
||||
virtual void visit_edges(JS::Cell::Visitor& visitor) override;
|
||||
|
||||
JS::NonnullGCPtr<HTML::EnvironmentSettingsObject> environment_settings_object;
|
||||
JS::NonnullGCPtr<Intrinsics> intrinsics;
|
||||
JS::NonnullGCPtr<Page> page;
|
||||
};
|
||||
|
||||
[[nodiscard]] inline HTML::EnvironmentSettingsObject& host_defined_environment_settings_object(JS::Realm& realm)
|
||||
{
|
||||
return *verify_cast<HostDefined>(realm.host_defined())->environment_settings_object;
|
||||
}
|
||||
|
||||
[[nodiscard]] inline HTML::EnvironmentSettingsObject const& host_defined_environment_settings_object(JS::Realm const& realm)
|
||||
{
|
||||
return *verify_cast<HostDefined>(realm.host_defined())->environment_settings_object;
|
||||
}
|
||||
|
||||
[[nodiscard]] inline Page& host_defined_page(JS::Realm& realm)
|
||||
{
|
||||
return *verify_cast<HostDefined>(realm.host_defined())->page;
|
||||
}
|
||||
|
||||
}
|
|
@ -13,7 +13,7 @@
|
|||
#include <LibJS/Heap/Cell.h>
|
||||
#include <LibJS/Heap/Heap.h>
|
||||
#include <LibJS/Runtime/VM.h>
|
||||
#include <LibWeb/Bindings/HostDefined.h>
|
||||
#include <LibWeb/Bindings/PrincipalHostDefined.h>
|
||||
|
||||
#define WEB_SET_PROTOTYPE_FOR_INTERFACE_WITH_CUSTOM_NAME(interface_class, interface_name) \
|
||||
do { \
|
||||
|
@ -84,7 +84,7 @@ private:
|
|||
|
||||
[[nodiscard]] inline Intrinsics& host_defined_intrinsics(JS::Realm& realm)
|
||||
{
|
||||
return *verify_cast<HostDefined>(realm.host_defined())->intrinsics;
|
||||
return *verify_cast<PrincipalHostDefined>(realm.host_defined())->intrinsics;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
|
||||
#include <LibJS/Heap/Cell.h>
|
||||
#include <LibJS/Runtime/Realm.h>
|
||||
#include <LibWeb/Bindings/HostDefined.h>
|
||||
#include <LibWeb/Bindings/Intrinsics.h>
|
||||
#include <LibWeb/Bindings/PrincipalHostDefined.h>
|
||||
#include <LibWeb/HTML/Scripting/Environments.h>
|
||||
#include <LibWeb/Page/Page.h>
|
||||
|
||||
namespace Web::Bindings {
|
||||
|
||||
void HostDefined::visit_edges(JS::Cell::Visitor& visitor)
|
||||
void PrincipalHostDefined::visit_edges(JS::Cell::Visitor& visitor)
|
||||
{
|
||||
JS::Realm::HostDefined::visit_edges(visitor);
|
||||
visitor.visit(environment_settings_object);
|
46
Userland/Libraries/LibWeb/Bindings/PrincipalHostDefined.h
Normal file
46
Userland/Libraries/LibWeb/Bindings/PrincipalHostDefined.h
Normal file
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
* Copyright (c) 2022, Andrew Kaster <akaster@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AK/TypeCasts.h>
|
||||
#include <LibJS/Heap/GCPtr.h>
|
||||
#include <LibJS/Runtime/Realm.h>
|
||||
#include <LibWeb/Forward.h>
|
||||
|
||||
namespace Web::Bindings {
|
||||
|
||||
struct PrincipalHostDefined : public JS::Realm::HostDefined {
|
||||
PrincipalHostDefined(JS::NonnullGCPtr<HTML::EnvironmentSettingsObject> eso, JS::NonnullGCPtr<Intrinsics> intrinsics, JS::NonnullGCPtr<Page> page)
|
||||
: environment_settings_object(eso)
|
||||
, intrinsics(intrinsics)
|
||||
, page(page)
|
||||
{
|
||||
}
|
||||
virtual ~PrincipalHostDefined() override = default;
|
||||
virtual void visit_edges(JS::Cell::Visitor& visitor) override;
|
||||
|
||||
JS::NonnullGCPtr<HTML::EnvironmentSettingsObject> environment_settings_object;
|
||||
JS::NonnullGCPtr<Intrinsics> intrinsics;
|
||||
JS::NonnullGCPtr<Page> page;
|
||||
};
|
||||
|
||||
[[nodiscard]] inline HTML::EnvironmentSettingsObject& principal_host_defined_environment_settings_object(JS::Realm& realm)
|
||||
{
|
||||
return *verify_cast<PrincipalHostDefined>(realm.host_defined())->environment_settings_object;
|
||||
}
|
||||
|
||||
[[nodiscard]] inline HTML::EnvironmentSettingsObject const& principal_host_defined_environment_settings_object(JS::Realm const& realm)
|
||||
{
|
||||
return *verify_cast<PrincipalHostDefined>(realm.host_defined())->environment_settings_object;
|
||||
}
|
||||
|
||||
[[nodiscard]] inline Page& principal_host_defined_page(JS::Realm& realm)
|
||||
{
|
||||
return *verify_cast<PrincipalHostDefined>(realm.host_defined())->page;
|
||||
}
|
||||
|
||||
}
|
|
@ -16,13 +16,13 @@ set(SOURCES
|
|||
ARIA/RoleType.cpp
|
||||
ARIA/StateAndProperties.cpp
|
||||
Bindings/AudioConstructor.cpp
|
||||
Bindings/HostDefined.cpp
|
||||
Bindings/ImageConstructor.cpp
|
||||
Bindings/Intrinsics.cpp
|
||||
Bindings/LocationConstructor.cpp
|
||||
Bindings/MainThreadVM.cpp
|
||||
Bindings/OptionConstructor.cpp
|
||||
Bindings/PlatformObject.cpp
|
||||
Bindings/PrincipalHostDefined.cpp
|
||||
Clipboard/Clipboard.cpp
|
||||
Clipboard/ClipboardEvent.cpp
|
||||
Crypto/Crypto.cpp
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
#include <LibJS/Runtime/Realm.h>
|
||||
#include <LibTextCodec/Decoder.h>
|
||||
#include <LibWeb/Bindings/ClipboardPrototype.h>
|
||||
#include <LibWeb/Bindings/HostDefined.h>
|
||||
#include <LibWeb/Clipboard/Clipboard.h>
|
||||
#include <LibWeb/FileAPI/Blob.h>
|
||||
#include <LibWeb/HTML/Scripting/Environments.h>
|
||||
|
|
|
@ -383,7 +383,7 @@ JS::NonnullGCPtr<Document> Document::create_for_fragment_parsing(JS::Realm& real
|
|||
|
||||
Document::Document(JS::Realm& realm, const URL::URL& url, TemporaryDocumentForFragmentParsing temporary_document_for_fragment_parsing)
|
||||
: ParentNode(realm, *this, NodeType::DOCUMENT_NODE)
|
||||
, m_page(Bindings::host_defined_page(realm))
|
||||
, m_page(Bindings::principal_host_defined_page(realm))
|
||||
, m_style_computer(make<CSS::StyleComputer>(*this))
|
||||
, m_url(url)
|
||||
, m_temporary_document_for_fragment_parsing(temporary_document_for_fragment_parsing)
|
||||
|
@ -1649,7 +1649,7 @@ Color Document::visited_link_color() const
|
|||
HTML::EnvironmentSettingsObject& Document::relevant_settings_object() const
|
||||
{
|
||||
// Then, the relevant settings object for a platform object o is the environment settings object of the relevant Realm for o.
|
||||
return Bindings::host_defined_environment_settings_object(realm());
|
||||
return Bindings::principal_host_defined_environment_settings_object(realm());
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-document-createelement
|
||||
|
@ -4171,7 +4171,7 @@ void Document::start_intersection_observing_a_lazy_loading_element(Element& elem
|
|||
// Spec Note: This allows for fetching the image during scrolling, when it does not yet — but is about to — intersect the viewport.
|
||||
auto options = IntersectionObserver::IntersectionObserverInit {};
|
||||
|
||||
auto wrapped_callback = realm.heap().allocate_without_realm<WebIDL::CallbackType>(callback, Bindings::host_defined_environment_settings_object(realm));
|
||||
auto wrapped_callback = realm.heap().allocate_without_realm<WebIDL::CallbackType>(callback, Bindings::principal_host_defined_environment_settings_object(realm));
|
||||
m_lazy_load_intersection_observer = IntersectionObserver::IntersectionObserver::construct_impl(realm, wrapped_callback, options).release_value_but_fixme_should_propagate_errors();
|
||||
}
|
||||
|
||||
|
|
|
@ -590,7 +590,7 @@ void EventTarget::activate_event_handler(FlyString const& name, HTML::EventHandl
|
|||
0, "", &realm);
|
||||
|
||||
// NOTE: As per the spec, the callback context is arbitrary.
|
||||
auto callback = realm.heap().allocate_without_realm<WebIDL::CallbackType>(*callback_function, Bindings::host_defined_environment_settings_object(realm));
|
||||
auto callback = realm.heap().allocate_without_realm<WebIDL::CallbackType>(*callback_function, Bindings::principal_host_defined_environment_settings_object(realm));
|
||||
|
||||
// 5. Let listener be a new event listener whose type is the event handler event type corresponding to eventHandler and callback is callback.
|
||||
auto listener = realm.heap().allocate_without_realm<DOMEventListener>();
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#include <LibJS/Runtime/TypedArray.h>
|
||||
#include <LibTextCodec/Decoder.h>
|
||||
#include <LibWeb/Bindings/ExceptionOrUtils.h>
|
||||
#include <LibWeb/Bindings/HostDefined.h>
|
||||
#include <LibWeb/Bindings/MainThreadVM.h>
|
||||
#include <LibWeb/DOMURL/URLSearchParams.h>
|
||||
#include <LibWeb/Fetch/Body.h>
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
#include <AK/TypeCasts.h>
|
||||
#include <LibJS/Runtime/PromiseCapability.h>
|
||||
#include <LibWeb/Bindings/ExceptionOrUtils.h>
|
||||
#include <LibWeb/Bindings/HostDefined.h>
|
||||
#include <LibWeb/DOM/AbortSignal.h>
|
||||
#include <LibWeb/Fetch/FetchMethod.h>
|
||||
#include <LibWeb/Fetch/Fetching/Fetching.h>
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
#include <LibJS/Heap/HeapFunction.h>
|
||||
#include <LibWeb/Bindings/ExceptionOrUtils.h>
|
||||
#include <LibWeb/Bindings/HostDefined.h>
|
||||
#include <LibWeb/Fetch/Fetching/FetchedDataReceiver.h>
|
||||
#include <LibWeb/Fetch/Infrastructure/FetchParams.h>
|
||||
#include <LibWeb/Fetch/Infrastructure/Task.h>
|
||||
|
|
|
@ -1833,7 +1833,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<PendingResponse>> http_network_or_cache_fet
|
|||
// with the user agent’s cookie store and httpRequest’s current URL.
|
||||
auto cookies = ([&] {
|
||||
// FIXME: Getting to the page client reliably is way too complicated, and going via the document won't work in workers.
|
||||
auto document = Bindings::host_defined_environment_settings_object(realm).responsible_document();
|
||||
auto document = Bindings::principal_host_defined_environment_settings_object(realm).responsible_document();
|
||||
if (!document)
|
||||
return String {};
|
||||
return document->page().client().page_did_request_cookie(http_request->current_url(), Cookie::Source::Http);
|
||||
|
@ -2193,7 +2193,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<PendingResponse>> nonstandard_resource_load
|
|||
|
||||
auto request = fetch_params.request();
|
||||
|
||||
auto& page = Bindings::host_defined_page(realm);
|
||||
auto& page = Bindings::principal_host_defined_page(realm);
|
||||
|
||||
// NOTE: Using LoadRequest::create_for_url_on_page here will unconditionally add cookies as long as there's a page available.
|
||||
// However, it is up to http_network_or_cache_fetch to determine if cookies should be added to the request.
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
*/
|
||||
|
||||
#include <LibJS/Runtime/TypedArray.h>
|
||||
#include <LibWeb/Bindings/HostDefined.h>
|
||||
#include <LibWeb/Fetch/Infrastructure/IncrementalReadLoopReadRequest.h>
|
||||
#include <LibWeb/HTML/Scripting/TemporaryExecutionContext.h>
|
||||
|
||||
|
|
|
@ -341,7 +341,7 @@ JS::NonnullGCPtr<Streams::ReadableStream> Blob::get_stream()
|
|||
// onto the realm's VM, and we need an incumbent realm which is pushed onto the incumbent realm stack
|
||||
// by HTML::prepare_to_run_callback().
|
||||
auto& realm = stream->realm();
|
||||
auto& environment_settings = Bindings::host_defined_environment_settings_object(realm);
|
||||
auto& environment_settings = Bindings::principal_host_defined_environment_settings_object(realm);
|
||||
realm.vm().push_execution_context(environment_settings.realm_execution_context());
|
||||
HTML::prepare_to_run_callback(realm);
|
||||
ScopeGuard const guard = [&realm] {
|
||||
|
|
|
@ -210,7 +210,7 @@ WebIDL::ExceptionOr<BrowsingContext::BrowsingContextAndDocument> BrowsingContext
|
|||
auto load_timing_info = DOM::DocumentLoadTimingInfo();
|
||||
load_timing_info.navigation_start_time = HighResolutionTime::coarsen_time(
|
||||
unsafe_context_creation_time,
|
||||
verify_cast<WindowEnvironmentSettingsObject>(Bindings::host_defined_environment_settings_object(window->realm())).cross_origin_isolated_capability() == CanUseCrossOriginIsolatedAPIs::Yes);
|
||||
verify_cast<WindowEnvironmentSettingsObject>(Bindings::principal_host_defined_environment_settings_object(window->realm())).cross_origin_isolated_capability() == CanUseCrossOriginIsolatedAPIs::Yes);
|
||||
|
||||
// 15. Let document be a new Document, with:
|
||||
auto document = HTML::HTMLDocument::create(window->realm());
|
||||
|
|
|
@ -124,7 +124,7 @@ WebIDL::ExceptionOr<void> HTMLDialogElement::show_modal()
|
|||
return JS::js_undefined();
|
||||
},
|
||||
0, "", &realm());
|
||||
auto cancel_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*cancel_callback_function, Bindings::host_defined_environment_settings_object(realm()));
|
||||
auto cancel_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*cancel_callback_function, Bindings::principal_host_defined_environment_settings_object(realm()));
|
||||
m_close_watcher->add_event_listener_without_options(HTML::EventNames::cancel, DOM::IDLEventListener::create(realm(), cancel_callback));
|
||||
// - closeAction being to close the dialog given this and null.
|
||||
auto close_callback_function = JS::NativeFunction::create(
|
||||
|
@ -134,7 +134,7 @@ WebIDL::ExceptionOr<void> HTMLDialogElement::show_modal()
|
|||
return JS::js_undefined();
|
||||
},
|
||||
0, "", &realm());
|
||||
auto close_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*close_callback_function, Bindings::host_defined_environment_settings_object(realm()));
|
||||
auto close_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*close_callback_function, Bindings::principal_host_defined_environment_settings_object(realm()));
|
||||
m_close_watcher->add_event_listener_without_options(HTML::EventNames::close, DOM::IDLEventListener::create(realm(), close_callback));
|
||||
|
||||
// FIXME: 11. Set this's previously focused element to the focused element.
|
||||
|
|
|
@ -896,7 +896,7 @@ void HTMLInputElement::create_text_input_shadow_tree()
|
|||
return JS::js_undefined();
|
||||
},
|
||||
0, "", &realm());
|
||||
auto mouseup_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*mouseup_callback_function, Bindings::host_defined_environment_settings_object(realm()));
|
||||
auto mouseup_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*mouseup_callback_function, Bindings::principal_host_defined_environment_settings_object(realm()));
|
||||
DOM::AddEventListenerOptions mouseup_listener_options;
|
||||
mouseup_listener_options.once = true;
|
||||
|
||||
|
@ -909,7 +909,7 @@ void HTMLInputElement::create_text_input_shadow_tree()
|
|||
return JS::js_undefined();
|
||||
},
|
||||
0, "", &realm());
|
||||
auto step_up_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*up_callback_function, Bindings::host_defined_environment_settings_object(realm()));
|
||||
auto step_up_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*up_callback_function, Bindings::principal_host_defined_environment_settings_object(realm()));
|
||||
up_button->add_event_listener_without_options(UIEvents::EventNames::mousedown, DOM::IDLEventListener::create(realm(), step_up_callback));
|
||||
up_button->add_event_listener_without_options(UIEvents::EventNames::mouseup, DOM::IDLEventListener::create(realm(), mouseup_callback));
|
||||
|
||||
|
@ -931,7 +931,7 @@ void HTMLInputElement::create_text_input_shadow_tree()
|
|||
return JS::js_undefined();
|
||||
},
|
||||
0, "", &realm());
|
||||
auto step_down_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*down_callback_function, Bindings::host_defined_environment_settings_object(realm()));
|
||||
auto step_down_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*down_callback_function, Bindings::principal_host_defined_environment_settings_object(realm()));
|
||||
down_button->add_event_listener_without_options(UIEvents::EventNames::mousedown, DOM::IDLEventListener::create(realm(), step_down_callback));
|
||||
down_button->add_event_listener_without_options(UIEvents::EventNames::mouseup, DOM::IDLEventListener::create(realm(), mouseup_callback));
|
||||
}
|
||||
|
@ -990,7 +990,7 @@ void HTMLInputElement::create_file_input_shadow_tree()
|
|||
};
|
||||
|
||||
auto on_button_click_function = JS::NativeFunction::create(realm, move(on_button_click), 0, "", &realm);
|
||||
auto on_button_click_callback = realm.heap().allocate_without_realm<WebIDL::CallbackType>(on_button_click_function, Bindings::host_defined_environment_settings_object(realm));
|
||||
auto on_button_click_callback = realm.heap().allocate_without_realm<WebIDL::CallbackType>(on_button_click_function, Bindings::principal_host_defined_environment_settings_object(realm));
|
||||
m_file_button->add_event_listener_without_options(UIEvents::EventNames::click, DOM::IDLEventListener::create(realm, on_button_click_callback));
|
||||
|
||||
update_file_input_shadow_tree();
|
||||
|
@ -1062,7 +1062,7 @@ void HTMLInputElement::create_range_input_shadow_tree()
|
|||
return JS::js_undefined();
|
||||
},
|
||||
0, "", &realm());
|
||||
auto keydown_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*keydown_callback_function, Bindings::host_defined_environment_settings_object(realm()));
|
||||
auto keydown_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*keydown_callback_function, Bindings::principal_host_defined_environment_settings_object(realm()));
|
||||
add_event_listener_without_options(UIEvents::EventNames::keydown, DOM::IDLEventListener::create(realm(), keydown_callback));
|
||||
|
||||
auto wheel_callback_function = JS::NativeFunction::create(
|
||||
|
@ -1077,7 +1077,7 @@ void HTMLInputElement::create_range_input_shadow_tree()
|
|||
return JS::js_undefined();
|
||||
},
|
||||
0, "", &realm());
|
||||
auto wheel_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*wheel_callback_function, Bindings::host_defined_environment_settings_object(realm()));
|
||||
auto wheel_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*wheel_callback_function, Bindings::principal_host_defined_environment_settings_object(realm()));
|
||||
add_event_listener_without_options(UIEvents::EventNames::wheel, DOM::IDLEventListener::create(realm(), wheel_callback));
|
||||
|
||||
auto update_slider_by_mouse = [this](JS::VM& vm) {
|
||||
|
@ -1100,7 +1100,7 @@ void HTMLInputElement::create_range_input_shadow_tree()
|
|||
return JS::js_undefined();
|
||||
},
|
||||
0, "", &realm());
|
||||
auto mousemove_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*mousemove_callback_function, Bindings::host_defined_environment_settings_object(realm()));
|
||||
auto mousemove_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*mousemove_callback_function, Bindings::principal_host_defined_environment_settings_object(realm()));
|
||||
auto mousemove_listener = DOM::IDLEventListener::create(realm(), mousemove_callback);
|
||||
auto& window = static_cast<HTML::Window&>(relevant_global_object(*this));
|
||||
window.add_event_listener_without_options(UIEvents::EventNames::mousemove, mousemove_listener);
|
||||
|
@ -1112,7 +1112,7 @@ void HTMLInputElement::create_range_input_shadow_tree()
|
|||
return JS::js_undefined();
|
||||
},
|
||||
0, "", &realm());
|
||||
auto mouseup_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*mouseup_callback_function, Bindings::host_defined_environment_settings_object(realm()));
|
||||
auto mouseup_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*mouseup_callback_function, Bindings::principal_host_defined_environment_settings_object(realm()));
|
||||
DOM::AddEventListenerOptions mouseup_listener_options;
|
||||
mouseup_listener_options.once = true;
|
||||
window.add_event_listener(UIEvents::EventNames::mouseup, DOM::IDLEventListener::create(realm(), mouseup_callback), mouseup_listener_options);
|
||||
|
@ -1120,7 +1120,7 @@ void HTMLInputElement::create_range_input_shadow_tree()
|
|||
return JS::js_undefined();
|
||||
},
|
||||
0, "", &realm());
|
||||
auto mousedown_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*mousedown_callback_function, Bindings::host_defined_environment_settings_object(realm()));
|
||||
auto mousedown_callback = realm().heap().allocate_without_realm<WebIDL::CallbackType>(*mousedown_callback_function, Bindings::principal_host_defined_environment_settings_object(realm()));
|
||||
add_event_listener_without_options(UIEvents::EventNames::mousedown, DOM::IDLEventListener::create(realm(), mousedown_callback));
|
||||
}
|
||||
|
||||
|
|
|
@ -140,7 +140,7 @@ JS::ExecutionContext const& execution_context_of_realm(JS::Realm const& realm)
|
|||
// FIXME: 1. If realm is a principal realm, then return the realm execution context of the environment settings object of realm.
|
||||
// FIXME: 2. Assert: realm is a synthetic realm.
|
||||
// FIXME: 3. Return the execution context of the synthetic realm settings object of realm.
|
||||
return Bindings::host_defined_environment_settings_object(realm).realm_execution_context();
|
||||
return Bindings::principal_host_defined_environment_settings_object(realm).realm_execution_context();
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/webappapis.html#clean-up-after-running-script
|
||||
|
@ -327,7 +327,7 @@ JS::Realm& incumbent_realm()
|
|||
EnvironmentSettingsObject& incumbent_settings_object()
|
||||
{
|
||||
// FIXME: Then, the incumbent settings object is the incumbent realm's principal realm settings object.
|
||||
return Bindings::host_defined_environment_settings_object(incumbent_realm());
|
||||
return Bindings::principal_host_defined_environment_settings_object(incumbent_realm());
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/webappapis.html#concept-incumbent-global
|
||||
|
@ -362,7 +362,7 @@ JS::Realm& principal_realm(JS::Realm& realm)
|
|||
EnvironmentSettingsObject& principal_realm_settings_object(JS::Realm& realm)
|
||||
{
|
||||
// A principal realm has a [[HostDefined]] field, which contains the principal realm's settings object.
|
||||
return Bindings::host_defined_environment_settings_object(realm);
|
||||
return Bindings::principal_host_defined_environment_settings_object(realm);
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/webappapis.html#current-settings-object
|
||||
|
@ -392,7 +392,7 @@ JS::Realm& relevant_realm(JS::Object const& object)
|
|||
EnvironmentSettingsObject& relevant_settings_object(JS::Object const& object)
|
||||
{
|
||||
// Then, the relevant settings object for a platform object o is the environment settings object of the relevant Realm for o.
|
||||
return Bindings::host_defined_environment_settings_object(relevant_realm(object));
|
||||
return Bindings::principal_host_defined_environment_settings_object(relevant_realm(object));
|
||||
}
|
||||
|
||||
EnvironmentSettingsObject& relevant_settings_object(DOM::Node const& node)
|
||||
|
@ -424,7 +424,7 @@ JS::Realm& entry_realm()
|
|||
EnvironmentSettingsObject& entry_settings_object()
|
||||
{
|
||||
// Then, the entry settings object is the environment settings object of the entry realm.
|
||||
return Bindings::host_defined_environment_settings_object(entry_realm());
|
||||
return Bindings::principal_host_defined_environment_settings_object(entry_realm());
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/webappapis.html#entry-global-object
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
#include <LibJS/Console.h>
|
||||
#include <LibJS/Runtime/ConsoleObject.h>
|
||||
#include <LibWeb/Bindings/HostDefined.h>
|
||||
#include <LibWeb/DOMURL/DOMURL.h>
|
||||
#include <LibWeb/HTML/Scripting/Fetching.h>
|
||||
#include <LibWeb/HTML/Scripting/ImportMap.h>
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibWeb/Bindings/HostDefined.h>
|
||||
#include <LibWeb/Bindings/Intrinsics.h>
|
||||
#include <LibWeb/Bindings/PrincipalHostDefined.h>
|
||||
#include <LibWeb/DOM/Document.h>
|
||||
#include <LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.h>
|
||||
#include <LibWeb/HTML/Window.h>
|
||||
|
@ -74,7 +74,7 @@ void WindowEnvironmentSettingsObject::setup(Page& page, URL::URL const& creation
|
|||
// 7. Set realm's [[HostDefined]] field to settings object.
|
||||
// Non-Standard: We store the ESO next to the web intrinsics in a custom HostDefined object
|
||||
auto intrinsics = realm->heap().allocate<Bindings::Intrinsics>(*realm, *realm);
|
||||
auto host_defined = make<Bindings::HostDefined>(settings_object, intrinsics, page);
|
||||
auto host_defined = make<Bindings::PrincipalHostDefined>(settings_object, intrinsics, page);
|
||||
realm->set_host_defined(move(host_defined));
|
||||
|
||||
// Non-Standard: We cannot fully initialize window object until *after* the we set up
|
||||
|
|
|
@ -44,7 +44,7 @@ JS::NonnullGCPtr<WorkerEnvironmentSettingsObject> WorkerEnvironmentSettingsObjec
|
|||
|
||||
// 8. Set realm's [[HostDefined]] field to settings object.
|
||||
auto intrinsics = realm->heap().allocate<Bindings::Intrinsics>(*realm, *realm);
|
||||
auto host_defined = make<Bindings::HostDefined>(settings_object, intrinsics, page);
|
||||
auto host_defined = make<Bindings::PrincipalHostDefined>(settings_object, intrinsics, page);
|
||||
realm->set_host_defined(move(host_defined));
|
||||
|
||||
// Non-Standard: We cannot fully initialize worker object until *after* the we set up
|
||||
|
|
|
@ -24,7 +24,7 @@ JS_DEFINE_ALLOCATOR(SharedResourceRequest);
|
|||
|
||||
JS::NonnullGCPtr<SharedResourceRequest> SharedResourceRequest::get_or_create(JS::Realm& realm, JS::NonnullGCPtr<Page> page, URL::URL const& url)
|
||||
{
|
||||
auto document = Bindings::host_defined_environment_settings_object(realm).responsible_document();
|
||||
auto document = Bindings::principal_host_defined_environment_settings_object(realm).responsible_document();
|
||||
VERIFY(document);
|
||||
auto& shared_resource_requests = document->shared_resource_requests();
|
||||
if (auto it = shared_resource_requests.find(url); it != shared_resource_requests.end())
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibWeb/Bindings/HostDefined.h>
|
||||
#include <LibWeb/Bindings/PrincipalHostDefined.h>
|
||||
#include <LibWeb/HTML/MessagePort.h>
|
||||
#include <LibWeb/HTML/WorkerAgent.h>
|
||||
#include <LibWeb/Page/Page.h>
|
||||
|
@ -34,7 +34,7 @@ void WorkerAgent::initialize(JS::Realm& realm)
|
|||
|
||||
// NOTE: This blocking IPC call may launch another process.
|
||||
// If spinning the event loop for this can cause other javascript to execute, we're in trouble.
|
||||
auto worker_socket_file = Bindings::host_defined_page(realm).client().request_worker_agent();
|
||||
auto worker_socket_file = Bindings::principal_host_defined_page(realm).client().request_worker_agent();
|
||||
|
||||
auto worker_socket = MUST(Core::LocalSocket::adopt_fd(worker_socket_file.take_fd()));
|
||||
MUST(worker_socket->set_blocking(true));
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
#include <LibJS/Forward.h>
|
||||
#include <LibJS/Runtime/AbstractOperations.h>
|
||||
#include <LibJS/Runtime/FunctionObject.h>
|
||||
#include <LibWeb/Bindings/HostDefined.h>
|
||||
#include <LibWeb/HTML/Scripting/Environments.h>
|
||||
#include <LibWeb/WebIDL/CallbackType.h>
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#include <LibJS/Runtime/PromiseConstructor.h>
|
||||
#include <LibJS/Runtime/Realm.h>
|
||||
#include <LibWeb/Bindings/ExceptionOrUtils.h>
|
||||
#include <LibWeb/Bindings/HostDefined.h>
|
||||
#include <LibWeb/HTML/Scripting/ExceptionReporter.h>
|
||||
#include <LibWeb/WebIDL/Promise.h>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue