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

Side by Side Diff: content/browser/devtools/protocol/service_worker_handler.cc

Issue 1064523003: Add "emulate push event" button to ServiceWorkersView in DevTools [1/2 chromium] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: s/dispatchPushEvent/deliverPushMessage/ Created 5 years, 8 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
« no previous file with comments | « content/browser/devtools/protocol/service_worker_handler.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/devtools/protocol/service_worker_handler.h" 5 #include "content/browser/devtools/protocol/service_worker_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/containers/scoped_ptr_hash_map.h" 8 #include "base/containers/scoped_ptr_hash_map.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
11 #include "content/browser/devtools/service_worker_devtools_agent_host.h" 11 #include "content/browser/devtools/service_worker_devtools_agent_host.h"
12 #include "content/browser/devtools/service_worker_devtools_manager.h" 12 #include "content/browser/devtools/service_worker_devtools_manager.h"
13 #include "content/browser/frame_host/frame_tree.h" 13 #include "content/browser/frame_host/frame_tree.h"
14 #include "content/browser/frame_host/frame_tree_node.h" 14 #include "content/browser/frame_host/frame_tree_node.h"
15 #include "content/browser/frame_host/render_frame_host_impl.h" 15 #include "content/browser/frame_host/render_frame_host_impl.h"
16 #include "content/browser/service_worker/service_worker_context_core.h" 16 #include "content/browser/service_worker/service_worker_context_core.h"
17 #include "content/browser/service_worker/service_worker_context_watcher.h" 17 #include "content/browser/service_worker/service_worker_context_watcher.h"
18 #include "content/browser/service_worker/service_worker_context_wrapper.h" 18 #include "content/browser/service_worker/service_worker_context_wrapper.h"
19 #include "content/browser/service_worker/service_worker_version.h" 19 #include "content/browser/service_worker/service_worker_version.h"
20 #include "content/public/browser/browser_context.h" 20 #include "content/public/browser/browser_context.h"
21 #include "content/public/browser/browser_thread.h" 21 #include "content/public/browser/browser_thread.h"
22 #include "content/public/browser/devtools_agent_host.h" 22 #include "content/public/browser/devtools_agent_host.h"
23 #include "content/public/browser/render_frame_host.h" 23 #include "content/public/browser/render_frame_host.h"
24 #include "content/public/browser/render_process_host.h" 24 #include "content/public/browser/render_process_host.h"
25 #include "content/public/browser/storage_partition.h" 25 #include "content/public/browser/storage_partition.h"
26 #include "content/public/common/push_messaging_status.h"
26 #include "url/gurl.h" 27 #include "url/gurl.h"
27 28
28 // Windows headers will redefine SendMessage. 29 // Windows headers will redefine SendMessage.
29 #ifdef SendMessage 30 #ifdef SendMessage
30 #undef SendMessage 31 #undef SendMessage
31 #endif 32 #endif
32 33
33 namespace content { 34 namespace content {
34 namespace devtools { 35 namespace devtools {
35 namespace service_worker { 36 namespace service_worker {
36 37
37 using Response = DevToolsProtocolClient::Response; 38 using Response = DevToolsProtocolClient::Response;
38 39
39 namespace { 40 namespace {
40 41
41 void ResultNoOp(bool success) { 42 void ResultNoOp(bool success) {
42 } 43 }
43 void StatusNoOp(ServiceWorkerStatusCode status) { 44 void StatusNoOp(ServiceWorkerStatusCode status) {
44 } 45 }
46 void PushDeliveryNoOp(PushDeliveryStatus status) {
47 }
45 48
46 const std::string GetVersionRunningStatusString( 49 const std::string GetVersionRunningStatusString(
47 content::ServiceWorkerVersion::RunningStatus running_status) { 50 content::ServiceWorkerVersion::RunningStatus running_status) {
48 switch (running_status) { 51 switch (running_status) {
49 case content::ServiceWorkerVersion::STOPPED: 52 case content::ServiceWorkerVersion::STOPPED:
50 return kServiceWorkerVersionRunningStatusStopped; 53 return kServiceWorkerVersionRunningStatusStopped;
51 case content::ServiceWorkerVersion::STARTING: 54 case content::ServiceWorkerVersion::STARTING:
52 return kServiceWorkerVersionRunningStatusStarting; 55 return kServiceWorkerVersionRunningStatusStarting;
53 case content::ServiceWorkerVersion::RUNNING: 56 case content::ServiceWorkerVersion::RUNNING:
54 return kServiceWorkerVersionRunningStatusRunning; 57 return kServiceWorkerVersionRunningStatusRunning;
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 weak_factory_.GetWeakPtr()))); 352 weak_factory_.GetWeakPtr())));
350 return Response::OK(); 353 return Response::OK();
351 } 354 }
352 355
353 Response ServiceWorkerHandler::SetDebugOnStart(bool debug_on_start) { 356 Response ServiceWorkerHandler::SetDebugOnStart(bool debug_on_start) {
354 ServiceWorkerDevToolsManager::GetInstance() 357 ServiceWorkerDevToolsManager::GetInstance()
355 ->set_debug_service_worker_on_start(debug_on_start); 358 ->set_debug_service_worker_on_start(debug_on_start);
356 return Response::OK(); 359 return Response::OK();
357 } 360 }
358 361
362 Response ServiceWorkerHandler::DeliverPushMessage(
363 const std::string& origin,
364 const std::string& registration_id,
365 const std::string& data) {
366 if (!enabled_)
367 return Response::OK();
368 if (!render_frame_host_)
369 return CreateContextErrorResoponse();
370 int64 id = 0;
371 if (!base::StringToInt64(registration_id, &id))
372 return CreateInvalidVersionIdErrorResoponse();
373 BrowserContext::DeliverPushMessage(
374 render_frame_host_->GetProcess()->GetBrowserContext(), GURL(origin), id,
375 data, base::Bind(&PushDeliveryNoOp));
376 return Response::OK();
377 }
378
359 void ServiceWorkerHandler::OpenNewDevToolsWindow(int process_id, 379 void ServiceWorkerHandler::OpenNewDevToolsWindow(int process_id,
360 int devtools_agent_route_id) { 380 int devtools_agent_route_id) {
361 scoped_refptr<DevToolsAgentHostImpl> agent_host( 381 scoped_refptr<DevToolsAgentHostImpl> agent_host(
362 ServiceWorkerDevToolsManager::GetInstance() 382 ServiceWorkerDevToolsManager::GetInstance()
363 ->GetDevToolsAgentHostForWorker(process_id, devtools_agent_route_id)); 383 ->GetDevToolsAgentHostForWorker(process_id, devtools_agent_route_id));
364 if (!agent_host.get()) 384 if (!agent_host.get())
365 return; 385 return;
366 agent_host->Inspect(render_frame_host_->GetProcess()->GetBrowserContext()); 386 agent_host->Inspect(render_frame_host_->GetProcess()->GetBrowserContext());
367 } 387 }
368 388
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 return; 491 return;
472 host->DetachClient(); 492 host->DetachClient();
473 client_->WorkerTerminated(WorkerTerminatedParams::Create()-> 493 client_->WorkerTerminated(WorkerTerminatedParams::Create()->
474 set_worker_id(host->GetId())); 494 set_worker_id(host->GetId()));
475 attached_hosts_.erase(it); 495 attached_hosts_.erase(it);
476 } 496 }
477 497
478 } // namespace service_worker 498 } // namespace service_worker
479 } // namespace devtools 499 } // namespace devtools
480 } // namespace content 500 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/devtools/protocol/service_worker_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698