Implement an error console. The console is displayed when the user has enabled debug in the browser (been to about:debug) and there are errors on the page. It can be toggled on/off in debug mode in the settings menu.
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index aa7e103..4d10fe2 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -91,6 +91,10 @@
private boolean lightTouch = false;
private boolean navDump = false;
+ // By default the error console is shown once the user navigates to about:debug.
+ // The setting can be then toggled from the settings menu.
+ private boolean showConsole = true;
+
// Browser only settings
private boolean doFlick = false;
@@ -205,6 +209,10 @@
// Turn on Application Caches.
s.setAppCachePath(b.appCachePath);
s.setAppCacheEnabled(b.appCacheEnabled);
+
+ // Enable/Disable the error console.
+ b.mTabControl.getBrowserActivity().setShouldShowErrorConsole(
+ b.showDebugSettings && b.showConsole);
}
}
@@ -325,6 +333,15 @@
// JS flags is loaded from DB even if showDebugSettings is false,
// so that it can be set once and be effective all the time.
jsFlags = p.getString("js_engine_flags", "");
+
+ // Read the setting for showing/hiding the JS Console always so that should the
+ // user enable debug settings, we already know if we should show the console.
+ // The user will never see the console unless they navigate to about:debug,
+ // regardless of the setting we read here. This setting is only used after debug
+ // is enabled.
+ showConsole = p.getBoolean("javascript_console", showConsole);
+ mTabControl.getBrowserActivity().setShouldShowErrorConsole(
+ showDebugSettings && showConsole);
}
public String getPluginsPath() {