Index: public/platform/WebServiceWorkerRegistrationProxy.h |
diff --git a/public/platform/WebServiceWorkerRegistrationProxy.h b/public/platform/WebServiceWorkerRegistrationProxy.h |
index 94e5a74c3ca89f72ca92713dff8639adfade2068..f36d7fb1eaba86a673f9c0014390ea394891b29e 100644 |
--- a/public/platform/WebServiceWorkerRegistrationProxy.h |
+++ b/public/platform/WebServiceWorkerRegistrationProxy.h |
@@ -5,7 +5,8 @@ |
#ifndef WebServiceWorkerRegistrationProxy_h |
#define WebServiceWorkerRegistrationProxy_h |
-#include "public/platform/WebCommon.h" |
+#include "WebCommon.h" |
+#include "WebPrivatePtr.h" |
namespace blink { |
@@ -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 WebServiceWorkerRegistrationProxy& operator=(ServiceWorkerRegistration*); |
BLINK_PLATFORM_EXPORT operator ServiceWorkerRegistration*() const; |
#endif |
+ bool isNull() const { return m_private.isNull(); } |
+ |
protected: |
- ServiceWorkerRegistration* m_private; |
+ WebPrivatePtr<ServiceWorkerRegistration> m_private; |
}; |
} // namespace blink |