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

Commit 0e5b1604 authored by Teng-Hui Zhu's avatar Teng-Hui Zhu Committed by Android (Google) Code Review
Browse files

add a webview API to support media play without user gesture

bug:6806306

webkit change: https://android-git.corp.google.com/g/#/c/208568/
Change-Id: Ic70e5d3f152a7e8d8fdfa1d6f89f96c8cd3c7075
parent 495b56cf
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -26615,6 +26615,7 @@ package android.webkit {
    method public boolean getLightTouchEnabled();
    method public boolean getLoadWithOverviewMode();
    method public synchronized boolean getLoadsImagesAutomatically();
    method public boolean getMediaPlaybackRequiresUserGesture();
    method public synchronized int getMinimumFontSize();
    method public synchronized int getMinimumLogicalFontSize();
    method public deprecated boolean getNavDump();
@@ -26664,6 +26665,7 @@ package android.webkit {
    method public void setLightTouchEnabled(boolean);
    method public void setLoadWithOverviewMode(boolean);
    method public synchronized void setLoadsImagesAutomatically(boolean);
    method public void setMediaPlaybackRequiresUserGesture(boolean);
    method public synchronized void setMinimumFontSize(int);
    method public synchronized void setMinimumLogicalFontSize(int);
    method public deprecated void setNavDump(boolean);
+20 −0
Original line number Diff line number Diff line
@@ -198,6 +198,26 @@ public abstract class WebSettings {
        throw new MustOverrideException();
    }

    /**
     * Sets whether the WebView requires a user gesture to play media.
     * The default is true.
     *
     * @param require whether the WebView requires a user gesture to play media
     */
    public void setMediaPlaybackRequiresUserGesture(boolean require) {
        throw new MustOverrideException();
    }

    /**
     * Gets whether the WebView requires a user gesture to play media.
     *
     * @return true if the WebView requires a user gesture to play media
     * @see #setMediaPlaybackRequiresUserGesture
     */
    public boolean getMediaPlaybackRequiresUserGesture() {
        throw new MustOverrideException();
    }

    /**
     * Sets whether the WebView should use its built-in zoom mechanisms. The
     * built-in zoom mechanisms comprise on-screen zoom controls, which are
+20 −0
Original line number Diff line number Diff line
@@ -116,6 +116,7 @@ public class WebSettingsClassic extends WebSettings {
    private boolean         mNeedInitialFocus = true;
    private boolean         mNavDump = false;
    private boolean         mSupportZoom = true;
    private boolean         mMediaPlaybackRequiresUserGesture = true;
    private boolean         mBuiltInZoomControls = false;
    private boolean         mDisplayZoomControls = true;
    private boolean         mAllowFileAccess = true;
@@ -458,6 +459,25 @@ public class WebSettingsClassic extends WebSettings {
        return mSupportZoom;
    }

    /**
     * @see android.webkit.WebSettings#setMediaPlaybackRequiresUserGesture(boolean)
     */
    @Override
    public void setMediaPlaybackRequiresUserGesture(boolean support) {
        if (mMediaPlaybackRequiresUserGesture != support) {
            mMediaPlaybackRequiresUserGesture = support;
            postSync();
        }
    }

    /**
     * @see android.webkit.WebSettings#getMediaPlaybackRequiresUserGesture()
     */
    @Override
    public boolean getMediaPlaybackRequiresUserGesture() {
        return mMediaPlaybackRequiresUserGesture;
    }

    /**
     * @see android.webkit.WebSettings#setBuiltInZoomControls(boolean)
     */