summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/EngineInitializer.java
diff options
context:
space:
mode:
authorVivek Sekhar <vsekhar@codeaurora.org>2015-02-22 12:39:05 -0800
committerPankaj Garg <pgarg@codeaurora.org>2015-03-10 18:59:53 -0700
commited791da741064a51080ec775001cf843ba6a3143 (patch)
treeec3a08e5daab327bb657f6cb4e1c9a9808defaff /src/com/android/browser/EngineInitializer.java
parent06cd42fa8ed24a0755a49d680e4da74ada2d18d5 (diff)
downloadandroid_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.java62
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.";