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

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

Issue 2418373002: Reduce FOR_EACH_OBSERVER usage in content/browser/service_worker (Closed)
Patch Set: add bracket Created 4 years, 2 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
« no previous file with comments | « no previous file | content/browser/service_worker/service_worker_registration.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/embedded_worker_instance.h" 5 #include "content/browser/service_worker/embedded_worker_instance.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 DCHECK(status_ == EmbeddedWorkerStatus::STOPPED); 445 DCHECK(status_ == EmbeddedWorkerStatus::STOPPED);
446 446
447 DCHECK(!params->pause_after_download || !params->is_installed); 447 DCHECK(!params->pause_after_download || !params->is_installed);
448 DCHECK_NE(kInvalidServiceWorkerVersionId, params->service_worker_version_id); 448 DCHECK_NE(kInvalidServiceWorkerVersionId, params->service_worker_version_id);
449 step_time_ = base::TimeTicks::Now(); 449 step_time_ = base::TimeTicks::Now();
450 status_ = EmbeddedWorkerStatus::STARTING; 450 status_ = EmbeddedWorkerStatus::STARTING;
451 starting_phase_ = ALLOCATING_PROCESS; 451 starting_phase_ = ALLOCATING_PROCESS;
452 network_accessed_for_script_ = false; 452 network_accessed_for_script_ = false;
453 interface_registry_.reset(new service_manager::InterfaceRegistry); 453 interface_registry_.reset(new service_manager::InterfaceRegistry);
454 remote_interfaces_.reset(new service_manager::InterfaceProvider); 454 remote_interfaces_.reset(new service_manager::InterfaceProvider);
455 FOR_EACH_OBSERVER(Listener, listener_list_, OnStarting()); 455 for (auto& observer : listener_list_)
456 observer.OnStarting();
456 457
457 params->embedded_worker_id = embedded_worker_id_; 458 params->embedded_worker_id = embedded_worker_id_;
458 params->worker_devtools_agent_route_id = MSG_ROUTING_NONE; 459 params->worker_devtools_agent_route_id = MSG_ROUTING_NONE;
459 params->wait_for_debugger = false; 460 params->wait_for_debugger = false;
460 params->settings.v8_cache_options = GetV8CacheOptions(); 461 params->settings.v8_cache_options = GetV8CacheOptions();
461 462
462 mojom::EmbeddedWorkerInstanceClientRequest request; 463 mojom::EmbeddedWorkerInstanceClientRequest request;
463 if (ServiceWorkerUtils::IsMojoForServiceWorkerEnabled()) { 464 if (ServiceWorkerUtils::IsMojoForServiceWorkerEnabled()) {
464 request = mojo::GetProxy(&client_); 465 request = mojo::GetProxy(&client_);
465 client_.set_connection_error_handler( 466 client_.set_connection_error_handler(
(...skipping 25 matching lines...) Expand all
491 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.SendStopWorker.Status", status, 492 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.SendStopWorker.Status", status,
492 SERVICE_WORKER_ERROR_MAX_VALUE); 493 SERVICE_WORKER_ERROR_MAX_VALUE);
493 // StopWorker could fail if we were starting up and don't have a process yet, 494 // StopWorker could fail if we were starting up and don't have a process yet,
494 // or we can no longer communicate with the process. So just detach. 495 // or we can no longer communicate with the process. So just detach.
495 if (status != SERVICE_WORKER_OK) { 496 if (status != SERVICE_WORKER_OK) {
496 OnDetached(); 497 OnDetached();
497 return status; 498 return status;
498 } 499 }
499 500
500 status_ = EmbeddedWorkerStatus::STOPPING; 501 status_ = EmbeddedWorkerStatus::STOPPING;
501 FOR_EACH_OBSERVER(Listener, listener_list_, OnStopping()); 502 for (auto& observer : listener_list_)
503 observer.OnStopping();
502 return status; 504 return status;
503 } 505 }
504 506
505 void EmbeddedWorkerInstance::StopIfIdle() { 507 void EmbeddedWorkerInstance::StopIfIdle() {
506 if (devtools_attached_) { 508 if (devtools_attached_) {
507 if (devtools_proxy_) { 509 if (devtools_proxy_) {
508 // Check ShouldNotifyWorkerStopIgnored not to show the same message 510 // Check ShouldNotifyWorkerStopIgnored not to show the same message
509 // multiple times in DevTools. 511 // multiple times in DevTools.
510 if (devtools_proxy_->ShouldNotifyWorkerStopIgnored()) { 512 if (devtools_proxy_->ShouldNotifyWorkerStopIgnored()) {
511 AddMessageToConsole(CONSOLE_MESSAGE_LEVEL_DEBUG, 513 AddMessageToConsole(CONSOLE_MESSAGE_LEVEL_DEBUG,
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
570 572
571 void EmbeddedWorkerInstance::OnProcessAllocated( 573 void EmbeddedWorkerInstance::OnProcessAllocated(
572 std::unique_ptr<WorkerProcessHandle> handle, 574 std::unique_ptr<WorkerProcessHandle> handle,
573 ServiceWorkerMetrics::StartSituation start_situation) { 575 ServiceWorkerMetrics::StartSituation start_situation) {
574 DCHECK_EQ(EmbeddedWorkerStatus::STARTING, status_); 576 DCHECK_EQ(EmbeddedWorkerStatus::STARTING, status_);
575 DCHECK(!process_handle_); 577 DCHECK(!process_handle_);
576 578
577 process_handle_ = std::move(handle); 579 process_handle_ = std::move(handle);
578 starting_phase_ = REGISTERING_TO_DEVTOOLS; 580 starting_phase_ = REGISTERING_TO_DEVTOOLS;
579 start_situation_ = start_situation; 581 start_situation_ = start_situation;
580 FOR_EACH_OBSERVER(Listener, listener_list_, OnProcessAllocated()); 582 for (auto& observer : listener_list_)
583 observer.OnProcessAllocated();
581 } 584 }
582 585
583 void EmbeddedWorkerInstance::OnRegisteredToDevToolsManager( 586 void EmbeddedWorkerInstance::OnRegisteredToDevToolsManager(
584 bool is_new_process, 587 bool is_new_process,
585 int worker_devtools_agent_route_id, 588 int worker_devtools_agent_route_id,
586 bool wait_for_debugger) { 589 bool wait_for_debugger) {
587 if (worker_devtools_agent_route_id != MSG_ROUTING_NONE) { 590 if (worker_devtools_agent_route_id != MSG_ROUTING_NONE) {
588 DCHECK(!devtools_proxy_); 591 DCHECK(!devtools_proxy_);
589 devtools_proxy_.reset( 592 devtools_proxy_.reset(
590 new DevToolsProxy(process_id(), worker_devtools_agent_route_id)); 593 new DevToolsProxy(process_id(), worker_devtools_agent_route_id));
591 } 594 }
592 if (wait_for_debugger) { 595 if (wait_for_debugger) {
593 // We don't measure the start time when wait_for_debugger flag is set. So 596 // We don't measure the start time when wait_for_debugger flag is set. So
594 // we set the NULL time here. 597 // we set the NULL time here.
595 step_time_ = base::TimeTicks(); 598 step_time_ = base::TimeTicks();
596 } 599 }
597 FOR_EACH_OBSERVER(Listener, listener_list_, OnRegisteredToDevToolsManager()); 600 for (auto& observer : listener_list_)
601 observer.OnRegisteredToDevToolsManager();
598 } 602 }
599 603
600 void EmbeddedWorkerInstance::SendMojoStartWorker( 604 void EmbeddedWorkerInstance::SendMojoStartWorker(
601 std::unique_ptr<EmbeddedWorkerStartParams> params) { 605 std::unique_ptr<EmbeddedWorkerStartParams> params) {
602 client_->StartWorker(*params); 606 client_->StartWorker(*params);
603 registry_->BindWorkerToProcess(process_id(), embedded_worker_id()); 607 registry_->BindWorkerToProcess(process_id(), embedded_worker_id());
604 TRACE_EVENT_ASYNC_STEP_PAST1("ServiceWorker", "EmbeddedWorkerInstance::Start", 608 TRACE_EVENT_ASYNC_STEP_PAST1("ServiceWorker", "EmbeddedWorkerInstance::Start",
605 this, "SendStartWorker", "Status", "mojo"); 609 this, "SendStartWorker", "Status", "mojo");
606 OnStartWorkerMessageSent(); 610 OnStartWorkerMessageSent();
607 } 611 }
608 612
609 void EmbeddedWorkerInstance::OnStartWorkerMessageSent() { 613 void EmbeddedWorkerInstance::OnStartWorkerMessageSent() {
610 if (!step_time_.is_null()) { 614 if (!step_time_.is_null()) {
611 base::TimeDelta duration = UpdateStepTime(); 615 base::TimeDelta duration = UpdateStepTime();
612 if (inflight_start_task_->is_installed()) { 616 if (inflight_start_task_->is_installed()) {
613 ServiceWorkerMetrics::RecordTimeToSendStartWorker(duration, 617 ServiceWorkerMetrics::RecordTimeToSendStartWorker(duration,
614 start_situation_); 618 start_situation_);
615 } 619 }
616 } 620 }
617 621
618 starting_phase_ = SENT_START_WORKER; 622 starting_phase_ = SENT_START_WORKER;
619 FOR_EACH_OBSERVER(Listener, listener_list_, OnStartWorkerMessageSent()); 623 for (auto& observer : listener_list_)
624 observer.OnStartWorkerMessageSent();
620 } 625 }
621 626
622 void EmbeddedWorkerInstance::OnReadyForInspection() { 627 void EmbeddedWorkerInstance::OnReadyForInspection() {
623 if (devtools_proxy_) 628 if (devtools_proxy_)
624 devtools_proxy_->NotifyWorkerReadyForInspection(); 629 devtools_proxy_->NotifyWorkerReadyForInspection();
625 } 630 }
626 631
627 void EmbeddedWorkerInstance::OnScriptReadStarted() { 632 void EmbeddedWorkerInstance::OnScriptReadStarted() {
628 starting_phase_ = SCRIPT_READ_STARTED; 633 starting_phase_ = SCRIPT_READ_STARTED;
629 } 634 }
(...skipping 20 matching lines...) Expand all
650 "ServiceWorker", "EmbeddedWorkerInstance::Start", 655 "ServiceWorker", "EmbeddedWorkerInstance::Start",
651 inflight_start_task_.get(), "OnScriptLoaded", "Source", 656 inflight_start_task_.get(), "OnScriptLoaded", "Source",
652 ServiceWorkerMetrics::LoadSourceToString(source)); 657 ServiceWorkerMetrics::LoadSourceToString(source));
653 658
654 if (!step_time_.is_null()) { 659 if (!step_time_.is_null()) {
655 base::TimeDelta duration = UpdateStepTime(); 660 base::TimeDelta duration = UpdateStepTime();
656 ServiceWorkerMetrics::RecordTimeToLoad(duration, source, start_situation_); 661 ServiceWorkerMetrics::RecordTimeToLoad(duration, source, start_situation_);
657 } 662 }
658 663
659 starting_phase_ = SCRIPT_LOADED; 664 starting_phase_ = SCRIPT_LOADED;
660 FOR_EACH_OBSERVER(Listener, listener_list_, OnScriptLoaded()); 665 for (auto& observer : listener_list_)
666 observer.OnScriptLoaded();
661 // |this| may be destroyed by the callback. 667 // |this| may be destroyed by the callback.
662 } 668 }
663 669
664 void EmbeddedWorkerInstance::OnURLJobCreatedForMainScript() { 670 void EmbeddedWorkerInstance::OnURLJobCreatedForMainScript() {
665 if (!inflight_start_task_) 671 if (!inflight_start_task_)
666 return; 672 return;
667 TRACE_EVENT_ASYNC_STEP_PAST0("ServiceWorker", "EmbeddedWorkerInstance::Start", 673 TRACE_EVENT_ASYNC_STEP_PAST0("ServiceWorker", "EmbeddedWorkerInstance::Start",
668 inflight_start_task_.get(), "OnURLJobCreated"); 674 inflight_start_task_.get(), "OnURLJobCreated");
669 if (!step_time_.is_null()) { 675 if (!step_time_.is_null()) {
670 base::TimeDelta duration = UpdateStepTime(); 676 base::TimeDelta duration = UpdateStepTime();
(...skipping 19 matching lines...) Expand all
690 inflight_start_task_.get(), "OnThreadStarted"); 696 inflight_start_task_.get(), "OnThreadStarted");
691 697
692 starting_phase_ = THREAD_STARTED; 698 starting_phase_ = THREAD_STARTED;
693 if (!step_time_.is_null()) { 699 if (!step_time_.is_null()) {
694 base::TimeDelta duration = UpdateStepTime(); 700 base::TimeDelta duration = UpdateStepTime();
695 if (inflight_start_task_->is_installed()) 701 if (inflight_start_task_->is_installed())
696 ServiceWorkerMetrics::RecordTimeToStartThread(duration, start_situation_); 702 ServiceWorkerMetrics::RecordTimeToStartThread(duration, start_situation_);
697 } 703 }
698 704
699 thread_id_ = thread_id; 705 thread_id_ = thread_id;
700 FOR_EACH_OBSERVER(Listener, listener_list_, OnThreadStarted()); 706 for (auto& observer : listener_list_)
707 observer.OnThreadStarted();
701 708
702 service_manager::mojom::InterfaceProviderPtr exposed_interfaces; 709 service_manager::mojom::InterfaceProviderPtr exposed_interfaces;
703 interface_registry_->Bind(mojo::GetProxy(&exposed_interfaces)); 710 interface_registry_->Bind(mojo::GetProxy(&exposed_interfaces));
704 service_manager::mojom::InterfaceProviderPtr remote_interfaces; 711 service_manager::mojom::InterfaceProviderPtr remote_interfaces;
705 service_manager::mojom::InterfaceProviderRequest request = 712 service_manager::mojom::InterfaceProviderRequest request =
706 mojo::GetProxy(&remote_interfaces); 713 mojo::GetProxy(&remote_interfaces);
707 remote_interfaces_->Bind(std::move(remote_interfaces)); 714 remote_interfaces_->Bind(std::move(remote_interfaces));
708 BrowserThread::PostTask( 715 BrowserThread::PostTask(
709 BrowserThread::UI, FROM_HERE, 716 BrowserThread::UI, FROM_HERE,
710 base::Bind(SetupMojoOnUIThread, process_id(), thread_id_, 717 base::Bind(SetupMojoOnUIThread, process_id(), thread_id_,
711 base::Passed(&request), 718 base::Passed(&request),
712 base::Passed(exposed_interfaces.PassInterface()))); 719 base::Passed(exposed_interfaces.PassInterface())));
713 } 720 }
714 721
715 void EmbeddedWorkerInstance::OnScriptLoadFailed() { 722 void EmbeddedWorkerInstance::OnScriptLoadFailed() {
716 if (!inflight_start_task_) 723 if (!inflight_start_task_)
717 return; 724 return;
718 TRACE_EVENT_ASYNC_STEP_PAST0("ServiceWorker", "EmbeddedWorkerInstance::Start", 725 TRACE_EVENT_ASYNC_STEP_PAST0("ServiceWorker", "EmbeddedWorkerInstance::Start",
719 inflight_start_task_.get(), 726 inflight_start_task_.get(),
720 "OnScriptLoadFailed"); 727 "OnScriptLoadFailed");
721 FOR_EACH_OBSERVER(Listener, listener_list_, OnScriptLoadFailed()); 728 for (auto& observer : listener_list_)
729 observer.OnScriptLoadFailed();
722 } 730 }
723 731
724 void EmbeddedWorkerInstance::OnScriptEvaluated(bool success) { 732 void EmbeddedWorkerInstance::OnScriptEvaluated(bool success) {
725 if (!inflight_start_task_) 733 if (!inflight_start_task_)
726 return; 734 return;
727 DCHECK_EQ(EmbeddedWorkerStatus::STARTING, status_); 735 DCHECK_EQ(EmbeddedWorkerStatus::STARTING, status_);
728 736
729 TRACE_EVENT_ASYNC_STEP_PAST1("ServiceWorker", "EmbeddedWorkerInstance::Start", 737 TRACE_EVENT_ASYNC_STEP_PAST1("ServiceWorker", "EmbeddedWorkerInstance::Start",
730 inflight_start_task_.get(), "OnScriptEvaluated", 738 inflight_start_task_.get(), "OnScriptEvaluated",
731 "Success", success); 739 "Success", success);
(...skipping 13 matching lines...) Expand all
745 // |this| may be destroyed by the callback. 753 // |this| may be destroyed by the callback.
746 } 754 }
747 755
748 void EmbeddedWorkerInstance::OnStarted() { 756 void EmbeddedWorkerInstance::OnStarted() {
749 // Stop is requested before OnStarted is sent back from the worker. 757 // Stop is requested before OnStarted is sent back from the worker.
750 if (status_ == EmbeddedWorkerStatus::STOPPING) 758 if (status_ == EmbeddedWorkerStatus::STOPPING)
751 return; 759 return;
752 DCHECK(status_ == EmbeddedWorkerStatus::STARTING); 760 DCHECK(status_ == EmbeddedWorkerStatus::STARTING);
753 status_ = EmbeddedWorkerStatus::RUNNING; 761 status_ = EmbeddedWorkerStatus::RUNNING;
754 inflight_start_task_.reset(); 762 inflight_start_task_.reset();
755 FOR_EACH_OBSERVER(Listener, listener_list_, OnStarted()); 763 for (auto& observer : listener_list_)
764 observer.OnStarted();
756 } 765 }
757 766
758 void EmbeddedWorkerInstance::OnStopped() { 767 void EmbeddedWorkerInstance::OnStopped() {
759 EmbeddedWorkerStatus old_status = status_; 768 EmbeddedWorkerStatus old_status = status_;
760 ReleaseProcess(); 769 ReleaseProcess();
761 FOR_EACH_OBSERVER(Listener, listener_list_, OnStopped(old_status)); 770 for (auto& observer : listener_list_)
771 observer.OnStopped(old_status);
762 } 772 }
763 773
764 void EmbeddedWorkerInstance::OnDetached() { 774 void EmbeddedWorkerInstance::OnDetached() {
765 EmbeddedWorkerStatus old_status = status_; 775 EmbeddedWorkerStatus old_status = status_;
766 ReleaseProcess(); 776 ReleaseProcess();
767 FOR_EACH_OBSERVER(Listener, listener_list_, OnDetached(old_status)); 777 for (auto& observer : listener_list_)
778 observer.OnDetached(old_status);
768 } 779 }
769 780
770 void EmbeddedWorkerInstance::Detach() { 781 void EmbeddedWorkerInstance::Detach() {
771 registry_->DetachWorker(process_id(), embedded_worker_id()); 782 registry_->DetachWorker(process_id(), embedded_worker_id());
772 OnDetached(); 783 OnDetached();
773 } 784 }
774 785
775 base::WeakPtr<EmbeddedWorkerInstance> EmbeddedWorkerInstance::AsWeakPtr() { 786 base::WeakPtr<EmbeddedWorkerInstance> EmbeddedWorkerInstance::AsWeakPtr() {
776 return weak_factory_.GetWeakPtr(); 787 return weak_factory_.GetWeakPtr();
777 } 788 }
778 789
779 bool EmbeddedWorkerInstance::OnMessageReceived(const IPC::Message& message) { 790 bool EmbeddedWorkerInstance::OnMessageReceived(const IPC::Message& message) {
780 for (auto& listener : listener_list_) { 791 for (auto& listener : listener_list_) {
781 if (listener.OnMessageReceived(message)) 792 if (listener.OnMessageReceived(message))
782 return true; 793 return true;
783 } 794 }
784 return false; 795 return false;
785 } 796 }
786 797
787 void EmbeddedWorkerInstance::OnReportException( 798 void EmbeddedWorkerInstance::OnReportException(
788 const base::string16& error_message, 799 const base::string16& error_message,
789 int line_number, 800 int line_number,
790 int column_number, 801 int column_number,
791 const GURL& source_url) { 802 const GURL& source_url) {
792 FOR_EACH_OBSERVER( 803 for (auto& observer : listener_list_) {
793 Listener, 804 observer.OnReportException(error_message, line_number, column_number,
794 listener_list_, 805 source_url);
795 OnReportException(error_message, line_number, column_number, source_url)); 806 }
796 } 807 }
797 808
798 void EmbeddedWorkerInstance::OnReportConsoleMessage( 809 void EmbeddedWorkerInstance::OnReportConsoleMessage(
799 int source_identifier, 810 int source_identifier,
800 int message_level, 811 int message_level,
801 const base::string16& message, 812 const base::string16& message,
802 int line_number, 813 int line_number,
803 const GURL& source_url) { 814 const GURL& source_url) {
804 FOR_EACH_OBSERVER( 815 for (auto& observer : listener_list_) {
805 Listener, 816 observer.OnReportConsoleMessage(source_identifier, message_level, message,
806 listener_list_, 817 line_number, source_url);
807 OnReportConsoleMessage( 818 }
808 source_identifier, message_level, message, line_number, source_url));
809 } 819 }
810 820
811 int EmbeddedWorkerInstance::process_id() const { 821 int EmbeddedWorkerInstance::process_id() const {
812 if (process_handle_) 822 if (process_handle_)
813 return process_handle_->process_id(); 823 return process_handle_->process_id();
814 return ChildProcessHost::kInvalidUniqueID; 824 return ChildProcessHost::kInvalidUniqueID;
815 } 825 }
816 826
817 bool EmbeddedWorkerInstance::is_new_process() const { 827 bool EmbeddedWorkerInstance::is_new_process() const {
818 DCHECK(process_handle_); 828 DCHECK(process_handle_);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 interface_registry_.reset(); 865 interface_registry_.reset();
856 remote_interfaces_.reset(); 866 remote_interfaces_.reset();
857 } 867 }
858 868
859 void EmbeddedWorkerInstance::OnStartFailed(const StatusCallback& callback, 869 void EmbeddedWorkerInstance::OnStartFailed(const StatusCallback& callback,
860 ServiceWorkerStatusCode status) { 870 ServiceWorkerStatusCode status) {
861 EmbeddedWorkerStatus old_status = status_; 871 EmbeddedWorkerStatus old_status = status_;
862 ReleaseProcess(); 872 ReleaseProcess();
863 base::WeakPtr<EmbeddedWorkerInstance> weak_this = weak_factory_.GetWeakPtr(); 873 base::WeakPtr<EmbeddedWorkerInstance> weak_this = weak_factory_.GetWeakPtr();
864 callback.Run(status); 874 callback.Run(status);
865 if (weak_this && old_status != EmbeddedWorkerStatus::STOPPED) 875 if (weak_this && old_status != EmbeddedWorkerStatus::STOPPED) {
866 FOR_EACH_OBSERVER(Listener, weak_this->listener_list_, 876 for (auto& observer : weak_this->listener_list_)
867 OnStopped(old_status)); 877 observer.OnStopped(old_status);
878 }
868 } 879 }
869 880
870 base::TimeDelta EmbeddedWorkerInstance::UpdateStepTime() { 881 base::TimeDelta EmbeddedWorkerInstance::UpdateStepTime() {
871 DCHECK_CURRENTLY_ON(BrowserThread::IO); 882 DCHECK_CURRENTLY_ON(BrowserThread::IO);
872 DCHECK(!step_time_.is_null()); 883 DCHECK(!step_time_.is_null());
873 base::TimeTicks now = base::TimeTicks::Now(); 884 base::TimeTicks now = base::TimeTicks::Now();
874 base::TimeDelta duration = now - step_time_; 885 base::TimeDelta duration = now - step_time_;
875 step_time_ = now; 886 step_time_ = now;
876 return duration; 887 return duration;
877 } 888 }
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
927 case SCRIPT_READ_FINISHED: 938 case SCRIPT_READ_FINISHED:
928 return "Script read finished"; 939 return "Script read finished";
929 case STARTING_PHASE_MAX_VALUE: 940 case STARTING_PHASE_MAX_VALUE:
930 NOTREACHED(); 941 NOTREACHED();
931 } 942 }
932 NOTREACHED() << phase; 943 NOTREACHED() << phase;
933 return std::string(); 944 return std::string();
934 } 945 }
935 946
936 } // namespace content 947 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/browser/service_worker/service_worker_registration.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698