OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/browser_process_impl.h" | 5 #include "chrome/browser/browser_process_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <map> | 10 #include <map> |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 | 271 |
272 update_client::UpdateQueryParams::SetDelegate( | 272 update_client::UpdateQueryParams::SetDelegate( |
273 ChromeUpdateQueryParamsDelegate::GetInstance()); | 273 ChromeUpdateQueryParamsDelegate::GetInstance()); |
274 | 274 |
275 #if !defined(OS_ANDROID) | 275 #if !defined(OS_ANDROID) |
276 KeepAliveRegistry::GetInstance()->AddObserver(this); | 276 KeepAliveRegistry::GetInstance()->AddObserver(this); |
277 #endif // !defined(OS_ANDROID) | 277 #endif // !defined(OS_ANDROID) |
278 } | 278 } |
279 | 279 |
280 BrowserProcessImpl::~BrowserProcessImpl() { | 280 BrowserProcessImpl::~BrowserProcessImpl() { |
| 281 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
281 #if BUILDFLAG(ENABLE_EXTENSIONS) | 282 #if BUILDFLAG(ENABLE_EXTENSIONS) |
282 extensions::ExtensionsBrowserClient::Set(nullptr); | 283 extensions::ExtensionsBrowserClient::Set(nullptr); |
283 #endif | 284 #endif |
284 | 285 |
285 #if !defined(OS_ANDROID) | 286 #if !defined(OS_ANDROID) |
286 KeepAliveRegistry::GetInstance()->RemoveObserver(this); | 287 KeepAliveRegistry::GetInstance()->RemoveObserver(this); |
287 #endif // !defined(OS_ANDROID) | 288 #endif // !defined(OS_ANDROID) |
288 | 289 |
289 tracked_objects::ThreadData::EnsureCleanupWasCalled(4); | 290 tracked_objects::ThreadData::EnsureCleanupWasCalled(4); |
290 | 291 |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
535 for (auto& profile_writer_runner : profile_writer_runners) | 536 for (auto& profile_writer_runner : profile_writer_runners) |
536 profile_write_rundown_counter->Post(profile_writer_runner.get()); | 537 profile_write_rundown_counter->Post(profile_writer_runner.get()); |
537 profile_write_rundown_counter->TimedWaitUntil(end_time); | 538 profile_write_rundown_counter->TimedWaitUntil(end_time); |
538 #else | 539 #else |
539 NOTIMPLEMENTED(); | 540 NOTIMPLEMENTED(); |
540 #endif | 541 #endif |
541 } | 542 } |
542 | 543 |
543 metrics_services_manager::MetricsServicesManager* | 544 metrics_services_manager::MetricsServicesManager* |
544 BrowserProcessImpl::GetMetricsServicesManager() { | 545 BrowserProcessImpl::GetMetricsServicesManager() { |
545 DCHECK(CalledOnValidThread()); | 546 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
546 if (!metrics_services_manager_) { | 547 if (!metrics_services_manager_) { |
547 metrics_services_manager_.reset( | 548 metrics_services_manager_.reset( |
548 new metrics_services_manager::MetricsServicesManager( | 549 new metrics_services_manager::MetricsServicesManager( |
549 base::MakeUnique<ChromeMetricsServicesManagerClient>( | 550 base::MakeUnique<ChromeMetricsServicesManagerClient>( |
550 local_state()))); | 551 local_state()))); |
551 } | 552 } |
552 return metrics_services_manager_.get(); | 553 return metrics_services_manager_.get(); |
553 } | 554 } |
554 | 555 |
555 metrics::MetricsService* BrowserProcessImpl::metrics_service() { | 556 metrics::MetricsService* BrowserProcessImpl::metrics_service() { |
556 DCHECK(CalledOnValidThread()); | 557 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
557 return GetMetricsServicesManager()->GetMetricsService(); | 558 return GetMetricsServicesManager()->GetMetricsService(); |
558 } | 559 } |
559 | 560 |
560 rappor::RapporServiceImpl* BrowserProcessImpl::rappor_service() { | 561 rappor::RapporServiceImpl* BrowserProcessImpl::rappor_service() { |
561 DCHECK(CalledOnValidThread()); | 562 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
562 return GetMetricsServicesManager()->GetRapporServiceImpl(); | 563 return GetMetricsServicesManager()->GetRapporServiceImpl(); |
563 } | 564 } |
564 | 565 |
565 ukm::UkmRecorder* BrowserProcessImpl::ukm_recorder() { | 566 ukm::UkmRecorder* BrowserProcessImpl::ukm_recorder() { |
566 DCHECK(CalledOnValidThread()); | 567 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
567 return GetMetricsServicesManager()->GetUkmService(); | 568 return GetMetricsServicesManager()->GetUkmService(); |
568 } | 569 } |
569 | 570 |
570 IOThread* BrowserProcessImpl::io_thread() { | 571 IOThread* BrowserProcessImpl::io_thread() { |
571 DCHECK(CalledOnValidThread()); | 572 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
572 DCHECK(io_thread_.get()); | 573 DCHECK(io_thread_.get()); |
573 return io_thread_.get(); | 574 return io_thread_.get(); |
574 } | 575 } |
575 | 576 |
576 WatchDogThread* BrowserProcessImpl::watchdog_thread() { | 577 WatchDogThread* BrowserProcessImpl::watchdog_thread() { |
577 DCHECK(CalledOnValidThread()); | 578 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
578 if (!created_watchdog_thread_) | 579 if (!created_watchdog_thread_) |
579 CreateWatchdogThread(); | 580 CreateWatchdogThread(); |
580 DCHECK(watchdog_thread_.get() != NULL); | 581 DCHECK(watchdog_thread_.get() != NULL); |
581 return watchdog_thread_.get(); | 582 return watchdog_thread_.get(); |
582 } | 583 } |
583 | 584 |
584 ProfileManager* BrowserProcessImpl::profile_manager() { | 585 ProfileManager* BrowserProcessImpl::profile_manager() { |
585 DCHECK(CalledOnValidThread()); | 586 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
586 if (!created_profile_manager_) | 587 if (!created_profile_manager_) |
587 CreateProfileManager(); | 588 CreateProfileManager(); |
588 return profile_manager_.get(); | 589 return profile_manager_.get(); |
589 } | 590 } |
590 | 591 |
591 PrefService* BrowserProcessImpl::local_state() { | 592 PrefService* BrowserProcessImpl::local_state() { |
592 DCHECK(CalledOnValidThread()); | 593 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
593 if (!created_local_state_) | 594 if (!created_local_state_) |
594 CreateLocalState(); | 595 CreateLocalState(); |
595 return local_state_.get(); | 596 return local_state_.get(); |
596 } | 597 } |
597 | 598 |
598 net::URLRequestContextGetter* BrowserProcessImpl::system_request_context() { | 599 net::URLRequestContextGetter* BrowserProcessImpl::system_request_context() { |
599 DCHECK(CalledOnValidThread()); | 600 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
600 return io_thread()->system_url_request_context_getter(); | 601 return io_thread()->system_url_request_context_getter(); |
601 } | 602 } |
602 | 603 |
603 variations::VariationsService* BrowserProcessImpl::variations_service() { | 604 variations::VariationsService* BrowserProcessImpl::variations_service() { |
604 DCHECK(CalledOnValidThread()); | 605 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
605 return GetMetricsServicesManager()->GetVariationsService(); | 606 return GetMetricsServicesManager()->GetVariationsService(); |
606 } | 607 } |
607 | 608 |
608 BrowserProcessPlatformPart* BrowserProcessImpl::platform_part() { | 609 BrowserProcessPlatformPart* BrowserProcessImpl::platform_part() { |
609 return platform_part_.get(); | 610 return platform_part_.get(); |
610 } | 611 } |
611 | 612 |
612 extensions::EventRouterForwarder* | 613 extensions::EventRouterForwarder* |
613 BrowserProcessImpl::extension_event_router_forwarder() { | 614 BrowserProcessImpl::extension_event_router_forwarder() { |
614 #if BUILDFLAG(ENABLE_EXTENSIONS) | 615 #if BUILDFLAG(ENABLE_EXTENSIONS) |
615 return extension_event_router_forwarder_.get(); | 616 return extension_event_router_forwarder_.get(); |
616 #else | 617 #else |
617 return NULL; | 618 return NULL; |
618 #endif | 619 #endif |
619 } | 620 } |
620 | 621 |
621 NotificationUIManager* BrowserProcessImpl::notification_ui_manager() { | 622 NotificationUIManager* BrowserProcessImpl::notification_ui_manager() { |
622 DCHECK(CalledOnValidThread()); | 623 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
623 // TODO(miguelg) return NULL for MAC as well once native notifications | 624 // TODO(miguelg) return NULL for MAC as well once native notifications |
624 // are enabled by default. | 625 // are enabled by default. |
625 #if defined(OS_ANDROID) | 626 #if defined(OS_ANDROID) |
626 return nullptr; | 627 return nullptr; |
627 #else | 628 #else |
628 if (!created_notification_ui_manager_) | 629 if (!created_notification_ui_manager_) |
629 CreateNotificationUIManager(); | 630 CreateNotificationUIManager(); |
630 return notification_ui_manager_.get(); | 631 return notification_ui_manager_.get(); |
631 #endif | 632 #endif |
632 } | 633 } |
633 | 634 |
634 NotificationPlatformBridge* BrowserProcessImpl::notification_platform_bridge() { | 635 NotificationPlatformBridge* BrowserProcessImpl::notification_platform_bridge() { |
635 #if BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS) | 636 #if BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS) |
636 if (!created_notification_bridge_) | 637 if (!created_notification_bridge_) |
637 CreateNotificationPlatformBridge(); | 638 CreateNotificationPlatformBridge(); |
638 return notification_bridge_.get(); | 639 return notification_bridge_.get(); |
639 #else | 640 #else |
640 return nullptr; | 641 return nullptr; |
641 #endif | 642 #endif |
642 } | 643 } |
643 | 644 |
644 message_center::MessageCenter* BrowserProcessImpl::message_center() { | 645 message_center::MessageCenter* BrowserProcessImpl::message_center() { |
645 DCHECK(CalledOnValidThread()); | 646 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
646 return message_center::MessageCenter::Get(); | 647 return message_center::MessageCenter::Get(); |
647 } | 648 } |
648 | 649 |
649 policy::BrowserPolicyConnector* BrowserProcessImpl::browser_policy_connector() { | 650 policy::BrowserPolicyConnector* BrowserProcessImpl::browser_policy_connector() { |
650 DCHECK(CalledOnValidThread()); | 651 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
651 if (!created_browser_policy_connector_) { | 652 if (!created_browser_policy_connector_) { |
652 DCHECK(!browser_policy_connector_); | 653 DCHECK(!browser_policy_connector_); |
653 browser_policy_connector_ = platform_part_->CreateBrowserPolicyConnector(); | 654 browser_policy_connector_ = platform_part_->CreateBrowserPolicyConnector(); |
654 created_browser_policy_connector_ = true; | 655 created_browser_policy_connector_ = true; |
655 } | 656 } |
656 return browser_policy_connector_.get(); | 657 return browser_policy_connector_.get(); |
657 } | 658 } |
658 | 659 |
659 policy::PolicyService* BrowserProcessImpl::policy_service() { | 660 policy::PolicyService* BrowserProcessImpl::policy_service() { |
660 return browser_policy_connector()->GetPolicyService(); | 661 return browser_policy_connector()->GetPolicyService(); |
661 } | 662 } |
662 | 663 |
663 IconManager* BrowserProcessImpl::icon_manager() { | 664 IconManager* BrowserProcessImpl::icon_manager() { |
664 DCHECK(CalledOnValidThread()); | 665 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
665 if (!created_icon_manager_) | 666 if (!created_icon_manager_) |
666 CreateIconManager(); | 667 CreateIconManager(); |
667 return icon_manager_.get(); | 668 return icon_manager_.get(); |
668 } | 669 } |
669 | 670 |
670 GpuProfileCache* BrowserProcessImpl::gpu_profile_cache() { | 671 GpuProfileCache* BrowserProcessImpl::gpu_profile_cache() { |
671 DCHECK(CalledOnValidThread()); | 672 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
672 if (!gpu_profile_cache_.get()) | 673 if (!gpu_profile_cache_.get()) |
673 gpu_profile_cache_.reset(GpuProfileCache::Create()); | 674 gpu_profile_cache_.reset(GpuProfileCache::Create()); |
674 return gpu_profile_cache_.get(); | 675 return gpu_profile_cache_.get(); |
675 } | 676 } |
676 | 677 |
677 GpuModeManager* BrowserProcessImpl::gpu_mode_manager() { | 678 GpuModeManager* BrowserProcessImpl::gpu_mode_manager() { |
678 DCHECK(CalledOnValidThread()); | 679 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
679 if (!gpu_mode_manager_.get()) | 680 if (!gpu_mode_manager_.get()) |
680 gpu_mode_manager_.reset(new GpuModeManager()); | 681 gpu_mode_manager_.reset(new GpuModeManager()); |
681 return gpu_mode_manager_.get(); | 682 return gpu_mode_manager_.get(); |
682 } | 683 } |
683 | 684 |
684 void BrowserProcessImpl::CreateDevToolsHttpProtocolHandler( | 685 void BrowserProcessImpl::CreateDevToolsHttpProtocolHandler( |
685 const std::string& ip, | 686 const std::string& ip, |
686 uint16_t port) { | 687 uint16_t port) { |
687 DCHECK(CalledOnValidThread()); | 688 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
688 #if !defined(OS_ANDROID) | 689 #if !defined(OS_ANDROID) |
689 // StartupBrowserCreator::LaunchBrowser can be run multiple times when browser | 690 // StartupBrowserCreator::LaunchBrowser can be run multiple times when browser |
690 // is started with several profiles or existing browser process is reused. | 691 // is started with several profiles or existing browser process is reused. |
691 if (!remote_debugging_server_.get()) { | 692 if (!remote_debugging_server_.get()) { |
692 remote_debugging_server_.reset(new RemoteDebuggingServer(ip, port)); | 693 remote_debugging_server_.reset(new RemoteDebuggingServer(ip, port)); |
693 } | 694 } |
694 #endif | 695 #endif |
695 } | 696 } |
696 | 697 |
697 void BrowserProcessImpl::CreateDevToolsAutoOpener() { | 698 void BrowserProcessImpl::CreateDevToolsAutoOpener() { |
698 DCHECK(CalledOnValidThread()); | 699 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
699 #if !defined(OS_ANDROID) | 700 #if !defined(OS_ANDROID) |
700 // StartupBrowserCreator::LaunchBrowser can be run multiple times when browser | 701 // StartupBrowserCreator::LaunchBrowser can be run multiple times when browser |
701 // is started with several profiles or existing browser process is reused. | 702 // is started with several profiles or existing browser process is reused. |
702 if (!devtools_auto_opener_.get()) | 703 if (!devtools_auto_opener_.get()) |
703 devtools_auto_opener_.reset(new DevToolsAutoOpener()); | 704 devtools_auto_opener_.reset(new DevToolsAutoOpener()); |
704 #endif | 705 #endif |
705 } | 706 } |
706 | 707 |
707 bool BrowserProcessImpl::IsShuttingDown() { | 708 bool BrowserProcessImpl::IsShuttingDown() { |
708 DCHECK(CalledOnValidThread()); | 709 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
709 // TODO(crbug.com/560486): Fix the tests that make the check of | 710 // TODO(crbug.com/560486): Fix the tests that make the check of |
710 // |tearing_down_| necessary here. | 711 // |tearing_down_| necessary here. |
711 return shutting_down_ || tearing_down_; | 712 return shutting_down_ || tearing_down_; |
712 } | 713 } |
713 | 714 |
714 printing::PrintJobManager* BrowserProcessImpl::print_job_manager() { | 715 printing::PrintJobManager* BrowserProcessImpl::print_job_manager() { |
715 DCHECK(CalledOnValidThread()); | 716 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
716 return print_job_manager_.get(); | 717 return print_job_manager_.get(); |
717 } | 718 } |
718 | 719 |
719 printing::PrintPreviewDialogController* | 720 printing::PrintPreviewDialogController* |
720 BrowserProcessImpl::print_preview_dialog_controller() { | 721 BrowserProcessImpl::print_preview_dialog_controller() { |
721 #if BUILDFLAG(ENABLE_PRINT_PREVIEW) | 722 #if BUILDFLAG(ENABLE_PRINT_PREVIEW) |
722 DCHECK(CalledOnValidThread()); | 723 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
723 if (!print_preview_dialog_controller_.get()) | 724 if (!print_preview_dialog_controller_.get()) |
724 CreatePrintPreviewDialogController(); | 725 CreatePrintPreviewDialogController(); |
725 return print_preview_dialog_controller_.get(); | 726 return print_preview_dialog_controller_.get(); |
726 #else | 727 #else |
727 NOTIMPLEMENTED(); | 728 NOTIMPLEMENTED(); |
728 return NULL; | 729 return NULL; |
729 #endif | 730 #endif |
730 } | 731 } |
731 | 732 |
732 printing::BackgroundPrintingManager* | 733 printing::BackgroundPrintingManager* |
733 BrowserProcessImpl::background_printing_manager() { | 734 BrowserProcessImpl::background_printing_manager() { |
734 #if BUILDFLAG(ENABLE_PRINT_PREVIEW) | 735 #if BUILDFLAG(ENABLE_PRINT_PREVIEW) |
735 DCHECK(CalledOnValidThread()); | 736 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
736 if (!background_printing_manager_.get()) | 737 if (!background_printing_manager_.get()) |
737 CreateBackgroundPrintingManager(); | 738 CreateBackgroundPrintingManager(); |
738 return background_printing_manager_.get(); | 739 return background_printing_manager_.get(); |
739 #else | 740 #else |
740 NOTIMPLEMENTED(); | 741 NOTIMPLEMENTED(); |
741 return NULL; | 742 return NULL; |
742 #endif | 743 #endif |
743 } | 744 } |
744 | 745 |
745 IntranetRedirectDetector* BrowserProcessImpl::intranet_redirect_detector() { | 746 IntranetRedirectDetector* BrowserProcessImpl::intranet_redirect_detector() { |
746 DCHECK(CalledOnValidThread()); | 747 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
747 if (!intranet_redirect_detector_.get()) | 748 if (!intranet_redirect_detector_.get()) |
748 CreateIntranetRedirectDetector(); | 749 CreateIntranetRedirectDetector(); |
749 return intranet_redirect_detector_.get(); | 750 return intranet_redirect_detector_.get(); |
750 } | 751 } |
751 | 752 |
752 const std::string& BrowserProcessImpl::GetApplicationLocale() { | 753 const std::string& BrowserProcessImpl::GetApplicationLocale() { |
753 DCHECK(!locale_.empty()); | 754 DCHECK(!locale_.empty()); |
754 return locale_; | 755 return locale_; |
755 } | 756 } |
756 | 757 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
794 if (!network_time_tracker_) { | 795 if (!network_time_tracker_) { |
795 network_time_tracker_.reset(new network_time::NetworkTimeTracker( | 796 network_time_tracker_.reset(new network_time::NetworkTimeTracker( |
796 base::WrapUnique(new base::DefaultClock()), | 797 base::WrapUnique(new base::DefaultClock()), |
797 base::WrapUnique(new base::DefaultTickClock()), local_state(), | 798 base::WrapUnique(new base::DefaultTickClock()), local_state(), |
798 system_request_context())); | 799 system_request_context())); |
799 } | 800 } |
800 return network_time_tracker_.get(); | 801 return network_time_tracker_.get(); |
801 } | 802 } |
802 | 803 |
803 gcm::GCMDriver* BrowserProcessImpl::gcm_driver() { | 804 gcm::GCMDriver* BrowserProcessImpl::gcm_driver() { |
804 DCHECK(CalledOnValidThread()); | 805 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
805 if (!gcm_driver_) | 806 if (!gcm_driver_) |
806 CreateGCMDriver(); | 807 CreateGCMDriver(); |
807 return gcm_driver_.get(); | 808 return gcm_driver_.get(); |
808 } | 809 } |
809 | 810 |
810 memory::TabManager* BrowserProcessImpl::GetTabManager() { | 811 memory::TabManager* BrowserProcessImpl::GetTabManager() { |
811 DCHECK(CalledOnValidThread()); | 812 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
812 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) | 813 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) |
813 if (!tab_manager_.get()) | 814 if (!tab_manager_.get()) |
814 tab_manager_.reset(new memory::TabManager()); | 815 tab_manager_.reset(new memory::TabManager()); |
815 return tab_manager_.get(); | 816 return tab_manager_.get(); |
816 #else | 817 #else |
817 return nullptr; | 818 return nullptr; |
818 #endif | 819 #endif |
819 } | 820 } |
820 | 821 |
821 shell_integration::DefaultWebClientState | 822 shell_integration::DefaultWebClientState |
822 BrowserProcessImpl::CachedDefaultWebClientState() { | 823 BrowserProcessImpl::CachedDefaultWebClientState() { |
823 return cached_default_web_client_state_; | 824 return cached_default_web_client_state_; |
824 } | 825 } |
825 | 826 |
826 physical_web::PhysicalWebDataSource* | 827 physical_web::PhysicalWebDataSource* |
827 BrowserProcessImpl::GetPhysicalWebDataSource() { | 828 BrowserProcessImpl::GetPhysicalWebDataSource() { |
828 DCHECK(CalledOnValidThread()); | 829 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
829 #if defined(OS_ANDROID) | 830 #if defined(OS_ANDROID) |
830 if (!physical_web_data_source_) { | 831 if (!physical_web_data_source_) { |
831 CreatePhysicalWebDataSource(); | 832 CreatePhysicalWebDataSource(); |
832 DCHECK(physical_web_data_source_); | 833 DCHECK(physical_web_data_source_); |
833 } | 834 } |
834 return physical_web_data_source_.get(); | 835 return physical_web_data_source_.get(); |
835 #else | 836 #else |
836 return nullptr; | 837 return nullptr; |
837 #endif | 838 #endif |
838 } | 839 } |
(...skipping 29 matching lines...) Expand all Loading... |
868 registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled, | 869 registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled, |
869 GoogleUpdateSettings::GetCollectStatsConsent()); | 870 GoogleUpdateSettings::GetCollectStatsConsent()); |
870 | 871 |
871 #if defined(OS_ANDROID) | 872 #if defined(OS_ANDROID) |
872 registry->RegisterBooleanPref( | 873 registry->RegisterBooleanPref( |
873 prefs::kCrashReportingEnabled, false); | 874 prefs::kCrashReportingEnabled, false); |
874 #endif // defined(OS_ANDROID) | 875 #endif // defined(OS_ANDROID) |
875 } | 876 } |
876 | 877 |
877 DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() { | 878 DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() { |
878 DCHECK(CalledOnValidThread()); | 879 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
879 if (!download_request_limiter_.get()) | 880 if (!download_request_limiter_.get()) |
880 download_request_limiter_ = new DownloadRequestLimiter(); | 881 download_request_limiter_ = new DownloadRequestLimiter(); |
881 return download_request_limiter_.get(); | 882 return download_request_limiter_.get(); |
882 } | 883 } |
883 | 884 |
884 BackgroundModeManager* BrowserProcessImpl::background_mode_manager() { | 885 BackgroundModeManager* BrowserProcessImpl::background_mode_manager() { |
885 DCHECK(CalledOnValidThread()); | 886 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
886 #if BUILDFLAG(ENABLE_BACKGROUND) | 887 #if BUILDFLAG(ENABLE_BACKGROUND) |
887 if (!background_mode_manager_.get()) | 888 if (!background_mode_manager_.get()) |
888 CreateBackgroundModeManager(); | 889 CreateBackgroundModeManager(); |
889 return background_mode_manager_.get(); | 890 return background_mode_manager_.get(); |
890 #else | 891 #else |
891 NOTIMPLEMENTED(); | 892 NOTIMPLEMENTED(); |
892 return NULL; | 893 return NULL; |
893 #endif | 894 #endif |
894 } | 895 } |
895 | 896 |
896 void BrowserProcessImpl::set_background_mode_manager_for_test( | 897 void BrowserProcessImpl::set_background_mode_manager_for_test( |
897 std::unique_ptr<BackgroundModeManager> manager) { | 898 std::unique_ptr<BackgroundModeManager> manager) { |
898 #if BUILDFLAG(ENABLE_BACKGROUND) | 899 #if BUILDFLAG(ENABLE_BACKGROUND) |
899 background_mode_manager_ = std::move(manager); | 900 background_mode_manager_ = std::move(manager); |
900 #endif | 901 #endif |
901 } | 902 } |
902 | 903 |
903 StatusTray* BrowserProcessImpl::status_tray() { | 904 StatusTray* BrowserProcessImpl::status_tray() { |
904 DCHECK(CalledOnValidThread()); | 905 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
905 if (!status_tray_.get()) | 906 if (!status_tray_.get()) |
906 CreateStatusTray(); | 907 CreateStatusTray(); |
907 return status_tray_.get(); | 908 return status_tray_.get(); |
908 } | 909 } |
909 | 910 |
910 safe_browsing::SafeBrowsingService* | 911 safe_browsing::SafeBrowsingService* |
911 BrowserProcessImpl::safe_browsing_service() { | 912 BrowserProcessImpl::safe_browsing_service() { |
912 DCHECK(CalledOnValidThread()); | 913 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
913 if (!created_safe_browsing_service_) | 914 if (!created_safe_browsing_service_) |
914 CreateSafeBrowsingService(); | 915 CreateSafeBrowsingService(); |
915 return safe_browsing_service_.get(); | 916 return safe_browsing_service_.get(); |
916 } | 917 } |
917 | 918 |
918 safe_browsing::ClientSideDetectionService* | 919 safe_browsing::ClientSideDetectionService* |
919 BrowserProcessImpl::safe_browsing_detection_service() { | 920 BrowserProcessImpl::safe_browsing_detection_service() { |
920 DCHECK(CalledOnValidThread()); | 921 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
921 if (safe_browsing_service()) | 922 if (safe_browsing_service()) |
922 return safe_browsing_service()->safe_browsing_detection_service(); | 923 return safe_browsing_service()->safe_browsing_detection_service(); |
923 return NULL; | 924 return NULL; |
924 } | 925 } |
925 | 926 |
926 subresource_filter::ContentRulesetService* | 927 subresource_filter::ContentRulesetService* |
927 BrowserProcessImpl::subresource_filter_ruleset_service() { | 928 BrowserProcessImpl::subresource_filter_ruleset_service() { |
928 DCHECK(CalledOnValidThread()); | 929 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
929 if (!created_subresource_filter_ruleset_service_) | 930 if (!created_subresource_filter_ruleset_service_) |
930 CreateSubresourceFilterRulesetService(); | 931 CreateSubresourceFilterRulesetService(); |
931 return subresource_filter_ruleset_service_.get(); | 932 return subresource_filter_ruleset_service_.get(); |
932 } | 933 } |
933 | 934 |
934 #if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) | 935 #if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) |
935 void BrowserProcessImpl::StartAutoupdateTimer() { | 936 void BrowserProcessImpl::StartAutoupdateTimer() { |
936 autoupdate_timer_.Start(FROM_HERE, | 937 autoupdate_timer_.Start(FROM_HERE, |
937 base::TimeDelta::FromHours(kUpdateCheckIntervalHours), | 938 base::TimeDelta::FromHours(kUpdateCheckIntervalHours), |
938 this, | 939 this, |
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1314 | 1315 |
1315 void BrowserProcessImpl::CacheDefaultWebClientState() { | 1316 void BrowserProcessImpl::CacheDefaultWebClientState() { |
1316 #if defined(OS_CHROMEOS) | 1317 #if defined(OS_CHROMEOS) |
1317 cached_default_web_client_state_ = shell_integration::IS_DEFAULT; | 1318 cached_default_web_client_state_ = shell_integration::IS_DEFAULT; |
1318 #elif !defined(OS_ANDROID) | 1319 #elif !defined(OS_ANDROID) |
1319 cached_default_web_client_state_ = shell_integration::GetDefaultBrowser(); | 1320 cached_default_web_client_state_ = shell_integration::GetDefaultBrowser(); |
1320 #endif | 1321 #endif |
1321 } | 1322 } |
1322 | 1323 |
1323 void BrowserProcessImpl::Pin() { | 1324 void BrowserProcessImpl::Pin() { |
1324 DCHECK(CalledOnValidThread()); | 1325 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
1325 | 1326 |
1326 // CHECK(!IsShuttingDown()); | 1327 // CHECK(!IsShuttingDown()); |
1327 if (IsShuttingDown()) { | 1328 if (IsShuttingDown()) { |
1328 // TODO(crbug.com/113031, crbug.com/625646): Temporary instrumentation. | 1329 // TODO(crbug.com/113031, crbug.com/625646): Temporary instrumentation. |
1329 base::debug::SetCrashKeyToStackTrace(crash_keys::kBrowserUnpinTrace, | 1330 base::debug::SetCrashKeyToStackTrace(crash_keys::kBrowserUnpinTrace, |
1330 release_last_reference_callstack_); | 1331 release_last_reference_callstack_); |
1331 CHECK(false); | 1332 CHECK(false); |
1332 } | 1333 } |
1333 } | 1334 } |
1334 | 1335 |
1335 void BrowserProcessImpl::Unpin() { | 1336 void BrowserProcessImpl::Unpin() { |
1336 DCHECK(CalledOnValidThread()); | 1337 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |
1337 release_last_reference_callstack_ = base::debug::StackTrace(); | 1338 release_last_reference_callstack_ = base::debug::StackTrace(); |
1338 | 1339 |
1339 shutting_down_ = true; | 1340 shutting_down_ = true; |
1340 #if BUILDFLAG(ENABLE_PRINTING) | 1341 #if BUILDFLAG(ENABLE_PRINTING) |
1341 // Wait for the pending print jobs to finish. Don't do this later, since | 1342 // Wait for the pending print jobs to finish. Don't do this later, since |
1342 // this might cause a nested run loop to run, and we don't want pending | 1343 // this might cause a nested run loop to run, and we don't want pending |
1343 // tasks to run once teardown has started. | 1344 // tasks to run once teardown has started. |
1344 print_job_manager_->Shutdown(); | 1345 print_job_manager_->Shutdown(); |
1345 #endif | 1346 #endif |
1346 | 1347 |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1422 } | 1423 } |
1423 | 1424 |
1424 void BrowserProcessImpl::OnAutoupdateTimer() { | 1425 void BrowserProcessImpl::OnAutoupdateTimer() { |
1425 if (CanAutorestartForUpdate()) { | 1426 if (CanAutorestartForUpdate()) { |
1426 DLOG(WARNING) << "Detected update. Restarting browser."; | 1427 DLOG(WARNING) << "Detected update. Restarting browser."; |
1427 RestartBackgroundInstance(); | 1428 RestartBackgroundInstance(); |
1428 } | 1429 } |
1429 } | 1430 } |
1430 | 1431 |
1431 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) | 1432 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) |
OLD | NEW |