Loading core/java/android/webkit/JWebCoreJavaBridge.java +5 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ import android.os.Handler; import android.os.Message; import android.util.Log; import java.util.Set; final class JWebCoreJavaBridge extends Handler { // Identifier for the timer message. private static final int TIMER_MESSAGE = 1; Loading Loading @@ -248,4 +250,7 @@ final class JWebCoreJavaBridge extends Handler { boolean reload); public native void setNetworkOnLine(boolean online); public native void setNetworkType(String type, String subtype); public native void addPackageNames(Set<String> packageNames); public native void addPackageName(String packageName); public native void removePackageName(String packageName); } core/java/android/webkit/WebView.java +40 −0 Original line number Diff line number Diff line Loading @@ -86,6 +86,7 @@ import java.util.ArrayList; import java.util.List; import java.util.HashMap; import java.util.Map; import java.util.Set; import junit.framework.Assert; Loading Loading @@ -2902,6 +2903,45 @@ public class WebView extends AbsoluteLayout return mWebViewCore.getSettings(); } /** * Use this method to inform the webview about packages that are installed * in the system. This information will be used by the * navigator.isApplicationInstalled() API. * @param packageNames is a set of package names that are known to be * installed in the system. * * @hide not a public API */ public void addPackageNames(Set<String> packageNames) { mWebViewCore.sendMessage(EventHub.ADD_PACKAGE_NAMES, packageNames); } /** * Use this method to inform the webview about single packages that are * installed in the system. This information will be used by the * navigator.isApplicationInstalled() API. * @param packageName is the name of a package that is known to be * installed in the system. * * @hide not a public API */ public void addPackageName(String packageName) { mWebViewCore.sendMessage(EventHub.ADD_PACKAGE_NAME, packageName); } /** * Use this method to inform the webview about packages that are uninstalled * in the system. This information will be used by the * navigator.isApplicationInstalled() API. * @param packageName is the name of a package that has been uninstalled in * the system. * * @hide not a public API */ public void removePackageName(String packageName) { mWebViewCore.sendMessage(EventHub.REMOVE_PACKAGE_NAME, packageName); } /** * Return the list of currently loaded plugins. * @return The list of currently loaded plugins. Loading core/java/android/webkit/WebViewCore.java +32 −0 Original line number Diff line number Diff line Loading @@ -892,6 +892,11 @@ final class WebViewCore { static final int SET_NETWORK_TYPE = 183; // navigator.isApplicationInstalled() static final int ADD_PACKAGE_NAMES = 184; static final int ADD_PACKAGE_NAME = 185; static final int REMOVE_PACKAGE_NAME = 186; // private message ids private static final int DESTROY = 200; Loading Loading @@ -1363,6 +1368,33 @@ final class WebViewCore { case HIDE_FULLSCREEN: nativeFullScreenPluginHidden(msg.arg1); break; case ADD_PACKAGE_NAMES: if (BrowserFrame.sJavaBridge == null) { throw new IllegalStateException("No WebView " + "has been created in this process!"); } BrowserFrame.sJavaBridge.addPackageNames( (Set<String>) msg.obj); break; case ADD_PACKAGE_NAME: if (BrowserFrame.sJavaBridge == null) { throw new IllegalStateException("No WebView " + "has been created in this process!"); } BrowserFrame.sJavaBridge.addPackageName( (String) msg.obj); break; case REMOVE_PACKAGE_NAME: if (BrowserFrame.sJavaBridge == null) { throw new IllegalStateException("No WebView " + "has been created in this process!"); } BrowserFrame.sJavaBridge.removePackageName( (String) msg.obj); break; } } }; Loading Loading
core/java/android/webkit/JWebCoreJavaBridge.java +5 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ import android.os.Handler; import android.os.Message; import android.util.Log; import java.util.Set; final class JWebCoreJavaBridge extends Handler { // Identifier for the timer message. private static final int TIMER_MESSAGE = 1; Loading Loading @@ -248,4 +250,7 @@ final class JWebCoreJavaBridge extends Handler { boolean reload); public native void setNetworkOnLine(boolean online); public native void setNetworkType(String type, String subtype); public native void addPackageNames(Set<String> packageNames); public native void addPackageName(String packageName); public native void removePackageName(String packageName); }
core/java/android/webkit/WebView.java +40 −0 Original line number Diff line number Diff line Loading @@ -86,6 +86,7 @@ import java.util.ArrayList; import java.util.List; import java.util.HashMap; import java.util.Map; import java.util.Set; import junit.framework.Assert; Loading Loading @@ -2902,6 +2903,45 @@ public class WebView extends AbsoluteLayout return mWebViewCore.getSettings(); } /** * Use this method to inform the webview about packages that are installed * in the system. This information will be used by the * navigator.isApplicationInstalled() API. * @param packageNames is a set of package names that are known to be * installed in the system. * * @hide not a public API */ public void addPackageNames(Set<String> packageNames) { mWebViewCore.sendMessage(EventHub.ADD_PACKAGE_NAMES, packageNames); } /** * Use this method to inform the webview about single packages that are * installed in the system. This information will be used by the * navigator.isApplicationInstalled() API. * @param packageName is the name of a package that is known to be * installed in the system. * * @hide not a public API */ public void addPackageName(String packageName) { mWebViewCore.sendMessage(EventHub.ADD_PACKAGE_NAME, packageName); } /** * Use this method to inform the webview about packages that are uninstalled * in the system. This information will be used by the * navigator.isApplicationInstalled() API. * @param packageName is the name of a package that has been uninstalled in * the system. * * @hide not a public API */ public void removePackageName(String packageName) { mWebViewCore.sendMessage(EventHub.REMOVE_PACKAGE_NAME, packageName); } /** * Return the list of currently loaded plugins. * @return The list of currently loaded plugins. Loading
core/java/android/webkit/WebViewCore.java +32 −0 Original line number Diff line number Diff line Loading @@ -892,6 +892,11 @@ final class WebViewCore { static final int SET_NETWORK_TYPE = 183; // navigator.isApplicationInstalled() static final int ADD_PACKAGE_NAMES = 184; static final int ADD_PACKAGE_NAME = 185; static final int REMOVE_PACKAGE_NAME = 186; // private message ids private static final int DESTROY = 200; Loading Loading @@ -1363,6 +1368,33 @@ final class WebViewCore { case HIDE_FULLSCREEN: nativeFullScreenPluginHidden(msg.arg1); break; case ADD_PACKAGE_NAMES: if (BrowserFrame.sJavaBridge == null) { throw new IllegalStateException("No WebView " + "has been created in this process!"); } BrowserFrame.sJavaBridge.addPackageNames( (Set<String>) msg.obj); break; case ADD_PACKAGE_NAME: if (BrowserFrame.sJavaBridge == null) { throw new IllegalStateException("No WebView " + "has been created in this process!"); } BrowserFrame.sJavaBridge.addPackageName( (String) msg.obj); break; case REMOVE_PACKAGE_NAME: if (BrowserFrame.sJavaBridge == null) { throw new IllegalStateException("No WebView " + "has been created in this process!"); } BrowserFrame.sJavaBridge.removePackageName( (String) msg.obj); break; } } }; Loading