summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mikhail Naganov <mnaganov@google.com> 2013-09-06 16:35:25 -0700
committer Mikhail Naganov <mnaganov@google.com> 2013-09-11 12:39:35 -0700
commit057989eddc709883794b6a3c311c43aba11084ee (patch)
treeb4e83d0722bbfeab8506a8d0ac194719f1ee4a76
parente91a3f5229405b39a3ba59aa0a3e44527eef063e (diff)
WebView: add an API method to control web contents debugging
This adds static (as this is for the whole process) method for controlling the web debugging state. Please note that the implementation only makes sense for Chromium WebView, and it's a no-op in WebViewClassic. BUG=8691809 Change-Id: I815b4d69ad9ee814ca4cec1da81490b63ba2da68
-rw-r--r--api/current.txt1
-rw-r--r--core/java/android/webkit/WebView.java16
-rw-r--r--core/java/android/webkit/WebViewClassic.java5
-rw-r--r--core/java/android/webkit/WebViewFactoryProvider.java6
4 files changed, 28 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt
index 97e4c0240cf4..cc98594bb434 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -30228,6 +30228,7 @@ package android.webkit {
method public deprecated void setPictureListener(android.webkit.WebView.PictureListener);
method public void setVerticalScrollbarOverlay(boolean);
method public void setWebChromeClient(android.webkit.WebChromeClient);
+ method public static void setWebContentsDebuggingEnabled(boolean);
method public void setWebViewClient(android.webkit.WebViewClient);
method public deprecated boolean showFindDialog(java.lang.String, boolean);
method public void stopLoading();
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 8fc3ce3de992..677d6b913d16 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -1680,6 +1680,22 @@ public class WebView extends AbsoluteLayout
}
/**
+ * Enables debugging of web contents (HTML / CSS / JavaScript)
+ * loaded into any WebViews of this application. This flag can be enabled
+ * in order to facilitate debugging of web layouts and JavaScript
+ * code running inside WebViews. Please refer to WebView documentation
+ * for the debugging guide.
+ *
+ * The default is false.
+ *
+ * @param enabled whether to enable web contents debugging
+ */
+ public static void setWebContentsDebuggingEnabled(boolean enabled) {
+ checkThread();
+ getFactory().getStatics().setWebContentsDebuggingEnabled(enabled);
+ }
+
+ /**
* Gets the list of currently loaded plugins.
*
* @return the list of currently loaded plugins
diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java
index 3f22d5392847..c7a68e9b691a 100644
--- a/core/java/android/webkit/WebViewClassic.java
+++ b/core/java/android/webkit/WebViewClassic.java
@@ -1361,6 +1361,11 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
return WebSettingsClassic.getDefaultUserAgentForLocale(context,
Locale.getDefault());
}
+
+ @Override
+ public void setWebContentsDebuggingEnabled(boolean enable) {
+ // no-op for WebViewClassic.
+ }
}
private void onHandleUiEvent(MotionEvent event, int eventType, int flags) {
diff --git a/core/java/android/webkit/WebViewFactoryProvider.java b/core/java/android/webkit/WebViewFactoryProvider.java
index 934ef83db185..9d9d88292c1a 100644
--- a/core/java/android/webkit/WebViewFactoryProvider.java
+++ b/core/java/android/webkit/WebViewFactoryProvider.java
@@ -48,6 +48,12 @@ public interface WebViewFactoryProvider {
* {@link android.webkit.WebSettings#getDefaultUserAgent(Context) }
*/
String getDefaultUserAgent(Context context);
+
+ /**
+ * Implements the API method:
+ * {@link android.webkit.WebView#setWebContentsDebuggingEnabled(boolean) }
+ */
+ void setWebContentsDebuggingEnabled(boolean enable);
}
Statics getStatics();