1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_CHILD_SERVICE_WORKER_WEB_SERVICE_WORKER_PROVIDER_IMPL_H_
6 #define CONTENT_CHILD_SERVICE_WORKER_WEB_SERVICE_WORKER_PROVIDER_IMPL_H_
8 #include "base/compiler_specific.h"
9 #include "base/memory/ref_counted.h"
10 #include "third_party/WebKit/public/platform/WebServiceWorkerProvider.h"
11 #include "third_party/WebKit/public/platform/WebServiceWorkerProviderClient.h"
12 #include "third_party/WebKit/public/web/WebFrame.h"
13 #include "third_party/WebKit/public/web/WebSecurityOrigin.h"
26 class ThreadSafeSender;
27 class ServiceWorkerMessageFilter;
29 class WebServiceWorkerProviderImpl
30 : NON_EXPORTED_BASE(public WebKit::WebServiceWorkerProvider) {
32 WebServiceWorkerProviderImpl(
33 ThreadSafeSender* thread_safe_sender,
34 ServiceWorkerMessageFilter* message_filter,
35 const WebKit::WebURL& origin,
36 scoped_ptr<WebKit::WebServiceWorkerProviderClient> client);
37 virtual ~WebServiceWorkerProviderImpl();
39 virtual void registerServiceWorker(const WebKit::WebURL& pattern,
40 const WebKit::WebURL& script_url,
41 WebServiceWorkerCallbacks*);
43 virtual void unregisterServiceWorker(const WebKit::WebURL& pattern,
44 WebServiceWorkerCallbacks*);
47 scoped_refptr<ThreadSafeSender> thread_safe_sender_;
48 scoped_ptr<WebKit::WebServiceWorkerProviderClient> client_;
50 DISALLOW_COPY_AND_ASSIGN(WebServiceWorkerProviderImpl);
53 } // namespace content
55 #endif // CONTENT_CHILD_SERVICE_WORKER_WEB_SERVICE_WORKER_PROVIDER_IMPL_H_