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() };
}