diff options
author | Vivek Sekhar <vsekhar@codeaurora.org> | 2015-02-22 12:39:05 -0800 |
---|---|---|
committer | Pankaj Garg <pgarg@codeaurora.org> | 2015-03-10 18:59:53 -0700 |
commit | ed791da741064a51080ec775001cf843ba6a3143 (patch) | |
tree | ec3a08e5daab327bb657f6cb4e1c9a9808defaff /src/com/android/browser/EngineInitializer.java | |
parent | 06cd42fa8ed24a0755a49d680e4da74ada2d18d5 (diff) | |
download | android_packages_apps_Gello-ed791da741064a51080ec775001cf843ba6a3143.tar.gz android_packages_apps_Gello-ed791da741064a51080ec775001cf843ba6a3143.tar.bz2 android_packages_apps_Gello-ed791da741064a51080ec775001cf843ba6a3143.zip |
M42 snap browser
Change-Id: If52741ad5e34241aa9f928244942a33a91610e58
Diffstat (limited to 'src/com/android/browser/EngineInitializer.java')
-rw-r--r-- | src/com/android/browser/EngineInitializer.java | 62 |
1 files changed, 61 insertions, 1 deletions
diff --git a/src/com/android/browser/EngineInitializer.java b/src/com/android/browser/EngineInitializer.java index 6556abbe..ef884584 100644 --- a/src/com/android/browser/EngineInitializer.java +++ b/src/com/android/browser/EngineInitializer.java @@ -45,7 +45,7 @@ import java.util.ArrayList; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; -import com.google.common.annotations.VisibleForTesting; +import org.chromium.base.VisibleForTesting; public class EngineInitializer { private final static String LOGTAG = "EngineInitializer"; @@ -247,6 +247,66 @@ public class EngineInitializer { } + private void completeInitializationAsynOnUiThread(final Context ctx) { + assert runningOnUiThread() : "Tried to initialize the engine on the wrong thread."; + + if (!mInitializationCompleted) { + // TODO: Evaluate the benefit of async Engine.initialize() + Engine.StartupCallback callback = + new Engine.StartupCallback() { + @Override + public void onSuccess(boolean alreadyStarted) { + if (Looper.myLooper() == Looper.getMainLooper()) { + Log.e(LOGTAG, "SWE engine initialization success"); + // Add the browser commandline options + BrowserConfig.getInstance(ctx).initCommandLineSwitches(); + + //Note: Only enable this for debugging. + if (BrowserCommandLine.hasSwitch(STRICT_MODE)) { + Log.v(LOGTAG, "StrictMode enabled"); + StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() + .detectDiskReads() + .detectDiskWrites() + .detectNetwork() + .penaltyLog() + .build()); + StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() + .detectLeakedSqlLiteObjects() + .detectLeakedClosableObjects() + .penaltyLog() + .penaltyDeath() + .build()); + } + + //Enable remote debugging by default + Engine.setWebContentsDebuggingEnabled(true); + mInitializationCompleted = true; + mLibraryLoaded = true; + BrowserSettings.getInstance().onEngineInitializationComplete(); + + if (mActivity != null && mNotifyActivity) { + mNotifyActivity = false; + postOnUiThread(new Runnable() { + @Override + public void run() { + mActivity.onEngineInitializationComplete(); + mActivityReady = true; + processPendingEvents(); + } + }); + } + } + } + + @Override + public void onFailure() { + Log.e(LOGTAG, "SWE engine initialization failed"); + } + }; + Engine.initialize(ctx, callback); + } + } + private void processPendingEvents() { assert runningOnUiThread() : "Tried to initialize the engine on the wrong thread."; |