
While Origin is defined in the HTML spec - this leaves us with quite an awkward relationship as the URL spec makes use of AO's from what is defined in the HTML spec. To simplify this factoring, relocate Origin into LibURL.
39 lines
1.3 KiB
C++
39 lines
1.3 KiB
C++
/*
|
|
* Copyright (c) 2024, Andrew Kaster <akaster@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <LibWeb/HTML/PolicyContainers.h>
|
|
#include <LibWeb/HTML/Scripting/Environments.h>
|
|
#include <LibWeb/HTML/Scripting/SerializedEnvironmentSettingsObject.h>
|
|
|
|
namespace Web::HTML {
|
|
|
|
class EnvironmentSettingsSnapshot final
|
|
: public EnvironmentSettingsObject {
|
|
JS_CELL(EnvironmentSettingsSnapshot, EnvironmentSettingsObject);
|
|
JS_DECLARE_ALLOCATOR(EnvironmentSettingsSnapshot);
|
|
|
|
public:
|
|
EnvironmentSettingsSnapshot(NonnullOwnPtr<JS::ExecutionContext>, SerializedEnvironmentSettingsObject const&);
|
|
|
|
virtual ~EnvironmentSettingsSnapshot() override;
|
|
|
|
JS::GCPtr<DOM::Document> 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; }
|
|
|
|
private:
|
|
String m_api_url_character_encoding;
|
|
URL::URL m_url;
|
|
URL::Origin m_origin;
|
|
HTML::PolicyContainer m_policy_container;
|
|
};
|
|
|
|
}
|