Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(980)

Side by Side Diff: public/platform/WebServiceWorkerRegistrationProxy.h

Issue 478693005: Oilpan: Ship Oilpan for serviceworkers/ (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef WebServiceWorkerRegistrationProxy_h 5 #ifndef WebServiceWorkerRegistrationProxy_h
6 #define WebServiceWorkerRegistrationProxy_h 6 #define WebServiceWorkerRegistrationProxy_h
7 7
8 #include "public/platform/WebCommon.h" 8 #include "WebCommon.h"
9 #include "WebPrivatePtr.h"
9 10
10 namespace blink { 11 namespace blink {
11 12
12 class ServiceWorkerRegistration; 13 class ServiceWorkerRegistration;
13 class WebServiceWorker; 14 class WebServiceWorker;
14 15
15 // A proxy interface, passed via WebServiceWorkerRegistration.setProxy() from 16 // A proxy interface, passed via WebServiceWorkerRegistration.setProxy() from
16 // blink to the embedder, to talk to the ServiceWorkerRegistration object from 17 // blink to the embedder, to talk to the ServiceWorkerRegistration object from
17 // embedder. 18 // embedder.
18 class WebServiceWorkerRegistrationProxy { 19 class WebServiceWorkerRegistrationProxy {
19 public: 20 public:
20 WebServiceWorkerRegistrationProxy() : m_private(0) { } 21 WebServiceWorkerRegistrationProxy() { }
21 virtual ~WebServiceWorkerRegistrationProxy() { } 22 WebServiceWorkerRegistrationProxy(const WebServiceWorkerRegistrationProxy& o ther) { assign(other); }
23 virtual ~WebServiceWorkerRegistrationProxy() { reset(); }
22 24
23 // Notifies that the registration entered the installation process. 25 // Notifies that the registration entered the installation process.
24 // The installing worker should be accessible via 26 // The installing worker should be accessible via
25 // WebServiceWorkerRegistration.installing. 27 // WebServiceWorkerRegistration.installing.
26 virtual void dispatchUpdateFoundEvent() = 0; 28 virtual void dispatchUpdateFoundEvent() = 0;
27 29
28 virtual void setInstalling(WebServiceWorker*) = 0; 30 virtual void setInstalling(WebServiceWorker*) = 0;
29 virtual void setWaiting(WebServiceWorker*) = 0; 31 virtual void setWaiting(WebServiceWorker*) = 0;
30 virtual void setActive(WebServiceWorker*) = 0; 32 virtual void setActive(WebServiceWorker*) = 0;
31 33
34 BLINK_PLATFORM_EXPORT void assign(const WebServiceWorkerRegistrationProxy&);
35 BLINK_PLATFORM_EXPORT void reset();
36
32 #if INSIDE_BLINK 37 #if INSIDE_BLINK
33 BLINK_PLATFORM_EXPORT WebServiceWorkerRegistrationProxy(ServiceWorkerRegistr ation*); 38 BLINK_PLATFORM_EXPORT WebServiceWorkerRegistrationProxy(ServiceWorkerRegistr ation*);
39 BLINK_PLATFORM_EXPORT WebServiceWorkerRegistrationProxy& operator=(ServiceWo rkerRegistration*);
34 BLINK_PLATFORM_EXPORT operator ServiceWorkerRegistration*() const; 40 BLINK_PLATFORM_EXPORT operator ServiceWorkerRegistration*() const;
35 #endif 41 #endif
36 42
43 bool isNull() const { return m_private.isNull(); }
44
37 protected: 45 protected:
38 ServiceWorkerRegistration* m_private; 46 WebPrivatePtr<ServiceWorkerRegistration> m_private;
39 }; 47 };
40 48
41 } // namespace blink 49 } // namespace blink
42 50
43 #endif // WebServiceWorkerRegistrationProxy_h 51 #endif // WebServiceWorkerRegistrationProxy_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698