| OLD | NEW |
| 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 <stdint.h> | 7 #include <stdint.h> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| 11 | 11 |
| 12 #include "base/bind.h" | 12 #include "base/bind.h" |
| 13 #include "base/memory/scoped_vector.h" | 13 #include "base/memory/scoped_vector.h" |
| 14 #include "base/strings/string_number_conversions.h" | 14 #include "base/strings/string_number_conversions.h" |
| 15 #include "base/values.h" | 15 #include "base/values.h" |
| 16 #include "content/browser/devtools/devtools_agent_host_impl.h" | 16 #include "content/browser/devtools/devtools_agent_host_impl.h" |
| 17 #include "content/browser/devtools/service_worker_devtools_manager.h" | 17 #include "content/browser/devtools/service_worker_devtools_manager.h" |
| 18 #include "content/browser/service_worker/embedded_worker_status.h" |
| 18 #include "content/browser/service_worker/service_worker_context_observer.h" | 19 #include "content/browser/service_worker/service_worker_context_observer.h" |
| 19 #include "content/browser/service_worker/service_worker_context_wrapper.h" | 20 #include "content/browser/service_worker/service_worker_context_wrapper.h" |
| 20 #include "content/browser/service_worker/service_worker_registration.h" | 21 #include "content/browser/service_worker/service_worker_registration.h" |
| 21 #include "content/browser/service_worker/service_worker_version.h" | 22 #include "content/browser/service_worker/service_worker_version.h" |
| 22 #include "content/grit/content_resources.h" | 23 #include "content/grit/content_resources.h" |
| 23 #include "content/public/browser/browser_context.h" | 24 #include "content/public/browser/browser_context.h" |
| 24 #include "content/public/browser/browser_thread.h" | 25 #include "content/public/browser/browser_thread.h" |
| 25 #include "content/public/browser/render_process_host.h" | 26 #include "content/public/browser/render_process_host.h" |
| 26 #include "content/public/browser/storage_partition.h" | 27 #include "content/public/browser/storage_partition.h" |
| 27 #include "content/public/browser/web_contents.h" | 28 #include "content/public/browser/web_contents.h" |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 // of the process handle and the render host still retains it. Therefore, we | 107 // of the process handle and the render host still retains it. Therefore, we |
| 107 // cannot create a base::Process object, which provides a proper way to get a | 108 // cannot create a base::Process object, which provides a proper way to get a |
| 108 // process id, from the handle. For a stopgap, we use this deprecated | 109 // process id, from the handle. For a stopgap, we use this deprecated |
| 109 // function that does not require the ownership (http://crbug.com/417532). | 110 // function that does not require the ownership (http://crbug.com/417532). |
| 110 return base::GetProcId(handle); | 111 return base::GetProcId(handle); |
| 111 } | 112 } |
| 112 | 113 |
| 113 void UpdateVersionInfo(const ServiceWorkerVersionInfo& version, | 114 void UpdateVersionInfo(const ServiceWorkerVersionInfo& version, |
| 114 DictionaryValue* info) { | 115 DictionaryValue* info) { |
| 115 switch (version.running_status) { | 116 switch (version.running_status) { |
| 116 case ServiceWorkerVersion::STOPPED: | 117 case EmbeddedWorkerStatus::STOPPED: |
| 117 info->SetString("running_status", "STOPPED"); | 118 info->SetString("running_status", "STOPPED"); |
| 118 break; | 119 break; |
| 119 case ServiceWorkerVersion::STARTING: | 120 case EmbeddedWorkerStatus::STARTING: |
| 120 info->SetString("running_status", "STARTING"); | 121 info->SetString("running_status", "STARTING"); |
| 121 break; | 122 break; |
| 122 case ServiceWorkerVersion::RUNNING: | 123 case EmbeddedWorkerStatus::RUNNING: |
| 123 info->SetString("running_status", "RUNNING"); | 124 info->SetString("running_status", "RUNNING"); |
| 124 break; | 125 break; |
| 125 case ServiceWorkerVersion::STOPPING: | 126 case EmbeddedWorkerStatus::STOPPING: |
| 126 info->SetString("running_status", "STOPPING"); | 127 info->SetString("running_status", "STOPPING"); |
| 127 break; | 128 break; |
| 128 } | 129 } |
| 129 | 130 |
| 130 switch (version.status) { | 131 switch (version.status) { |
| 131 case ServiceWorkerVersion::NEW: | 132 case ServiceWorkerVersion::NEW: |
| 132 info->SetString("status", "NEW"); | 133 info->SetString("status", "NEW"); |
| 133 break; | 134 break; |
| 134 case ServiceWorkerVersion::INSTALLING: | 135 case ServiceWorkerVersion::INSTALLING: |
| 135 info->SetString("status", "INSTALLING"); | 136 info->SetString("status", "INSTALLING"); |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 } // namespace | 247 } // namespace |
| 247 | 248 |
| 248 class ServiceWorkerInternalsUI::PartitionObserver | 249 class ServiceWorkerInternalsUI::PartitionObserver |
| 249 : public ServiceWorkerContextObserver { | 250 : public ServiceWorkerContextObserver { |
| 250 public: | 251 public: |
| 251 PartitionObserver(int partition_id, WebUI* web_ui) | 252 PartitionObserver(int partition_id, WebUI* web_ui) |
| 252 : partition_id_(partition_id), web_ui_(web_ui) {} | 253 : partition_id_(partition_id), web_ui_(web_ui) {} |
| 253 ~PartitionObserver() override {} | 254 ~PartitionObserver() override {} |
| 254 // ServiceWorkerContextObserver overrides: | 255 // ServiceWorkerContextObserver overrides: |
| 255 void OnRunningStateChanged(int64_t version_id, | 256 void OnRunningStateChanged(int64_t version_id, |
| 256 ServiceWorkerVersion::RunningStatus) override { | 257 EmbeddedWorkerStatus) override { |
| 257 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 258 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 258 web_ui_->CallJavascriptFunctionUnsafe( | 259 web_ui_->CallJavascriptFunctionUnsafe( |
| 259 "serviceworker.onRunningStateChanged", FundamentalValue(partition_id_), | 260 "serviceworker.onRunningStateChanged", FundamentalValue(partition_id_), |
| 260 StringValue(base::Int64ToString(version_id))); | 261 StringValue(base::Int64ToString(version_id))); |
| 261 } | 262 } |
| 262 void OnVersionStateChanged(int64_t version_id, | 263 void OnVersionStateChanged(int64_t version_id, |
| 263 ServiceWorkerVersion::Status) override { | 264 ServiceWorkerVersion::Status) override { |
| 264 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 265 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 265 web_ui_->CallJavascriptFunctionUnsafe( | 266 web_ui_->CallJavascriptFunctionUnsafe( |
| 266 "serviceworker.onVersionStateChanged", FundamentalValue(partition_id_), | 267 "serviceworker.onVersionStateChanged", FundamentalValue(partition_id_), |
| (...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 586 callback.Run(SERVICE_WORKER_ERROR_ABORT); | 587 callback.Run(SERVICE_WORKER_ERROR_ABORT); |
| 587 return; | 588 return; |
| 588 } | 589 } |
| 589 | 590 |
| 590 // ServiceWorkerContextWrapper::UnregisterServiceWorker doesn't work here | 591 // ServiceWorkerContextWrapper::UnregisterServiceWorker doesn't work here |
| 591 // because that reduces a status code to boolean. | 592 // because that reduces a status code to boolean. |
| 592 context->context()->UnregisterServiceWorker(scope, callback); | 593 context->context()->UnregisterServiceWorker(scope, callback); |
| 593 } | 594 } |
| 594 | 595 |
| 595 } // namespace content | 596 } // namespace content |
| OLD | NEW |