LibWeb: Add scaffold for 'principal realm of realm'
Allowing us to implement other AOs in terms of this one.
This commit is contained in:
parent
cdd78be2d3
commit
f7a4d94b24
Notes:
github-actions[bot]
2024-11-02 00:56:41 +00:00
Author: https://github.com/shannonbooth Commit: https://github.com/LadybirdBrowser/ladybird/commit/f7a4d94b243 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1955 Reviewed-by: https://github.com/ADKaster ✅
2 changed files with 14 additions and 2 deletions
|
@ -329,11 +329,22 @@ JS::Object& incumbent_global_object()
|
|||
// https://whatpr.org/html/9893/webappapis.html#current-principal-realm
|
||||
JS::Realm& current_principal_realm()
|
||||
{
|
||||
// FIXME: The current principal realm is the principal realm of the current realm.
|
||||
auto& event_loop = HTML::main_thread_event_loop();
|
||||
auto& vm = event_loop.vm();
|
||||
|
||||
return *vm.current_realm();
|
||||
// The current principal realm is the principal realm of the current realm.
|
||||
return principal_realm(*vm.current_realm());
|
||||
}
|
||||
|
||||
// https://whatpr.org/html/9893/webappapis.html#concept-principal-realm-of-realm
|
||||
JS::Realm& principal_realm(JS::Realm& realm)
|
||||
{
|
||||
// FIXME: 1. If realm.[[HostDefined]] is a synthetic realm settings object, then:
|
||||
// FIXME: 1.1. Assert: realm is a synthetic realm.
|
||||
// FIXME: 1.2. Set realm to the principal realm of realm.[[HostDefined]].
|
||||
// FIXME: 2. Assert: realm.[[HostDefined]] is an environment settings object and realm is a principal realm.
|
||||
// 3. Return realm.
|
||||
return realm;
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/webappapis.html#current-settings-object
|
||||
|
|
|
@ -149,6 +149,7 @@ JS::Object& incumbent_global_object();
|
|||
JS::Realm& current_principal_realm();
|
||||
EnvironmentSettingsObject& current_principal_settings_object();
|
||||
|
||||
JS::Realm& principal_realm(JS::Realm&);
|
||||
JS::Object& current_principal_global_object();
|
||||
JS::Realm& relevant_realm(JS::Object const&);
|
||||
EnvironmentSettingsObject& relevant_settings_object(JS::Object const&);
|
||||
|
|
Loading…
Add table
Reference in a new issue