Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/location.h" | 8 #include "base/location.h" |
| 9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
| 10 #include "base/metrics/histogram_macros.h" | 10 #include "base/metrics/histogram_macros.h" |
| (...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 531 const base::Closure& callback) { | 531 const base::Closure& callback) { |
| 532 status_change_callbacks_.push_back(callback); | 532 status_change_callbacks_.push_back(callback); |
| 533 } | 533 } |
| 534 | 534 |
| 535 ServiceWorkerVersionInfo ServiceWorkerVersion::GetInfo() { | 535 ServiceWorkerVersionInfo ServiceWorkerVersion::GetInfo() { |
| 536 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 536 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 537 ServiceWorkerVersionInfo info( | 537 ServiceWorkerVersionInfo info( |
| 538 running_status(), status(), script_url(), registration_id(), version_id(), | 538 running_status(), status(), script_url(), registration_id(), version_id(), |
| 539 embedded_worker()->process_id(), embedded_worker()->thread_id(), | 539 embedded_worker()->process_id(), embedded_worker()->thread_id(), |
| 540 embedded_worker()->worker_devtools_agent_route_id()); | 540 embedded_worker()->worker_devtools_agent_route_id()); |
| 541 for (auto& controllee : controllee_map_) { | |
| 542 const ServiceWorkerProviderHost* const host = controllee.second; | |
|
nhiroki
2015/06/12 09:07:47
"const T* const foo" seems not common among our co
horo
2015/06/12 09:23:47
Done.
| |
| 543 info.clients.insert( | |
| 544 std::pair<std::string, ServiceWorkerVersionInfo::ClientInfo>( | |
| 545 host->client_uuid(), | |
| 546 ServiceWorkerVersionInfo::ClientInfo( | |
| 547 host->process_id(), host->route_id(), host->provider_type()))); | |
| 548 } | |
| 541 if (!main_script_http_info_) | 549 if (!main_script_http_info_) |
| 542 return info; | 550 return info; |
| 543 info.script_response_time = main_script_http_info_->response_time; | 551 info.script_response_time = main_script_http_info_->response_time; |
| 544 if (main_script_http_info_->headers) | 552 if (main_script_http_info_->headers) |
| 545 main_script_http_info_->headers->GetLastModifiedValue( | 553 main_script_http_info_->headers->GetLastModifiedValue( |
| 546 &info.script_last_modified); | 554 &info.script_last_modified); |
| 547 return info; | 555 return info; |
| 548 } | 556 } |
| 549 | 557 |
| 550 void ServiceWorkerVersion::StartWorker(const StatusCallback& callback) { | 558 void ServiceWorkerVersion::StartWorker(const StatusCallback& callback) { |
| (...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 929 } | 937 } |
| 930 | 938 |
| 931 void ServiceWorkerVersion::AddControllee( | 939 void ServiceWorkerVersion::AddControllee( |
| 932 ServiceWorkerProviderHost* provider_host) { | 940 ServiceWorkerProviderHost* provider_host) { |
| 933 const std::string& uuid = provider_host->client_uuid(); | 941 const std::string& uuid = provider_host->client_uuid(); |
| 934 CHECK(!provider_host->client_uuid().empty()); | 942 CHECK(!provider_host->client_uuid().empty()); |
| 935 DCHECK(!ContainsKey(controllee_map_, uuid)); | 943 DCHECK(!ContainsKey(controllee_map_, uuid)); |
| 936 controllee_map_[uuid] = provider_host; | 944 controllee_map_[uuid] = provider_host; |
| 937 // Keep the worker alive a bit longer right after a new controllee is added. | 945 // Keep the worker alive a bit longer right after a new controllee is added. |
| 938 RestartTick(&idle_time_); | 946 RestartTick(&idle_time_); |
| 947 FOR_EACH_OBSERVER(Listener, listeners_, | |
| 948 OnControlleeAdded(this, provider_host)); | |
| 939 } | 949 } |
| 940 | 950 |
| 941 void ServiceWorkerVersion::RemoveControllee( | 951 void ServiceWorkerVersion::RemoveControllee( |
| 942 ServiceWorkerProviderHost* provider_host) { | 952 ServiceWorkerProviderHost* provider_host) { |
| 943 const std::string& uuid = provider_host->client_uuid(); | 953 const std::string& uuid = provider_host->client_uuid(); |
| 944 DCHECK(ContainsKey(controllee_map_, uuid)); | 954 DCHECK(ContainsKey(controllee_map_, uuid)); |
| 945 controllee_map_.erase(uuid); | 955 controllee_map_.erase(uuid); |
| 956 FOR_EACH_OBSERVER(Listener, listeners_, | |
| 957 OnControlleeRemoved(this, provider_host)); | |
| 946 if (HasControllee()) | 958 if (HasControllee()) |
| 947 return; | 959 return; |
| 948 FOR_EACH_OBSERVER(Listener, listeners_, OnNoControllees(this)); | 960 FOR_EACH_OBSERVER(Listener, listeners_, OnNoControllees(this)); |
| 949 } | 961 } |
| 950 | 962 |
| 951 void ServiceWorkerVersion::AddStreamingURLRequestJob( | 963 void ServiceWorkerVersion::AddStreamingURLRequestJob( |
| 952 const ServiceWorkerURLRequestJob* request_job) { | 964 const ServiceWorkerURLRequestJob* request_job) { |
| 953 DCHECK(streaming_url_request_jobs_.find(request_job) == | 965 DCHECK(streaming_url_request_jobs_.find(request_job) == |
| 954 streaming_url_request_jobs_.end()); | 966 streaming_url_request_jobs_.end()); |
| 955 streaming_url_request_jobs_.insert(request_job); | 967 streaming_url_request_jobs_.insert(request_job); |
| (...skipping 1083 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2039 return SERVICE_WORKER_ERROR_ABORT; | 2051 return SERVICE_WORKER_ERROR_ABORT; |
| 2040 default: | 2052 default: |
| 2041 return SERVICE_WORKER_ERROR_NETWORK; | 2053 return SERVICE_WORKER_ERROR_NETWORK; |
| 2042 } | 2054 } |
| 2043 } | 2055 } |
| 2044 | 2056 |
| 2045 return default_code; | 2057 return default_code; |
| 2046 } | 2058 } |
| 2047 | 2059 |
| 2048 } // namespace content | 2060 } // namespace content |
| OLD | NEW |