diff --git a/Libraries/LibWeb/HTML/Scripting/EnvironmentSettingsSnapshot.h b/Libraries/LibWeb/HTML/Scripting/EnvironmentSettingsSnapshot.h index 628b7f4957b..9a32fca23de 100644 --- a/Libraries/LibWeb/HTML/Scripting/EnvironmentSettingsSnapshot.h +++ b/Libraries/LibWeb/HTML/Scripting/EnvironmentSettingsSnapshot.h @@ -23,11 +23,11 @@ public: virtual ~EnvironmentSettingsSnapshot() override; GC::Ptr responsible_document() override { return nullptr; } - String api_url_character_encoding() override { return m_api_url_character_encoding; } - URL::URL api_base_url() override { return m_url; } - URL::Origin origin() override { return m_origin; } - PolicyContainer policy_container() override { return m_policy_container; } - CanUseCrossOriginIsolatedAPIs cross_origin_isolated_capability() override { return CanUseCrossOriginIsolatedAPIs::No; } + String api_url_character_encoding() const override { return m_api_url_character_encoding; } + URL::URL api_base_url() const override { return m_url; } + URL::Origin origin() const override { return m_origin; } + PolicyContainer policy_container() const override { return m_policy_container; } + CanUseCrossOriginIsolatedAPIs cross_origin_isolated_capability() const override { return CanUseCrossOriginIsolatedAPIs::No; } private: String m_api_url_character_encoding; diff --git a/Libraries/LibWeb/HTML/Scripting/Environments.h b/Libraries/LibWeb/HTML/Scripting/Environments.h index 6b8c130919c..a2e75de821f 100644 --- a/Libraries/LibWeb/HTML/Scripting/Environments.h +++ b/Libraries/LibWeb/HTML/Scripting/Environments.h @@ -73,19 +73,19 @@ public: virtual GC::Ptr responsible_document() = 0; // https://html.spec.whatwg.org/multipage/webappapis.html#api-url-character-encoding - virtual String api_url_character_encoding() = 0; + virtual String api_url_character_encoding() const = 0; // https://html.spec.whatwg.org/multipage/webappapis.html#api-base-url - virtual URL::URL api_base_url() = 0; + virtual URL::URL api_base_url() const = 0; // https://html.spec.whatwg.org/multipage/webappapis.html#concept-settings-object-origin - virtual URL::Origin origin() = 0; + virtual URL::Origin origin() const = 0; // A policy container https://html.spec.whatwg.org/multipage/webappapis.html#concept-settings-object-policy-container - virtual PolicyContainer policy_container() = 0; + virtual PolicyContainer policy_container() const = 0; // https://html.spec.whatwg.org/multipage/webappapis.html#concept-settings-object-cross-origin-isolated-capability - virtual CanUseCrossOriginIsolatedAPIs cross_origin_isolated_capability() = 0; + virtual CanUseCrossOriginIsolatedAPIs cross_origin_isolated_capability() const = 0; URL::URL parse_url(StringView); diff --git a/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.cpp b/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.cpp index 0b2234f40fe..ee6ad2f327a 100644 --- a/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.cpp +++ b/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.cpp @@ -90,35 +90,35 @@ GC::Ptr WindowEnvironmentSettingsObject::responsible_document() } // https://html.spec.whatwg.org/multipage/window-object.html#script-settings-for-window-objects:api-url-character-encoding -String WindowEnvironmentSettingsObject::api_url_character_encoding() +String WindowEnvironmentSettingsObject::api_url_character_encoding() const { // Return the current character encoding of window's associated Document. return m_window->associated_document().encoding_or_default(); } // https://html.spec.whatwg.org/multipage/window-object.html#script-settings-for-window-objects:api-base-url -URL::URL WindowEnvironmentSettingsObject::api_base_url() +URL::URL WindowEnvironmentSettingsObject::api_base_url() const { // Return the current base URL of window's associated Document. return m_window->associated_document().base_url(); } // https://html.spec.whatwg.org/multipage/window-object.html#script-settings-for-window-objects:concept-settings-object-origin -URL::Origin WindowEnvironmentSettingsObject::origin() +URL::Origin WindowEnvironmentSettingsObject::origin() const { // Return the origin of window's associated Document. return m_window->associated_document().origin(); } // https://html.spec.whatwg.org/multipage/window-object.html#script-settings-for-window-objects:concept-settings-object-policy-container -PolicyContainer WindowEnvironmentSettingsObject::policy_container() +PolicyContainer WindowEnvironmentSettingsObject::policy_container() const { // Return the policy container of window's associated Document. return m_window->associated_document().policy_container(); } // https://html.spec.whatwg.org/multipage/window-object.html#script-settings-for-window-objects:concept-settings-object-cross-origin-isolated-capability -CanUseCrossOriginIsolatedAPIs WindowEnvironmentSettingsObject::cross_origin_isolated_capability() +CanUseCrossOriginIsolatedAPIs WindowEnvironmentSettingsObject::cross_origin_isolated_capability() const { // FIXME: Return true if both of the following hold, and false otherwise: // 1. realm's agent cluster's cross-origin-isolation mode is "concrete", and diff --git a/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.h b/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.h index d6ec73b5466..030cd8d8fc0 100644 --- a/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.h +++ b/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.h @@ -21,11 +21,11 @@ public: virtual ~WindowEnvironmentSettingsObject() override; virtual GC::Ptr responsible_document() override; - virtual String api_url_character_encoding() override; - virtual URL::URL api_base_url() override; - virtual URL::Origin origin() override; - virtual PolicyContainer policy_container() override; - virtual CanUseCrossOriginIsolatedAPIs cross_origin_isolated_capability() override; + virtual String api_url_character_encoding() const override; + virtual URL::URL api_base_url() const override; + virtual URL::Origin origin() const override; + virtual PolicyContainer policy_container() const override; + virtual CanUseCrossOriginIsolatedAPIs cross_origin_isolated_capability() const override; private: WindowEnvironmentSettingsObject(Window&, NonnullOwnPtr); diff --git a/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.cpp b/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.cpp index 8bbd5dc7a8d..d438b70a20f 100644 --- a/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.cpp +++ b/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.cpp @@ -56,25 +56,25 @@ GC::Ref WorkerEnvironmentSettingsObject::setup( return settings_object; } -URL::URL WorkerEnvironmentSettingsObject::api_base_url() +URL::URL WorkerEnvironmentSettingsObject::api_base_url() const { // Return worker global scope's url. return m_global_scope->url(); } -URL::Origin WorkerEnvironmentSettingsObject::origin() +URL::Origin WorkerEnvironmentSettingsObject::origin() const { // FIXME: Return a unique opaque origin if worker global scope's url's scheme is "data", and inherited origin otherwise. return m_origin; } -PolicyContainer WorkerEnvironmentSettingsObject::policy_container() +PolicyContainer WorkerEnvironmentSettingsObject::policy_container() const { // Return worker global scope's policy container. return m_global_scope->policy_container(); } -CanUseCrossOriginIsolatedAPIs WorkerEnvironmentSettingsObject::cross_origin_isolated_capability() +CanUseCrossOriginIsolatedAPIs WorkerEnvironmentSettingsObject::cross_origin_isolated_capability() const { // FIXME: Return worker global scope's cross-origin isolated capability. return CanUseCrossOriginIsolatedAPIs::No; diff --git a/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.h b/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.h index 3dbfbd84f59..ade515050d5 100644 --- a/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.h +++ b/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.h @@ -29,11 +29,11 @@ public: virtual ~WorkerEnvironmentSettingsObject() override = default; GC::Ptr responsible_document() override { return nullptr; } - String api_url_character_encoding() override { return m_api_url_character_encoding; } - URL::URL api_base_url() override; - URL::Origin origin() override; - PolicyContainer policy_container() override; - CanUseCrossOriginIsolatedAPIs cross_origin_isolated_capability() override; + String api_url_character_encoding() const override { return m_api_url_character_encoding; } + URL::URL api_base_url() const override; + URL::Origin origin() const override; + PolicyContainer policy_container() const override; + CanUseCrossOriginIsolatedAPIs cross_origin_isolated_capability() const override; private: virtual void visit_edges(JS::Cell::Visitor&) override; diff --git a/Libraries/LibWeb/StorageAPI/StorageKey.cpp b/Libraries/LibWeb/StorageAPI/StorageKey.cpp index 0850065801e..daaa1d9dc79 100644 --- a/Libraries/LibWeb/StorageAPI/StorageKey.cpp +++ b/Libraries/LibWeb/StorageAPI/StorageKey.cpp @@ -32,9 +32,7 @@ StorageKey obtain_a_storage_key_for_non_storage_purposes(HTML::Environment const // 1. Let origin be environment’s origin if environment is an environment settings object; otherwise environment’s creation URL’s origin. if (is(environment)) { auto const& settings = static_cast(environment); - // FIXME: EnvironmentSettingsObject::origin() should be const :| - auto& mutable_settings = const_cast(settings); - return { mutable_settings.origin() }; + return { settings.origin() }; } return { environment.creation_url.origin() }; }