| OLD | NEW |
| 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" |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 } | 126 } |
| 127 | 127 |
| 128 scoped_refptr<ServiceWorkerRegistration> CreateRegistrationDictionaryValue( | 128 scoped_refptr<ServiceWorkerRegistration> CreateRegistrationDictionaryValue( |
| 129 const ServiceWorkerRegistrationInfo& registration_info) { | 129 const ServiceWorkerRegistrationInfo& registration_info) { |
| 130 scoped_refptr<ServiceWorkerRegistration> registration( | 130 scoped_refptr<ServiceWorkerRegistration> registration( |
| 131 ServiceWorkerRegistration::Create() | 131 ServiceWorkerRegistration::Create() |
| 132 ->set_registration_id( | 132 ->set_registration_id( |
| 133 base::Int64ToString(registration_info.registration_id)) | 133 base::Int64ToString(registration_info.registration_id)) |
| 134 ->set_scope_url(registration_info.pattern.spec()) | 134 ->set_scope_url(registration_info.pattern.spec()) |
| 135 ->set_is_deleted(registration_info.delete_flag == | 135 ->set_is_deleted(registration_info.delete_flag == |
| 136 ServiceWorkerRegistrationInfo::IS_DELETED) | 136 ServiceWorkerRegistrationInfo::IS_DELETED)); |
| 137 ->set_force_update_on_page_load( | |
| 138 registration_info.force_update_on_page_load == | |
| 139 ServiceWorkerRegistrationInfo::IS_FORCED)); | |
| 140 return registration; | 137 return registration; |
| 141 } | 138 } |
| 142 | 139 |
| 143 scoped_refptr<ServiceWorkerDevToolsAgentHost> GetMatchingServiceWorker( | 140 scoped_refptr<ServiceWorkerDevToolsAgentHost> GetMatchingServiceWorker( |
| 144 const ServiceWorkerDevToolsAgentHost::List& agent_hosts, | 141 const ServiceWorkerDevToolsAgentHost::List& agent_hosts, |
| 145 const GURL& url) { | 142 const GURL& url) { |
| 146 scoped_refptr<ServiceWorkerDevToolsAgentHost> best_host; | 143 scoped_refptr<ServiceWorkerDevToolsAgentHost> best_host; |
| 147 bool best_host_scope_matched = false; | 144 bool best_host_scope_matched = false; |
| 148 int best_host_scope_length = 0; | 145 int best_host_scope_length = 0; |
| 149 | 146 |
| (...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 422 return Response::OK(); | 419 return Response::OK(); |
| 423 } | 420 } |
| 424 | 421 |
| 425 Response ServiceWorkerHandler::SetDebugOnStart(bool debug_on_start) { | 422 Response ServiceWorkerHandler::SetDebugOnStart(bool debug_on_start) { |
| 426 ServiceWorkerDevToolsManager::GetInstance() | 423 ServiceWorkerDevToolsManager::GetInstance() |
| 427 ->set_debug_service_worker_on_start(debug_on_start); | 424 ->set_debug_service_worker_on_start(debug_on_start); |
| 428 return Response::OK(); | 425 return Response::OK(); |
| 429 } | 426 } |
| 430 | 427 |
| 431 Response ServiceWorkerHandler::SetForceUpdateOnPageLoad( | 428 Response ServiceWorkerHandler::SetForceUpdateOnPageLoad( |
| 432 const std::string& registration_id, | |
| 433 bool force_update_on_page_load) { | 429 bool force_update_on_page_load) { |
| 434 if (!context_) | 430 if (!context_) |
| 435 return CreateContextErrorResponse(); | 431 return CreateContextErrorResponse(); |
| 436 int64_t id = kInvalidServiceWorkerRegistrationId; | 432 context_->SetForceUpdateOnPageLoad(force_update_on_page_load); |
| 437 if (!base::StringToInt64(registration_id, &id)) | |
| 438 return CreateInvalidVersionIdErrorResponse(); | |
| 439 if (force_update_on_page_load) | |
| 440 force_update_enabled_registrations_.insert(id); | |
| 441 else | |
| 442 force_update_enabled_registrations_.erase(id); | |
| 443 context_->SetForceUpdateOnPageLoad(id, force_update_on_page_load); | |
| 444 return Response::OK(); | 433 return Response::OK(); |
| 445 } | 434 } |
| 446 | 435 |
| 447 Response ServiceWorkerHandler::DeliverPushMessage( | 436 Response ServiceWorkerHandler::DeliverPushMessage( |
| 448 const std::string& origin, | 437 const std::string& origin, |
| 449 const std::string& registration_id, | 438 const std::string& registration_id, |
| 450 const std::string& data) { | 439 const std::string& data) { |
| 451 if (!enabled_) | 440 if (!enabled_) |
| 452 return Response::OK(); | 441 return Response::OK(); |
| 453 if (!render_frame_host_) | 442 if (!render_frame_host_) |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 609 auto it = attached_hosts_.find(host->GetId()); | 598 auto it = attached_hosts_.find(host->GetId()); |
| 610 if (it == attached_hosts_.end()) | 599 if (it == attached_hosts_.end()) |
| 611 return; | 600 return; |
| 612 host->DetachClient(); | 601 host->DetachClient(); |
| 613 client_->WorkerTerminated(WorkerTerminatedParams::Create()-> | 602 client_->WorkerTerminated(WorkerTerminatedParams::Create()-> |
| 614 set_worker_id(host->GetId())); | 603 set_worker_id(host->GetId())); |
| 615 attached_hosts_.erase(it); | 604 attached_hosts_.erase(it); |
| 616 } | 605 } |
| 617 | 606 |
| 618 void ServiceWorkerHandler::ClearForceUpdate() { | 607 void ServiceWorkerHandler::ClearForceUpdate() { |
| 619 if (context_) { | 608 if (context_) |
| 620 for (const auto registration_id : force_update_enabled_registrations_) | 609 context_->SetForceUpdateOnPageLoad(false); |
| 621 context_->SetForceUpdateOnPageLoad(registration_id, false); | |
| 622 } | |
| 623 force_update_enabled_registrations_.clear(); | |
| 624 } | 610 } |
| 625 | 611 |
| 626 } // namespace service_worker | 612 } // namespace service_worker |
| 627 } // namespace devtools | 613 } // namespace devtools |
| 628 } // namespace content | 614 } // namespace content |
| OLD | NEW |