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_; |
} |