Changeset 271341 in webkit


Ignore:
Timestamp:
Jan 8, 2021 7:11:05 PM (19 months ago)
Author:
Peng Liu
Message:

A video element needs to ignore the request to enter/exit fullscreen before the current fullscreen mode change is completed
https://bugs.webkit.org/show_bug.cgi?id=220466

Reviewed by Jer Noble.

Source/WebCore:

Fix a flaky layout test: media/media-fullscreen-inline.html

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::webkitEnterFullscreen):
(WebCore::HTMLVideoElement::webkitExitFullscreen):

LayoutTests:

  • media/media-fullscreen-inline-expected.txt:
  • media/media-fullscreen.js:

(async beginfullscreen):

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r271337 r271341  
     12021-01-08  Peng Liu  <peng.liu6@apple.com>
     2
     3        A video element needs to ignore the request to enter/exit fullscreen before the current fullscreen mode change is completed
     4        https://bugs.webkit.org/show_bug.cgi?id=220466
     5
     6        Reviewed by Jer Noble.
     7
     8        * media/media-fullscreen-inline-expected.txt:
     9        * media/media-fullscreen.js:
     10        (async beginfullscreen):
     11
    1122021-01-08  Brady Eidson  <beidson@apple.com>
    213
  • trunk/LayoutTests/media/media-fullscreen-inline-expected.txt

    r217176 r271341  
    3131RUN(mediaElement.webkitEnterFullScreen())
    3232EVENT(webkitfullscreenchange)
    33 EXPECTED (mediaElement.webkitDisplayingFullscreen == 'true') OK
     33EXPECTED (internals.isChangingPresentationMode(mediaElement) == 'false') OK
    3434RUN(mediaElement.webkitExitFullScreen())
    3535EVENT(webkitfullscreenchange)
  • trunk/LayoutTests/media/media-fullscreen.js

    r261493 r271341  
    4141async function beginfullscreen()
    4242{
    43     await testExpectedEventually("mediaElement.webkitDisplayingFullscreen", true);
     43    if (window.internals)
     44        await testExpectedEventually("internals.isChangingPresentationMode(mediaElement)", false);
    4445    run("mediaElement.webkitExitFullScreen()");
    4546}
  • trunk/Source/WebCore/ChangeLog

    r271337 r271341  
     12021-01-08  Peng Liu  <peng.liu6@apple.com>
     2
     3        A video element needs to ignore the request to enter/exit fullscreen before the current fullscreen mode change is completed
     4        https://bugs.webkit.org/show_bug.cgi?id=220466
     5
     6        Reviewed by Jer Noble.
     7
     8        Fix a flaky layout test: media/media-fullscreen-inline.html
     9
     10        * html/HTMLVideoElement.cpp:
     11        (WebCore::HTMLVideoElement::webkitEnterFullscreen):
     12        (WebCore::HTMLVideoElement::webkitExitFullscreen):
     13
    1142021-01-08  Brady Eidson  <beidson@apple.com>
    215
  • trunk/Source/WebCore/html/HTMLVideoElement.cpp

    r269850 r271341  
    331331
    332332    // Generate an exception if this isn't called in response to a user gesture, or if the
    333     // element does not support fullscreen.
    334     if (!mediaSession().fullscreenPermitted() || !supportsFullscreen(HTMLMediaElementEnums::VideoFullscreenModeStandard))
     333    // element does not support fullscreen, or the element is changing fullscreen mode.
     334    if (!mediaSession().fullscreenPermitted() || !supportsFullscreen(HTMLMediaElementEnums::VideoFullscreenModeStandard) || isChangingVideoFullscreenMode())
    335335        return Exception { InvalidStateError };
    336336
     
    342342{
    343343    ALWAYS_LOG(LOGIDENTIFIER);
    344     if (isFullscreen())
     344    if (isFullscreen() && !isChangingVideoFullscreenMode())
    345345        exitFullscreen();
    346346}
Note: See TracChangeset for help on using the changeset viewer.