diff options
author | Jonathan Dixon <joth@google.com> | 2013-09-21 03:33:18 +0000 |
---|---|---|
committer | Jonathan Dixon <joth@google.com> | 2013-09-21 03:33:18 +0000 |
commit | e36bb83b4a1907d71527d3a8ef54db1ec8de3188 (patch) | |
tree | 68a64d7e52ccc2c97dea1451353e4976352ee9cf | |
parent | 36cab4579d7633fa3bc89bd550a01cc0e39fb163 (diff) | |
download | webview-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.java | 28 |
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); + } } |