| Index: content/child/service_worker/web_service_worker_provider_impl.cc
|
| diff --git a/content/child/service_worker/web_service_worker_provider_impl.cc b/content/child/service_worker/web_service_worker_provider_impl.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e7f224ceadfd84d36139b93d9676175633c3654c
|
| --- /dev/null
|
| +++ b/content/child/service_worker/web_service_worker_provider_impl.cc
|
| @@ -0,0 +1,54 @@
|
| +// Copyright 2013 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "content/child/service_worker/web_service_worker_provider_impl.h"
|
| +
|
| +#include "base/logging.h"
|
| +#include "content/child/child_thread.h"
|
| +#include "content/child/service_worker/service_worker_dispatcher.h"
|
| +#include "content/child/service_worker/service_worker_message_filter.h"
|
| +#include "content/child/thread_safe_sender.h"
|
| +#include "content/common/service_worker_messages.h"
|
| +#include "ipc/ipc_sender.h"
|
| +#include "third_party/WebKit/public/platform/WebString.h"
|
| +#include "third_party/WebKit/public/platform/WebURL.h"
|
| +
|
| +using WebKit::WebString;
|
| +using WebKit::WebURL;
|
| +
|
| +namespace content {
|
| +
|
| +WebServiceWorkerProviderImpl::WebServiceWorkerProviderImpl(
|
| + ThreadSafeSender* thread_safe_sender,
|
| + ServiceWorkerMessageFilter* message_filter,
|
| + const WebKit::WebURL& origin,
|
| + WebKit::WebServiceWorkerProviderClient* client)
|
| + : thread_safe_sender_(thread_safe_sender),
|
| + origin_(origin),
|
| + client_(client) {}
|
| +
|
| +WebServiceWorkerProviderImpl::~WebServiceWorkerProviderImpl() {}
|
| +
|
| +void WebServiceWorkerProviderImpl::registerServiceWorker(
|
| + const WebURL& origin,
|
| + const WebString& pattern,
|
| + const WebURL& scriptUrl,
|
| + WebServiceWorkerCallbacks* callbacks) {
|
| + CHECK(origin == origin_) << "Requesting origin has changed since service "
|
| + "worker was created. Race condition?";
|
| + ServiceWorkerDispatcher::ThreadSpecificInstance(thread_safe_sender_)
|
| + ->RegisterServiceWorker(origin_, pattern, scriptUrl, callbacks);
|
| +}
|
| +
|
| +void WebServiceWorkerProviderImpl::unregisterServiceWorker(
|
| + const WebURL& origin,
|
| + const WebString& pattern,
|
| + WebServiceWorkerCallbacks* callbacks) {
|
| + CHECK(origin == origin_) << "Requesting origin has changed since service "
|
| + "worker was created. Race condition?";
|
| + ServiceWorkerDispatcher::ThreadSpecificInstance(thread_safe_sender_)
|
| + ->UnregisterServiceWorker(origin_, pattern, callbacks);
|
| +}
|
| +
|
| +} // namespace content
|
|
|