Index: public/platform/WebServiceWorkerRegistrationProxy.h |
diff --git a/public/platform/WebServiceWorkerRegistrationProxy.h b/public/platform/WebServiceWorkerRegistrationProxy.h |
index 94e5a74c3ca89f72ca92713dff8639adfade2068..382c4da5ee24c1d09795e0b474f24c6b98cdac11 100644 |
--- a/public/platform/WebServiceWorkerRegistrationProxy.h |
+++ b/public/platform/WebServiceWorkerRegistrationProxy.h |
@@ -5,11 +5,12 @@ |
#ifndef WebServiceWorkerRegistrationProxy_h |
#define WebServiceWorkerRegistrationProxy_h |
-#include "public/platform/WebCommon.h" |
+#include "WebCommon.h" |
+#include "WebPrivatePtr.h" |
namespace blink { |
-class ServiceWorkerRegistration; |
+class ServiceWorkerRegistrationProxy; |
class WebServiceWorker; |
// A proxy interface, passed via WebServiceWorkerRegistration.setProxy() from |
@@ -17,8 +18,9 @@ class WebServiceWorker; |
// embedder. |
class WebServiceWorkerRegistrationProxy { |
public: |
- WebServiceWorkerRegistrationProxy() : m_private(0) { } |
- virtual ~WebServiceWorkerRegistrationProxy() { } |
+ WebServiceWorkerRegistrationProxy() { } |
+ WebServiceWorkerRegistrationProxy(const WebServiceWorkerRegistrationProxy& other) { assign(other); } |
+ virtual ~WebServiceWorkerRegistrationProxy() { reset(); } |
// Notifies that the registration entered the installation process. |
// The installing worker should be accessible via |
@@ -29,13 +31,19 @@ public: |
virtual void setWaiting(WebServiceWorker*) = 0; |
virtual void setActive(WebServiceWorker*) = 0; |
+ BLINK_PLATFORM_EXPORT void assign(const WebServiceWorkerRegistrationProxy&); |
+ BLINK_PLATFORM_EXPORT void reset(); |
+ |
#if INSIDE_BLINK |
- BLINK_PLATFORM_EXPORT WebServiceWorkerRegistrationProxy(ServiceWorkerRegistration*); |
- BLINK_PLATFORM_EXPORT operator ServiceWorkerRegistration*() const; |
+ BLINK_PLATFORM_EXPORT WebServiceWorkerRegistrationProxy(ServiceWorkerRegistrationProxy*); |
+ BLINK_PLATFORM_EXPORT WebServiceWorkerRegistrationProxy& operator=(ServiceWorkerRegistrationProxy*); |
+ BLINK_PLATFORM_EXPORT operator ServiceWorkerRegistrationProxy*() const; |
#endif |
+ bool isNull() const { return m_private.isNull(); } |
+ |
protected: |
- ServiceWorkerRegistration* m_private; |
+ WebPrivatePtr<ServiceWorkerRegistrationProxy> m_private; |
}; |
} // namespace blink |