#include "third_party/blink/renderer/core/workers/shared_worker_global_scope.h"
#include <memory>
#include "base/feature_list.h"
#include "services/metrics/public/cpp/mojo_ukm_recorder.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink.h"
#include "third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom-blink.h"
#include "third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.h"
#include "third_party/blink/renderer/core/event_target_names.h"
#include "third_party/blink/renderer/core/events/message_event.h"
#include "third_party/blink/renderer/core/execution_context/agent.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/inspector/console_message.h"
#include "third_party/blink/renderer/core/inspector/worker_thread_debugger.h"
#include "third_party/blink/renderer/core/origin_trials/origin_trial_context.h"
#include "third_party/blink/renderer/core/probe/core_probes.h"
#include "third_party/blink/renderer/core/workers/global_scope_creation_params.h"
#include "third_party/blink/renderer/core/workers/shared_worker_thread.h"
#include "third_party/blink/renderer/core/workers/worker_classic_script_loader.h"
#include "third_party/blink/renderer/core/workers/worker_module_tree_client.h"
#include "third_party/blink/renderer/core/workers/worker_reporting_proxy.h"
#include "third_party/blink/renderer/platform/bindings/source_location.h"
#include "third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object_snapshot.h"
#include "third_party/blink/renderer/platform/weborigin/scheme_registry.h"
#include "third_party/blink/renderer/platform/weborigin/security_policy.h"
namespace blink {
SharedWorkerGlobalScope::SharedWorkerGlobalScope(
std::unique_ptr<GlobalScopeCreationParams> creation_params,
SharedWorkerThread* thread,
base::TimeTicks time_origin,
const SharedWorkerToken& token,
bool require_cross_site_request_for_cookies)
: … { … }
SharedWorkerGlobalScope::~SharedWorkerGlobalScope() = default;
const AtomicString& SharedWorkerGlobalScope::InterfaceName() const { … }
void SharedWorkerGlobalScope::Initialize(
const KURL& response_url,
network::mojom::ReferrerPolicy response_referrer_policy,
Vector<network::mojom::blink::ContentSecurityPolicyPtr> response_csp,
const Vector<String>* response_origin_trial_tokens) { … }
void SharedWorkerGlobalScope::FetchAndRunClassicScript(
const KURL& script_url,
std::unique_ptr<WorkerMainScriptLoadParameters>
worker_main_script_load_params,
std::unique_ptr<PolicyContainer> policy_container,
const FetchClientSettingsObjectSnapshot& outside_settings_object,
WorkerResourceTimingNotifier& outside_resource_timing_notifier,
const v8_inspector::V8StackTraceId& stack_id) { … }
void SharedWorkerGlobalScope::FetchAndRunModuleScript(
const KURL& module_url_record,
std::unique_ptr<WorkerMainScriptLoadParameters>
worker_main_script_load_params,
std::unique_ptr<PolicyContainer> policy_container,
const FetchClientSettingsObjectSnapshot& outside_settings_object,
WorkerResourceTimingNotifier& outside_resource_timing_notifier,
network::mojom::CredentialsMode credentials_mode,
RejectCoepUnsafeNone reject_coep_unsafe_none) { … }
const String SharedWorkerGlobalScope::name() const { … }
void SharedWorkerGlobalScope::Connect(MessagePortChannel channel) { … }
void SharedWorkerGlobalScope::DidReceiveResponseForClassicScript(
WorkerClassicScriptLoader* classic_script_loader) { … }
void SharedWorkerGlobalScope::DidFetchClassicScript(
WorkerClassicScriptLoader* classic_script_loader,
const v8_inspector::V8StackTraceId& stack_id) { … }
void SharedWorkerGlobalScope::ExceptionThrown(ErrorEvent* event) { … }
void SharedWorkerGlobalScope::Trace(Visitor* visitor) const { … }
bool SharedWorkerGlobalScope::CrossOriginIsolatedCapability() const { … }
bool SharedWorkerGlobalScope::IsIsolatedContext() const { … }
}