| 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/child/service_worker/service_worker_dispatcher.h" | 5 #include "content/child/service_worker/service_worker_dispatcher.h" |
| 6 | 6 |
| 7 #include "base/lazy_instance.h" | 7 #include "base/lazy_instance.h" |
| 8 #include "base/single_thread_task_runner.h" | 8 #include "base/single_thread_task_runner.h" |
| 9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
| 10 #include "base/thread_task_runner_handle.h" | 10 #include "base/thread_task_runner_handle.h" |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 WebServiceWorkerRegistrationCallbacks* callbacks) { | 112 WebServiceWorkerRegistrationCallbacks* callbacks) { |
| 113 DCHECK(callbacks); | 113 DCHECK(callbacks); |
| 114 | 114 |
| 115 if (pattern.possibly_invalid_spec().size() > GetMaxURLChars() || | 115 if (pattern.possibly_invalid_spec().size() > GetMaxURLChars() || |
| 116 script_url.possibly_invalid_spec().size() > GetMaxURLChars()) { | 116 script_url.possibly_invalid_spec().size() > GetMaxURLChars()) { |
| 117 scoped_ptr<WebServiceWorkerRegistrationCallbacks> | 117 scoped_ptr<WebServiceWorkerRegistrationCallbacks> |
| 118 owned_callbacks(callbacks); | 118 owned_callbacks(callbacks); |
| 119 std::string error_message(kServiceWorkerRegisterErrorPrefix); | 119 std::string error_message(kServiceWorkerRegisterErrorPrefix); |
| 120 error_message += "The provided scriptURL or scope is too long."; | 120 error_message += "The provided scriptURL or scope is too long."; |
| 121 callbacks->onError( | 121 callbacks->onError( |
| 122 new WebServiceWorkerError(WebServiceWorkerError::ErrorTypeSecurity, | 122 WebServiceWorkerError(WebServiceWorkerError::ErrorTypeSecurity, |
| 123 blink::WebString::fromUTF8(error_message))); | 123 blink::WebString::fromUTF8(error_message))); |
| 124 return; | 124 return; |
| 125 } | 125 } |
| 126 | 126 |
| 127 int request_id = pending_registration_callbacks_.Add(callbacks); | 127 int request_id = pending_registration_callbacks_.Add(callbacks); |
| 128 TRACE_EVENT_ASYNC_BEGIN2("ServiceWorker", | 128 TRACE_EVENT_ASYNC_BEGIN2("ServiceWorker", |
| 129 "ServiceWorkerDispatcher::RegisterServiceWorker", | 129 "ServiceWorkerDispatcher::RegisterServiceWorker", |
| 130 request_id, | 130 request_id, |
| 131 "Scope", pattern.spec(), | 131 "Scope", pattern.spec(), |
| 132 "Script URL", script_url.spec()); | 132 "Script URL", script_url.spec()); |
| 133 thread_safe_sender_->Send(new ServiceWorkerHostMsg_RegisterServiceWorker( | 133 thread_safe_sender_->Send(new ServiceWorkerHostMsg_RegisterServiceWorker( |
| (...skipping 19 matching lines...) Expand all Loading... |
| 153 TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker", | 153 TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker", |
| 154 "ServiceWorkerDispatcher::UnregisterServiceWorker", | 154 "ServiceWorkerDispatcher::UnregisterServiceWorker", |
| 155 request_id, "Registration ID", registration_id); | 155 request_id, "Registration ID", registration_id); |
| 156 thread_safe_sender_->Send(new ServiceWorkerHostMsg_UnregisterServiceWorker( | 156 thread_safe_sender_->Send(new ServiceWorkerHostMsg_UnregisterServiceWorker( |
| 157 CurrentWorkerId(), request_id, provider_id, registration_id)); | 157 CurrentWorkerId(), request_id, provider_id, registration_id)); |
| 158 } | 158 } |
| 159 | 159 |
| 160 void ServiceWorkerDispatcher::GetRegistration( | 160 void ServiceWorkerDispatcher::GetRegistration( |
| 161 int provider_id, | 161 int provider_id, |
| 162 const GURL& document_url, | 162 const GURL& document_url, |
| 163 WebServiceWorkerRegistrationCallbacks* callbacks) { | 163 WebServiceWorkerGetRegistrationCallbacks* callbacks) { |
| 164 DCHECK(callbacks); | 164 DCHECK(callbacks); |
| 165 | 165 |
| 166 if (document_url.possibly_invalid_spec().size() > GetMaxURLChars()) { | 166 if (document_url.possibly_invalid_spec().size() > GetMaxURLChars()) { |
| 167 scoped_ptr<WebServiceWorkerRegistrationCallbacks> | 167 scoped_ptr<WebServiceWorkerGetRegistrationCallbacks> owned_callbacks( |
| 168 owned_callbacks(callbacks); | 168 callbacks); |
| 169 std::string error_message(kServiceWorkerGetRegistrationErrorPrefix); | 169 std::string error_message(kServiceWorkerGetRegistrationErrorPrefix); |
| 170 error_message += "The provided documentURL is too long."; | 170 error_message += "The provided documentURL is too long."; |
| 171 callbacks->onError( | 171 callbacks->onError( |
| 172 new WebServiceWorkerError(WebServiceWorkerError::ErrorTypeSecurity, | 172 WebServiceWorkerError(WebServiceWorkerError::ErrorTypeSecurity, |
| 173 blink::WebString::fromUTF8(error_message))); | 173 blink::WebString::fromUTF8(error_message))); |
| 174 return; | 174 return; |
| 175 } | 175 } |
| 176 | 176 |
| 177 int request_id = pending_get_registration_callbacks_.Add(callbacks); | 177 int request_id = pending_get_registration_callbacks_.Add(callbacks); |
| 178 TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker", | 178 TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker", |
| 179 "ServiceWorkerDispatcher::GetRegistration", | 179 "ServiceWorkerDispatcher::GetRegistration", |
| 180 request_id, | 180 request_id, |
| 181 "Document URL", document_url.spec()); | 181 "Document URL", document_url.spec()); |
| 182 thread_safe_sender_->Send(new ServiceWorkerHostMsg_GetRegistration( | 182 thread_safe_sender_->Send(new ServiceWorkerHostMsg_GetRegistration( |
| 183 CurrentWorkerId(), request_id, provider_id, document_url)); | 183 CurrentWorkerId(), request_id, provider_id, document_url)); |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 379 "OnRegistered"); | 379 "OnRegistered"); |
| 380 TRACE_EVENT_ASYNC_END0("ServiceWorker", | 380 TRACE_EVENT_ASYNC_END0("ServiceWorker", |
| 381 "ServiceWorkerDispatcher::RegisterServiceWorker", | 381 "ServiceWorkerDispatcher::RegisterServiceWorker", |
| 382 request_id); | 382 request_id); |
| 383 WebServiceWorkerRegistrationCallbacks* callbacks = | 383 WebServiceWorkerRegistrationCallbacks* callbacks = |
| 384 pending_registration_callbacks_.Lookup(request_id); | 384 pending_registration_callbacks_.Lookup(request_id); |
| 385 DCHECK(callbacks); | 385 DCHECK(callbacks); |
| 386 if (!callbacks) | 386 if (!callbacks) |
| 387 return; | 387 return; |
| 388 | 388 |
| 389 callbacks->onSuccess(AdoptRegistration(info, attrs).release()); | 389 callbacks->onSuccess( |
| 390 blink::adoptWebPtr(AdoptRegistration(info, attrs).release())); |
| 390 pending_registration_callbacks_.Remove(request_id); | 391 pending_registration_callbacks_.Remove(request_id); |
| 391 } | 392 } |
| 392 | 393 |
| 393 void ServiceWorkerDispatcher::OnUpdated(int thread_id, int request_id) { | 394 void ServiceWorkerDispatcher::OnUpdated(int thread_id, int request_id) { |
| 394 TRACE_EVENT_ASYNC_STEP_INTO0("ServiceWorker", | 395 TRACE_EVENT_ASYNC_STEP_INTO0("ServiceWorker", |
| 395 "ServiceWorkerDispatcher::UpdateServiceWorker", | 396 "ServiceWorkerDispatcher::UpdateServiceWorker", |
| 396 request_id, "OnUpdated"); | 397 request_id, "OnUpdated"); |
| 397 TRACE_EVENT_ASYNC_END0("ServiceWorker", | 398 TRACE_EVENT_ASYNC_END0("ServiceWorker", |
| 398 "ServiceWorkerDispatcher::UpdateServiceWorker", | 399 "ServiceWorkerDispatcher::UpdateServiceWorker", |
| 399 request_id); | 400 request_id); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 const ServiceWorkerRegistrationObjectInfo& info, | 434 const ServiceWorkerRegistrationObjectInfo& info, |
| 434 const ServiceWorkerVersionAttributes& attrs) { | 435 const ServiceWorkerVersionAttributes& attrs) { |
| 435 TRACE_EVENT_ASYNC_STEP_INTO0( | 436 TRACE_EVENT_ASYNC_STEP_INTO0( |
| 436 "ServiceWorker", | 437 "ServiceWorker", |
| 437 "ServiceWorkerDispatcher::GetRegistration", | 438 "ServiceWorkerDispatcher::GetRegistration", |
| 438 request_id, | 439 request_id, |
| 439 "OnDidGetRegistration"); | 440 "OnDidGetRegistration"); |
| 440 TRACE_EVENT_ASYNC_END0("ServiceWorker", | 441 TRACE_EVENT_ASYNC_END0("ServiceWorker", |
| 441 "ServiceWorkerDispatcher::GetRegistration", | 442 "ServiceWorkerDispatcher::GetRegistration", |
| 442 request_id); | 443 request_id); |
| 443 WebServiceWorkerRegistrationCallbacks* callbacks = | 444 WebServiceWorkerGetRegistrationCallbacks* callbacks = |
| 444 pending_get_registration_callbacks_.Lookup(request_id); | 445 pending_get_registration_callbacks_.Lookup(request_id); |
| 445 DCHECK(callbacks); | 446 DCHECK(callbacks); |
| 446 if (!callbacks) | 447 if (!callbacks) |
| 447 return; | 448 return; |
| 448 | 449 |
| 449 scoped_ptr<WebServiceWorkerRegistrationImpl> registration; | 450 scoped_ptr<WebServiceWorkerRegistrationImpl> registration; |
| 450 if (info.handle_id != kInvalidServiceWorkerHandleId) | 451 if (info.handle_id != kInvalidServiceWorkerHandleId) |
| 451 registration = AdoptRegistration(info, attrs); | 452 registration = AdoptRegistration(info, attrs); |
| 452 | 453 |
| 453 callbacks->onSuccess(registration.release()); | 454 callbacks->onSuccess(blink::adoptWebPtr(registration.release())); |
| 454 pending_get_registration_callbacks_.Remove(request_id); | 455 pending_get_registration_callbacks_.Remove(request_id); |
| 455 } | 456 } |
| 456 | 457 |
| 457 void ServiceWorkerDispatcher::OnDidGetRegistrations( | 458 void ServiceWorkerDispatcher::OnDidGetRegistrations( |
| 458 int thread_id, | 459 int thread_id, |
| 459 int request_id, | 460 int request_id, |
| 460 const std::vector<ServiceWorkerRegistrationObjectInfo>& infos, | 461 const std::vector<ServiceWorkerRegistrationObjectInfo>& infos, |
| 461 const std::vector<ServiceWorkerVersionAttributes>& attrs) { | 462 const std::vector<ServiceWorkerVersionAttributes>& attrs) { |
| 462 TRACE_EVENT_ASYNC_STEP_INTO0( | 463 TRACE_EVENT_ASYNC_STEP_INTO0( |
| 463 "ServiceWorker", | 464 "ServiceWorker", |
| 464 "ServiceWorkerDispatcher::GetRegistrations", | 465 "ServiceWorkerDispatcher::GetRegistrations", |
| 465 request_id, | 466 request_id, |
| 466 "OnDidGetRegistrations"); | 467 "OnDidGetRegistrations"); |
| 467 TRACE_EVENT_ASYNC_END0("ServiceWorker", | 468 TRACE_EVENT_ASYNC_END0("ServiceWorker", |
| 468 "ServiceWorkerDispatcher::GetRegistrations", | 469 "ServiceWorkerDispatcher::GetRegistrations", |
| 469 request_id); | 470 request_id); |
| 470 | 471 |
| 471 WebServiceWorkerGetRegistrationsCallbacks* callbacks = | 472 WebServiceWorkerGetRegistrationsCallbacks* callbacks = |
| 472 pending_get_registrations_callbacks_.Lookup(request_id); | 473 pending_get_registrations_callbacks_.Lookup(request_id); |
| 473 DCHECK(callbacks); | 474 DCHECK(callbacks); |
| 474 if (!callbacks) | 475 if (!callbacks) |
| 475 return; | 476 return; |
| 476 | 477 |
| 477 typedef blink::WebVector<blink::WebServiceWorkerRegistration*> | 478 typedef blink::WebVector<blink::WebServiceWorkerRegistration*> |
| 478 WebServiceWorkerRegistrationArray; | 479 WebServiceWorkerRegistrationArray; |
| 479 WebServiceWorkerRegistrationArray* registrations = | 480 scoped_ptr<WebServiceWorkerRegistrationArray> registrations( |
| 480 new WebServiceWorkerRegistrationArray(infos.size()); | 481 new WebServiceWorkerRegistrationArray(infos.size())); |
| 481 for (size_t i = 0; i < infos.size(); ++i) { | 482 for (size_t i = 0; i < infos.size(); ++i) { |
| 482 if (infos[i].handle_id != kInvalidServiceWorkerHandleId) { | 483 if (infos[i].handle_id != kInvalidServiceWorkerHandleId) { |
| 483 ServiceWorkerRegistrationObjectInfo info(infos[i]); | 484 ServiceWorkerRegistrationObjectInfo info(infos[i]); |
| 484 ServiceWorkerVersionAttributes attr(attrs[i]); | 485 ServiceWorkerVersionAttributes attr(attrs[i]); |
| 485 (*registrations)[i] = AdoptRegistration(info, attr).release(); | 486 (*registrations)[i] = AdoptRegistration(info, attr).release(); |
| 486 } | 487 } |
| 487 } | 488 } |
| 488 | 489 |
| 489 callbacks->onSuccess(registrations); | 490 callbacks->onSuccess(blink::adoptWebPtr(registrations.release())); |
| 490 pending_get_registrations_callbacks_.Remove(request_id); | 491 pending_get_registrations_callbacks_.Remove(request_id); |
| 491 } | 492 } |
| 492 | 493 |
| 493 void ServiceWorkerDispatcher::OnDidGetRegistrationForReady( | 494 void ServiceWorkerDispatcher::OnDidGetRegistrationForReady( |
| 494 int thread_id, | 495 int thread_id, |
| 495 int request_id, | 496 int request_id, |
| 496 const ServiceWorkerRegistrationObjectInfo& info, | 497 const ServiceWorkerRegistrationObjectInfo& info, |
| 497 const ServiceWorkerVersionAttributes& attrs) { | 498 const ServiceWorkerVersionAttributes& attrs) { |
| 498 TRACE_EVENT_ASYNC_STEP_INTO0( | 499 TRACE_EVENT_ASYNC_STEP_INTO0( |
| 499 "ServiceWorker", | 500 "ServiceWorker", |
| 500 "ServiceWorkerDispatcher::GetRegistrationForReady", | 501 "ServiceWorkerDispatcher::GetRegistrationForReady", |
| 501 request_id, | 502 request_id, |
| 502 "OnDidGetRegistrationForReady"); | 503 "OnDidGetRegistrationForReady"); |
| 503 TRACE_EVENT_ASYNC_END0("ServiceWorker", | 504 TRACE_EVENT_ASYNC_END0("ServiceWorker", |
| 504 "ServiceWorkerDispatcher::GetRegistrationForReady", | 505 "ServiceWorkerDispatcher::GetRegistrationForReady", |
| 505 request_id); | 506 request_id); |
| 506 WebServiceWorkerGetRegistrationForReadyCallbacks* callbacks = | 507 WebServiceWorkerGetRegistrationForReadyCallbacks* callbacks = |
| 507 get_for_ready_callbacks_.Lookup(request_id); | 508 get_for_ready_callbacks_.Lookup(request_id); |
| 508 DCHECK(callbacks); | 509 DCHECK(callbacks); |
| 509 if (!callbacks) | 510 if (!callbacks) |
| 510 return; | 511 return; |
| 511 | 512 |
| 512 callbacks->onSuccess(AdoptRegistration(info, attrs).release()); | 513 callbacks->onSuccess( |
| 514 blink::adoptWebPtr(AdoptRegistration(info, attrs).release())); |
| 513 get_for_ready_callbacks_.Remove(request_id); | 515 get_for_ready_callbacks_.Remove(request_id); |
| 514 } | 516 } |
| 515 | 517 |
| 516 void ServiceWorkerDispatcher::OnRegistrationError( | 518 void ServiceWorkerDispatcher::OnRegistrationError( |
| 517 int thread_id, | 519 int thread_id, |
| 518 int request_id, | 520 int request_id, |
| 519 WebServiceWorkerError::ErrorType error_type, | 521 WebServiceWorkerError::ErrorType error_type, |
| 520 const base::string16& message) { | 522 const base::string16& message) { |
| 521 TRACE_EVENT_ASYNC_STEP_INTO0("ServiceWorker", | 523 TRACE_EVENT_ASYNC_STEP_INTO0("ServiceWorker", |
| 522 "ServiceWorkerDispatcher::RegisterServiceWorker", | 524 "ServiceWorkerDispatcher::RegisterServiceWorker", |
| 523 request_id, | 525 request_id, |
| 524 "OnRegistrationError"); | 526 "OnRegistrationError"); |
| 525 TRACE_EVENT_ASYNC_END0("ServiceWorker", | 527 TRACE_EVENT_ASYNC_END0("ServiceWorker", |
| 526 "ServiceWorkerDispatcher::RegisterServiceWorker", | 528 "ServiceWorkerDispatcher::RegisterServiceWorker", |
| 527 request_id); | 529 request_id); |
| 528 WebServiceWorkerRegistrationCallbacks* callbacks = | 530 WebServiceWorkerRegistrationCallbacks* callbacks = |
| 529 pending_registration_callbacks_.Lookup(request_id); | 531 pending_registration_callbacks_.Lookup(request_id); |
| 530 DCHECK(callbacks); | 532 DCHECK(callbacks); |
| 531 if (!callbacks) | 533 if (!callbacks) |
| 532 return; | 534 return; |
| 533 | 535 |
| 534 callbacks->onError(new WebServiceWorkerError(error_type, message)); | 536 callbacks->onError(WebServiceWorkerError(error_type, message)); |
| 535 pending_registration_callbacks_.Remove(request_id); | 537 pending_registration_callbacks_.Remove(request_id); |
| 536 } | 538 } |
| 537 | 539 |
| 538 void ServiceWorkerDispatcher::OnUpdateError( | 540 void ServiceWorkerDispatcher::OnUpdateError( |
| 539 int thread_id, | 541 int thread_id, |
| 540 int request_id, | 542 int request_id, |
| 541 WebServiceWorkerError::ErrorType error_type, | 543 WebServiceWorkerError::ErrorType error_type, |
| 542 const base::string16& message) { | 544 const base::string16& message) { |
| 543 TRACE_EVENT_ASYNC_STEP_INTO0("ServiceWorker", | 545 TRACE_EVENT_ASYNC_STEP_INTO0("ServiceWorker", |
| 544 "ServiceWorkerDispatcher::UpdateServiceWorker", | 546 "ServiceWorkerDispatcher::UpdateServiceWorker", |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 591 "OnGetRegistrationError"); | 593 "OnGetRegistrationError"); |
| 592 TRACE_EVENT_ASYNC_END0("ServiceWorker", | 594 TRACE_EVENT_ASYNC_END0("ServiceWorker", |
| 593 "ServiceWorkerDispatcher::GetRegistration", | 595 "ServiceWorkerDispatcher::GetRegistration", |
| 594 request_id); | 596 request_id); |
| 595 WebServiceWorkerGetRegistrationCallbacks* callbacks = | 597 WebServiceWorkerGetRegistrationCallbacks* callbacks = |
| 596 pending_get_registration_callbacks_.Lookup(request_id); | 598 pending_get_registration_callbacks_.Lookup(request_id); |
| 597 DCHECK(callbacks); | 599 DCHECK(callbacks); |
| 598 if (!callbacks) | 600 if (!callbacks) |
| 599 return; | 601 return; |
| 600 | 602 |
| 601 callbacks->onError(new WebServiceWorkerError(error_type, message)); | 603 callbacks->onError(WebServiceWorkerError(error_type, message)); |
| 602 pending_get_registration_callbacks_.Remove(request_id); | 604 pending_get_registration_callbacks_.Remove(request_id); |
| 603 } | 605 } |
| 604 | 606 |
| 605 void ServiceWorkerDispatcher::OnGetRegistrationsError( | 607 void ServiceWorkerDispatcher::OnGetRegistrationsError( |
| 606 int thread_id, | 608 int thread_id, |
| 607 int request_id, | 609 int request_id, |
| 608 WebServiceWorkerError::ErrorType error_type, | 610 WebServiceWorkerError::ErrorType error_type, |
| 609 const base::string16& message) { | 611 const base::string16& message) { |
| 610 TRACE_EVENT_ASYNC_STEP_INTO0( | 612 TRACE_EVENT_ASYNC_STEP_INTO0( |
| 611 "ServiceWorker", | 613 "ServiceWorker", |
| 612 "ServiceWorkerDispatcher::GetRegistrations", | 614 "ServiceWorkerDispatcher::GetRegistrations", |
| 613 request_id, | 615 request_id, |
| 614 "OnGetRegistrationsError"); | 616 "OnGetRegistrationsError"); |
| 615 TRACE_EVENT_ASYNC_END0("ServiceWorker", | 617 TRACE_EVENT_ASYNC_END0("ServiceWorker", |
| 616 "ServiceWorkerDispatcher::GetRegistrations", | 618 "ServiceWorkerDispatcher::GetRegistrations", |
| 617 request_id); | 619 request_id); |
| 618 WebServiceWorkerGetRegistrationsCallbacks* callbacks = | 620 WebServiceWorkerGetRegistrationsCallbacks* callbacks = |
| 619 pending_get_registrations_callbacks_.Lookup(request_id); | 621 pending_get_registrations_callbacks_.Lookup(request_id); |
| 620 DCHECK(callbacks); | 622 DCHECK(callbacks); |
| 621 if (!callbacks) | 623 if (!callbacks) |
| 622 return; | 624 return; |
| 623 | 625 |
| 624 callbacks->onError(new WebServiceWorkerError(error_type, message)); | 626 callbacks->onError(WebServiceWorkerError(error_type, message)); |
| 625 pending_get_registrations_callbacks_.Remove(request_id); | 627 pending_get_registrations_callbacks_.Remove(request_id); |
| 626 } | 628 } |
| 627 | 629 |
| 628 void ServiceWorkerDispatcher::OnServiceWorkerStateChanged( | 630 void ServiceWorkerDispatcher::OnServiceWorkerStateChanged( |
| 629 int thread_id, | 631 int thread_id, |
| 630 int handle_id, | 632 int handle_id, |
| 631 blink::WebServiceWorkerState state) { | 633 blink::WebServiceWorkerState state) { |
| 632 TRACE_EVENT2("ServiceWorker", | 634 TRACE_EVENT2("ServiceWorker", |
| 633 "ServiceWorkerDispatcher::OnServiceWorkerStateChanged", | 635 "ServiceWorkerDispatcher::OnServiceWorkerStateChanged", |
| 634 "Thread ID", thread_id, | 636 "Thread ID", thread_id, |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 783 // AddServiceWorkerRegistration. | 785 // AddServiceWorkerRegistration. |
| 784 scoped_ptr<WebServiceWorkerRegistrationImpl> registration( | 786 scoped_ptr<WebServiceWorkerRegistrationImpl> registration( |
| 785 new WebServiceWorkerRegistrationImpl(handle_ref.Pass())); | 787 new WebServiceWorkerRegistrationImpl(handle_ref.Pass())); |
| 786 registration->SetInstalling(GetServiceWorker(attrs.installing, adopt_handle)); | 788 registration->SetInstalling(GetServiceWorker(attrs.installing, adopt_handle)); |
| 787 registration->SetWaiting(GetServiceWorker(attrs.waiting, adopt_handle)); | 789 registration->SetWaiting(GetServiceWorker(attrs.waiting, adopt_handle)); |
| 788 registration->SetActive(GetServiceWorker(attrs.active, adopt_handle)); | 790 registration->SetActive(GetServiceWorker(attrs.active, adopt_handle)); |
| 789 return registration.Pass(); | 791 return registration.Pass(); |
| 790 } | 792 } |
| 791 | 793 |
| 792 } // namespace content | 794 } // namespace content |
| OLD | NEW |