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

Side by Side Diff: content/child/background_sync/background_sync_provider.cc

Issue 1282013004: BackgroundSyncManager tracks client registrations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed test Created 5 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "content/child/background_sync/background_sync_provider.h" 5 #include "content/child/background_sync/background_sync_provider.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "content/child/background_sync/background_sync_type_converters.h" 9 #include "content/child/background_sync/background_sync_type_converters.h"
10 #include "content/child/service_worker/web_service_worker_registration_impl.h" 10 #include "content/child/service_worker/web_service_worker_registration_impl.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 // will wipe its callbacks) before 'this' is deleted. 54 // will wipe its callbacks) before 'this' is deleted.
55 GetBackgroundSyncServicePtr()->Register( 55 GetBackgroundSyncServicePtr()->Register(
56 mojo::ConvertTo<SyncRegistrationPtr>(*(optionsPtr.get())), 56 mojo::ConvertTo<SyncRegistrationPtr>(*(optionsPtr.get())),
57 service_worker_registration_id, requested_from_service_worker, 57 service_worker_registration_id, requested_from_service_worker,
58 base::Bind(&BackgroundSyncProvider::RegisterCallback, 58 base::Bind(&BackgroundSyncProvider::RegisterCallback,
59 base::Unretained(this), base::Passed(callbacksPtr.Pass()))); 59 base::Unretained(this), base::Passed(callbacksPtr.Pass())));
60 } 60 }
61 61
62 void BackgroundSyncProvider::unregisterBackgroundSync( 62 void BackgroundSyncProvider::unregisterBackgroundSync(
63 blink::WebSyncRegistration::Periodicity periodicity, 63 blink::WebSyncRegistration::Periodicity periodicity,
64 int64_t id, 64 int64_t handle_id,
65 const blink::WebString& tag, 65 const blink::WebString& tag,
66 blink::WebServiceWorkerRegistration* service_worker_registration, 66 blink::WebServiceWorkerRegistration* service_worker_registration,
67 blink::WebSyncUnregistrationCallbacks* callbacks) { 67 blink::WebSyncUnregistrationCallbacks* callbacks) {
68 DCHECK(service_worker_registration); 68 DCHECK(service_worker_registration);
69 DCHECK(callbacks); 69 DCHECK(callbacks);
70 int64 service_worker_registration_id = 70 int64 service_worker_registration_id =
71 GetServiceWorkerRegistrationId(service_worker_registration); 71 GetServiceWorkerRegistrationId(service_worker_registration);
72 scoped_ptr<blink::WebSyncUnregistrationCallbacks> callbacksPtr(callbacks); 72 scoped_ptr<blink::WebSyncUnregistrationCallbacks> callbacksPtr(callbacks);
73 73
74 // base::Unretained is safe here, as the mojo channel will be deleted (and 74 // base::Unretained is safe here, as the mojo channel will be deleted (and
75 // will wipe its callbacks) before 'this' is deleted. 75 // will wipe its callbacks) before 'this' is deleted.
76 GetBackgroundSyncServicePtr()->Unregister( 76 GetBackgroundSyncServicePtr()->Unregister(
77 mojo::ConvertTo<BackgroundSyncPeriodicity>(periodicity), id, tag.utf8(), 77 mojo::ConvertTo<BackgroundSyncPeriodicity>(periodicity), handle_id,
78 service_worker_registration_id, 78 service_worker_registration_id,
79 base::Bind(&BackgroundSyncProvider::UnregisterCallback, 79 base::Bind(&BackgroundSyncProvider::UnregisterCallback,
80 base::Unretained(this), base::Passed(callbacksPtr.Pass()))); 80 base::Unretained(this), base::Passed(callbacksPtr.Pass())));
81 } 81 }
82 82
83 void BackgroundSyncProvider::getRegistration( 83 void BackgroundSyncProvider::getRegistration(
84 blink::WebSyncRegistration::Periodicity periodicity, 84 blink::WebSyncRegistration::Periodicity periodicity,
85 const blink::WebString& tag, 85 const blink::WebString& tag,
86 blink::WebServiceWorkerRegistration* service_worker_registration, 86 blink::WebServiceWorkerRegistration* service_worker_registration,
87 blink::WebSyncRegistrationCallbacks* callbacks) { 87 blink::WebSyncRegistrationCallbacks* callbacks) {
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 132
133 // base::Unretained is safe here, as the mojo channel will be deleted (and 133 // base::Unretained is safe here, as the mojo channel will be deleted (and
134 // will wipe its callbacks) before 'this' is deleted. 134 // will wipe its callbacks) before 'this' is deleted.
135 GetBackgroundSyncServicePtr()->GetPermissionStatus( 135 GetBackgroundSyncServicePtr()->GetPermissionStatus(
136 mojo::ConvertTo<BackgroundSyncPeriodicity>(periodicity), 136 mojo::ConvertTo<BackgroundSyncPeriodicity>(periodicity),
137 service_worker_registration_id, 137 service_worker_registration_id,
138 base::Bind(&BackgroundSyncProvider::GetPermissionStatusCallback, 138 base::Bind(&BackgroundSyncProvider::GetPermissionStatusCallback,
139 base::Unretained(this), base::Passed(callbacksPtr.Pass()))); 139 base::Unretained(this), base::Passed(callbacksPtr.Pass())));
140 } 140 }
141 141
142 void BackgroundSyncProvider::releaseRegistration(int64_t handle_id) {
143 GetBackgroundSyncServicePtr()->ReleaseRegistration(handle_id);
144 }
145
146 void BackgroundSyncProvider::DuplicateRegistrationHandle(
147 int handle_id,
148 const BackgroundSyncService::DuplicateRegistrationHandleCallback&
149 callback) {
150 GetBackgroundSyncServicePtr()->DuplicateRegistrationHandle(handle_id,
151 callback);
152 }
153
142 void BackgroundSyncProvider::RegisterCallback( 154 void BackgroundSyncProvider::RegisterCallback(
143 scoped_ptr<blink::WebSyncRegistrationCallbacks> callbacks, 155 scoped_ptr<blink::WebSyncRegistrationCallbacks> callbacks,
144 BackgroundSyncError error, 156 BackgroundSyncError error,
145 const SyncRegistrationPtr& options) { 157 const SyncRegistrationPtr& options) {
146 // TODO(iclelland): Determine the correct error message to return in each case 158 // TODO(iclelland): Determine the correct error message to return in each case
147 scoped_ptr<blink::WebSyncRegistration> result; 159 scoped_ptr<blink::WebSyncRegistration> result;
148 switch (error) { 160 switch (error) {
149 case BACKGROUND_SYNC_ERROR_NONE: 161 case BACKGROUND_SYNC_ERROR_NONE:
150 if (!options.is_null()) 162 if (!options.is_null())
151 result = 163 result =
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 BackgroundSyncServicePtr& 325 BackgroundSyncServicePtr&
314 BackgroundSyncProvider::GetBackgroundSyncServicePtr() { 326 BackgroundSyncProvider::GetBackgroundSyncServicePtr() {
315 if (!background_sync_service_.get()) { 327 if (!background_sync_service_.get()) {
316 service_registry_->ConnectToRemoteService( 328 service_registry_->ConnectToRemoteService(
317 mojo::GetProxy(&background_sync_service_)); 329 mojo::GetProxy(&background_sync_service_));
318 } 330 }
319 return background_sync_service_; 331 return background_sync_service_;
320 } 332 }
321 333
322 } // namespace content 334 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698