LGTM2

On 9/9/26 6:56 a.m., Yoav Weiss (@Shopify) wrote:
LGTM1

On Friday, September 4, 2026 at 6:49:26 PM UTC+2 Chromestatus wrote:

    *Contact emails*
    [email protected], [email protected]

    *Explainer*
    
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/IframeMediaPause/iframe_media_pausing.md
    
<https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/IframeMediaPause/iframe_media_pausing.md>

    *Specification*
    https://wicg.github.io/iframe-media-pausing
    <https://wicg.github.io/iframe-media-pausing>


Should this move to HTML? Somewhere else?



    *Summary*
    Adds a "media-playback-while-not-visible" permission policy to
    allow embedders to pause audible media playback of embedded
    iframes which are currently hidden - i.e. "display" property set
    to "none"; "visibility" property set to "hidden"; or zero-area
    (width or height equal to 0). While hidden, attempts made by the
    embedded iframe to render audible media will be blocked. When the
    frame is shown again the prohibitions should be lifted. This
    should allow developers to build more user-friendly experiences
    and to also improve the performance by letting the browser handle
    the playback of content that is not visible to users.

    *Blink component*
    Blink>Media
    
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EMedia%22>

    *Web Feature ID*
    https://github.com/web-platform-dx/web-features/issues/4292
    
<https://webstatus.dev/features/https://github.com/web-platform-dx/web-features/issues/4292>


    *Motivation*
    Web applications that host embedded media content via iframes may
    wish to respond to application input by temporarily hiding the
    media content. These applications may not want to unload the
    entire iframe when it's not rendered since it could generate
    user-perceptible performance and experience issues when showing
    the media content again. At the same time, the user could have a
    negative experience if the media continues to play and emit audio
    when not rendered. This proposal aims to provide web applications
    with the ability to control embedded media content in such a way
    that guarantees their users have a good experience when the
    iframe's render status is changed.

    *Initial public proposal*
    /No information provided/

    *TAG review*
    https://github.com/w3ctag/design-reviews/issues/1084
    <https://github.com/w3ctag/design-reviews/issues/1084>

    *TAG review status*
    Issues addressed

    *Origin Trial Name*
    media-playback-while-not-visible Permission Policy

    *Goals for experimentation*
    Gather feedback from web developers and validate that the current
    prototype implementation works as expected. We have added
    telemetry to measure how the feature is being exercised by users:
    - HTMLMediaElement's: - # of pauses while hidden - # of pauses
    because got hidden during playback - WebAudio AudioContext's - #
    of interruptions while hidden - # of interruptions because got
    hidden during playback

    *Chromium Trial Name*
    MediaPlaybackWhileNotVisiblePermissionPolicy

    *Origin Trial documentation link*
    
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/IframeMediaPause/iframe_media_pausing.md
    
