ladybird/Userland/Libraries/LibWeb/HTML/WorkerLocation.h
Andrew Kaster 820e99f97d LibWeb: Add initial implementation for WorkerGlobalScope
This initial implementation stubs out the WorkerGlobalScope,
WorkerLocation and WorkerNavigator classes. It doesn't take into account
all the things that actually need passed into the constructors for these
objects, nor the extra abstract operations that need to be performed on
them by the rest of the Browser infrastructure. However, it does create
bindings that compile and link :^)
2022-02-09 17:21:05 +01:00

43 lines
972 B
C++

/*
* Copyright (c) 2022, Andrew Kaster <akaster@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/RefCounted.h>
#include <LibWeb/Bindings/Wrappable.h>
#include <LibWeb/Forward.h>
namespace Web::HTML {
// https://html.spec.whatwg.org/multipage/workers.html#worker-locations
class WorkerLocation
: public RefCounted<WorkerLocation>
, public Bindings::Wrappable {
public:
using WrapperType = Bindings::WorkerLocationWrapper;
static NonnullRefPtr<WorkerLocation> create(WorkerGlobalScope& global_scope)
{
return adopt_ref(*new WorkerLocation(global_scope));
}
String href() const;
String origin() const;
String protocol() const;
String host() const;
String hostname() const;
String port() const;
String pathname() const;
String search() const;
String hash() const;
private:
WorkerLocation(WorkerGlobalScope&);
WorkerGlobalScope& m_global_scope;
};
}