Chromium Code Reviews| Index: chrome/browser/chrome_browser_main.cc |
| diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc |
| index 5114e39d073118efdd0d1328a11e9148b6aab181..a0f46e192deee64335fdfa220a1406ff006f58e8 100644 |
| --- a/chrome/browser/chrome_browser_main.cc |
| +++ b/chrome/browser/chrome_browser_main.cc |
| @@ -151,13 +151,18 @@ |
| #include "ui/strings/grit/app_locale_settings.h" |
| #if defined(OS_ANDROID) |
| +#include "ui/base/resource/resource_bundle_android.h" |
| +#endif // defined(OS_ANDROID) |
| + |
| +// TODO(bshe): Use defined(ANDROID_JAVA_UI) once |
| +// codereview.chromium.org/1459793002 landed. |
| +#if defined(OS_ANDROID) && !defined(USE_AURA) |
| #include "chrome/browser/android/dev_tools_discovery_provider_android.h" |
| #include "chrome/browser/metrics/thread_watcher_android.h" |
| -#include "ui/base/resource/resource_bundle_android.h" |
| #else |
| #include "chrome/browser/devtools/chrome_devtools_discovery_provider.h" |
| #include "chrome/browser/feedback/feedback_profile_observer.h" |
| -#endif // defined(OS_ANDROID) |
| +#endif // defined(OS_ANDROID) && !defined(USE_AURA) |
| #if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
| #include "chrome/browser/first_run/upgrade_util_linux.h" |
| @@ -757,6 +762,8 @@ void ChromeBrowserMainParts::RecordBrowserStartupTime() { |
| // On Android, first run is handled in Java code, and the C++ side of Chrome |
| // doesn't know if this is the first run. This will cause some inaccuracy in |
| // the UMA statistics, but this should be minor (first runs are rare). |
| + // TODO(bshe): Figure out which first run code to use for Aura Android. See |
| + // crbug.com/560498 |
| is_first_run = first_run::IsChromeFirstRun(); |
| #endif // defined(OS_ANDROID) |
| @@ -830,11 +837,13 @@ int ChromeBrowserMainParts::PreCreateThreads() { |
| result_code_ = PreCreateThreadsImpl(); |
| if (result_code_ == content::RESULT_CODE_NORMAL_EXIT) { |
| -#if !defined(OS_ANDROID) |
| + // TODO(bshe): Use !defined(ANDROID_JAVA_UI) once |
| + // codereview.chromium.org/1459793002 landed. |
| +#if !defined(OS_ANDROID) || defined(USE_AURA) |
| // These members must be initialized before exiting this function normally. |
| DCHECK(master_prefs_.get()); |
| DCHECK(browser_creator_.get()); |
| -#endif // !defined(OS_ANDROID) |
| +#endif // !defined(OS_ANDROID) || defined(USE_AURA) |
| for (size_t i = 0; i < chrome_extra_parts_.size(); ++i) |
| chrome_extra_parts_[i]->PreCreateThreads(); |
| } |
| @@ -855,6 +864,8 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { |
| MediaCaptureDevicesDispatcher::GetInstance(); |
| // Android's first run is done in Java instead of native. |
| + // TODO(bshe): Figure out which first run code to use for Aura Android. See |
| + // crbug.com/560498 |
| #if !defined(OS_ANDROID) |
| process_singleton_.reset(new ChromeProcessSingleton( |
| user_data_dir_, base::Bind(&ProcessSingletonNotificationCallback))); |
| @@ -892,14 +903,16 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { |
| local_state_ = InitializeLocalState( |
| local_state_task_runner.get(), parsed_command_line()); |
| -#if !defined(OS_ANDROID) |
| + // TODO(bshe): Use !defined(ANDROID_JAVA_UI) once |
| + // codereview.chromium.org/1459793002 landed. |
| +#if !defined(OS_ANDROID) || defined(USE_AURA) |
| // These members must be initialized before returning from this function. |
| master_prefs_.reset(new first_run::MasterPrefs); |
| // Android doesn't use StartupBrowserCreator. |
| browser_creator_.reset(new StartupBrowserCreator); |
| // TODO(yfriedman): Refactor Android to re-use UMABrowsingActivityObserver |
| chrome::UMABrowsingActivityObserver::Init(); |
| -#endif // !defined(OS_ANDROID) |
| +#endif // !defined(OS_ANDROID) || defined(USE_AURA) |
| #if !defined(OS_CHROMEOS) |
| // Convert active labs into switches. This needs to be done before |
| @@ -974,6 +987,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { |
| base::FilePath resources_pack_path; |
| PathService::Get(chrome::FILE_RESOURCES_PACK, &resources_pack_path); |
| #if defined(OS_ANDROID) |
| + // Uses Android resources even without ANDROID_JAVA_UI. |
| ui::LoadMainAndroidPackFile("assets/resources.pak", resources_pack_path); |
| #else |
| ResourceBundle::GetSharedInstance().AddDataPackFromPath( |
| @@ -984,6 +998,8 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { |
| // Android does first run in Java instead of native. |
| // Chrome OS has its own out-of-box-experience code. |
| + // TODO(bshe): Figure out which first run code to use for Aura Android. See |
| + // crbug.com/560498 |
| #if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) |
| // On first run, we need to process the predictor preferences before the |
| // browser's profile_manager object is created, but after ResourceBundle |
| @@ -1131,11 +1147,13 @@ void ChromeBrowserMainParts::PreProfileInit() { |
| void ChromeBrowserMainParts::PostProfileInit() { |
| TRACE_EVENT0("startup", "ChromeBrowserMainParts::PostProfileInit"); |
| -#if defined(OS_ANDROID) |
| + // TODO(bshe): Use defined(ANDROID_JAVA_UI) once |
| + // codereview.chromium.org/1459793002 landed. |
| +#if defined(OS_ANDROID) && !defined(USE_AURA) |
| DevToolsDiscoveryProviderAndroid::Install(); |
| #else |
| ChromeDevToolsDiscoveryProvider::Install(); |
| -#endif // defined(OS_ANDROID) |
| +#endif // defined(OS_ANDROID) && !defined(USE_AURA) |
| LaunchDevToolsHandlerIfNeeded(parsed_command_line()); |
| for (size_t i = 0; i < chrome_extra_parts_.size(); ++i) |
| @@ -1417,12 +1435,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { |
| if (!profile_) |
| return content::RESULT_CODE_NORMAL_EXIT; |
| -#if !defined(OS_ANDROID) |
| + // TODO(bshe): Use !defined(ANDROID_JAVA_UI) once |
| + // codereview.chromium.org/1459793002 landed. |
| +#if !defined(OS_ANDROID) || defined(USE_AURA) |
| const base::TimeTicks start_time_step2 = base::TimeTicks::Now(); |
| // The first run sentinel must be created after the process singleton was |
| // grabbed and no early return paths were otherwise hit above. |
| first_run::CreateSentinelIfNeeded(); |
| -#endif // !defined(OS_ANDROID) |
| +#endif // !defined(OS_ANDROID) || defined(USE_AURA) |
| #if defined(ENABLE_BACKGROUND) |
| // Autoload any profiles which are running background apps. |
| @@ -1464,6 +1484,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { |
| // Note that this be done _after_ the PrefService is initialized and all |
| // preferences are registered, since some of the code that the importer |
| // touches reads preferences. |
| + // TODO(bshe): Figure out which first run code to use for Aura Android. See |
| + // crbug.com/560498 |
| if (first_run::IsChromeFirstRun()) { |
| first_run::AutoImport(profile_, |
| master_prefs_->homepage_defined, |
| @@ -1598,9 +1620,11 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { |
| g_browser_process->local_state()); |
| ThreadWatcherList::StartWatchingAll(parsed_command_line()); |
| -#if defined(OS_ANDROID) |
| + // TODO(bshe): Use defined(ANDROID_JAVA_UI) once |
| + // codereview.chromium.org/1459793002 landed. |
| +#if defined(OS_ANDROID) && !defined(USE_AURA) |
| ThreadWatcherAndroid::RegisterApplicationStatusListener(); |
|
bshe
2015/11/24 19:24:57
I am not sure what is this for. It looks like we u
mfomitchev
2015/11/30 21:34:17
From a quick look, the class's purpose is deactiva
bshe
2015/12/03 14:33:05
Added a TODO.
|
| -#endif // defined(OS_ANDROID) |
| +#endif // defined(OS_ANDROID) && !defined(USE_AURA) |
| #if !defined(DISABLE_NACL) |
| BrowserThread::PostTask( |
| @@ -1637,7 +1661,6 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { |
| } |
| translate::TranslateDownloadManager::RequestLanguageList( |
| profile_->GetPrefs()); |
| - |
| #else |
| // Most general initialization is behind us, but opening a |
| // tab and/or session restore and such is still to be done. |
| @@ -1714,9 +1737,11 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { |
| content::StartPowerUsageMonitor(); |
| #endif // !defined(OS_LINUX) || defined(OS_CHROMEOS) |
| +#if !defined(OS_ANDROID) |
| process_power_collector_.reset(new ProcessPowerCollector); |
| process_power_collector_->Initialize(); |
| #endif // !defined(OS_ANDROID) |
| +#endif // !defined(OS_ANDROID) && !defined(USE_AURA) |
| PostBrowserStart(); |
| @@ -1734,10 +1759,12 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { |
| } |
| #endif // defined(OS_ANDROID) |
| -#if !defined(OS_ANDROID) |
| + // TODO(bshe): Use !defined(ANDROID_JAVA_UI) once |
| + // codereview.chromium.org/1459793002 landed. |
| +#if !defined(OS_ANDROID) || defined(USE_AURA) |
| UMA_HISTOGRAM_TIMES("Startup.PreMainMessageLoopRunImplStep3Time", |
| base::TimeTicks::Now() - start_time_step3); |
| -#endif // !defined(OS_ANDROID) |
| +#endif // !defined(OS_ANDROID) || defined(USE_AURA) |
| return result_code_; |
| } |