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

Side by Side Diff: third_party/WebKit/Source/modules/push_messaging/ServiceWorkerRegistrationPush.cpp

Issue 2651613002: Use a new Supplement constructor for ServiceWorkerRegistration supplements (Closed)
Patch Set: temp Created 3 years, 10 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 #include "modules/push_messaging/ServiceWorkerRegistrationPush.h" 5 #include "modules/push_messaging/ServiceWorkerRegistrationPush.h"
6 6
7 #include "modules/push_messaging/PushManager.h" 7 #include "modules/push_messaging/PushManager.h"
8 #include "modules/serviceworkers/ServiceWorkerRegistration.h" 8 #include "modules/serviceworkers/ServiceWorkerRegistration.h"
9 9
10 namespace blink { 10 namespace blink {
11 11
12 ServiceWorkerRegistrationPush::ServiceWorkerRegistrationPush( 12 ServiceWorkerRegistrationPush::ServiceWorkerRegistrationPush(
13 ServiceWorkerRegistration* registration) 13 ServiceWorkerRegistration& registration)
14 : m_registration(registration) {} 14 : Supplement<ServiceWorkerRegistration>(registration) {}
15 15
16 ServiceWorkerRegistrationPush::~ServiceWorkerRegistrationPush() {} 16 ServiceWorkerRegistrationPush::~ServiceWorkerRegistrationPush() {}
17 17
18 const char* ServiceWorkerRegistrationPush::supplementName() { 18 const char* ServiceWorkerRegistrationPush::supplementName() {
19 return "ServiceWorkerRegistrationPush"; 19 return "ServiceWorkerRegistrationPush";
20 } 20 }
21 21
22 ServiceWorkerRegistrationPush& ServiceWorkerRegistrationPush::from( 22 ServiceWorkerRegistrationPush& ServiceWorkerRegistrationPush::from(
23 ServiceWorkerRegistration& registration) { 23 ServiceWorkerRegistration& registration) {
24 ServiceWorkerRegistrationPush* supplement = 24 ServiceWorkerRegistrationPush* supplement =
25 static_cast<ServiceWorkerRegistrationPush*>( 25 static_cast<ServiceWorkerRegistrationPush*>(
26 Supplement<ServiceWorkerRegistration>::from(registration, 26 Supplement<ServiceWorkerRegistration>::from(registration,
27 supplementName())); 27 supplementName()));
28 if (!supplement) { 28 if (!supplement) {
29 supplement = new ServiceWorkerRegistrationPush(&registration); 29 supplement = new ServiceWorkerRegistrationPush(registration);
30 provideTo(registration, supplementName(), supplement); 30 provideTo(registration, supplementName(), supplement);
31 } 31 }
32 return *supplement; 32 return *supplement;
33 } 33 }
34 34
35 PushManager* ServiceWorkerRegistrationPush::pushManager( 35 PushManager* ServiceWorkerRegistrationPush::pushManager(
36 ServiceWorkerRegistration& registration) { 36 ServiceWorkerRegistration& registration) {
37 return ServiceWorkerRegistrationPush::from(registration).pushManager(); 37 return ServiceWorkerRegistrationPush::from(registration).pushManager();
38 } 38 }
39 39
40 PushManager* ServiceWorkerRegistrationPush::pushManager() { 40 PushManager* ServiceWorkerRegistrationPush::pushManager() {
41 if (!m_pushManager) 41 if (!m_pushManager)
42 m_pushManager = PushManager::create(m_registration); 42 m_pushManager = PushManager::create(supplementable());
43 return m_pushManager.get(); 43 return m_pushManager.get();
44 } 44 }
45 45
46 DEFINE_TRACE(ServiceWorkerRegistrationPush) { 46 DEFINE_TRACE(ServiceWorkerRegistrationPush) {
47 visitor->trace(m_registration);
48 visitor->trace(m_pushManager); 47 visitor->trace(m_pushManager);
49 Supplement<ServiceWorkerRegistration>::trace(visitor); 48 Supplement<ServiceWorkerRegistration>::trace(visitor);
50 } 49 }
51 50
52 } // namespace blink 51 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698