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

Side by Side Diff: third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerRegistration.h

Issue 2265873003: binding: Moves hasPendingActivity from ActiveScriptWrappable to ScriptWrappable. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed review comments. Created 4 years, 3 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
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 ServiceWorkerRegistration_h 5 #ifndef ServiceWorkerRegistration_h
6 #define ServiceWorkerRegistration_h 6 #define ServiceWorkerRegistration_h
7 7
8 #include "bindings/core/v8/ActiveScriptWrappable.h" 8 #include "bindings/core/v8/ActiveScriptWrappable.h"
9 #include "bindings/core/v8/ScriptPromiseResolver.h" 9 #include "bindings/core/v8/ScriptPromiseResolver.h"
10 #include "core/dom/ActiveDOMObject.h" 10 #include "core/dom/ActiveDOMObject.h"
(...skipping 18 matching lines...) Expand all
29 class ServiceWorkerRegistration final 29 class ServiceWorkerRegistration final
30 : public EventTargetWithInlineData 30 : public EventTargetWithInlineData
31 , public ActiveScriptWrappable 31 , public ActiveScriptWrappable
32 , public ActiveDOMObject 32 , public ActiveDOMObject
33 , public WebServiceWorkerRegistrationProxy 33 , public WebServiceWorkerRegistrationProxy
34 , public Supplementable<ServiceWorkerRegistration> { 34 , public Supplementable<ServiceWorkerRegistration> {
35 DEFINE_WRAPPERTYPEINFO(); 35 DEFINE_WRAPPERTYPEINFO();
36 USING_GARBAGE_COLLECTED_MIXIN(ServiceWorkerRegistration); 36 USING_GARBAGE_COLLECTED_MIXIN(ServiceWorkerRegistration);
37 USING_PRE_FINALIZER(ServiceWorkerRegistration, dispose); 37 USING_PRE_FINALIZER(ServiceWorkerRegistration, dispose);
38 public: 38 public:
39 // ScriptWrappable overrides.
40 bool hasPendingActivity() const final;
41
39 // EventTarget overrides. 42 // EventTarget overrides.
40 const AtomicString& interfaceName() const override; 43 const AtomicString& interfaceName() const override;
41 ExecutionContext* getExecutionContext() const override { return ActiveDOMObj ect::getExecutionContext(); } 44 ExecutionContext* getExecutionContext() const override { return ActiveDOMObj ect::getExecutionContext(); }
42 45
43 // WebServiceWorkerRegistrationProxy overrides. 46 // WebServiceWorkerRegistrationProxy overrides.
44 void dispatchUpdateFoundEvent() override; 47 void dispatchUpdateFoundEvent() override;
45 void setInstalling(std::unique_ptr<WebServiceWorker::Handle>) override; 48 void setInstalling(std::unique_ptr<WebServiceWorker::Handle>) override;
46 void setWaiting(std::unique_ptr<WebServiceWorker::Handle>) override; 49 void setWaiting(std::unique_ptr<WebServiceWorker::Handle>) override;
47 void setActive(std::unique_ptr<WebServiceWorker::Handle>) override; 50 void setActive(std::unique_ptr<WebServiceWorker::Handle>) override;
48 51
(...skipping 15 matching lines...) Expand all
64 DEFINE_ATTRIBUTE_EVENT_LISTENER(updatefound); 67 DEFINE_ATTRIBUTE_EVENT_LISTENER(updatefound);
65 68
66 ~ServiceWorkerRegistration() override; 69 ~ServiceWorkerRegistration() override;
67 70
68 DECLARE_VIRTUAL_TRACE(); 71 DECLARE_VIRTUAL_TRACE();
69 72
70 private: 73 private:
71 ServiceWorkerRegistration(ExecutionContext*, std::unique_ptr<WebServiceWorke rRegistration::Handle>); 74 ServiceWorkerRegistration(ExecutionContext*, std::unique_ptr<WebServiceWorke rRegistration::Handle>);
72 void dispose(); 75 void dispose();
73 76
74 // ActiveScriptWrappable overrides.
75 bool hasPendingActivity() const final;
76
77 // ActiveDOMObject overrides. 77 // ActiveDOMObject overrides.
78 void stop() override; 78 void stop() override;
79 79
80 // A handle to the registration representation in the embedder. 80 // A handle to the registration representation in the embedder.
81 std::unique_ptr<WebServiceWorkerRegistration::Handle> m_handle; 81 std::unique_ptr<WebServiceWorkerRegistration::Handle> m_handle;
82 82
83 Member<ServiceWorker> m_installing; 83 Member<ServiceWorker> m_installing;
84 Member<ServiceWorker> m_waiting; 84 Member<ServiceWorker> m_waiting;
85 Member<ServiceWorker> m_active; 85 Member<ServiceWorker> m_active;
86 86
87 bool m_stopped; 87 bool m_stopped;
88 }; 88 };
89 89
90 class ServiceWorkerRegistrationArray { 90 class ServiceWorkerRegistrationArray {
91 STATIC_ONLY(ServiceWorkerRegistrationArray); 91 STATIC_ONLY(ServiceWorkerRegistrationArray);
92 public: 92 public:
93 static HeapVector<Member<ServiceWorkerRegistration>> take(ScriptPromiseResol ver* resolver, Vector<std::unique_ptr<WebServiceWorkerRegistration::Handle>>* we bServiceWorkerRegistrations) 93 static HeapVector<Member<ServiceWorkerRegistration>> take(ScriptPromiseResol ver* resolver, Vector<std::unique_ptr<WebServiceWorkerRegistration::Handle>>* we bServiceWorkerRegistrations)
94 { 94 {
95 HeapVector<Member<ServiceWorkerRegistration>> registrations; 95 HeapVector<Member<ServiceWorkerRegistration>> registrations;
96 for (auto& registration : *webServiceWorkerRegistrations) 96 for (auto& registration : *webServiceWorkerRegistrations)
97 registrations.append(ServiceWorkerRegistration::getOrCreate(resolver ->getExecutionContext(), std::move(registration))); 97 registrations.append(ServiceWorkerRegistration::getOrCreate(resolver ->getExecutionContext(), std::move(registration)));
98 return registrations; 98 return registrations;
99 } 99 }
100 }; 100 };
101 101
102 } // namespace blink 102 } // namespace blink
103 103
104 #endif // ServiceWorkerRegistration_h 104 #endif // ServiceWorkerRegistration_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698