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

Side by Side Diff: content/browser/service_worker/service_worker_version.cc

Issue 1269923003: Plumb notification action index for desktop SW notificationclick (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@actions
Patch Set: Created 5 years, 4 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 <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 808 matching lines...) Expand 10 before | Expand all | Expand 10 after
819 } 819 }
820 820
821 background_sync_dispatcher_->Sync( 821 background_sync_dispatcher_->Sync(
822 registration.Pass(), base::Bind(&self::OnSyncEventFinished, 822 registration.Pass(), base::Bind(&self::OnSyncEventFinished,
823 weak_factory_.GetWeakPtr(), request_id)); 823 weak_factory_.GetWeakPtr(), request_id));
824 } 824 }
825 825
826 void ServiceWorkerVersion::DispatchNotificationClickEvent( 826 void ServiceWorkerVersion::DispatchNotificationClickEvent(
827 const StatusCallback& callback, 827 const StatusCallback& callback,
828 int64_t persistent_notification_id, 828 int64_t persistent_notification_id,
829 const PlatformNotificationData& notification_data) { 829 const PlatformNotificationData& notification_data,
830 int action_index) {
830 DCHECK_EQ(ACTIVATED, status()) << status(); 831 DCHECK_EQ(ACTIVATED, status()) << status();
831 if (running_status() != RUNNING) { 832 if (running_status() != RUNNING) {
832 // Schedule calling this method after starting the worker. 833 // Schedule calling this method after starting the worker.
833 StartWorker(base::Bind( 834 StartWorker(base::Bind(
834 &RunTaskAfterStartWorker, weak_factory_.GetWeakPtr(), callback, 835 &RunTaskAfterStartWorker, weak_factory_.GetWeakPtr(), callback,
835 base::Bind(&self::DispatchNotificationClickEvent, 836 base::Bind(&self::DispatchNotificationClickEvent,
836 weak_factory_.GetWeakPtr(), callback, 837 weak_factory_.GetWeakPtr(), callback,
837 persistent_notification_id, notification_data))); 838 persistent_notification_id, notification_data,
839 action_index)));
838 return; 840 return;
839 } 841 }
840 842
841 int request_id = AddRequest(callback, &notification_click_requests_, 843 int request_id = AddRequest(callback, &notification_click_requests_,
842 REQUEST_NOTIFICATION_CLICK); 844 REQUEST_NOTIFICATION_CLICK);
843 ServiceWorkerStatusCode status = 845 ServiceWorkerStatusCode status =
844 embedded_worker_->SendMessage(ServiceWorkerMsg_NotificationClickEvent( 846 embedded_worker_->SendMessage(ServiceWorkerMsg_NotificationClickEvent(
845 request_id, persistent_notification_id, notification_data)); 847 request_id, persistent_notification_id, notification_data,
848 action_index));
846 if (status != SERVICE_WORKER_OK) { 849 if (status != SERVICE_WORKER_OK) {
847 notification_click_requests_.Remove(request_id); 850 notification_click_requests_.Remove(request_id);
848 RunSoon(base::Bind(callback, status)); 851 RunSoon(base::Bind(callback, status));
849 } 852 }
850 } 853 }
851 854
852 void ServiceWorkerVersion::DispatchPushEvent(const StatusCallback& callback, 855 void ServiceWorkerVersion::DispatchPushEvent(const StatusCallback& callback,
853 const std::string& data) { 856 const std::string& data) {
854 DCHECK_EQ(ACTIVATED, status()) << status(); 857 DCHECK_EQ(ACTIVATED, status()) << status();
855 if (running_status() != RUNNING) { 858 if (running_status() != RUNNING) {
(...skipping 1439 matching lines...) Expand 10 before | Expand all | Expand 10 after
2295 base::string16()); 2298 base::string16());
2296 service_port_dispatcher_.reset(); 2299 service_port_dispatcher_.reset();
2297 } 2300 }
2298 2301
2299 void ServiceWorkerVersion::OnBackgroundSyncDispatcherConnectionError() { 2302 void ServiceWorkerVersion::OnBackgroundSyncDispatcherConnectionError() {
2300 RunIDMapCallbacks(&sync_requests_, SERVICE_WORKER_ERROR_FAILED); 2303 RunIDMapCallbacks(&sync_requests_, SERVICE_WORKER_ERROR_FAILED);
2301 background_sync_dispatcher_.reset(); 2304 background_sync_dispatcher_.reset();
2302 } 2305 }
2303 2306
2304 } // namespace content 2307 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698