Add support for enabling strict mode via command line.
Change-Id: Ibd0e1f0c6d8a2582dedc1047476c810a573ea123
diff --git a/src/com/android/browser/EngineInitializer.java b/src/com/android/browser/EngineInitializer.java
index 7beb98d..ec4753c 100644
--- a/src/com/android/browser/EngineInitializer.java
+++ b/src/com/android/browser/EngineInitializer.java
@@ -35,8 +35,10 @@
import android.os.AsyncTask;
import android.os.Handler;
import android.os.Looper;
+import android.os.StrictMode;
import android.util.Log;
+import org.codeaurora.swe.BrowserCommandLine;
import org.codeaurora.swe.Engine;
import java.util.ArrayList;
@@ -88,6 +90,9 @@
private static long sDelayForTesting = 0;
+ //Command line flag for strict mode
+ private static final String STRICT_MODE = "enable-strict-mode";
+
@VisibleForTesting
public static void setDelayForTesting(long delay)
{
@@ -204,6 +209,24 @@
Engine.initialize(ctx);
// 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;
@@ -323,4 +346,4 @@
}
-}
\ No newline at end of file
+}