mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-22 09:19:03 +00:00
LibWeb: Return a representation of an 'Agent' in 'relevant agent'
This makes it more convenient to use the 'relvant agent' concept, instead of the awkward dynamic casts we needed to do for every call site. mutation_observers is also changed to hold a GC::Root instead of raw GC::Ptr. Somehow this was not causing problems before, but trips up CI after these changes.
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
#include <LibWeb/DOM/Document.h>
|
||||
#include <LibWeb/DOMURL/DOMURL.h>
|
||||
#include <LibWeb/Fetch/Infrastructure/FetchRecord.h>
|
||||
#include <LibWeb/HTML/Scripting/Agent.h>
|
||||
#include <LibWeb/HTML/Scripting/Environments.h>
|
||||
#include <LibWeb/HTML/Scripting/ExceptionReporter.h>
|
||||
#include <LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.h>
|
||||
@@ -102,10 +103,8 @@ EventLoop& EnvironmentSettingsObject::responsible_event_loop()
|
||||
if (m_responsible_event_loop)
|
||||
return *m_responsible_event_loop;
|
||||
|
||||
auto& vm = global_object().vm();
|
||||
auto& event_loop = verify_cast<Bindings::WebEngineCustomData>(vm.custom_data())->event_loop;
|
||||
m_responsible_event_loop = event_loop;
|
||||
return *event_loop;
|
||||
m_responsible_event_loop = relevant_agent(global_object()).event_loop;
|
||||
return *m_responsible_event_loop;
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/webappapis.html#check-if-we-can-run-script
|
||||
@@ -513,13 +512,6 @@ JS::Object& entry_global_object()
|
||||
return entry_realm().global_object();
|
||||
}
|
||||
|
||||
JS::VM& relevant_agent(JS::Object const& object)
|
||||
{
|
||||
// The relevant agent for a platform object platformObject is platformObject's relevant Realm's agent.
|
||||
// Spec Note: This pointer is not yet defined in the JavaScript specification; see tc39/ecma262#1357.
|
||||
return relevant_realm(object).vm();
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/webappapis.html#secure-context
|
||||
bool is_secure_context(Environment const& environment)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user