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

Side by Side Diff: chrome/browser/chrome_browser_main.cc

Issue 1391893003: NOT FOR REVIEW: Aura on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
OLDNEW
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/chrome_browser_main.h" 5 #include "chrome/browser/chrome_browser_main.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 #include "net/cookies/cookie_monster.h" 142 #include "net/cookies/cookie_monster.h"
143 #include "net/http/http_network_layer.h" 143 #include "net/http/http_network_layer.h"
144 #include "net/http/http_stream_factory.h" 144 #include "net/http/http_stream_factory.h"
145 #include "net/url_request/url_request.h" 145 #include "net/url_request/url_request.h"
146 #include "ui/base/l10n/l10n_util.h" 146 #include "ui/base/l10n/l10n_util.h"
147 #include "ui/base/layout.h" 147 #include "ui/base/layout.h"
148 #include "ui/base/resource/resource_bundle.h" 148 #include "ui/base/resource/resource_bundle.h"
149 #include "ui/strings/grit/app_locale_settings.h" 149 #include "ui/strings/grit/app_locale_settings.h"
150 150
151 #if defined(OS_ANDROID) 151 #if defined(OS_ANDROID)
152 #include "ui/base/resource/resource_bundle_android.h"
153 #endif // defined(OS_ANDROID)
154
155 #if defined(OS_ANDROID) && !defined(USE_AURA)
152 #include "chrome/browser/android/dev_tools_discovery_provider_android.h" 156 #include "chrome/browser/android/dev_tools_discovery_provider_android.h"
153 #include "chrome/browser/metrics/thread_watcher_android.h" 157 #include "chrome/browser/metrics/thread_watcher_android.h"
154 #include "ui/base/resource/resource_bundle_android.h"
155 #else 158 #else
156 #include "chrome/browser/devtools/chrome_devtools_discovery_provider.h" 159 #include "chrome/browser/devtools/chrome_devtools_discovery_provider.h"
157 #include "chrome/browser/feedback/feedback_profile_observer.h" 160 #include "chrome/browser/feedback/feedback_profile_observer.h"
158 #endif // defined(OS_ANDROID) 161 #endif // defined(OS_ANDROID) && !defined(USE_AURA)
159 162
160 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) 163 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
161 #include "chrome/browser/first_run/upgrade_util_linux.h" 164 #include "chrome/browser/first_run/upgrade_util_linux.h"
162 #include "chrome/browser/sxs_linux.h" 165 #include "chrome/browser/sxs_linux.h"
163 #endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) 166 #endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
164 167
165 #if defined(OS_CHROMEOS) 168 #if defined(OS_CHROMEOS)
166 #include "chrome/browser/chromeos/settings/cros_settings.h" 169 #include "chrome/browser/chromeos/settings/cros_settings.h"
167 #include "chromeos/chromeos_switches.h" 170 #include "chromeos/chromeos_switches.h"
168 #include "chromeos/settings/cros_settings_names.h" 171 #include "chromeos/settings/cros_settings_names.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 // This function provides some ways to test crash and assertion handling 244 // This function provides some ways to test crash and assertion handling
242 // behavior of the program. 245 // behavior of the program.
243 void HandleTestParameters(const base::CommandLine& command_line) { 246 void HandleTestParameters(const base::CommandLine& command_line) {
244 // This parameter causes a null pointer crash (crash reporter trigger). 247 // This parameter causes a null pointer crash (crash reporter trigger).
245 if (command_line.HasSwitch(switches::kBrowserCrashTest)) { 248 if (command_line.HasSwitch(switches::kBrowserCrashTest)) {
246 int* bad_pointer = NULL; 249 int* bad_pointer = NULL;
247 *bad_pointer = 0; 250 *bad_pointer = 0;
248 } 251 }
249 } 252 }
250 253
251 #if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) 254 #if (!defined(OS_ANDROID)/* || defined(USE_AURA)*/) && !defined(OS_CHROMEOS)
252 void AddFirstRunNewTabs(StartupBrowserCreator* browser_creator, 255 void AddFirstRunNewTabs(StartupBrowserCreator* browser_creator,
253 const std::vector<GURL>& new_tabs) { 256 const std::vector<GURL>& new_tabs) {
254 for (std::vector<GURL>::const_iterator it = new_tabs.begin(); 257 for (std::vector<GURL>::const_iterator it = new_tabs.begin();
255 it != new_tabs.end(); ++it) { 258 it != new_tabs.end(); ++it) {
256 if (it->is_valid()) 259 if (it->is_valid())
257 browser_creator->AddFirstRunTab(*it); 260 browser_creator->AddFirstRunTab(*it);
258 } 261 }
259 } 262 }
260 #endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS) 263 #endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
261 264
(...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after
801 804
802 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i) 805 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i)
803 chrome_extra_parts_[i]->PostMainMessageLoopStart(); 806 chrome_extra_parts_[i]->PostMainMessageLoopStart();
804 } 807 }
805 808
806 int ChromeBrowserMainParts::PreCreateThreads() { 809 int ChromeBrowserMainParts::PreCreateThreads() {
807 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PreCreateThreads"); 810 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PreCreateThreads");
808 result_code_ = PreCreateThreadsImpl(); 811 result_code_ = PreCreateThreadsImpl();
809 812
810 if (result_code_ == content::RESULT_CODE_NORMAL_EXIT) { 813 if (result_code_ == content::RESULT_CODE_NORMAL_EXIT) {
811 #if !defined(OS_ANDROID) 814 #if !defined(OS_ANDROID) || defined(USE_AURA)
812 // These members must be initialized before exiting this function normally. 815 // These members must be initialized before exiting this function normally.
813 DCHECK(master_prefs_.get()); 816 DCHECK(master_prefs_.get());
814 DCHECK(browser_creator_.get()); 817 DCHECK(browser_creator_.get());
815 #endif // !defined(OS_ANDROID) 818 #endif // !defined(OS_ANDROID) || defined(USE_AURA)
816 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i) 819 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i)
817 chrome_extra_parts_[i]->PreCreateThreads(); 820 chrome_extra_parts_[i]->PreCreateThreads();
818 } 821 }
819 822
820 return result_code_; 823 return result_code_;
821 } 824 }
822 825
823 int ChromeBrowserMainParts::PreCreateThreadsImpl() { 826 int ChromeBrowserMainParts::PreCreateThreadsImpl() {
824 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PreCreateThreadsImpl") 827 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PreCreateThreadsImpl")
825 run_message_loop_ = false; 828 run_message_loop_ = false;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
863 tracked_objects::ThreadData::Status status = 866 tracked_objects::ThreadData::Status status =
864 tracked_objects::ThreadData::PROFILING_ACTIVE; 867 tracked_objects::ThreadData::PROFILING_ACTIVE;
865 if (flag.compare("0") != 0) 868 if (flag.compare("0") != 0)
866 status = tracked_objects::ThreadData::DEACTIVATED; 869 status = tracked_objects::ThreadData::DEACTIVATED;
867 tracked_objects::ThreadData::InitializeAndSetTrackingStatus(status); 870 tracked_objects::ThreadData::InitializeAndSetTrackingStatus(status);
868 } 871 }
869 872
870 local_state_ = InitializeLocalState( 873 local_state_ = InitializeLocalState(
871 local_state_task_runner.get(), parsed_command_line()); 874 local_state_task_runner.get(), parsed_command_line());
872 875
873 #if !defined(OS_ANDROID) 876 #if !defined(OS_ANDROID) || defined(USE_AURA)
874 // These members must be initialized before returning from this function. 877 // These members must be initialized before returning from this function.
875 master_prefs_.reset(new first_run::MasterPrefs); 878 master_prefs_.reset(new first_run::MasterPrefs);
876 // Android doesn't use StartupBrowserCreator. 879 // Android doesn't use StartupBrowserCreator.
877 browser_creator_.reset(new StartupBrowserCreator); 880 browser_creator_.reset(new StartupBrowserCreator);
878 // TODO(yfriedman): Refactor Android to re-use UMABrowsingActivityObserver 881 // TODO(yfriedman): Refactor Android to re-use UMABrowsingActivityObserver
879 chrome::UMABrowsingActivityObserver::Init(); 882 chrome::UMABrowsingActivityObserver::Init();
880 #endif // !defined(OS_ANDROID) 883 #endif // !defined(OS_ANDROID) || defined(USE_AURA)
881 884
882 #if !defined(OS_CHROMEOS) 885 #if !defined(OS_CHROMEOS)
883 // Convert active labs into switches. This needs to be done before 886 // Convert active labs into switches. This needs to be done before
884 // ResourceBundle::InitSharedInstanceWithLocale as some loaded resources are 887 // ResourceBundle::InitSharedInstanceWithLocale as some loaded resources are
885 // affected by experiment flags (--touch-optimized-ui in particular). 888 // affected by experiment flags (--touch-optimized-ui in particular).
886 // On ChromeOS system level flags are applied from the device settings from 889 // On ChromeOS system level flags are applied from the device settings from
887 // the session manager. 890 // the session manager.
888 { 891 {
889 TRACE_EVENT0("startup", 892 TRACE_EVENT0("startup",
890 "ChromeBrowserMainParts::PreCreateThreadsImpl:ConvertFlags"); 893 "ChromeBrowserMainParts::PreCreateThreadsImpl:ConvertFlags");
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
932 return chrome::RESULT_CODE_MISSING_DATA; 935 return chrome::RESULT_CODE_MISSING_DATA;
933 } 936 }
934 CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale; 937 CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale;
935 browser_process_->SetApplicationLocale(loaded_locale); 938 browser_process_->SetApplicationLocale(loaded_locale);
936 939
937 { 940 {
938 TRACE_EVENT0("startup", 941 TRACE_EVENT0("startup",
939 "ChromeBrowserMainParts::PreCreateThreadsImpl:AddDataPack"); 942 "ChromeBrowserMainParts::PreCreateThreadsImpl:AddDataPack");
940 base::FilePath resources_pack_path; 943 base::FilePath resources_pack_path;
941 PathService::Get(chrome::FILE_RESOURCES_PACK, &resources_pack_path); 944 PathService::Get(chrome::FILE_RESOURCES_PACK, &resources_pack_path);
942 #if defined(OS_ANDROID) 945 #if defined(OS_ANDROID) // we do want to use this - even with Aura
943 ui::LoadMainAndroidPackFile("assets/resources.pak", resources_pack_path); 946 ui::LoadMainAndroidPackFile("assets/resources.pak", resources_pack_path);
944 #else 947 #else
945 ResourceBundle::GetSharedInstance().AddDataPackFromPath( 948 ResourceBundle::GetSharedInstance().AddDataPackFromPath(
946 resources_pack_path, ui::SCALE_FACTOR_NONE); 949 resources_pack_path, ui::SCALE_FACTOR_NONE);
947 #endif // defined(OS_ANDROID) 950 #endif // defined(OS_ANDROID)
948 } 951 }
949 #endif // defined(OS_MACOSX) 952 #endif // defined(OS_MACOSX)
950 953
951 // Android does first run in Java instead of native. 954 // Android does first run in Java instead of native.
952 // Chrome OS has its own out-of-box-experience code. 955 // Chrome OS has its own out-of-box-experience code.
953 #if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) 956 #if (!defined(OS_ANDROID)/* || defined(USE_AURA)*/) && !defined(OS_CHROMEOS)
954 // On first run, we need to process the predictor preferences before the 957 // On first run, we need to process the predictor preferences before the
955 // browser's profile_manager object is created, but after ResourceBundle 958 // browser's profile_manager object is created, but after ResourceBundle
956 // is initialized. 959 // is initialized.
957 if (first_run::IsChromeFirstRun()) { 960 if (first_run::IsChromeFirstRun()) {
958 first_run::ProcessMasterPreferencesResult pmp_result = 961 first_run::ProcessMasterPreferencesResult pmp_result =
959 first_run::ProcessMasterPreferences(user_data_dir_, 962 first_run::ProcessMasterPreferences(user_data_dir_,
960 master_prefs_.get()); 963 master_prefs_.get());
961 if (pmp_result == first_run::EULA_EXIT_NOW) 964 if (pmp_result == first_run::EULA_EXIT_NOW)
962 return chrome::RESULT_CODE_EULA_REFUSED; 965 return chrome::RESULT_CODE_EULA_REFUSED;
963 966
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
1089 #endif // defined(ENABLE_EXTENSIONS) 1092 #endif // defined(ENABLE_EXTENSIONS)
1090 1093
1091 #if !defined(OS_IOS) 1094 #if !defined(OS_IOS)
1092 InstallChromeJavaScriptNativeDialogFactory(); 1095 InstallChromeJavaScriptNativeDialogFactory();
1093 #endif // !defined(OS_IOS) 1096 #endif // !defined(OS_IOS)
1094 } 1097 }
1095 1098
1096 void ChromeBrowserMainParts::PostProfileInit() { 1099 void ChromeBrowserMainParts::PostProfileInit() {
1097 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PostProfileInit"); 1100 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PostProfileInit");
1098 1101
1099 #if defined(OS_ANDROID) 1102 #if defined(OS_ANDROID) && !defined(USE_AURA)
1100 DevToolsDiscoveryProviderAndroid::Install(); 1103 DevToolsDiscoveryProviderAndroid::Install();
1101 #else 1104 #else
1102 ChromeDevToolsDiscoveryProvider::Install(); 1105 ChromeDevToolsDiscoveryProvider::Install();
1103 #endif // defined(OS_ANDROID) 1106 #endif // defined(OS_ANDROID) && !defined(USE_AURA)
1104 1107
1105 LaunchDevToolsHandlerIfNeeded(parsed_command_line()); 1108 LaunchDevToolsHandlerIfNeeded(parsed_command_line());
1106 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i) 1109 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i)
1107 chrome_extra_parts_[i]->PostProfileInit(); 1110 chrome_extra_parts_[i]->PostProfileInit();
1108 } 1111 }
1109 1112
1110 void ChromeBrowserMainParts::PreBrowserStart() { 1113 void ChromeBrowserMainParts::PreBrowserStart() {
1111 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PreBrowserStart"); 1114 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PreBrowserStart");
1112 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i) 1115 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i)
1113 chrome_extra_parts_[i]->PreBrowserStart(); 1116 chrome_extra_parts_[i]->PreBrowserStart();
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
1364 base::TimeTicks::Now() - start_time_step1); 1367 base::TimeTicks::Now() - start_time_step1);
1365 1368
1366 // This step is costly and is already measured in Startup.CreateFirstProfile 1369 // This step is costly and is already measured in Startup.CreateFirstProfile
1367 // and more directly Profile.CreateAndInitializeProfile. 1370 // and more directly Profile.CreateAndInitializeProfile.
1368 profile_ = CreatePrimaryProfile(parameters(), 1371 profile_ = CreatePrimaryProfile(parameters(),
1369 user_data_dir_, 1372 user_data_dir_,
1370 parsed_command_line()); 1373 parsed_command_line());
1371 if (!profile_) 1374 if (!profile_)
1372 return content::RESULT_CODE_NORMAL_EXIT; 1375 return content::RESULT_CODE_NORMAL_EXIT;
1373 1376
1374 #if !defined(OS_ANDROID) 1377 #if !defined(OS_ANDROID) || defined(USE_AURA)
1375 const base::TimeTicks start_time_step2 = base::TimeTicks::Now(); 1378 const base::TimeTicks start_time_step2 = base::TimeTicks::Now();
1376 // The first run sentinel must be created after the process singleton was 1379 // The first run sentinel must be created after the process singleton was
1377 // grabbed and no early return paths were otherwise hit above. 1380 // grabbed and no early return paths were otherwise hit above.
1378 first_run::CreateSentinelIfNeeded(); 1381 first_run::CreateSentinelIfNeeded();
1379 #endif // !defined(OS_ANDROID) 1382 #endif // !defined(OS_ANDROID) || defined(USE_AURA)
1380 1383
1381 #if defined(ENABLE_BACKGROUND) 1384 #if defined(ENABLE_BACKGROUND)
1382 // Autoload any profiles which are running background apps. 1385 // Autoload any profiles which are running background apps.
1383 // TODO(rlp): Do this on a separate thread. See http://crbug.com/99075. 1386 // TODO(rlp): Do this on a separate thread. See http://crbug.com/99075.
1384 browser_process_->profile_manager()->AutoloadProfiles(); 1387 browser_process_->profile_manager()->AutoloadProfiles();
1385 #endif // defined(ENABLE_BACKGROUND) 1388 #endif // defined(ENABLE_BACKGROUND)
1386 // Post-profile init --------------------------------------------------------- 1389 // Post-profile init ---------------------------------------------------------
1387 1390
1388 TranslateService::Initialize(); 1391 TranslateService::Initialize();
1389 1392
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
1542 // instead? 1545 // instead?
1543 CloudPrintProxyServiceFactory::GetForProfile(profile_); 1546 CloudPrintProxyServiceFactory::GetForProfile(profile_);
1544 #endif // defined(ENABLE_PRINT_PREVIEW) 1547 #endif // defined(ENABLE_PRINT_PREVIEW)
1545 1548
1546 // Start watching all browser threads for responsiveness. 1549 // Start watching all browser threads for responsiveness.
1547 metrics::MetricsService::SetExecutionPhase( 1550 metrics::MetricsService::SetExecutionPhase(
1548 metrics::MetricsService::THREAD_WATCHER_START, 1551 metrics::MetricsService::THREAD_WATCHER_START,
1549 g_browser_process->local_state()); 1552 g_browser_process->local_state());
1550 ThreadWatcherList::StartWatchingAll(parsed_command_line()); 1553 ThreadWatcherList::StartWatchingAll(parsed_command_line());
1551 1554
1552 #if defined(OS_ANDROID) 1555 #if defined(OS_ANDROID) && !defined(USE_AURA)
1553 ThreadWatcherAndroid::RegisterApplicationStatusListener(); 1556 ThreadWatcherAndroid::RegisterApplicationStatusListener();
1554 #endif // defined(OS_ANDROID) 1557 #endif // defined(OS_ANDROID) && !defined(USE_AURA)
1555 1558
1556 #if !defined(DISABLE_NACL) 1559 #if !defined(DISABLE_NACL)
1557 BrowserThread::PostTask( 1560 BrowserThread::PostTask(
1558 BrowserThread::IO, 1561 BrowserThread::IO,
1559 FROM_HERE, 1562 FROM_HERE,
1560 base::Bind(nacl::NaClProcessHost::EarlyStartup)); 1563 base::Bind(nacl::NaClProcessHost::EarlyStartup));
1561 #endif // !defined(DISABLE_NACL) 1564 #endif // !defined(DISABLE_NACL)
1562 1565
1563 // Make sure initial prefs are recorded 1566 // Make sure initial prefs are recorded
1564 PrefMetricsService::Factory::GetForProfile(profile_); 1567 PrefMetricsService::Factory::GetForProfile(profile_);
1565 1568
1566 PreBrowserStart(); 1569 PreBrowserStart();
1567 1570
1568 // Instantiate the notification UI manager, as this triggers a perf timer 1571 // Instantiate the notification UI manager, as this triggers a perf timer
1569 // used to measure startup time. TODO(stevenjb): Figure out what is actually 1572 // used to measure startup time. TODO(stevenjb): Figure out what is actually
1570 // triggering the timer and call that explicitly in the approprate place. 1573 // triggering the timer and call that explicitly in the approprate place.
1571 // http://crbug.com/105065. 1574 // http://crbug.com/105065.
1572 browser_process_->notification_ui_manager(); 1575 browser_process_->notification_ui_manager();
1573 1576
1574 // This must be called prior to RegisterComponentsForUpdate, in case the CLD 1577 // This must be called prior to RegisterComponentsForUpdate, in case the CLD
1575 // data source is based on the Component Updater. 1578 // data source is based on the Component Updater.
1576 translate::BrowserCldUtils::ConfigureDefaultDataProvider(); 1579 translate::BrowserCldUtils::ConfigureDefaultDataProvider();
1577 1580
1578 if (!parsed_command_line().HasSwitch(switches::kDisableComponentUpdate)) 1581 if (!parsed_command_line().HasSwitch(switches::kDisableComponentUpdate))
1579 RegisterComponentsForUpdate(); 1582 RegisterComponentsForUpdate();
1580 1583
1581 #if defined(OS_ANDROID) 1584 #if defined(OS_ANDROID) && !defined(USE_AURA)
1582 chrome_variations::VariationsService* variations_service = 1585 chrome_variations::VariationsService* variations_service =
1583 browser_process_->variations_service(); 1586 browser_process_->variations_service();
1584 if (variations_service) { 1587 if (variations_service) {
1585 // Just initialize the policy prefs service here. Variations seed fetching 1588 // Just initialize the policy prefs service here. Variations seed fetching
1586 // will be initialized when the app enters foreground mode. 1589 // will be initialized when the app enters foreground mode.
1587 variations_service->set_policy_pref_service(profile_->GetPrefs()); 1590 variations_service->set_policy_pref_service(profile_->GetPrefs());
1588 } 1591 }
1589 translate::TranslateDownloadManager::RequestLanguageList( 1592 translate::TranslateDownloadManager::RequestLanguageList(
1590 profile_->GetPrefs()); 1593 profile_->GetPrefs());
1591 1594
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
1667 } else { 1670 } else {
1668 run_message_loop_ = false; 1671 run_message_loop_ = false;
1669 } 1672 }
1670 browser_creator_.reset(); 1673 browser_creator_.reset();
1671 1674
1672 #if !defined(OS_LINUX) || defined(OS_CHROMEOS) // http://crbug.com/426393 1675 #if !defined(OS_LINUX) || defined(OS_CHROMEOS) // http://crbug.com/426393
1673 if (g_browser_process->metrics_service()->reporting_active()) 1676 if (g_browser_process->metrics_service()->reporting_active())
1674 content::StartPowerUsageMonitor(); 1677 content::StartPowerUsageMonitor();
1675 #endif // !defined(OS_LINUX) || defined(OS_CHROMEOS) 1678 #endif // !defined(OS_LINUX) || defined(OS_CHROMEOS)
1676 1679
1680 #if !defined(OS_ANDROID)
1677 process_power_collector_.reset(new ProcessPowerCollector); 1681 process_power_collector_.reset(new ProcessPowerCollector);
1678 process_power_collector_->Initialize(); 1682 process_power_collector_->Initialize();
1679 #endif // !defined(OS_ANDROID) 1683 #endif // !defined(OS_ANDROID)
1684 #endif // !defined(OS_ANDROID) && !defined(USE_AURA)
1680 1685
1681 PostBrowserStart(); 1686 PostBrowserStart();
1682 1687
1683 if (parameters().ui_task) { 1688 if (parameters().ui_task) {
1684 parameters().ui_task->Run(); 1689 parameters().ui_task->Run();
1685 delete parameters().ui_task; 1690 delete parameters().ui_task;
1686 run_message_loop_ = false; 1691 run_message_loop_ = false;
1687 } 1692 }
1688 #if defined(OS_ANDROID) 1693 #if defined(OS_ANDROID)
1689 // We never run the C++ main loop on Android, since the UI thread message 1694 // We never run the C++ main loop on Android, since the UI thread message
1690 // loop is controlled by the OS, so this is as close as we can get to 1695 // loop is controlled by the OS, so this is as close as we can get to
1691 // the start of the main loop. 1696 // the start of the main loop.
1692 if (result_code_ <= 0) { 1697 if (result_code_ <= 0) {
1693 RecordBrowserStartupTime(); 1698 RecordBrowserStartupTime();
1694 } 1699 }
1695 #endif // defined(OS_ANDROID) 1700 #endif // defined(OS_ANDROID)
1696 1701
1697 #if !defined(OS_ANDROID) 1702 #if !defined(OS_ANDROID) || defined(USE_AURA)
1698 UMA_HISTOGRAM_TIMES("Startup.PreMainMessageLoopRunImplStep3Time", 1703 UMA_HISTOGRAM_TIMES("Startup.PreMainMessageLoopRunImplStep3Time",
1699 base::TimeTicks::Now() - start_time_step3); 1704 base::TimeTicks::Now() - start_time_step3);
1700 #endif // !defined(OS_ANDROID) 1705 #endif // !defined(OS_ANDROID) || defined(USE_AURA)
1701 1706
1702 return result_code_; 1707 return result_code_;
1703 } 1708 }
1704 1709
1705 bool ChromeBrowserMainParts::MainMessageLoopRun(int* result_code) { 1710 bool ChromeBrowserMainParts::MainMessageLoopRun(int* result_code) {
1706 TRACE_EVENT0("startup", "ChromeBrowserMainParts::MainMessageLoopRun"); 1711 TRACE_EVENT0("startup", "ChromeBrowserMainParts::MainMessageLoopRun");
1707 #if defined(OS_ANDROID) 1712 #if defined(OS_ANDROID)
1708 // Chrome on Android does not use default MessageLoop. It has its own 1713 // Chrome on Android does not use default MessageLoop. It has its own
1709 // Android specific MessageLoop 1714 // Android specific MessageLoop
1710 NOTREACHED(); 1715 NOTREACHED();
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
1802 chromeos::CrosSettings::Shutdown(); 1807 chromeos::CrosSettings::Shutdown();
1803 #endif // defined(OS_CHROMEOS) 1808 #endif // defined(OS_CHROMEOS)
1804 #endif // defined(OS_ANDROID) 1809 #endif // defined(OS_ANDROID)
1805 } 1810 }
1806 1811
1807 // Public members: 1812 // Public members:
1808 1813
1809 void ChromeBrowserMainParts::AddParts(ChromeBrowserMainExtraParts* parts) { 1814 void ChromeBrowserMainParts::AddParts(ChromeBrowserMainExtraParts* parts) {
1810 chrome_extra_parts_.push_back(parts); 1815 chrome_extra_parts_.push_back(parts);
1811 } 1816 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698