mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-28 11:49:44 +00:00
LibWeb: Make CallbackType take a realm instead of settings object
In line with the ShadowRealm proposal changes in the WebIDL spec: webidl#1437 and supporting changes in HTML spec. This is required for ShadowRealms as they have no relevant settings object on the shadow realm, so fixes a crash in the QueueingStrategy test in this commit.
This commit is contained in:
parent
d527c5df5d
commit
d6bcd3fb0b
Notes:
github-actions[bot]
2024-11-21 01:10:31 +00:00
Author: https://github.com/shannonbooth
Commit: d6bcd3fb0b
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2416
Reviewed-by: https://github.com/ADKaster ✅
15 changed files with 56 additions and 36 deletions
|
@ -124,7 +124,8 @@ GC::Ref<WebIDL::CallbackType> UniversalGlobalScopeMixin::count_queuing_strategy_
|
|||
auto function = JS::NativeFunction::create(realm, move(steps), 0, "size", &realm);
|
||||
|
||||
// 3. Set globalObject’s count queuing strategy size function to a Function that represents a reference to F, with callback context equal to globalObject’s relevant settings object.
|
||||
m_count_queuing_strategy_size_function = realm.create<WebIDL::CallbackType>(*function, relevant_settings_object(this_impl()));
|
||||
// FIXME: Update spec comment to pass globalObject's relevant realm once Streams spec is updated for ShadowRealm spec
|
||||
m_count_queuing_strategy_size_function = realm.create<WebIDL::CallbackType>(*function, realm);
|
||||
}
|
||||
|
||||
return GC::Ref { *m_count_queuing_strategy_size_function };
|
||||
|
@ -148,7 +149,8 @@ GC::Ref<WebIDL::CallbackType> UniversalGlobalScopeMixin::byte_length_queuing_str
|
|||
auto function = JS::NativeFunction::create(realm, move(steps), 1, "size", &realm);
|
||||
|
||||
// 3. Set globalObject’s byte length queuing strategy size function to a Function that represents a reference to F, with callback context equal to globalObject’s relevant settings object.
|
||||
m_byte_length_queuing_strategy_size_function = realm.create<WebIDL::CallbackType>(*function, relevant_settings_object(this_impl()));
|
||||
// FIXME: Update spec comment to pass globalObject's relevant realm once Streams spec is updated for ShadowRealm spec
|
||||
m_byte_length_queuing_strategy_size_function = realm.create<WebIDL::CallbackType>(*function, realm);
|
||||
}
|
||||
|
||||
return GC::Ref { *m_byte_length_queuing_strategy_size_function };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue