WebView: add APIs for setSafeBrowsingWhiteList

This adds the APIs for the static method
WebView#setSafeBrowsingWhiteList().

BUG: 63084528
Test: N/A
Change-Id: I6eff32d9f8356e8c1a2c631782e07d52ba9b6ad5
diff --git a/api/current.txt b/api/current.txt
index 0eab1fd..85d36d9 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -48951,6 +48951,7 @@
     method public void setNetworkAvailable(boolean);
     method public deprecated void setPictureListener(android.webkit.WebView.PictureListener);
     method public void setRendererPriorityPolicy(int, boolean);
+    method public static void setSafeBrowsingWhiteList(java.lang.String[]);
     method public deprecated void setVerticalScrollbarOverlay(boolean);
     method public void setWebChromeClient(android.webkit.WebChromeClient);
     method public static void setWebContentsDebuggingEnabled(boolean);
diff --git a/api/system-current.txt b/api/system-current.txt
index 833e1f6..91102c4 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -52597,6 +52597,7 @@
     method public void setNetworkAvailable(boolean);
     method public deprecated void setPictureListener(android.webkit.WebView.PictureListener);
     method public void setRendererPriorityPolicy(int, boolean);
+    method public static void setSafeBrowsingWhiteList(java.lang.String[]);
     method public deprecated void setVerticalScrollbarOverlay(boolean);
     method public void setWebChromeClient(android.webkit.WebChromeClient);
     method public static void setWebContentsDebuggingEnabled(boolean);
@@ -52801,6 +52802,7 @@
     method public abstract java.lang.String getDefaultUserAgent(android.content.Context);
     method public abstract void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>);
     method public abstract android.net.Uri[] parseFileChooserResult(int, android.content.Intent);
+    method public abstract void setSafeBrowsingWhiteList(java.lang.String[]);
     method public abstract void setWebContentsDebuggingEnabled(boolean);
     method public abstract void shutdownSafeBrowsing();
   }
diff --git a/api/test-current.txt b/api/test-current.txt
index e6c22ae..905d217 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -49372,6 +49372,7 @@
     method public void setNetworkAvailable(boolean);
     method public deprecated void setPictureListener(android.webkit.WebView.PictureListener);
     method public void setRendererPriorityPolicy(int, boolean);
+    method public static void setSafeBrowsingWhiteList(java.lang.String[]);
     method public deprecated void setVerticalScrollbarOverlay(boolean);
     method public void setWebChromeClient(android.webkit.WebChromeClient);
     method public static void setWebContentsDebuggingEnabled(boolean);
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index ec2b302..5fed925 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -1638,6 +1638,17 @@
     }
 
     /**
+     * Sets the list of domains that are exempt from SafeBrowsing checks. The list is
+     * global for all the WebViews.
+     * TODO: Add documentation for the format of the urls.
+     *
+     * @param urls the list of URLs
+     */
+    public static void setSafeBrowsingWhiteList(@Nullable String[] urls) {
+        getFactory().getStatics().setSafeBrowsingWhiteList(urls);
+    }
+
+    /**
      * Gets the WebBackForwardList for this WebView. This contains the
      * back/forward list for use in querying each item in the history stack.
      * This is a copy of the private WebBackForwardList so it contains only a
diff --git a/core/java/android/webkit/WebViewFactoryProvider.java b/core/java/android/webkit/WebViewFactoryProvider.java
index 5cf48b5..7c938ae 100644
--- a/core/java/android/webkit/WebViewFactoryProvider.java
+++ b/core/java/android/webkit/WebViewFactoryProvider.java
@@ -86,6 +86,12 @@
          * {@link android.webkit.WebView#shutdownSafeBrowsing()}
          */
         void shutdownSafeBrowsing();
+
+        /**
+        * Implement the API method
+        * {@link android.webkit.WebView#setSafeBrowsingWhiteList(String[])}
+        */
+        void setSafeBrowsingWhiteList(String[] urls);
     }
 
     Statics getStatics();