Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5545d083 authored by Jonathan Dixon's avatar Jonathan Dixon
Browse files

Update APIs for the Chromium WebView

Bug: 10361803
Bug: 8565831

Several obsolete APIs now deprecated.
TEXT_AUTOSIZING can now be unhidden.

Change-Id: Ib0afa4bb010f35816d3b9dd3695e8997f0ff0793
parent 463850e0
Loading
Loading
Loading
Loading
+11 −10
Original line number Diff line number Diff line
@@ -29935,7 +29935,7 @@ package android.webkit {
    method public deprecated void onConsoleMessage(java.lang.String, int, java.lang.String);
    method public boolean onConsoleMessage(android.webkit.ConsoleMessage);
    method public boolean onCreateWindow(android.webkit.WebView, boolean, boolean, android.os.Message);
    method public void onExceededDatabaseQuota(java.lang.String, java.lang.String, long, long, long, android.webkit.WebStorage.QuotaUpdater);
    method public deprecated void onExceededDatabaseQuota(java.lang.String, java.lang.String, long, long, long, android.webkit.WebStorage.QuotaUpdater);
    method public void onGeolocationPermissionsHidePrompt();
    method public void onGeolocationPermissionsShowPrompt(java.lang.String, android.webkit.GeolocationPermissions.Callback);
    method public void onHideCustomView();
@@ -29945,7 +29945,7 @@ package android.webkit {
    method public boolean onJsPrompt(android.webkit.WebView, java.lang.String, java.lang.String, java.lang.String, android.webkit.JsPromptResult);
    method public deprecated boolean onJsTimeout();
    method public void onProgressChanged(android.webkit.WebView, int);
    method public void onReachedMaxAppCacheSize(long, long, android.webkit.WebStorage.QuotaUpdater);
    method public deprecated void onReachedMaxAppCacheSize(long, long, android.webkit.WebStorage.QuotaUpdater);
    method public void onReceivedIcon(android.webkit.WebView, android.graphics.Bitmap);
    method public void onReceivedTitle(android.webkit.WebView, java.lang.String);
    method public void onReceivedTouchIconUrl(android.webkit.WebView, java.lang.String, boolean);
@@ -30001,12 +30001,12 @@ package android.webkit {
    method public int getCacheMode();
    method public synchronized java.lang.String getCursiveFontFamily();
    method public synchronized boolean getDatabaseEnabled();
    method public synchronized java.lang.String getDatabasePath();
    method public deprecated synchronized java.lang.String getDatabasePath();
    method public synchronized int getDefaultFixedFontSize();
    method public synchronized int getDefaultFontSize();
    method public synchronized java.lang.String getDefaultTextEncodingName();
    method public static java.lang.String getDefaultUserAgent(android.content.Context);
    method public android.webkit.WebSettings.ZoomDensity getDefaultZoom();
    method public deprecated android.webkit.WebSettings.ZoomDensity getDefaultZoom();
    method public boolean getDisplayZoomControls();
    method public synchronized boolean getDomStorageEnabled();
    method public synchronized java.lang.String getFantasyFontFamily();
@@ -30043,11 +30043,11 @@ package android.webkit {
    method public void setCacheMode(int);
    method public synchronized void setCursiveFontFamily(java.lang.String);
    method public synchronized void setDatabaseEnabled(boolean);
    method public synchronized void setDatabasePath(java.lang.String);
    method public deprecated synchronized void setDatabasePath(java.lang.String);
    method public synchronized void setDefaultFixedFontSize(int);
    method public synchronized void setDefaultFontSize(int);
    method public synchronized void setDefaultTextEncodingName(java.lang.String);
    method public void setDefaultZoom(android.webkit.WebSettings.ZoomDensity);
    method public deprecated void setDefaultZoom(android.webkit.WebSettings.ZoomDensity);
    method public void setDisplayZoomControls(boolean);
    method public synchronized void setDomStorageEnabled(boolean);
    method public deprecated void setEnableSmoothTransition(boolean);
@@ -30090,9 +30090,10 @@ package android.webkit {
  public static final class WebSettings.LayoutAlgorithm extends java.lang.Enum {
    method public static android.webkit.WebSettings.LayoutAlgorithm valueOf(java.lang.String);
    method public static final android.webkit.WebSettings.LayoutAlgorithm[] values();
    enum_constant public static final android.webkit.WebSettings.LayoutAlgorithm NARROW_COLUMNS;
    enum_constant public static final deprecated android.webkit.WebSettings.LayoutAlgorithm NARROW_COLUMNS;
    enum_constant public static final android.webkit.WebSettings.LayoutAlgorithm NORMAL;
    enum_constant public static final deprecated android.webkit.WebSettings.LayoutAlgorithm SINGLE_COLUMN;
    enum_constant public static final android.webkit.WebSettings.LayoutAlgorithm TEXT_AUTOSIZING;
  }
  public static final class WebSettings.PluginState extends java.lang.Enum {
@@ -30145,7 +30146,7 @@ package android.webkit {
    method public long getUsage();
  }
  public static abstract interface WebStorage.QuotaUpdater {
  public static abstract deprecated interface WebStorage.QuotaUpdater {
    method public abstract void updateQuota(long);
  }
@@ -30173,7 +30174,7 @@ package android.webkit {
    method public boolean canGoForward();
    method public deprecated boolean canZoomIn();
    method public deprecated boolean canZoomOut();
    method public android.graphics.Picture capturePicture();
    method public deprecated android.graphics.Picture capturePicture();
    method public void clearCache(boolean);
    method public void clearFormData();
    method public void clearHistory();
@@ -30190,7 +30191,7 @@ package android.webkit {
    method public void findAllAsync(java.lang.String);
    method public void findNext(boolean);
    method public void flingScroll(int, int);
    method public void freeMemory();
    method public deprecated void freeMemory();
    method public android.net.http.SslCertificate getCertificate();
    method public int getContentHeight();
    method public android.graphics.Bitmap getFavicon();
+6 −4
Original line number Diff line number Diff line
@@ -238,9 +238,10 @@ public class WebChromeClient {
    * @param totalQuota The total quota for all origins, in bytes
    * @param quotaUpdater An instance of {@link WebStorage.QuotaUpdater} which
    *                     must be used to inform the WebView of the new quota.
    * @deprecated This method is no longer called; WebView now uses the HTML5 / JavaScript Quota
    *             Management API.
    */
    // Note that the callback must always be executed at some point to ensure
    // that the sleeping WebCore thread is woken up.
    @Deprecated
    public void onExceededDatabaseQuota(String url, String databaseIdentifier,
            long quota, long estimatedDatabaseSize, long totalQuota,
            WebStorage.QuotaUpdater quotaUpdater) {
@@ -263,9 +264,10 @@ public class WebChromeClient {
    * @param quota the current maximum Application Cache size, in bytes
    * @param quotaUpdater An instance of {@link WebStorage.QuotaUpdater} which
    *                     must be used to inform the WebView of the new quota.
    * @deprecated This method is no longer called; WebView now uses the HTML5 / JavaScript Quota
    *             Management API.
    */
    // Note that the callback must always be executed at some point to ensure
    // that the sleeping WebCore thread is woken up.
    @Deprecated
    public void onReachedMaxAppCacheSize(long requiredStorage, long quota,
            WebStorage.QuotaUpdater quotaUpdater) {
        quotaUpdater.updateQuota(quota);
+18 −5
Original line number Diff line number Diff line
@@ -33,14 +33,17 @@ public abstract class WebSettings {
    /**
     * Enum for controlling the layout of html.
     * <ul>
     *   <li>NORMAL means no rendering changes.</li>
     *   <li>NORMAL means no rendering changes. This is the recommended choice for maximum
     *       compatibility across different platforms and Android versions.</li>
     *   <li>SINGLE_COLUMN moves all content into one column that is the width of the
     *       view.</li>
     *   <li>NARROW_COLUMNS makes all columns no wider than the screen if possible.</li>
     *   <li>NARROW_COLUMNS makes all columns no wider than the screen if possible. Only use
     *       this for API levels prior to {@link android.os.Build.VERSION_CODES#KITKAT}.</li>
     *   <li>TEXT_AUTOSIZING boosts font size of paragraphs based on heuristics to make
     *       the text readable when viewing a wide-viewport layout in the overview mode.
     *       It is recommended to enable zoom support {@link #setSupportZoom} when
     *       using this mode.</li>
     *       using this mode. Supported from API level
     *       {@link android.os.Build.VERSION_CODES#KITKAT}</li>
     * </ul>
     */
    // XXX: These must match LayoutAlgorithm in Settings.h in WebCore.
@@ -51,10 +54,11 @@ public abstract class WebSettings {
         */
        @Deprecated
        SINGLE_COLUMN,
        NARROW_COLUMNS,
        /**
         * @hide
         * @deprecated This algorithm is now obsolete.
         */
        @Deprecated
        NARROW_COLUMNS,
        TEXT_AUTOSIZING
    }

@@ -510,7 +514,10 @@ public abstract class WebSettings {
     * and {@link #setUseWideViewPort} can be used.
     *
     * @param zoom the zoom density
     * @deprecated This method is no longer supported, see the function documentation for
     *             recommended alternatives.
     */
    @Deprecated
    public void setDefaultZoom(ZoomDensity zoom) {
        throw new MustOverrideException();
    }
@@ -523,6 +530,7 @@ public abstract class WebSettings {
     *
     * @return the zoom density
     * @see #setDefaultZoom
     * @deprecated Will only return the default value.
     */
    public ZoomDensity getDefaultZoom() {
        throw new MustOverrideException();
@@ -1059,10 +1067,13 @@ public abstract class WebSettings {
     *
     * @param databasePath a path to the directory where databases should be
     *                     saved.
     * @deprecated Database paths are managed by the implementation and calling this method
     *             will have no effect.
     */
    // This will update WebCore when the Sync runs in the C++ side.
    // Note that the WebCore Database Tracker only allows the path to be set
    // once.
    @Deprecated
    public synchronized void setDatabasePath(String databasePath) {
        throw new MustOverrideException();
    }
@@ -1161,7 +1172,9 @@ public abstract class WebSettings {
     *
     * @return the String path to the database storage API databases
     * @see #setDatabasePath
     * @deprecated Database paths are managed by the implementation this method is obsolete.
     */
    @Deprecated
    public synchronized String getDatabasePath() {
        throw new MustOverrideException();
    }
+2 −5
Original line number Diff line number Diff line
@@ -41,12 +41,9 @@ public class WebStorage {
     * See
     * {@link WebChromeClient#onExceededDatabaseQuota} and
     * {@link WebChromeClient#onReachedMaxAppCacheSize}.
     * @deprecated This class is obsolete and no longer used.
     */
    // We primarily want this to allow us to call back the sleeping WebCore
    // thread from outside the WebViewCore class (as the native call is
    // private). It is imperative that the setDatabaseQuota method is
    // executed after a decision to either allow or deny new quota is made,
    // otherwise the WebCore thread will remain asleep.
    @Deprecated
    public interface QuotaUpdater {
        /**
         * Provides a new quota, specified in bytes.
+14 −0
Original line number Diff line number Diff line
@@ -1058,9 +1058,20 @@ public class WebView extends AbsoluteLayout
     * {@link android.os.Build.VERSION_CODES#HONEYCOMB} and
     * {@link android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH} inclusive, the
     * picture does not include fixed position elements or scrollable divs.
     * <p>
     * Note that from {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} the returned picture
     * should only be drawn into bitmap-backed Canvas - using any other type of Canvas will involve
     * additional conversion at a cost in memory and performance. Also the
     * {@link android.graphics.Picture#createFromStream} and
     * {@link android.graphics.Picture#writeToStream} methods are not supported on the
     * returned object.
     *
     * @deprecated Use {@link #onDraw} to obtain a bitmap snapshot of the WebView, or
     * {@link #saveWebArchive} or {@link #exportToPdf} to save the content to a file.
     *
     * @return a picture that captures the current contents of this WebView
     */
    @Deprecated
    public Picture capturePicture() {
        checkThread();
        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "capturePicture");
@@ -1342,7 +1353,10 @@ public class WebView extends AbsoluteLayout
    /**
     * Informs this WebView that memory is low so that it can free any available
     * memory.
     * @deprecated Memory caches are automatically dropped when no longer needed, and in response
     *             to system memory pressure.
     */
    @Deprecated
    public void freeMemory() {
        checkThread();
        if (DebugFlags.TRACE_API) Log.d(LOGTAG, "freeMemory");