Serenity Operating System
at master 35 lines 927 B view raw
1/* 2 * Copyright (c) 2022, Andrew Kaster <akaster@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <LibWeb/Bindings/PlatformObject.h> 10#include <LibWeb/HTML/NavigatorConcurrentHardware.h> 11#include <LibWeb/HTML/NavigatorID.h> 12#include <LibWeb/HTML/NavigatorLanguage.h> 13#include <LibWeb/HTML/NavigatorOnLine.h> 14 15namespace Web::HTML { 16 17class WorkerNavigator : public Bindings::PlatformObject 18 , public NavigatorConcurrentHardwareMixin 19 , public NavigatorIDMixin 20 , public NavigatorLanguageMixin 21 , public NavigatorOnLineMixin { 22 WEB_PLATFORM_OBJECT(WorkerNavigator, Bindings::PlatformObject); 23 24public: 25 static WebIDL::ExceptionOr<JS::NonnullGCPtr<WorkerNavigator>> create(WorkerGlobalScope&); 26 27 virtual ~WorkerNavigator() override; 28 29private: 30 explicit WorkerNavigator(WorkerGlobalScope&); 31 32 virtual JS::ThrowCompletionOr<void> initialize(JS::Realm&) override; 33}; 34 35}