summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Dixon <joth@google.com>2013-09-21 03:33:18 +0000
committerJonathan Dixon <joth@google.com>2013-09-21 03:33:18 +0000
commite36bb83b4a1907d71527d3a8ef54db1ec8de3188 (patch)
tree68a64d7e52ccc2c97dea1451353e4976352ee9cf
parent36cab4579d7633fa3bc89bd550a01cc0e39fb163 (diff)
downloadwebview-e36bb83b4a1907d71527d3a8ef54db1ec8de3188.tar.gz
Revert "Revert "Implement the new WebView.setWebContentsDebuggingEnabled API""
This reverts commit 36cab4579d7633fa3bc89bd550a01cc0e39fb163. Change-Id: I57caa1c4ce572ecb70ef1a06fa6b0f6c78d2bc2d
-rw-r--r--chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java b/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
index e7bfb5a..6a24db9 100644
--- a/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
+++ b/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
@@ -34,6 +34,7 @@ import org.chromium.android_webview.AwBrowserContext;
import org.chromium.android_webview.AwBrowserProcess;
import org.chromium.android_webview.AwContents;
import org.chromium.android_webview.AwCookieManager;
+import org.chromium.android_webview.AwDevToolsServer;
import org.chromium.android_webview.AwFormDatabase;
import org.chromium.android_webview.AwGeolocationPermissions;
import org.chromium.android_webview.AwQuotaManagerBridge;
@@ -63,6 +64,7 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
private WebIconDatabaseAdapter mWebIconDatabase;
private WebStorageAdapter mWebStorage;
private WebViewDatabaseAdapter mWebViewDatabase;
+ private AwDevToolsServer mDevToolsServer;
// Read/write protected by mLock.
private boolean mStarted;
@@ -162,6 +164,11 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
AwBrowserProcess.start(ActivityThread.currentApplication());
initPlatSupportLibrary();
+
+ if (Build.IS_DEBUGGABLE) {
+ setWebContentsDebuggingEnabled(true);
+ }
+
mStarted = true;
}
@@ -188,6 +195,15 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
public String getDefaultUserAgent(Context context) {
return AwSettings.getDefaultUserAgent();
}
+
+ @Override
+ public void setWebContentsDebuggingEnabled(boolean enable) {
+ // Web Contents debugging is always enabled on debug builds.
+ if (!Build.IS_DEBUGGABLE) {
+ WebViewChromiumFactoryProvider.this.
+ setWebContentsDebuggingEnabled(enable);
+ }
+ }
};
}
}
@@ -277,4 +293,16 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
}
return mWebViewDatabase;
}
+
+ private void setWebContentsDebuggingEnabled(boolean enable) {
+ if (Looper.myLooper() != Looper.getMainLooper()) {
+ throw new RuntimeException(
+ "Toggling of Web Contents Debugging must be done on the main thread");
+ }
+ if (mDevToolsServer == null) {
+ if (!enable) return;
+ mDevToolsServer = new AwDevToolsServer();
+ }
+ mDevToolsServer.setRemoteDebuggingEnabled(enable);
+ }
}