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

Unified Diff: chrome/browser/chrome_browser_main.cc

Issue 1473693002: Activating code to start Chrome UI in Android Aura Chrome (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chrome_browser_main.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
}
« no previous file with comments | « chrome/browser/chrome_browser_main.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698