diff --git a/api/current.txt b/api/current.txt index 6d87d91ed1f79..c4ddfaf359c69 100644 --- a/api/current.txt +++ b/api/current.txt @@ -48810,6 +48810,7 @@ package android.webkit { method public void goBack(); method public void goBackOrForward(int); method public void goForward(); + method public static void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback); method public void invokeZoomPicker(); method public boolean isPrivateBrowsingEnabled(); method public void loadData(java.lang.String, java.lang.String, java.lang.String); @@ -48854,6 +48855,7 @@ package android.webkit { method public static void setWebContentsDebuggingEnabled(boolean); method public void setWebViewClient(android.webkit.WebViewClient); method public deprecated boolean showFindDialog(java.lang.String, boolean); + method public static void shutdownSafeBrowsing(); method public void stopLoading(); method public void zoomBy(float); method public boolean zoomIn(); diff --git a/api/system-current.txt b/api/system-current.txt index 76ef0874c8b3e..f0f019a12219f 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -52455,6 +52455,7 @@ package android.webkit { method public void goBack(); method public void goBackOrForward(int); method public void goForward(); + method public static void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback); method public void invokeZoomPicker(); method public boolean isPrivateBrowsingEnabled(); method public void loadData(java.lang.String, java.lang.String, java.lang.String); @@ -52499,6 +52500,7 @@ package android.webkit { method public static void setWebContentsDebuggingEnabled(boolean); method public void setWebViewClient(android.webkit.WebViewClient); method public deprecated boolean showFindDialog(java.lang.String, boolean); + method public static void shutdownSafeBrowsing(); method public void stopLoading(); method public void zoomBy(float); method public boolean zoomIn(); @@ -52686,8 +52688,10 @@ package android.webkit { method public abstract java.lang.String findAddress(java.lang.String); method public abstract void freeMemoryForTests(); method public abstract java.lang.String getDefaultUserAgent(android.content.Context); + method public abstract void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback); method public abstract android.net.Uri[] parseFileChooserResult(int, android.content.Intent); method public abstract void setWebContentsDebuggingEnabled(boolean); + method public abstract void shutdownSafeBrowsing(); } public class WebViewFragment extends android.app.Fragment { diff --git a/api/test-current.txt b/api/test-current.txt index cf247b74b1687..a7e384d4ba02e 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -49210,6 +49210,7 @@ package android.webkit { method public void goBack(); method public void goBackOrForward(int); method public void goForward(); + method public static void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback); method public void invokeZoomPicker(); method public boolean isPrivateBrowsingEnabled(); method public void loadData(java.lang.String, java.lang.String, java.lang.String); @@ -49254,6 +49255,7 @@ package android.webkit { method public static void setWebContentsDebuggingEnabled(boolean); method public void setWebViewClient(android.webkit.WebViewClient); method public deprecated boolean showFindDialog(java.lang.String, boolean); + method public static void shutdownSafeBrowsing(); method public void stopLoading(); method public void zoomBy(float); method public boolean zoomIn(); diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index dda5df60a5a90..cc14542bb2288 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -31,15 +31,15 @@ import android.graphics.Paint; import android.graphics.Picture; import android.graphics.Rect; import android.graphics.drawable.Drawable; -import android.net.http.SslCertificate; import android.net.Uri; +import android.net.http.SslCertificate; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; -import android.os.StrictMode; import android.os.RemoteException; +import android.os.StrictMode; import android.print.PrintDocumentAdapter; import android.security.KeyChain; import android.util.AttributeSet; @@ -49,10 +49,10 @@ import android.view.DragEvent; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; -import android.view.ViewStructure; import android.view.ViewDebug; import android.view.ViewGroup; import android.view.ViewHierarchyEncoder; +import android.view.ViewStructure; import android.view.ViewTreeObserver; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; @@ -1620,6 +1620,23 @@ public class WebView extends AbsoluteLayout getFactory().getStatics().clearClientCertPreferences(onCleared); } + /** + * Starts Safe Browsing initialization. This should only be called once. + * @param context is the activity context the WebView will be used in. + * @param callback will be called with the value true if initialization is + * successful. The callback will be run on the UI thread. + */ + public static void initSafeBrowsing(Context context, ValueCallback callback) { + getFactory().getStatics().initSafeBrowsing(context, callback); + } + + /** + * Shuts down Safe Browsing. This should only be called once. + */ + public static void shutdownSafeBrowsing() { + getFactory().getStatics().shutdownSafeBrowsing(); + } + /** * Gets the WebBackForwardList for this WebView. This contains the * back/forward list for use in querying each item in the history stack. diff --git a/core/java/android/webkit/WebViewFactoryProvider.java b/core/java/android/webkit/WebViewFactoryProvider.java index 8359a102440cf..5cf48b585b16b 100644 --- a/core/java/android/webkit/WebViewFactoryProvider.java +++ b/core/java/android/webkit/WebViewFactoryProvider.java @@ -74,6 +74,18 @@ public interface WebViewFactoryProvider { * {@link android.webkit.WebChromeClient.FileChooserParams#parseResult(int, Intent)} */ Uri[] parseFileChooserResult(int resultCode, Intent intent); + + /** + * Implement the API method + * {@link android.webkit.WebView#initSafeBrowsing(Context , ValueCallback)} + */ + void initSafeBrowsing(Context context, ValueCallback callback); + + /** + * Implement the API method + * {@link android.webkit.WebView#shutdownSafeBrowsing()} + */ + void shutdownSafeBrowsing(); } Statics getStatics();