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

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

Issue 261753008: Call EmbeddedWorkerDevToolsManager::ServiceWorkerCreated, WorkerContextStarted and WorkerDestroyed. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: pass scope in StartWorker() Created 6 years, 7 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_internals_ui.h" 5 #include "content/browser/service_worker/service_worker_internals_ui.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 77
78 void StopActiveWorker( 78 void StopActiveWorker(
79 ServiceWorkerStatusCode status, 79 ServiceWorkerStatusCode status,
80 const scoped_refptr<ServiceWorkerRegistration>& registration); 80 const scoped_refptr<ServiceWorkerRegistration>& registration);
81 81
82 void DispatchSyncEventToActiveWorker( 82 void DispatchSyncEventToActiveWorker(
83 ServiceWorkerStatusCode status, 83 ServiceWorkerStatusCode status,
84 const scoped_refptr<ServiceWorkerRegistration>& registration); 84 const scoped_refptr<ServiceWorkerRegistration>& registration);
85 85
86 void InspectActiveWorker( 86 void InspectActiveWorker(
87 const base::FilePath& context_path, 87 const ServiceWorkerContextCore* const service_worker_context,
88 ServiceWorkerStatusCode status, 88 ServiceWorkerStatusCode status,
89 const scoped_refptr<ServiceWorkerRegistration>& registration); 89 const scoped_refptr<ServiceWorkerRegistration>& registration);
90 90
91 void InspecteWorkerOnUIThread(const base::FilePath& context_path, 91 void InspecteWorkerOnUIThread(
92 int64 version_id); 92 const ServiceWorkerContextCore* const service_worker_context,
93 int64 version_id);
93 94
94 WeakPtr<ServiceWorkerInternalsUI> internals_; 95 WeakPtr<ServiceWorkerInternalsUI> internals_;
95 scoped_ptr<ListValue> original_args_; 96 scoped_ptr<ListValue> original_args_;
96 }; 97 };
97 98
98 class ServiceWorkerInternalsUI::PartitionObserver 99 class ServiceWorkerInternalsUI::PartitionObserver
99 : public ServiceWorkerContextObserver { 100 : public ServiceWorkerContextObserver {
100 public: 101 public:
101 PartitionObserver(int partition_id, WebUI* web_ui) 102 PartitionObserver(int partition_id, WebUI* web_ui)
102 : partition_id_(partition_id), web_ui_(web_ui) {} 103 : partition_id_(partition_id), web_ui_(web_ui) {}
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 } 481 }
481 482
482 void ServiceWorkerInternalsUI::OperationProxy::InspectWorkerOnIOThread( 483 void ServiceWorkerInternalsUI::OperationProxy::InspectWorkerOnIOThread(
483 scoped_refptr<ServiceWorkerContextWrapper> context, 484 scoped_refptr<ServiceWorkerContextWrapper> context,
484 const GURL& scope) { 485 const GURL& scope) {
485 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 486 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
486 context->context()->storage()->FindRegistrationForPattern( 487 context->context()->storage()->FindRegistrationForPattern(
487 scope, 488 scope,
488 base::Bind(&ServiceWorkerInternalsUI::OperationProxy::InspectActiveWorker, 489 base::Bind(&ServiceWorkerInternalsUI::OperationProxy::InspectActiveWorker,
489 this, 490 this,
490 context->context()->storage_partition_path())); 491 context->context()));
491 } 492 }
492 493
493 namespace { 494 namespace {
494 void UpdateVersionInfo(const ServiceWorkerVersionInfo& version, 495 void UpdateVersionInfo(const ServiceWorkerVersionInfo& version,
495 DictionaryValue* info) { 496 DictionaryValue* info) {
496 switch (version.running_status) { 497 switch (version.running_status) {
497 case ServiceWorkerVersion::STOPPED: 498 case ServiceWorkerVersion::STOPPED:
498 info->SetString("running_status", "STOPPED"); 499 info->SetString("running_status", "STOPPED");
499 break; 500 break;
500 case ServiceWorkerVersion::STARTING: 501 case ServiceWorkerVersion::STARTING:
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 ServiceWorkerVersion::ACTIVE) { 642 ServiceWorkerVersion::ACTIVE) {
642 registration->active_version()->DispatchSyncEvent(base::Bind( 643 registration->active_version()->DispatchSyncEvent(base::Bind(
643 &ServiceWorkerInternalsUI::OperationProxy::OperationComplete, this)); 644 &ServiceWorkerInternalsUI::OperationProxy::OperationComplete, this));
644 return; 645 return;
645 } 646 }
646 647
647 OperationComplete(SERVICE_WORKER_ERROR_FAILED); 648 OperationComplete(SERVICE_WORKER_ERROR_FAILED);
648 } 649 }
649 650
650 void ServiceWorkerInternalsUI::OperationProxy::InspectActiveWorker( 651 void ServiceWorkerInternalsUI::OperationProxy::InspectActiveWorker(
651 const base::FilePath& context_path, 652 const ServiceWorkerContextCore* const service_worker_context,
652 ServiceWorkerStatusCode status, 653 ServiceWorkerStatusCode status,
653 const scoped_refptr<ServiceWorkerRegistration>& registration) { 654 const scoped_refptr<ServiceWorkerRegistration>& registration) {
654 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 655 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
655 if (status == SERVICE_WORKER_OK) { 656 if (status == SERVICE_WORKER_OK) {
656 BrowserThread::PostTask( 657 BrowserThread::PostTask(
657 BrowserThread::UI, 658 BrowserThread::UI,
658 FROM_HERE, 659 FROM_HERE,
659 base::Bind(&OperationProxy::InspecteWorkerOnUIThread, 660 base::Bind(&OperationProxy::InspecteWorkerOnUIThread,
660 this, 661 this,
661 context_path, 662 service_worker_context,
662 registration->active_version()->version_id())); 663 registration->active_version()->version_id()));
663 return; 664 return;
664 } 665 }
665 666
666 OperationComplete(status); 667 OperationComplete(status);
667 } 668 }
668 669
669 void ServiceWorkerInternalsUI::OperationProxy::InspecteWorkerOnUIThread( 670 void ServiceWorkerInternalsUI::OperationProxy::InspecteWorkerOnUIThread(
670 const base::FilePath& context_path, 671 const ServiceWorkerContextCore* const service_worker_context,
671 int64 version_id) { 672 int64 version_id) {
672 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 673 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
673 scoped_refptr<DevToolsAgentHost> agent_host( 674 scoped_refptr<DevToolsAgentHost> agent_host(
674 EmbeddedWorkerDevToolsManager::GetInstance() 675 EmbeddedWorkerDevToolsManager::GetInstance()
675 ->GetDevToolsAgentHostForServiceWorker(context_path, version_id)); 676 ->GetDevToolsAgentHostForServiceWorker(service_worker_context,
677 version_id));
676 if (agent_host) { 678 if (agent_host) {
677 DevToolsManagerImpl::GetInstance()->Inspect( 679 DevToolsManagerImpl::GetInstance()->Inspect(
678 internals_->web_ui()->GetWebContents()->GetBrowserContext(), 680 internals_->web_ui()->GetWebContents()->GetBrowserContext(),
679 agent_host.get()); 681 agent_host.get());
680 OperationComplete(SERVICE_WORKER_OK); 682 OperationComplete(SERVICE_WORKER_OK);
681 return; 683 return;
682 } 684 }
683 OperationComplete(SERVICE_WORKER_ERROR_NOT_FOUND); 685 OperationComplete(SERVICE_WORKER_ERROR_NOT_FOUND);
684 } 686 }
685 687
686 } // namespace content 688 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698