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

Side by Side Diff: content/browser/service_worker/service_worker_version.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/service_worker/service_worker_version.h" 5 #include "content/browser/service_worker/service_worker_version.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 10
(...skipping 808 matching lines...) Expand 10 before | Expand all | Expand 10 after
819 ServiceWorkerStatusCode status = embedded_worker_->SendMessage( 819 ServiceWorkerStatusCode status = embedded_worker_->SendMessage(
820 ServiceWorkerMsg_FetchEvent(request_id, request)); 820 ServiceWorkerMsg_FetchEvent(request_id, request));
821 if (status != SERVICE_WORKER_OK) { 821 if (status != SERVICE_WORKER_OK) {
822 fetch_requests_.Remove(request_id); 822 fetch_requests_.Remove(request_id);
823 RunSoon(base::Bind(&RunErrorFetchCallback, 823 RunSoon(base::Bind(&RunErrorFetchCallback,
824 fetch_callback, 824 fetch_callback,
825 SERVICE_WORKER_ERROR_FAILED)); 825 SERVICE_WORKER_ERROR_FAILED));
826 } 826 }
827 } 827 }
828 828
829 void ServiceWorkerVersion::DispatchSyncEvent(SyncRegistrationPtr registration, 829 void ServiceWorkerVersion::DispatchSyncEvent(
830 const StatusCallback& callback) { 830 BackgroundSyncRegistrationHandle::HandleId handle_id,
831 const StatusCallback& callback) {
831 OnBeginEvent(); 832 OnBeginEvent();
832 DCHECK_EQ(ACTIVATED, status()) << status(); 833 DCHECK_EQ(ACTIVATED, status()) << status();
833 if (running_status() != RUNNING) { 834 if (running_status() != RUNNING) {
834 // Schedule calling this method after starting the worker. 835 // Schedule calling this method after starting the worker.
835 StartWorker(base::Bind( 836 StartWorker(base::Bind(
836 &RunTaskAfterStartWorker, weak_factory_.GetWeakPtr(), callback, 837 &RunTaskAfterStartWorker, weak_factory_.GetWeakPtr(), callback,
837 base::Bind(&self::DispatchSyncEvent, weak_factory_.GetWeakPtr(), 838 base::Bind(&self::DispatchSyncEvent, weak_factory_.GetWeakPtr(),
838 base::Passed(registration.Pass()), callback))); 839 handle_id, callback)));
839 return; 840 return;
840 } 841 }
841 842
842 int request_id = AddRequest(callback, &sync_requests_, REQUEST_SYNC); 843 int request_id = AddRequest(callback, &sync_requests_, REQUEST_SYNC);
843 if (!background_sync_dispatcher_) { 844 if (!background_sync_dispatcher_) {
844 embedded_worker_->GetServiceRegistry()->ConnectToRemoteService( 845 embedded_worker_->GetServiceRegistry()->ConnectToRemoteService(
845 mojo::GetProxy(&background_sync_dispatcher_)); 846 mojo::GetProxy(&background_sync_dispatcher_));
846 background_sync_dispatcher_.set_connection_error_handler(base::Bind( 847 background_sync_dispatcher_.set_connection_error_handler(base::Bind(
847 &ServiceWorkerVersion::OnBackgroundSyncDispatcherConnectionError, 848 &ServiceWorkerVersion::OnBackgroundSyncDispatcherConnectionError,
848 weak_factory_.GetWeakPtr())); 849 weak_factory_.GetWeakPtr()));
849 } 850 }
850 851
851 background_sync_dispatcher_->Sync( 852 background_sync_dispatcher_->Sync(
852 registration.Pass(), base::Bind(&self::OnSyncEventFinished, 853 handle_id, base::Bind(&self::OnSyncEventFinished,
853 weak_factory_.GetWeakPtr(), request_id)); 854 weak_factory_.GetWeakPtr(), request_id));
854 } 855 }
855 856
856 void ServiceWorkerVersion::DispatchNotificationClickEvent( 857 void ServiceWorkerVersion::DispatchNotificationClickEvent(
857 const StatusCallback& callback, 858 const StatusCallback& callback,
858 int64_t persistent_notification_id, 859 int64_t persistent_notification_id,
859 const PlatformNotificationData& notification_data, 860 const PlatformNotificationData& notification_data,
860 int action_index) { 861 int action_index) {
861 OnBeginEvent(); 862 OnBeginEvent();
862 DCHECK_EQ(ACTIVATED, status()) << status(); 863 DCHECK_EQ(ACTIVATED, status()) << status();
863 if (running_status() != RUNNING) { 864 if (running_status() != RUNNING) {
(...skipping 1489 matching lines...) Expand 10 before | Expand all | Expand 10 after
2353 void ServiceWorkerVersion::OnBeginEvent() { 2354 void ServiceWorkerVersion::OnBeginEvent() {
2354 if (should_exclude_from_uma_ || running_status() != RUNNING || 2355 if (should_exclude_from_uma_ || running_status() != RUNNING ||
2355 idle_time_.is_null()) { 2356 idle_time_.is_null()) {
2356 return; 2357 return;
2357 } 2358 }
2358 ServiceWorkerMetrics::RecordTimeBetweenEvents(base::TimeTicks::Now() - 2359 ServiceWorkerMetrics::RecordTimeBetweenEvents(base::TimeTicks::Now() -
2359 idle_time_); 2360 idle_time_);
2360 } 2361 }
2361 2362
2362 } // namespace content 2363 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/service_worker/service_worker_version.h ('k') | content/child/background_sync/background_sync_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698