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

Side by Side Diff: content/browser/background_sync/background_sync_manager.cc

Issue 1230213004: [Background Sync] Sent sync registration details to worker (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bgsync-event-mek
Patch Set: Validate safety of static_casts Created 5 years, 5 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/browser/background_sync/background_sync_manager.h" 5 #include "content/browser/background_sync/background_sync_manager.h"
6 6
7 #include "base/barrier_closure.h" 7 #include "base/barrier_closure.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after
527 const std::string& backend_key, 527 const std::string& backend_key,
528 const ServiceWorkerStorage::GetUserDataForAllRegistrationsCallback& 528 const ServiceWorkerStorage::GetUserDataForAllRegistrationsCallback&
529 callback) { 529 callback) {
530 DCHECK_CURRENTLY_ON(BrowserThread::IO); 530 DCHECK_CURRENTLY_ON(BrowserThread::IO);
531 531
532 service_worker_context_->GetUserDataForAllRegistrations(backend_key, 532 service_worker_context_->GetUserDataForAllRegistrations(backend_key,
533 callback); 533 callback);
534 } 534 }
535 535
536 void BackgroundSyncManager::FireOneShotSync( 536 void BackgroundSyncManager::FireOneShotSync(
537 BackgroundSyncRegistration* registration,
537 const scoped_refptr<ServiceWorkerVersion>& active_version, 538 const scoped_refptr<ServiceWorkerVersion>& active_version,
538 const ServiceWorkerVersion::StatusCallback& callback) { 539 const ServiceWorkerVersion::StatusCallback& callback) {
539 DCHECK_CURRENTLY_ON(BrowserThread::IO); 540 DCHECK_CURRENTLY_ON(BrowserThread::IO);
540 541
541 active_version->DispatchSyncEvent(callback); 542 active_version->DispatchSyncEvent(
543 mojo::ConvertTo<SyncRegistrationPtr>(*registration), callback);
542 } 544 }
543 545
544 void BackgroundSyncManager::UnregisterImpl( 546 void BackgroundSyncManager::UnregisterImpl(
545 int64 sw_registration_id, 547 int64 sw_registration_id,
546 const RegistrationKey& registration_key, 548 const RegistrationKey& registration_key,
547 BackgroundSyncRegistration::RegistrationId sync_registration_id, 549 BackgroundSyncRegistration::RegistrationId sync_registration_id,
548 const StatusCallback& callback) { 550 const StatusCallback& callback) {
549 DCHECK_CURRENTLY_ON(BrowserThread::IO); 551 DCHECK_CURRENTLY_ON(BrowserThread::IO);
550 552
551 if (disabled_) { 553 if (disabled_) {
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
768 const scoped_refptr<ServiceWorkerRegistration>& 770 const scoped_refptr<ServiceWorkerRegistration>&
769 service_worker_registration) { 771 service_worker_registration) {
770 DCHECK_CURRENTLY_ON(BrowserThread::IO); 772 DCHECK_CURRENTLY_ON(BrowserThread::IO);
771 773
772 if (service_worker_status != SERVICE_WORKER_OK) { 774 if (service_worker_status != SERVICE_WORKER_OK) {
773 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, 775 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
774 base::Bind(callback)); 776 base::Bind(callback));
775 return; 777 return;
776 } 778 }
777 779
780 BackgroundSyncRegistration* registration =
781 LookupRegistration(service_worker_registration->id(), registration_key);
782
778 FireOneShotSync( 783 FireOneShotSync(
779 service_worker_registration->active_version(), 784 registration, service_worker_registration->active_version(),
780 base::Bind(&BackgroundSyncManager::EventComplete, 785 base::Bind(&BackgroundSyncManager::EventComplete,
781 weak_ptr_factory_.GetWeakPtr(), service_worker_registration, 786 weak_ptr_factory_.GetWeakPtr(), service_worker_registration,
782 service_worker_registration->id(), registration_key, 787 service_worker_registration->id(), registration_key,
783 registration_id)); 788 registration_id));
784 789
785 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, 790 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
786 base::Bind(callback)); 791 base::Bind(callback));
787 } 792 }
788 793
789 // |service_worker_registration| is just to keep the registration alive 794 // |service_worker_registration| is just to keep the registration alive
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 BackgroundSyncManager::MakeStatusCompletion(const StatusCallback& callback) { 952 BackgroundSyncManager::MakeStatusCompletion(const StatusCallback& callback) {
948 DCHECK_CURRENTLY_ON(BrowserThread::IO); 953 DCHECK_CURRENTLY_ON(BrowserThread::IO);
949 954
950 return base::Bind( 955 return base::Bind(
951 &BackgroundSyncManager::CompleteOperationCallback<StatusCallback, 956 &BackgroundSyncManager::CompleteOperationCallback<StatusCallback,
952 ErrorType>, 957 ErrorType>,
953 weak_ptr_factory_.GetWeakPtr(), callback); 958 weak_ptr_factory_.GetWeakPtr(), callback);
954 } 959 }
955 960
956 } // namespace content 961 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698