1 // Copyright 2014 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_REGISTRATION_IMPL_H_
6 #define CONTENT_CHILD_SERVICE_WORKER_WEB_SERVICE_WORKER_REGISTRATION_IMPL_H_
8 #include "base/compiler_specific.h"
9 #include "third_party/WebKit/public/platform/WebServiceWorkerRegistration.h"
12 class WebServiceWorker;
13 class WebServiceWorkerRegistrationProxy;
18 class ServiceWorkerRegistrationHandleReference;
19 class ThreadSafeSender;
20 struct ServiceWorkerObjectInfo;
22 class WebServiceWorkerRegistrationImpl
23 : NON_EXPORTED_BASE(public blink::WebServiceWorkerRegistration) {
25 explicit WebServiceWorkerRegistrationImpl(
26 scoped_ptr<ServiceWorkerRegistrationHandleReference> handle_ref);
27 virtual ~WebServiceWorkerRegistrationImpl();
31 virtual void setProxy(blink::WebServiceWorkerRegistrationProxy* proxy);
32 virtual blink::WebServiceWorkerRegistrationProxy* proxy();
33 virtual void setInstalling(blink::WebServiceWorker* service_worker);
34 virtual void setWaiting(blink::WebServiceWorker* service_worker);
35 virtual void setActive(blink::WebServiceWorker* service_worker);
37 virtual blink::WebURL scope() const;
40 scoped_ptr<ServiceWorkerRegistrationHandleReference> handle_ref_;
41 blink::WebServiceWorkerRegistrationProxy* proxy_;
43 DISALLOW_COPY_AND_ASSIGN(WebServiceWorkerRegistrationImpl);
46 } // namespace content
48 #endif // CONTENT_CHILD_SERVICE_WORKER_WEB_SERVICE_WORKER_REGISTRATION_IMPL_H_