summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/webkit/CallbackProxy.java11
-rw-r--r--core/java/android/webkit/WebChromeClient.java7
-rw-r--r--core/java/android/webkit/WebViewCore.java7
3 files changed, 25 insertions, 0 deletions
diff --git a/core/java/android/webkit/CallbackProxy.java b/core/java/android/webkit/CallbackProxy.java
index 4273bc374b63..15ffffdb4413 100644
--- a/core/java/android/webkit/CallbackProxy.java
+++ b/core/java/android/webkit/CallbackProxy.java
@@ -114,6 +114,7 @@ class CallbackProxy extends Handler {
private static final int ADD_HISTORY_ITEM = 135;
private static final int HISTORY_INDEX_CHANGED = 136;
private static final int AUTH_CREDENTIALS = 137;
+ private static final int SET_INSTALLABLE_WEBAPP = 138;
// Message triggered by the client to resume execution
private static final int NOTIFY = 200;
@@ -791,6 +792,9 @@ class CallbackProxy extends Handler {
mWebView.setHttpAuthUsernamePassword(
host, realm, username, password);
break;
+ case SET_INSTALLABLE_WEBAPP:
+ mWebChromeClient.setInstallableWebApp();
+ break;
}
}
@@ -1548,4 +1552,11 @@ class CallbackProxy extends Handler {
Message msg = obtainMessage(HISTORY_INDEX_CHANGED, index, 0, item);
sendMessage(msg);
}
+
+ void setInstallableWebApp() {
+ if (mWebChromeClient == null) {
+ return;
+ }
+ sendMessage(obtainMessage(SET_INSTALLABLE_WEBAPP));
+ }
}
diff --git a/core/java/android/webkit/WebChromeClient.java b/core/java/android/webkit/WebChromeClient.java
index ed06a3acc6de..443a3b330474 100644
--- a/core/java/android/webkit/WebChromeClient.java
+++ b/core/java/android/webkit/WebChromeClient.java
@@ -337,4 +337,11 @@ public class WebChromeClient {
public void onSelectionDone() {
}
+ /**
+ * Tell the client that the page being viewed is web app capable,
+ * i.e. has specified the fullscreen-web-app-capable meta tag.
+ * @hide
+ */
+ public void setInstallableWebApp() { }
+
}
diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java
index 3c157463dc2e..54699d6493a8 100644
--- a/core/java/android/webkit/WebViewCore.java
+++ b/core/java/android/webkit/WebViewCore.java
@@ -424,6 +424,13 @@ final class WebViewCore {
return mCallbackProxy.onJsTimeout();
}
+ /**
+ * Notify the webview that this is an installable web app.
+ */
+ protected void setInstallableWebApp() {
+ mCallbackProxy.setInstallableWebApp();
+ }
+
//-------------------------------------------------------------------------
// JNI methods
//-------------------------------------------------------------------------