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

Unified Diff: Source/modules/serviceworkers/ServiceWorkerRegistration.h

Issue 424693004: ServiceWorker: Add 'updatefound' and version attributes on SWRegistration (Blink) (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: address tkent's comments 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 side-by-side diff with in-line comments
Download patch
Index: Source/modules/serviceworkers/ServiceWorkerRegistration.h
diff --git a/Source/modules/serviceworkers/ServiceWorkerRegistration.h b/Source/modules/serviceworkers/ServiceWorkerRegistration.h
index 4745492582c4876b75a2df622375521c85bb06fb..d5160fd18f3aa1a62b71d44b3555a90ddd933cc8 100644
--- a/Source/modules/serviceworkers/ServiceWorkerRegistration.h
+++ b/Source/modules/serviceworkers/ServiceWorkerRegistration.h
@@ -7,7 +7,9 @@
#include "core/dom/ActiveDOMObject.h"
#include "core/events/EventTarget.h"
+#include "modules/serviceworkers/ServiceWorker.h"
#include "public/platform/WebServiceWorkerRegistration.h"
+#include "public/platform/WebServiceWorkerRegistrationProxy.h"
#include "wtf/OwnPtr.h"
#include "wtf/PassOwnPtr.h"
#include "wtf/PassRefPtr.h"
@@ -23,30 +25,47 @@ class WebServiceWorkerProvider;
class ServiceWorkerRegistration FINAL
: public RefCountedWillBeRefCountedGarbageCollected<ServiceWorkerRegistration>
, public ActiveDOMObject
- , public EventTargetWithInlineData {
+ , public EventTargetWithInlineData
+ , public WebServiceWorkerRegistrationProxy {
REFCOUNTED_EVENT_TARGET(ServiceWorkerRegistration);
WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(ServiceWorkerRegistration);
public:
virtual ~ServiceWorkerRegistration() { }
- // EventTarget override.
+ // EventTarget overrides.
virtual const AtomicString& interfaceName() const OVERRIDE;
virtual ExecutionContext* executionContext() const OVERRIDE { return ActiveDOMObject::executionContext(); }
+ // WebServiceWorkerRegistrationProxy overrides.
+ virtual void dispatchUpdateFoundEvent() OVERRIDE;
+ virtual void setInstalling(WebServiceWorker*) OVERRIDE;
+ virtual void setWaiting(WebServiceWorker*) OVERRIDE;
+ virtual void setActive(WebServiceWorker*) OVERRIDE;
+
// For CallbackPromiseAdapter.
typedef WebServiceWorkerRegistration WebType;
static PassRefPtrWillBeRawPtr<ServiceWorkerRegistration> take(ScriptPromiseResolver*, WebType* registration);
+ static void dispose(WebType* registration);
+
+ PassRefPtrWillBeRawPtr<ServiceWorker> installing() { return m_installing.get(); }
+ PassRefPtrWillBeRawPtr<ServiceWorker> waiting() { return m_waiting.get(); }
+ PassRefPtrWillBeRawPtr<ServiceWorker> active() { return m_active.get(); }
String scope() const;
ScriptPromise unregister(ScriptState*);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(updatefound);
+
private:
static PassRefPtrWillBeRawPtr<ServiceWorkerRegistration> create(ExecutionContext*, PassOwnPtr<WebServiceWorkerRegistration>);
ServiceWorkerRegistration(ExecutionContext*, PassOwnPtr<WebServiceWorkerRegistration>);
OwnPtr<WebServiceWorkerRegistration> m_outerRegistration;
WebServiceWorkerProvider* m_provider;
+ RefPtrWillBeMember<ServiceWorker> m_installing;
+ RefPtrWillBeMember<ServiceWorker> m_waiting;
+ RefPtrWillBeMember<ServiceWorker> m_active;
};
} // namespace blink
« no previous file with comments | « Source/modules/serviceworkers/ServiceWorker.cpp ('k') | Source/modules/serviceworkers/ServiceWorkerRegistration.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698