#include "bindings/v8/ScriptObject.h"
#include "core/workers/WorkerClients.h"
#include "core/workers/WorkerThreadStartupData.h"
+#include "modules/serviceworkers/ServiceWorkerClients.h"
+#include "modules/serviceworkers/ServiceWorkerGlobalScopeClient.h"
#include "modules/serviceworkers/ServiceWorkerThread.h"
#include "platform/weborigin/KURL.h"
+#include "public/platform/WebURL.h"
#include "wtf/CurrentTime.h"
namespace WebCore {
return context.release();
}
-ServiceWorkerGlobalScope::ServiceWorkerGlobalScope(const KURL& url, const String& userAgent, ServiceWorkerThread* thread, double timeOrigin, PassOwnPtr<WorkerClients> workerClients) :
- WorkerGlobalScope(url, userAgent, thread, timeOrigin, workerClients)
+ServiceWorkerGlobalScope::ServiceWorkerGlobalScope(const KURL& url, const String& userAgent, ServiceWorkerThread* thread, double timeOrigin, PassOwnPtrWillBeRawPtr<WorkerClients> workerClients)
+ : WorkerGlobalScope(url, userAgent, thread, timeOrigin, workerClients)
{
ScriptWrappable::init(this);
}
{
}
+String ServiceWorkerGlobalScope::scope(ExecutionContext* context)
+{
+ return ServiceWorkerGlobalScopeClient::from(context)->scope().string();
+}
+
+PassRefPtr<ServiceWorkerClients> ServiceWorkerGlobalScope::clients()
+{
+ if (!m_clients)
+ m_clients = ServiceWorkerClients::create();
+ return m_clients;
+}
+
const AtomicString& ServiceWorkerGlobalScope::interfaceName() const
{
return EventTargetNames::ServiceWorkerGlobalScope;