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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/init/NativeInitializationController.java

Issue 1307793003: Execute operations of ChildProcessLauncher on launcher thread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Apply Yaron's comments Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/init/NativeInitializationController.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/NativeInitializationController.java b/chrome/android/java/src/org/chromium/chrome/browser/init/NativeInitializationController.java
index d1866eda7d1ba96c6f81dd1e41a8a3896d20e6d2..53c0dead1302b2048dbd33ffacb855f5cf0990f7 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/NativeInitializationController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/NativeInitializationController.java
@@ -6,11 +6,11 @@ package org.chromium.chrome.browser.init;
import android.content.Context;
import android.content.Intent;
+import android.os.AsyncTask;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
-import org.chromium.base.ThreadUtils;
import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.base.library_loader.LibraryProcessType;
import org.chromium.base.library_loader.ProcessInitException;
@@ -73,10 +73,9 @@ class NativeInitializationController {
* process.
*/
public void startBackgroundTasks() {
- // TODO(yusufo) : Investigate using an AsyncTask for this.
Yaron 2015/09/16 01:20:16 Sorry if I was unclear - I actually meant this is
Jaekyun Seok (inactive) 2015/09/16 01:46:48 Reverted.
- new Thread() {
+ new AsyncTask<Void, Void, Boolean>() {
@Override
- public void run() {
+ public Boolean doInBackground(Void... params) {
try {
LibraryLoader libraryLoader =
LibraryLoader.get(LibraryProcessType.PROCESS_BROWSER);
@@ -95,17 +94,17 @@ class NativeInitializationController {
} catch (ProcessInitException e) {
Log.e(TAG, "Unable to load native library.", e);
mActivityDelegate.onStartupFailure();
- return;
+ return false;
}
ChildProcessLauncher.warmUp(mContext);
- ThreadUtils.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- onLibraryLoaded();
- }
- });
+ return true;
}
- }.start();
+
+ @Override
+ protected void onPostExecute(Boolean result) {
+ if (result) onLibraryLoaded();
+ }
+ }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
private void onLibraryLoaded() {

Powered by Google App Engine
This is Rietveld 408576698