<https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/IframeMediaPause/iframe_media_pausing.md>

    *WebFeature UseCounter name*
    kMediaPlaybackWhileNotVisiblePermissionPolicy

    *Risks*


    *Interoperability and Compatibility*
    Firefox has already shown official support, although, we can't say
    for sure when other browsers are going to implement this feature.
    Safari also seems to be unofficially supportive:
    https://github.com/whatwg/html/issues/10208#issuecomment-3060151372
    <https://github.com/whatwg/html/issues/10208#issuecomment-3060151372>

    /Gecko/:
    Positive (https://github.com/mozilla/standards-positions/issues/1082
    <https://github.com/mozilla/standards-positions/issues/1082>)

    /WebKit/: No
    signal (https://github.com/WebKit/standards-positions/issues/409
    <https://github.com/WebKit/standards-positions/issues/409>)

    /Web developers/:
    Positive (https://github.com/whatwg/html/issues/10208
    <https://github.com/whatwg/html/issues/10208>) The community is
    supportive of resolving this problem using a permission policy. A
    commenter mentioned that the proposal fits well within the
    Permissions Policy API specification. They also agree that there
    is no workaround for this problem using current web API's.
    Feedback has been addressed to also include other invisibility
    scenarios like zero-area (height or width equal to 0) and to
    change the API name from "not-rendered" to "not-visible".

    /Other signals/:

    *Ergonomics*
    This feature will be used with other audio rendering API's, like
    HTMLMediaElement and Web Audio. This new behavior should only take
    effect if web pages explicitly opt-in by overriding the permission
    policy's default state. Moreover, once the permission policy is
    used, it should help Chromium to be more optimized by pausing
    audio rendering for content that is not visible for the user.

    *Activation*
    Developers need to opt-in by setting "allow" property of an
    iframe. For example: <iframe src="https://foo.media.com";
    allow="media-playback-while-not-visible 'none'"></iframe>

    *WebView application risks*

    Does this intent deprecate or change behavior of existing APIs,
    such that it has potentially high risk for Android WebView-based
    applications?

    None. This feature adds a new behavior that applications need to
    opt-in.


    *Debuggability*
    /No information provided/

    *Will this feature be supported on all six Blink platforms
    (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?*
    Yes

    *Is this feature fully tested by web-platform-tests
    
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*
    Yes
    -
    
https://wpt.fyi/results/html/semantics/embedded-content/media-elements/media-playback-while-not-visible-permission-policy?label=master&label=experimental&aligned&q=media-playback-while-not-visible-permission-policy
    
<https://wpt.fyi/results/html/semantics/embedded-content/media-elements/media-playback-while-not-visible-permission-policy?label=master&label=experimental&aligned&q=media-playback-while-not-visible-permission-policy>
    -
    
https://wpt.fyi/results/webaudio/the-audio-api/media-playback-while-not-visible-permission-policy?label=master&label=experimental&aligned&q=media-playback-while-not-visible-permission-policy
    
<https://wpt.fyi/results/webaudio/the-audio-api/media-playback-while-not-visible-permission-policy?label=master&label=experimental&aligned&q=media-playback-while-not-visible-permission-policy>

    *DevTrial instructions*
    
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/IframeMediaPause/HOWTO.md
    
<https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/IframeMediaPause/HOWTO.md>

    *Flag name on about://flags*
    media-playback-while-not-visible-permission-policy

    *Finch feature name*
    MediaPlaybackWhileNotVisiblePermissionPolicy

    *Rollout plan*
    Will ship enabled for all users

    *Requires code in //chrome?*
    False

    *Tracking bug*
    https://issues.chromium.org/issues/351354996
    <https://issues.chromium.org/issues/351354996>

    *Availability expectation*
    The feature will be available in Chromium browsers at first.
    Despite this, Mozilla supports the feature too and will implement
    it at some point.

    *Adoption expectation*
    Feature is used by specific partners to provide functionality
    within 3 months of launch in Chrome.

    *Non-OSS dependencies*

    Does the feature depend on any code or APIs outside the Chromium
    open source repository and its open-source dependencies to function?

    None.

    *Estimated milestones*
    Shipping on desktop155 Origin trial desktop first137 Origin trial
    desktop last142 Origin trial extension 1 end milestone145 DevTrial
    on desktop137 Shipping on Android155 Origin trial Android first137
    Origin trial Android last142 Shipping on WebView155 Origin trial
    WebView first137 Origin trial WebView last142

    *Anticipated spec changes*

    Open questions about a feature may be a source of future web
    compat or interop issues. Please list open issues (e.g. links to
    known github issues in the project for the feature specification)
    whose resolution may introduce web compat/interop risk (e.g.,
    changing to naming or structure of the API in a
    non-backward-compatible way).

    Currently the feature is spec'ed to work with HTMLMediaElements
    and Web Audio AudioContexts. We'll work on incrementally
    integrating it with other media-playback apis like PiP, Audio
    Session API, and Media Session API: -
    https://github.com/WICG/iframe-media-pausing/issues/2
    <https://github.com/WICG/iframe-media-pausing/issues/2> -
    https://github.com/WICG/iframe-media-pausing/issues/3
    <https://github.com/WICG/iframe-media-pausing/issues/3> -
    https://github.com/WICG/iframe-media-pausing/issues/4
    <https://github.com/WICG/iframe-media-pausing/issues/4>

    *Link to entry on the Chrome Platform Status*
    https://chromestatus.com/feature/5082950457884672?gate=5168819537707008
    <https://chromestatus.com/feature/5082950457884672?gate=5168819537707008>

    *Links to previous Intent discussions*
    Intent to Prototype:
    
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/PH7PR00MB1638C5FA59458CE0BBDC1FA6D5D72%40PH7PR00MB1638.namprd00.prod.outlook.com
    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/PH7PR00MB1638C5FA59458CE0BBDC1FA6D5D72%40PH7PR00MB1638.namprd00.prod.outlook.com>
    Intent to Experiment:
    
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6806b191.170a0220.2f866a.0286.GAE%40google.com
    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6806b191.170a0220.2f866a.0286.GAE%40google.com>


    This intent message was generated by Chrome Platform Status
    <https://chromestatus.com>.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/38ec928e-3bcf-422c-9a69-25db9e078cd9n%40chromium.org <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/38ec928e-3bcf-422c-9a69-25db9e078cd9n%40chromium.org?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/dcd58edc-9cdb-42a3-923d-fbefb47fa03c%40chromium.org.

Reply via email to