haikuwebkit/LayoutTests/media/media-fullscreen-return-to-...

78 lines
2.5 KiB
HTML
Raw Permalink Normal View History

Remove unused JS and CSS files of media controls https://bugs.webkit.org/show_bug.cgi?id=214955 <rdar://problem/66604040> Reviewed by Eric Carlson. Source/WebCore: Cocoa platforms are already using modern media controls so there's no reason to keep the old media controls resources/logic around any longer. It just wastes space. The non-iOS Apple controls must be kept though as they are still used on Windows. * Modules/mediacontrols/assets-apple-iOS.svg: Removed. * Modules/mediacontrols/mediaControlsiOS.css: Removed. * Modules/mediacontrols/mediaControlsiOS.js: Removed. * rendering/RenderTheme.h: (WebCore::RenderTheme::modernMediaControlsStyleSheet): Deleted. * rendering/RenderThemeCocoa.h: * rendering/RenderThemeCocoa.mm: (WebCore::RenderThemeCocoa::purgeCaches): Added. (WebCore::RenderThemeCocoa::mediaControlsStyleSheet): Added. (WebCore::RenderThemeCocoa::mediaControlsScripts): Added. (WebCore::RenderThemeCocoa::mediaControlsBase64StringForIconNameAndType): Added. * rendering/RenderThemeIOS.h: * rendering/RenderThemeIOS.mm: (WebCore::RenderThemeIOS::mediaControlsStyleSheet): Deleted. (WebCore::RenderThemeIOS::modernMediaControlsStyleSheet): Deleted. (WebCore::RenderThemeIOS::purgeCaches): Deleted. (WebCore::RenderThemeIOS::mediaControlsScripts): Deleted. (WebCore::RenderThemeIOS::mediaControlsBase64StringForIconNameAndType): Deleted. * rendering/RenderThemeMac.h: * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::mediaControlsStyleSheet): Deleted. (WebCore::RenderThemeMac::modernMediaControlsStyleSheet): Deleted. (WebCore::RenderThemeMac::purgeCaches): Deleted. (WebCore::RenderThemeMac::mediaControlsScripts): Deleted. (WebCore::RenderThemeMac::mediaControlsBase64StringForIconNameAndType): Deleted. Move media controls functions to `RenderThemeCocoa` since they are identical. * Modules/mediacontrols/MediaControlsHost.idl: * Modules/mediacontrols/MediaControlsHost.h: * Modules/mediacontrols/MediaControlsHost.cpp: (WebCore::MediaControlsHost::shadowRootCSSText): * css/mediaControls.css: * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): * html/MediaDocument.cpp: (WebCore::MediaDocumentParser::createDocumentStructure): (WebCore::MediaDocument::defaultEventHandler): * style/UserAgentStyle.cpp: (WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement): * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setModernMediaControlsEnabled): Deleted. (WebCore::RuntimeEnabledFeatures::modernMediaControlsEnabled const): Deleted. Replace `ModernMediaControlsEnabled` setting with `ENABLE_MODERN_MEDIA_CONTROLS` build flag. * html/track/TextTrackCueGeneric.cpp: Update the static `DEFAULTCAPTIONFONTSIZE` value for modern media controls. * Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css: * Modules/modern-media-controls/controls/text-tracks.css: Update comments. * css/mediaControlsiOS.css: Removed. This file was never included anywhere. * platform/audio/PlatformMediaSessionManager.h: (WebCore::PlatformMediaSessionManager::resetHaveEverRegisteredAsNowPlayingApplicationForTesting): added. * platform/audio/cocoa/MediaSessionManagerCocoa.mm: (WebCore::MediaSessionManagerCocoa::resetHaveEverRegisteredAsNowPlayingApplicationForTesting): added. * testing/Internals.cpp: (WebCore::Internals::resetToConsistentState): Drive-by: Reset `haveEverRegisteredAsNowPlayingApplication` to a consistent state between tests. This is expected by `LayoutTests/media/now-playing-status-without-media.html`. * bindings/js/WebCoreBuiltinNames.h: * WebCore.xcodeproj/project.pbxproj: Source/WebKit: Cocoa platforms are already using modern media controls so there's no reason to keep the old media controls resources/logic around any longer. It just wastes space. The non-iOS Apple controls must be kept though as they are still used on Windows. * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetModernMediaControlsEnabled): Deleted. (WKPreferencesGetModernMediaControlsEnabled): Deleted. Replace `ModernMediaControlsEnabled` setting with `ENABLE_MODERN_MEDIA_CONTROLS` build flag. * UIProcess/mac/WKFullScreenWindowController.mm: Update the static `minVideoWidth` value for modern media controls. Source/WebKitLegacy/mac: Cocoa platforms are already using modern media controls so there's no reason to keep the old media controls resources/logic around any longer. It just wastes space. The non-iOS Apple controls must be kept though as they are still used on Windows. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferencesPrivate.h: * WebView/WebPreferences.mm: (-[WebPreferences modernMediaControlsEnabled]): Deleted. (-[WebPreferences setModernMediaControlsEnabled:]): Deleted. Replace `ModernMediaControlsEnabled` setting with `ENABLE_MODERN_MEDIA_CONTROLS` build flag. Source/WebKitLegacy/win: Cocoa platforms are already using modern media controls so there's no reason to keep the old media controls resources/logic around any longer. It just wastes space. The non-iOS Apple controls must be kept though as they are still used on Windows. * Interfaces/IWebPreferencesPrivate.idl: * WebPreferenceKeysPrivate.h: * WebPreferences.h: * WebPreferences.cpp: (WebPreferences::setModernMediaControlsEnabled): Deleted. (WebPreferences::modernMediaControlsEnabled): Deleted. * WebView.cpp: (WebView::notifyPreferencesChanged): Replace `ModernMediaControlsEnabled` setting with `ENABLE_MODERN_MEDIA_CONTROLS` build flag. Source/WTF: Cocoa platforms are already using modern media controls so there's no reason to keep the old media controls resources/logic around any longer. It just wastes space. The non-iOS Apple controls must be kept though as they are still used on Windows. * wtf/PlatformEnable.h: * wtf/PlatformEnableCocoa.h: * Scripts/Preferences/WebPreferences.yaml: Replace `ModernMediaControlsEnabled` setting with `ENABLE_MODERN_MEDIA_CONTROLS` build flag. Tools: Cocoa platforms are already using modern media controls so there's no reason to keep the old media controls resources/logic around any longer. It just wastes space. The non-iOS Apple controls must be kept though as they are still used on Windows. * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): Replace `ModernMediaControlsEnabled` setting with `ENABLE_MODERN_MEDIA_CONTROLS` build flag. LayoutTests: Remove tests (and their expectations) that used `ModernMediaControlsEnabled=false`. * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: Removed. * accessibility/ios-simulator/media-with-aria-label-expected.txt: Removed. * accessibility/mac/media-emits-object-replacement.html: Removed. * accessibility/mac/media-emits-object-replacement-expected.txt: Removed. * accessibility/mac/video-tag-hit-test.html: Removed. * accessibility/mac/video-tag-hit-test-expected.txt: Removed. * accessibility/mac/video-volume-slider-accessibility.html: Removed. * accessibility/mac/video-volume-slider-accessibility-expected.txt: Removed. * accessibility/media-element.html: Removed. * platform/gtk/accessibility/media-element-expected.txt: Removed. * platform/mac/accessibility/media-element-expected.txt: Removed. * platform/wincairo/accessibility/media-element-expected.txt: Removed. * accessibility/media-emits-object-replacement.html: Removed. * accessibility/media-emits-object-replacement-expected.txt: Removed. * platform/glib/accessibility/media-emits-object-replacement-expected.txt: Removed. * accessibility/media-with-aria-label.html: Removed. * accessibility/media-with-aria-label-expected.txt: Removed. * compositing/video/poster.html: * compositing/video/poster-expected.html: * fast/hidpi/video-controls-in-hidpi.html: Removed. * platform/gtk/fast/hidpi/video-controls-in-hidpi-expected.txt: Removed. * platform/ios/fast/hidpi/video-controls-in-hidpi-expected.txt: Removed. * platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt: Removed. * platform/win/fast/hidpi/video-controls-in-hidpi-expected.txt: Removed. * platform/wincairo/fast/hidpi/video-controls-in-hidpi-expected.txt: Removed. * platform/wpe/fast/hidpi/video-controls-in-hidpi-expected.txt: Removed. * fast/layers/video-layer.html: Removed. * platform/gtk/fast/layers/video-layer-expected.png: Removed. * platform/gtk/fast/layers/video-layer-expected.txt: Removed. * platform/ios/fast/layers/video-layer-expected.txt: Removed. * platform/mac/fast/layers/video-layer-expected.png: Removed. * platform/mac/fast/layers/video-layer-expected.txt: Removed. * platform/win/fast/layers/video-layer-expected.txt: Removed. * platform/wincairo/fast/layers/video-layer-expected.txt: Removed. * platform/wpe/fast/layers/video-layer-expected.txt: Removed. * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fullscreen/video-controls-drag.html: Removed. * fullscreen/video-controls-drag-expected.txt: Removed. * fullscreen/video-controls-override.html: Removed. * fullscreen/video-controls-override-expected.txt: Removed. * fullscreen/video-controls-rtl.html: Removed. * fullscreen/video-controls-rtl-expected.txt: Removed. * fullscreen/video-controls-timeline.html: Removed. * fullscreen/video-controls-timeline-expected.txt: Removed. * http/tests/media/hls/hls-accessiblity-describes-video-menu.html: Removed. * http/tests/media/hls/hls-accessiblity-describes-video-menu-expected.txt: Removed. * http/tests/media/hls/hls-audio-tracks-has-audio.html: * http/tests/media/hls/hls-audio-tracks-locale-selection.html: * http/tests/media/hls/hls-audio-tracks.html: * http/tests/media/hls/hls-progress.html: * http/tests/media/hls/hls-webvtt-tracks.html: * http/tests/media/hls/range-request.html: * http/tests/media/hls/video-controls-live-stream.html: Removed. * platform/gtk/http/tests/media/hls/video-controls-live-stream-expected.txt: Removed. * platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt: Removed. * http/tests/media/hls/video-cookie.html: * http/tests/media/hls/video-duration-accessibility.html: Removed. * http/tests/media/hls/video-duration-accessibility-expected.txt: Removed. * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * inspector/css/pseudo-element-matches.html: * inspector/css/pseudo-element-matches-expected.txt: * media/accessibility-closed-captions-has-aria-owns.html: Removed. * media/accessibility-closed-captions-has-aria-owns-expected.txt: Removed. * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: Removed. * media/audio-as-video-fullscreen-expected.txt: Removed. * media/audio-controls-do-not-fade-out.html: Removed. * media/audio-controls-do-not-fade-out-expected.txt: Removed. * media/audio-controls-rendering.html: Removed. * platform/gtk/media/audio-controls-rendering-expected.txt: Removed. * platform/ios/media/audio-controls-rendering-expected.txt: Removed. * platform/mac/media/audio-controls-rendering-expected.txt: Removed. * platform/win/media/audio-controls-rendering-expected.txt: Removed. * platform/wincairo/media/audio-controls-rendering-expected.txt: Removed. * media/audio-controls-timeline-in-media-document.html: Removed. * media/audio-controls-timeline-in-media-document-expected.txt: Removed. * media/audio-delete-while-slider-thumb-clicked.html: Removed. * media/audio-delete-while-slider-thumb-clicked-expected.txt: Removed. * media/audio-delete-while-step-button-clicked.html: Removed. * media/audio-delete-while-step-button-clicked-expected.txt: Removed. * media/audio-repaint.html: Removed. * platform/gtk/media/audio-repaint-expected.txt: Removed. * platform/ios/media/audio-repaint-expected.txt: Removed. * platform/mac/media/audio-repaint-expected.txt: Removed. * platform/wincairo/media/audio-repaint-expected.txt: Removed. * media/click-placeholder-not-pausing.html: Removed. * media/click-placeholder-not-pausing-expected.txt: Removed. * media/click-volume-bar-not-pausing.html: Removed. * media/click-volume-bar-not-pausing-expected.txt: Removed. * media/controls-after-reload.html: Removed. * platform/gtk/media/controls-after-reload-expected.txt: Removed. * platform/mac-catalina/media/controls-after-reload-expected.txt: Removed. * platform/mac/media/controls-after-reload-expected.txt: Removed. * platform/win/media/controls-after-reload-expected.txt: Removed. * platform/wincairo/media/controls-after-reload-expected.txt: Removed. * media/controls-drag-timebar.html: Removed. * media/controls-drag-timebar-expected.txt: Removed. * media/controls-right-click-on-timebar.html: Removed. * media/controls-right-click-on-timebar-expected.txt: Removed. * media/controls-strict.html: Removed. * platform/gtk/media/controls-strict-expected.txt: Removed. * platform/ios/media/controls-strict-expected.txt: Removed. * platform/mac/media/controls-strict-expected.txt: Removed. * platform/mac/media/controls-strict-mode-expected.txt: Removed. * platform/win/media/controls-strict-expected.txt: Removed. * platform/wincairo/media/controls-strict-expected.txt: Removed. * media/controls-styling.html: Removed. * platform/gtk/media/controls-styling-expected.txt: Removed. * platform/mac/media/controls-styling-expected.txt: Removed. * platform/win/media/controls-styling-expected.txt: Removed. * platform/wincairo/media/controls-styling-expected.txt: Removed. * media/controls-styling-strict.html: Removed. * platform/gtk/media/controls-styling-strict-expected.txt: Removed. * platform/mac/media/controls-styling-strict-expected.txt: Removed. * platform/wincairo/media/controls-styling-strict-expected.txt: Removed. * media/controls-without-preload.html: Removed. * platform/gtk/media/controls-without-preload-expected.txt: Removed. * platform/ios/media/controls-without-preload-expected.txt: Removed. * platform/mac/media/controls-without-preload-expected.txt: Removed. * platform/win/media/controls-without-preload-expected.txt: Removed. * platform/wincairo/media/controls-without-preload-expected.txt: Removed. * media/controls/airplay-controls.html: Removed. * media/controls/airplay-controls-expected.txt: Removed. * media/controls/airplay-picker.html: Removed. * media/controls/airplay-picker-expected.txt: Removed. * media/controls/basic.html: Removed. * media/controls/basic-expected.txt: Removed. * media/controls/controls-test-helpers.js: Removed. * media/controls/default-size-should-show-scrubber.html: Removed. * media/controls/default-size-should-show-scrubber-expected.txt: Removed. * media/controls/elementOrder.html: Removed. * media/controls/elementOrder-expected.txt: Removed. * media/controls/forced-tracks-only.html: Removed. * media/controls/forced-tracks-only-expected.txt: Removed. * media/controls/fullscreen-button-inline-layout.html: Removed. * media/controls/fullscreen-button-inline-layout-expected.txt: Removed. * media/controls/inline-elements-dropoff-order.html: Removed. * media/controls/inline-elements-dropoff-order-expected.txt: Removed. * media/controls/picture-in-picture.html: Removed. * media/controls/picture-in-picture-expected.txt: Removed. * media/controls/pip-placeholder-without-video-controls.html: Removed. * media/controls/pip-placeholder-without-video-controls-expected.txt: Removed. * media/controls/showControlsButton.html: Removed. * media/controls/showControlsButton-expected.txt: Removed. * media/controls/statusDisplay.html: Removed. * media/controls/statusDisplay-expected.txt: Removed. * media/controls/statusDisplayBad.html: Removed. * media/controls/statusDisplayBad-expected.txt: Removed. * media/controls/track-menu.html: Removed. * media/controls/track-menu-expected.txt: Removed. * media/in-band-tracks.js: (seeked): Deleted. (testTextTrackMode): Deleted. (testCueStyle.seeked): Deleted. (testCueStyle.canplaythrough): Deleted. (testCueStyle): Deleted. * media/mac/controls-panel-not-clipped-out.html: Removed. * media/mac/controls-panel-not-clipped-out-expected.html: Removed. * media/media-captions-no-controls.html: * media/media-captions-no-controls-expected.txt: * media/media-controller-drag-crash.html: Removed. * media/media-controller-drag-crash-expected.txt: Removed. * media/media-controls-accessibility.html: Removed. * media/media-controls-accessibility-expected.txt: Removed. * media/media-controls-cancel-events.html: Removed. * media/media-controls-cancel-events-expected.txt: Removed. * media/media-controls-clone.html: Removed. * platform/gtk/media/media-controls-clone-expected.txt: Removed. * platform/ios/media/media-controls-clone-expected.txt: Removed. * platform/mac/media/media-controls-clone-expected.txt: Removed. * platform/wincairo/media/media-controls-clone-expected.txt: Removed. * media/media-controls-drag-timeline-set-controls-property.html: Removed. * media/media-controls-drag-timeline-set-controls-property-expected.txt: Removed. * media/media-controls-invalid-url.html: Removed. * media/media-controls-invalid-url-expected.txt: Removed. * platform/win/media/media-controls-invalid-url-expected.txt: Removed. * media/media-controls-play-button-updates.html: Removed. * platform/gtk/media/media-controls-play-button-updates-expected.png: Removed. * platform/gtk/media/media-controls-play-button-updates-expected.txt: Removed. * media/media-controls-play-button-updates-expected.txt: Removed. * media/media-controls-play-button-updates-expected.png: Removed. * media/media-controls-timeline-updates.html: Removed. * media/media-controls-timeline-updates-expected.txt: Removed. * media/media-controls-timeline-updates-after-playing.html: Removed. * media/media-controls-timeline-updates-after-playing-expected.txt: Removed. * media/media-controls-timeline-updates-when-hovered.html: Removed. * media/media-controls-timeline-updates-when-hovered-expected.txt: Removed. * media/media-controls.js: Removed. * media/media-document-audio-controls-visible.html: Removed. * media/media-document-audio-controls-visible-expected.txt: Removed. * media/media-document-audio-repaint.html: Removed. * platform/gtk/media/media-document-audio-repaint-expected.txt: Removed. * platform/mac/media/media-document-audio-repaint-expected.txt: Removed. * media/media-document-audio-repaint-expected.txt: Removed. * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/only-bcp47-language-tags-accepted-as-valid.html: * media/media-volume-slider-rendered-below.html: Removed. * media/media-volume-slider-rendered-below-expected.txt: Removed. * media/media-volume-slider-rendered-normal.html: Removed. * media/media-volume-slider-rendered-normal-expected.txt: Removed. * media/nodesFromRect-shadowContent.html: Removed. * media/nodesFromRect-shadowContent-expected.txt: Removed. * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: Removed. * media/require-user-gesture-to-load-video-expected.txt: Removed. * media/tab-focus-inside-media-elements.html: Removed. * media/tab-focus-inside-media-elements-expected.txt: Removed. * media/track/in-band/track-in-band-kate-ogg-mode.html: Removed. * media/track/in-band/track-in-band-kate-ogg-mode-expected.txt: Removed. * media/track/in-band/track-in-band-kate-ogg-style.html: Removed. * media/track/in-band/track-in-band-kate-ogg-style-expected.txt: Removed. * media/track/in-band/track-in-band-srt-mkv-mode.html: Removed. * media/track/in-band/track-in-band-srt-mkv-mode-expected.txt: Removed. * media/track/in-band/track-in-band-srt-mkv-style.html: Removed. * media/track/in-band/track-in-band-srt-mkv-style-expected.txt: Removed. * media/track/regions-webvtt/vtt-region-display.html: Removed. * media/track/regions-webvtt/vtt-region-display-expected.txt: Removed. * media/track/regions-webvtt/vtt-region-dom-layout.html: Removed. * media/track/regions-webvtt/vtt-region-dom-layout-expected.txt: Removed. * media/track/texttrackcue/texttrackcue-addcue.html: * media/track/texttrackcue/texttrackcue-displaycue.html: Removed. * media/track/texttrackcue/texttrackcue-displaycue-expected.txt: Removed. * media/track/track-automatic-subtitles.html: * media/track/track-css-all-cues.html: Removed. * media/track/track-css-all-cues-expected.txt: Removed. * media/track/track-css-cue-lifetime.html: Removed. * media/track/track-css-cue-lifetime-expected.txt: Removed. * media/track/track-css-matching.html: Removed. * media/track/track-css-matching-expected.txt: Removed. * media/track/track-css-matching-default.html: Removed. * media/track/track-css-matching-default-expected.txt: Removed. * media/track/track-css-matching-lang.html: Removed. * media/track/track-css-matching-lang-expected.txt: Removed. * media/track/track-css-matching-timestamps.html: Removed. * media/track/track-css-matching-timestamps-expected.txt: Removed. * media/track/track-css-property-allowlist-expected.txt: Removed. * media/track/track-css-property-allowlist.html: Removed. * media/track/track-css-stroke-cues.html: Removed. * media/track/track-css-stroke-cues-expected.txt: Removed. * media/track/track-css-user-override.html: Removed. * media/track/track-css-user-override-expected.txt: Removed. * media/track/track-css-visible-stroke.html: * media/track/track-cue-container-rendering-position.html: Removed. * media/track/track-cue-container-rendering-position-expected.txt: Removed. * media/track/track-cue-css.html: * media/track/track-cue-css-expected.html: * media/track/track-cue-left-align.html: * media/track/track-cue-left-align-expected-mismatch.html: * media/track/track-cue-line-position.html: * media/track/track-cue-line-position-expected-mismatch.html: * media/track/track-cue-mutable-fragment.html: * media/track/track-cue-mutable-text.html: Removed. * media/track/track-cue-mutable-text-expected.txt: Removed. * media/track/track-cue-nothing-to-render.html: Removed. * media/track/track-cue-nothing-to-render-expected.txt: Removed. * media/track/track-cue-overlap-snap-to-lines-not-set.html: Removed. * media/track/track-cue-overlap-snap-to-lines-not-set-expected.txt: Removed. * media/track/track-cue-rendering.html: Removed. * media/track/track-cue-rendering-expected.txt: Removed. * media/track/track-cue-rendering-horizontal.html: Removed. * platform/gtk/media/track/track-cue-rendering-horizontal-expected.png: Removed. * platform/gtk/media/track/track-cue-rendering-horizontal-expected.txt: Removed. * platform/ios/media/track/track-cue-rendering-horizontal-expected.txt: Removed. * platform/mac/media/track/track-cue-rendering-horizontal-expected.png: Removed. * platform/mac/media/track/track-cue-rendering-horizontal-expected.txt: Removed. * platform/win/media/track/track-cue-rendering-horizontal-expected.txt: Removed. * platform/wincairo/media/track/track-cue-rendering-horizontal-expected.txt: Removed. * media/track/track-cue-rendering-mode-changed.html: Removed. * media/track/track-cue-rendering-mode-changed-expected.txt: Removed. * media/track/track-cue-rendering-on-resize.html: Removed. * media/track/track-cue-rendering-on-resize-expected.txt: Removed. * media/track/track-cue-rendering-rtl.html: Removed. * media/track/track-cue-rendering-rtl-expected.txt: Removed. * media/track/track-cue-rendering-snap-to-lines-not-set.html: Removed. * media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Removed. * media/track/track-cue-rendering-tree-is-removed-properly.html: Removed. * media/track/track-cue-rendering-tree-is-removed-properly-expected.txt: Removed. * media/track/track-cue-rendering-vertical.html: Removed. * platform/gtk/media/track/track-cue-rendering-vertical-expected.png: Removed. * platform/gtk/media/track/track-cue-rendering-vertical-expected.txt: Removed. * platform/ios/media/track/track-cue-rendering-vertical-expected.txt: Removed. * platform/mac/media/track/track-cue-rendering-vertical-expected.txt: Removed. * platform/wincairo/media/track/track-cue-rendering-vertical-expected.txt: Removed. * media/track/track-cue-rendering-with-padding.html: Removed. * media/track/track-cue-rendering-with-padding-expected.txt: Removed. * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-forced-subtitles-in-band.html: * media/track/track-forced-subtitles-in-band-expected.txt: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-in-band-legacy-api.html: * media/track/track-in-band-legacy-api-expected.txt: * media/track/track-in-band-metadata-display-order.html: Removed. * media/track/track-in-band-metadata-display-order-expected.txt: Removed. * media/track/track-in-band-mode.html: * media/track/track-in-band-mode-expected.txt: * media/track/track-in-band-style.html: Removed. * media/track/track-in-band-style-expected.txt: Removed. * media/track/track-in-band-subtitles-too-large.html: Removed. * media/track/track-in-band-subtitles-too-large-expected.txt: Removed. * media/track/track-kind.html: * media/track/track-kind-expected.txt: * media/track/track-legacyapi-with-automatic-mode.html: * media/track/track-legacyapi-with-automatic-mode-expected.txt: * media/track/track-long-word-container-sizing.html: Removed. * media/track/track-long-word-container-sizing-expected.txt: Removed. * media/track/track-manual-mode.html: * media/track/track-manual-mode-expected.txt: * media/track/track-user-preferences.html: Removed. * media/track/track-user-preferences-expected.txt: Removed. * media/track/track-user-stylesheet.html: * media/track/track-user-stylesheet-expected.txt: * media/trackmenu-test.js: Removed. * media/video-click-dblckick-standalone.html: Removed. * media/video-click-dblckick-standalone-expected.txt: Removed. * media/video-controls-audiotracks-trackmenu.html: Removed. * media/video-controls-audiotracks-trackmenu-expected.txt: Removed. * media/video-controls-captions.html: Removed. * media/video-controls-captions-expected.txt: Removed. * media/video-controls-captions-trackmenu.html: Removed. * platform/gtk/media/video-controls-captions-trackmenu-expected.txt: Removed. * platform/ios/media/video-controls-captions-trackmenu-expected.txt: Removed. * platform/mac/media/video-controls-captions-trackmenu-expected.txt: Removed. * platform/wincairo/media/video-controls-captions-trackmenu-expected.txt: Removed. * media/video-controls-captions-trackmenu-hide-on-click.html: Removed. * platform/gtk/media/video-controls-captions-trackmenu-hide-on-click-expected.txt: Removed. * platform/ios/media/video-controls-captions-trackmenu-hide-on-click-expected.txt: Removed. * platform/mac/media/video-controls-captions-trackmenu-hide-on-click-expected.txt: Removed. * platform/wincairo/media/video-controls-captions-trackmenu-hide-on-click-expected.txt: Removed. * media/video-controls-captions-trackmenu-hide-on-click-outside.html: Removed. * media/video-controls-captions-trackmenu-hide-on-click-outside-expected.txt: Removed. * media/video-controls-captions-trackmenu-includes-enabled-track.html: Removed. * media/video-controls-captions-trackmenu-includes-enabled-track-expected.txt: Removed. * media/video-controls-captions-trackmenu-localized.html: Removed. * platform/gtk/media/video-controls-captions-trackmenu-localized-expected.txt: Removed. * platform/ios/media/video-controls-captions-trackmenu-localized-expected.txt: Removed. * platform/mac/media/video-controls-captions-trackmenu-localized-expected.txt: Removed. * platform/wincairo/media/video-controls-captions-trackmenu-localized-expected.txt: Removed. * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: Removed. * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles-expected.txt: Removed. * platform/gtk/media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles-expected.txt: Removed. * platform/mac/media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles-expected.txt: Removed. * media/video-controls-captions-trackmenu-sorted.html: Removed. * platform/gtk/media/video-controls-captions-trackmenu-sorted-expected.txt: Removed. * platform/ios/media/video-controls-captions-trackmenu-sorted-expected.txt: Removed. * platform/mac/media/video-controls-captions-trackmenu-sorted-expected.txt: Removed. * platform/win/media/video-controls-captions-trackmenu-sorted-expected.txt: Removed. * platform/wincairo/media/video-controls-captions-trackmenu-sorted-expected.txt: Removed. * media/video-controls-drop-and-restore-timeline.html: Removed. * media/video-controls-drop-and-restore-timeline-expected.txt: Removed. * media/video-controls-fullscreen-volume.html: Removed. * media/video-controls-fullscreen-volume-expected.txt: Removed. * media/video-controls-in-media-document.html: Removed. * media/video-controls-in-media-document-expected.txt: Removed. * media/video-controls-no-display-with-text-track.html: Removed. * media/video-controls-no-display-with-text-track-expected.txt: Removed. * media/video-controls-rendering.html: Removed. * platform/gtk/media/video-controls-rendering-expected.txt: Removed. * platform/ios/media/video-controls-rendering-expected.txt: Removed. * platform/mac/media/video-controls-rendering-expected.txt: Removed. * platform/win/media/video-controls-rendering-expected.txt: Removed. * platform/wincairo/media/video-controls-rendering-expected.txt: Removed. * media/video-controls-show-on-kb-or-ax-event.html: Removed. * media/video-controls-show-on-kb-or-ax-event-expected.txt: Removed. * media/video-controls-toggling.html: Removed. * media/video-controls-toggling-expected.txt: Removed. * media/video-controls-transformed.html: Removed. * media/video-controls-transformed-expected.txt: Removed. * media/video-controls-visible-audio-only.html: Removed. * media/video-controls-visible-audio-only-expected.txt: Removed. * media/video-controls-visible-exiting-fullscreen.html: Removed. * media/video-controls-visible-exiting-fullscreen-expected.txt: Removed. * media/video-controls-zoomed.html: Removed. * media/video-controls-zoomed-expected.txt: Removed. * media/video-display-toggle.html: Removed. * platform/gtk/media/video-display-toggle-expected.txt: Removed. * platform/ios/media/video-display-toggle-expected.txt: Removed. * platform/mac-catalina/media/video-display-toggle-expected.txt: Removed. * platform/mac-mojave/media/video-display-toggle-expected.txt: Removed. * platform/mac/media/video-display-toggle-expected.txt: Removed. * platform/win/media/video-display-toggle-expected.txt: Removed. * platform/wincairo/media/video-display-toggle-expected.txt: Removed. * media/video-empty-source.html: Removed. * platform/gtk/media/video-empty-source-expected.txt: Removed. * platform/ios/media/video-empty-source-expected.txt: Removed. * platform/mac/media/video-empty-source-expected.txt: Removed. * platform/win/media/video-empty-source-expected.txt: Removed. * platform/wincairo/media/video-empty-source-expected.txt: Removed. * media/video-fullscreen-only-controls.html: Removed. * media/video-fullscreen-only-controls-expected.txt: Removed. * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: Removed. * media/video-initially-hidden-volume-slider-up-expected.txt: Removed. * media/video-no-audio.html: Removed. * platform/gtk/media/video-no-audio-expected.txt: Removed. * platform/ios/media/video-no-audio-expected.txt: Removed. * platform/mac-catalina/media/video-no-audio-expected.txt: Removed. * platform/mac/media/video-no-audio-expected.txt: Removed. * platform/win/media/video-no-audio-expected.txt: Removed. * platform/wincairo/media/video-no-audio-expected.txt: Removed. * media/video-play-audio-require-user-gesture.html: Removed. * media/video-play-audio-require-user-gesture-expected.txt: Removed. * media/video-play-require-user-gesture.html: Removed. * media/video-play-require-user-gesture-expected.txt: Removed. * media/video-trackmenu-selection.html: Removed. * media/video-trackmenu-selection-expected.txt: Removed. * media/video-volume-slider.html: Removed. * platform/gtk/media/video-volume-slider-expected.txt: Removed. * platform/ios/media/video-volume-slider-expected.txt: Removed. * platform/mac-catalina/media/video-volume-slider-expected.txt: Removed. * platform/mac-mojave/media/video-volume-slider-expected.txt: Removed. * platform/mac/media/video-volume-slider-expected.txt: Removed. * platform/win/media/video-volume-slider-expected.txt: Removed. * platform/wincairo/media/video-volume-slider-expected.txt: Removed. * media/video-volume-slider-drag.html: Removed. * media/video-volume-slider-drag-expected.txt: Removed. * media/video-zoom-controls.html: Removed. * platform/gtk/media/video-zoom-controls-expected.txt: Removed. * platform/ios/media/video-zoom-controls-expected.txt: Removed. * platform/mac/media/video-zoom-controls-expected.txt: Removed. * platform/win/media/video-zoom-controls-expected.txt: Removed. * platform/wincairo/media/video-zoom-controls-expected.txt: Removed. * media/volume-bar-empty-when-muted.html: Removed. * media/volume-bar-empty-when-muted-expected.txt: Removed. * platform/gtk/media/volume-bar-empty-when-muted-expected.txt: Removed. * platform/mac/media/volume-bar-empty-when-muted-expected.txt: Removed. * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: Removed. * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container-expected.txt: Removed. * platform/mac/media/video-layer-crash-expected.txt: * TestExpectations: * platform/glib/TestExpectations: * platform/gtk/TestExpectations: * platform/gtk-wayland/TestExpectations: * platform/ios/TestExpectations: * platform/ios-device/TestExpectations: * platform/ios-simulator/TestExpectations: * platform/ios-wk2/TestExpectations: * platform/ipad/TestExpectations: * platform/mac/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/TestExpectations: * platform/win/TestExpectations: * platform/wincairo/TestExpectations: * platform/wincairo-wk1/TestExpectations: * platform/wpe/TestExpectations: Canonical link: https://commits.webkit.org/235609@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-03-22 22:17:49 +00:00
<!DOCTYPE html>
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
<html>
<head>
<title>media-fullscreen-return-to-inline</title>
<script src="video-test.js"></script>
<script src="media-file.js"></script>
<script>
function go()
{
Enable the mock video presentation mode in related layout tests and fix test failures https://bugs.webkit.org/show_bug.cgi?id=211645 Reviewed by Darin Adler. Source/WebCore: Clean up the internal states of video element regarding video presentation mode to simplify the task to write reliable layout tests for video fullscreen and Picture-in-Picture. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enterFullscreen): Update the states after we are sure the video element will enter fullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Remove the unnecessary "fullscreenModeChanged(VideoFullscreenModeNone)". * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::waitingToEnterFullscreen): * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): The function webkitDisplayingFullscreen() will return true after the process to enter fullscreen is completed. * html/HTMLVideoElement.h: Expose didBecomeFullscreenElement() when VIDEO_PRESENTATION_MODE is enabled. Source/WebKit: Fix the mistake in VideoFullscreenManager::supportsVideoFullscreen() introduced in r202274. * WebProcess/cocoa/VideoFullscreenManager.mm: (WebKit::VideoFullscreenManager::supportsVideoFullscreen const): Source/WebKitLegacy/mac: Call HTMLVideoElement::didBecomeFullscreenElement() after a video element enters fullscreen (to be consistent with WK2). * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidEnterFullScreen:]): * WebView/WebView.mm: (-[WebView _enterVideoFullscreenForVideoElement:mode:]): LayoutTests: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/media-fullscreen-inline.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/media-fullscreen.js: (async beginfullscreen): (async fullscreenerror): (addEventListeners): (beginfullscreen): Deleted. (fullscreenerror): Deleted. * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide-expected.txt: * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen-expected.txt: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen.html: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr-expected.txt: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr.html: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * platform/ios/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/TestExpectations: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/224639@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-11 21:03:24 +00:00
if (!window.internals) {
failTest('This test requires window.internals.');
return;
}
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
findMediaElement();
Enable the mock video presentation mode in related layout tests and fix test failures https://bugs.webkit.org/show_bug.cgi?id=211645 Reviewed by Darin Adler. Source/WebCore: Clean up the internal states of video element regarding video presentation mode to simplify the task to write reliable layout tests for video fullscreen and Picture-in-Picture. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enterFullscreen): Update the states after we are sure the video element will enter fullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Remove the unnecessary "fullscreenModeChanged(VideoFullscreenModeNone)". * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::waitingToEnterFullscreen): * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): The function webkitDisplayingFullscreen() will return true after the process to enter fullscreen is completed. * html/HTMLVideoElement.h: Expose didBecomeFullscreenElement() when VIDEO_PRESENTATION_MODE is enabled. Source/WebKit: Fix the mistake in VideoFullscreenManager::supportsVideoFullscreen() introduced in r202274. * WebProcess/cocoa/VideoFullscreenManager.mm: (WebKit::VideoFullscreenManager::supportsVideoFullscreen const): Source/WebKitLegacy/mac: Call HTMLVideoElement::didBecomeFullscreenElement() after a video element enters fullscreen (to be consistent with WK2). * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidEnterFullScreen:]): * WebView/WebView.mm: (-[WebView _enterVideoFullscreenForVideoElement:mode:]): LayoutTests: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/media-fullscreen-inline.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/media-fullscreen.js: (async beginfullscreen): (async fullscreenerror): (addEventListeners): (beginfullscreen): Deleted. (fullscreenerror): Deleted. * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide-expected.txt: * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen-expected.txt: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen.html: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr-expected.txt: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr.html: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * platform/ios/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/TestExpectations: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/224639@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-11 21:03:24 +00:00
internals.settings.setAllowsInlineMediaPlayback(false);
internals.settings.setAllowsInlineMediaPlaybackAfterFullscreen(false);
// Disable the Fullscreen API (element fullscreen) support
internals.settings.setFullScreenEnabled(false);
internals.setMockVideoPresentationModeEnabled(true);
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
waitForEventOnce('canplaythrough', canplaythrough);
Enable the mock video presentation mode in related layout tests and fix test failures https://bugs.webkit.org/show_bug.cgi?id=211645 Reviewed by Darin Adler. Source/WebCore: Clean up the internal states of video element regarding video presentation mode to simplify the task to write reliable layout tests for video fullscreen and Picture-in-Picture. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enterFullscreen): Update the states after we are sure the video element will enter fullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Remove the unnecessary "fullscreenModeChanged(VideoFullscreenModeNone)". * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::waitingToEnterFullscreen): * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): The function webkitDisplayingFullscreen() will return true after the process to enter fullscreen is completed. * html/HTMLVideoElement.h: Expose didBecomeFullscreenElement() when VIDEO_PRESENTATION_MODE is enabled. Source/WebKit: Fix the mistake in VideoFullscreenManager::supportsVideoFullscreen() introduced in r202274. * WebProcess/cocoa/VideoFullscreenManager.mm: (WebKit::VideoFullscreenManager::supportsVideoFullscreen const): Source/WebKitLegacy/mac: Call HTMLVideoElement::didBecomeFullscreenElement() after a video element enters fullscreen (to be consistent with WK2). * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidEnterFullScreen:]): * WebView/WebView.mm: (-[WebView _enterVideoFullscreenForVideoElement:mode:]): LayoutTests: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/media-fullscreen-inline.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/media-fullscreen.js: (async beginfullscreen): (async fullscreenerror): (addEventListeners): (beginfullscreen): Deleted. (fullscreenerror): Deleted. * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide-expected.txt: * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen-expected.txt: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen.html: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr-expected.txt: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr.html: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * platform/ios/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/TestExpectations: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/224639@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-11 21:03:24 +00:00
run('video.src = findMediaFile("video", "content/test")');
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
}
function canplaythrough()
{
Enable the mock video presentation mode in related layout tests and fix test failures https://bugs.webkit.org/show_bug.cgi?id=211645 Reviewed by Darin Adler. Source/WebCore: Clean up the internal states of video element regarding video presentation mode to simplify the task to write reliable layout tests for video fullscreen and Picture-in-Picture. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enterFullscreen): Update the states after we are sure the video element will enter fullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Remove the unnecessary "fullscreenModeChanged(VideoFullscreenModeNone)". * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::waitingToEnterFullscreen): * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): The function webkitDisplayingFullscreen() will return true after the process to enter fullscreen is completed. * html/HTMLVideoElement.h: Expose didBecomeFullscreenElement() when VIDEO_PRESENTATION_MODE is enabled. Source/WebKit: Fix the mistake in VideoFullscreenManager::supportsVideoFullscreen() introduced in r202274. * WebProcess/cocoa/VideoFullscreenManager.mm: (WebKit::VideoFullscreenManager::supportsVideoFullscreen const): Source/WebKitLegacy/mac: Call HTMLVideoElement::didBecomeFullscreenElement() after a video element enters fullscreen (to be consistent with WK2). * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidEnterFullScreen:]): * WebView/WebView.mm: (-[WebView _enterVideoFullscreenForVideoElement:mode:]): LayoutTests: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/media-fullscreen-inline.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/media-fullscreen.js: (async beginfullscreen): (async fullscreenerror): (addEventListeners): (beginfullscreen): Deleted. (fullscreenerror): Deleted. * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide-expected.txt: * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen-expected.txt: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen.html: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr-expected.txt: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr.html: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * platform/ios/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/TestExpectations: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/224639@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-11 21:03:24 +00:00
waitForEventOnce('webkitpresentationmodechanged', beginfullscreen1);
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
runWithKeyDown('video.play()');
}
Enable the mock video presentation mode in related layout tests and fix test failures https://bugs.webkit.org/show_bug.cgi?id=211645 Reviewed by Darin Adler. Source/WebCore: Clean up the internal states of video element regarding video presentation mode to simplify the task to write reliable layout tests for video fullscreen and Picture-in-Picture. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enterFullscreen): Update the states after we are sure the video element will enter fullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Remove the unnecessary "fullscreenModeChanged(VideoFullscreenModeNone)". * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::waitingToEnterFullscreen): * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): The function webkitDisplayingFullscreen() will return true after the process to enter fullscreen is completed. * html/HTMLVideoElement.h: Expose didBecomeFullscreenElement() when VIDEO_PRESENTATION_MODE is enabled. Source/WebKit: Fix the mistake in VideoFullscreenManager::supportsVideoFullscreen() introduced in r202274. * WebProcess/cocoa/VideoFullscreenManager.mm: (WebKit::VideoFullscreenManager::supportsVideoFullscreen const): Source/WebKitLegacy/mac: Call HTMLVideoElement::didBecomeFullscreenElement() after a video element enters fullscreen (to be consistent with WK2). * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidEnterFullScreen:]): * WebView/WebView.mm: (-[WebView _enterVideoFullscreenForVideoElement:mode:]): LayoutTests: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/media-fullscreen-inline.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/media-fullscreen.js: (async beginfullscreen): (async fullscreenerror): (addEventListeners): (beginfullscreen): Deleted. (fullscreenerror): Deleted. * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide-expected.txt: * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen-expected.txt: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen.html: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr-expected.txt: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr.html: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * platform/ios/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/TestExpectations: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/224639@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-11 21:03:24 +00:00
async function beginfullscreen1()
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
{
Let webkitDisplayingFullscreen() return true when a video element’s fullscreen mode is not VideoFullscreenModeNone https://bugs.webkit.org/show_bug.cgi?id=216426 Reviewed by Jer Noble. Source/WebCore: This patch moves m_changingVideoFullscreenMode of HTMLVideoElement to HTMLMediaElement. The flag is used to protect interfaces regarding video presentation mode changes. It also guards the code path when we use element fullscreen to implement video fullscreen (VIDEO_USES_ELEMENT_FULLSCREEN). It is better to store the flag in HTMLMediaElement to have fine control. This patch reverts the changing regarding HTMLVideoElement::webkitDisplayingFullscreen in r262456. This function will return true in the same run loop as a webkitpresentationmodechanged event is fired when a video element is entering fullscreen or picture-in-picture. Also, this patch adds Internals::isChangingPresentationMode which can be used by layout tests to check whether a video presentation mode change is completed. Covered by existing tests. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::isFullscreen const): Align the implementation with isStandardFullscreen(). (WebCore::HTMLMediaElement::enterFullscreen): Set m_changingVideoFullscreenMode to true if the video element is changing presentation mode. Also fix a bug about the flag m_waitingToEnterFullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Ditto. (WebCore::HTMLMediaElement::didBecomeFullscreenElement): Ditto. (WebCore::HTMLMediaElement::didStopBeingFullscreenElement): Ditto. * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::setChangingVideoFullscreenMode): (WebCore::HTMLMediaElement::isChangingVideoFullscreenMode const): (WebCore::HTMLMediaElement::waitingToEnterFullscreen): Deleted. * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Revert the change in r262456. Some web sites expect this function to return true if the video element is entering fullscreen and the event webkitpresentationmodechanged is fired. (WebCore::HTMLVideoElement::setPresentationMode): Remove code regarding m_isChangingVideoFullscreenMode. (WebCore::HTMLVideoElement::didEnterFullscreenOrPictureInPicture): Fix an event firing issue when a video element is entering fullscreen while exiting picture-in-picture. (WebCore::HTMLVideoElement::didExitFullscreenOrPictureInPicture): Fix an event firing issue when a video element is exiting picture-in-picture. (WebCore::HTMLVideoElement::isChangingPresentationMode const): This interface is used by layout tests (through Internals) to check whether a video presentation mode change is completed. (WebCore::HTMLVideoElement::didBecomeFullscreenElement): Deleted. * html/HTMLVideoElement.h: * testing/Internals.cpp: (WebCore::Internals::isChangingPresentationMode const): This interface is used by layout tests to check whether a video presentation mode change is completed. * testing/Internals.h: * testing/Internals.idl: Tools: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm: (TEST): Use internals.isChangingPresentationMode() to make sure a video presentation mode change (from inline to picture-in-picture) is completed before moving to the next step of the test. LayoutTests: Check Internals::isChangingPresentationMode instead of HTMLVideoElement::webkitDisplayingFullscreen to confirm the video presentation mode change is completed before moving to the next step of a test. * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/context-menu-actions.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/presentationmodechanged-fired-once-expected.txt: * media/presentationmodechanged-fired-once.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * media/video-playsinline-expected.txt: * media/video-playsinline.html: * media/video-presentation-mode-expected.txt: * media/video-presentation-mode.html: * media/video-webkit-playsinline-expected.txt: * media/video-webkit-playsinline.html: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/230793@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268865 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-22 15:22:39 +00:00
await testExpectedEventually("internals.isChangingPresentationMode(video)", false);
testExpected('video.webkitDisplayingFullscreen', true);
waitForEventOnce('webkitpresentationmodechanged', endfullscreen1);
Enable the mock video presentation mode in related layout tests and fix test failures https://bugs.webkit.org/show_bug.cgi?id=211645 Reviewed by Darin Adler. Source/WebCore: Clean up the internal states of video element regarding video presentation mode to simplify the task to write reliable layout tests for video fullscreen and Picture-in-Picture. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enterFullscreen): Update the states after we are sure the video element will enter fullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Remove the unnecessary "fullscreenModeChanged(VideoFullscreenModeNone)". * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::waitingToEnterFullscreen): * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): The function webkitDisplayingFullscreen() will return true after the process to enter fullscreen is completed. * html/HTMLVideoElement.h: Expose didBecomeFullscreenElement() when VIDEO_PRESENTATION_MODE is enabled. Source/WebKit: Fix the mistake in VideoFullscreenManager::supportsVideoFullscreen() introduced in r202274. * WebProcess/cocoa/VideoFullscreenManager.mm: (WebKit::VideoFullscreenManager::supportsVideoFullscreen const): Source/WebKitLegacy/mac: Call HTMLVideoElement::didBecomeFullscreenElement() after a video element enters fullscreen (to be consistent with WK2). * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidEnterFullScreen:]): * WebView/WebView.mm: (-[WebView _enterVideoFullscreenForVideoElement:mode:]): LayoutTests: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/media-fullscreen-inline.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/media-fullscreen.js: (async beginfullscreen): (async fullscreenerror): (addEventListeners): (beginfullscreen): Deleted. (fullscreenerror): Deleted. * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide-expected.txt: * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen-expected.txt: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen.html: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr-expected.txt: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr.html: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * platform/ios/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/TestExpectations: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/224639@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-11 21:03:24 +00:00
run('video.webkitExitFullscreen()');
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
}
Let webkitDisplayingFullscreen() return true when a video element’s fullscreen mode is not VideoFullscreenModeNone https://bugs.webkit.org/show_bug.cgi?id=216426 Reviewed by Jer Noble. Source/WebCore: This patch moves m_changingVideoFullscreenMode of HTMLVideoElement to HTMLMediaElement. The flag is used to protect interfaces regarding video presentation mode changes. It also guards the code path when we use element fullscreen to implement video fullscreen (VIDEO_USES_ELEMENT_FULLSCREEN). It is better to store the flag in HTMLMediaElement to have fine control. This patch reverts the changing regarding HTMLVideoElement::webkitDisplayingFullscreen in r262456. This function will return true in the same run loop as a webkitpresentationmodechanged event is fired when a video element is entering fullscreen or picture-in-picture. Also, this patch adds Internals::isChangingPresentationMode which can be used by layout tests to check whether a video presentation mode change is completed. Covered by existing tests. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::isFullscreen const): Align the implementation with isStandardFullscreen(). (WebCore::HTMLMediaElement::enterFullscreen): Set m_changingVideoFullscreenMode to true if the video element is changing presentation mode. Also fix a bug about the flag m_waitingToEnterFullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Ditto. (WebCore::HTMLMediaElement::didBecomeFullscreenElement): Ditto. (WebCore::HTMLMediaElement::didStopBeingFullscreenElement): Ditto. * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::setChangingVideoFullscreenMode): (WebCore::HTMLMediaElement::isChangingVideoFullscreenMode const): (WebCore::HTMLMediaElement::waitingToEnterFullscreen): Deleted. * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Revert the change in r262456. Some web sites expect this function to return true if the video element is entering fullscreen and the event webkitpresentationmodechanged is fired. (WebCore::HTMLVideoElement::setPresentationMode): Remove code regarding m_isChangingVideoFullscreenMode. (WebCore::HTMLVideoElement::didEnterFullscreenOrPictureInPicture): Fix an event firing issue when a video element is entering fullscreen while exiting picture-in-picture. (WebCore::HTMLVideoElement::didExitFullscreenOrPictureInPicture): Fix an event firing issue when a video element is exiting picture-in-picture. (WebCore::HTMLVideoElement::isChangingPresentationMode const): This interface is used by layout tests (through Internals) to check whether a video presentation mode change is completed. (WebCore::HTMLVideoElement::didBecomeFullscreenElement): Deleted. * html/HTMLVideoElement.h: * testing/Internals.cpp: (WebCore::Internals::isChangingPresentationMode const): This interface is used by layout tests to check whether a video presentation mode change is completed. * testing/Internals.h: * testing/Internals.idl: Tools: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm: (TEST): Use internals.isChangingPresentationMode() to make sure a video presentation mode change (from inline to picture-in-picture) is completed before moving to the next step of the test. LayoutTests: Check Internals::isChangingPresentationMode instead of HTMLVideoElement::webkitDisplayingFullscreen to confirm the video presentation mode change is completed before moving to the next step of a test. * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/context-menu-actions.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/presentationmodechanged-fired-once-expected.txt: * media/presentationmodechanged-fired-once.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * media/video-playsinline-expected.txt: * media/video-playsinline.html: * media/video-presentation-mode-expected.txt: * media/video-presentation-mode.html: * media/video-webkit-playsinline-expected.txt: * media/video-webkit-playsinline.html: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/230793@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268865 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-22 15:22:39 +00:00
async function endfullscreen1()
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
{
Let webkitDisplayingFullscreen() return true when a video element’s fullscreen mode is not VideoFullscreenModeNone https://bugs.webkit.org/show_bug.cgi?id=216426 Reviewed by Jer Noble. Source/WebCore: This patch moves m_changingVideoFullscreenMode of HTMLVideoElement to HTMLMediaElement. The flag is used to protect interfaces regarding video presentation mode changes. It also guards the code path when we use element fullscreen to implement video fullscreen (VIDEO_USES_ELEMENT_FULLSCREEN). It is better to store the flag in HTMLMediaElement to have fine control. This patch reverts the changing regarding HTMLVideoElement::webkitDisplayingFullscreen in r262456. This function will return true in the same run loop as a webkitpresentationmodechanged event is fired when a video element is entering fullscreen or picture-in-picture. Also, this patch adds Internals::isChangingPresentationMode which can be used by layout tests to check whether a video presentation mode change is completed. Covered by existing tests. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::isFullscreen const): Align the implementation with isStandardFullscreen(). (WebCore::HTMLMediaElement::enterFullscreen): Set m_changingVideoFullscreenMode to true if the video element is changing presentation mode. Also fix a bug about the flag m_waitingToEnterFullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Ditto. (WebCore::HTMLMediaElement::didBecomeFullscreenElement): Ditto. (WebCore::HTMLMediaElement::didStopBeingFullscreenElement): Ditto. * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::setChangingVideoFullscreenMode): (WebCore::HTMLMediaElement::isChangingVideoFullscreenMode const): (WebCore::HTMLMediaElement::waitingToEnterFullscreen): Deleted. * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Revert the change in r262456. Some web sites expect this function to return true if the video element is entering fullscreen and the event webkitpresentationmodechanged is fired. (WebCore::HTMLVideoElement::setPresentationMode): Remove code regarding m_isChangingVideoFullscreenMode. (WebCore::HTMLVideoElement::didEnterFullscreenOrPictureInPicture): Fix an event firing issue when a video element is entering fullscreen while exiting picture-in-picture. (WebCore::HTMLVideoElement::didExitFullscreenOrPictureInPicture): Fix an event firing issue when a video element is exiting picture-in-picture. (WebCore::HTMLVideoElement::isChangingPresentationMode const): This interface is used by layout tests (through Internals) to check whether a video presentation mode change is completed. (WebCore::HTMLVideoElement::didBecomeFullscreenElement): Deleted. * html/HTMLVideoElement.h: * testing/Internals.cpp: (WebCore::Internals::isChangingPresentationMode const): This interface is used by layout tests to check whether a video presentation mode change is completed. * testing/Internals.h: * testing/Internals.idl: Tools: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm: (TEST): Use internals.isChangingPresentationMode() to make sure a video presentation mode change (from inline to picture-in-picture) is completed before moving to the next step of the test. LayoutTests: Check Internals::isChangingPresentationMode instead of HTMLVideoElement::webkitDisplayingFullscreen to confirm the video presentation mode change is completed before moving to the next step of a test. * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/context-menu-actions.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/presentationmodechanged-fired-once-expected.txt: * media/presentationmodechanged-fired-once.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * media/video-playsinline-expected.txt: * media/video-playsinline.html: * media/video-presentation-mode-expected.txt: * media/video-presentation-mode.html: * media/video-webkit-playsinline-expected.txt: * media/video-webkit-playsinline.html: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/230793@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268865 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-22 15:22:39 +00:00
await testExpectedEventually("internals.isChangingPresentationMode(video)", false);
testExpected('video.webkitDisplayingFullscreen', false);
Enable the mock video presentation mode in related layout tests and fix test failures https://bugs.webkit.org/show_bug.cgi?id=211645 Reviewed by Darin Adler. Source/WebCore: Clean up the internal states of video element regarding video presentation mode to simplify the task to write reliable layout tests for video fullscreen and Picture-in-Picture. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enterFullscreen): Update the states after we are sure the video element will enter fullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Remove the unnecessary "fullscreenModeChanged(VideoFullscreenModeNone)". * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::waitingToEnterFullscreen): * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): The function webkitDisplayingFullscreen() will return true after the process to enter fullscreen is completed. * html/HTMLVideoElement.h: Expose didBecomeFullscreenElement() when VIDEO_PRESENTATION_MODE is enabled. Source/WebKit: Fix the mistake in VideoFullscreenManager::supportsVideoFullscreen() introduced in r202274. * WebProcess/cocoa/VideoFullscreenManager.mm: (WebKit::VideoFullscreenManager::supportsVideoFullscreen const): Source/WebKitLegacy/mac: Call HTMLVideoElement::didBecomeFullscreenElement() after a video element enters fullscreen (to be consistent with WK2). * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidEnterFullScreen:]): * WebView/WebView.mm: (-[WebView _enterVideoFullscreenForVideoElement:mode:]): LayoutTests: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/media-fullscreen-inline.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/media-fullscreen.js: (async beginfullscreen): (async fullscreenerror): (addEventListeners): (beginfullscreen): Deleted. (fullscreenerror): Deleted. * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide-expected.txt: * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen-expected.txt: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen.html: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr-expected.txt: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr.html: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * platform/ios/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/TestExpectations: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/224639@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-11 21:03:24 +00:00
testExpected('video.paused', true);
internals.settings.setAllowsInlineMediaPlaybackAfterFullscreen(true);
waitForEventOnce('webkitpresentationmodechanged', beginfullscreen2);
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
runWithKeyDown('video.play()');
}
Enable the mock video presentation mode in related layout tests and fix test failures https://bugs.webkit.org/show_bug.cgi?id=211645 Reviewed by Darin Adler. Source/WebCore: Clean up the internal states of video element regarding video presentation mode to simplify the task to write reliable layout tests for video fullscreen and Picture-in-Picture. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enterFullscreen): Update the states after we are sure the video element will enter fullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Remove the unnecessary "fullscreenModeChanged(VideoFullscreenModeNone)". * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::waitingToEnterFullscreen): * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): The function webkitDisplayingFullscreen() will return true after the process to enter fullscreen is completed. * html/HTMLVideoElement.h: Expose didBecomeFullscreenElement() when VIDEO_PRESENTATION_MODE is enabled. Source/WebKit: Fix the mistake in VideoFullscreenManager::supportsVideoFullscreen() introduced in r202274. * WebProcess/cocoa/VideoFullscreenManager.mm: (WebKit::VideoFullscreenManager::supportsVideoFullscreen const): Source/WebKitLegacy/mac: Call HTMLVideoElement::didBecomeFullscreenElement() after a video element enters fullscreen (to be consistent with WK2). * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidEnterFullScreen:]): * WebView/WebView.mm: (-[WebView _enterVideoFullscreenForVideoElement:mode:]): LayoutTests: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/media-fullscreen-inline.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/media-fullscreen.js: (async beginfullscreen): (async fullscreenerror): (addEventListeners): (beginfullscreen): Deleted. (fullscreenerror): Deleted. * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide-expected.txt: * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen-expected.txt: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen.html: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr-expected.txt: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr.html: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * platform/ios/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/TestExpectations: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/224639@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-11 21:03:24 +00:00
async function beginfullscreen2()
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
{
Let webkitDisplayingFullscreen() return true when a video element’s fullscreen mode is not VideoFullscreenModeNone https://bugs.webkit.org/show_bug.cgi?id=216426 Reviewed by Jer Noble. Source/WebCore: This patch moves m_changingVideoFullscreenMode of HTMLVideoElement to HTMLMediaElement. The flag is used to protect interfaces regarding video presentation mode changes. It also guards the code path when we use element fullscreen to implement video fullscreen (VIDEO_USES_ELEMENT_FULLSCREEN). It is better to store the flag in HTMLMediaElement to have fine control. This patch reverts the changing regarding HTMLVideoElement::webkitDisplayingFullscreen in r262456. This function will return true in the same run loop as a webkitpresentationmodechanged event is fired when a video element is entering fullscreen or picture-in-picture. Also, this patch adds Internals::isChangingPresentationMode which can be used by layout tests to check whether a video presentation mode change is completed. Covered by existing tests. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::isFullscreen const): Align the implementation with isStandardFullscreen(). (WebCore::HTMLMediaElement::enterFullscreen): Set m_changingVideoFullscreenMode to true if the video element is changing presentation mode. Also fix a bug about the flag m_waitingToEnterFullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Ditto. (WebCore::HTMLMediaElement::didBecomeFullscreenElement): Ditto. (WebCore::HTMLMediaElement::didStopBeingFullscreenElement): Ditto. * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::setChangingVideoFullscreenMode): (WebCore::HTMLMediaElement::isChangingVideoFullscreenMode const): (WebCore::HTMLMediaElement::waitingToEnterFullscreen): Deleted. * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Revert the change in r262456. Some web sites expect this function to return true if the video element is entering fullscreen and the event webkitpresentationmodechanged is fired. (WebCore::HTMLVideoElement::setPresentationMode): Remove code regarding m_isChangingVideoFullscreenMode. (WebCore::HTMLVideoElement::didEnterFullscreenOrPictureInPicture): Fix an event firing issue when a video element is entering fullscreen while exiting picture-in-picture. (WebCore::HTMLVideoElement::didExitFullscreenOrPictureInPicture): Fix an event firing issue when a video element is exiting picture-in-picture. (WebCore::HTMLVideoElement::isChangingPresentationMode const): This interface is used by layout tests (through Internals) to check whether a video presentation mode change is completed. (WebCore::HTMLVideoElement::didBecomeFullscreenElement): Deleted. * html/HTMLVideoElement.h: * testing/Internals.cpp: (WebCore::Internals::isChangingPresentationMode const): This interface is used by layout tests to check whether a video presentation mode change is completed. * testing/Internals.h: * testing/Internals.idl: Tools: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm: (TEST): Use internals.isChangingPresentationMode() to make sure a video presentation mode change (from inline to picture-in-picture) is completed before moving to the next step of the test. LayoutTests: Check Internals::isChangingPresentationMode instead of HTMLVideoElement::webkitDisplayingFullscreen to confirm the video presentation mode change is completed before moving to the next step of a test. * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/context-menu-actions.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/presentationmodechanged-fired-once-expected.txt: * media/presentationmodechanged-fired-once.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * media/video-playsinline-expected.txt: * media/video-playsinline.html: * media/video-presentation-mode-expected.txt: * media/video-presentation-mode.html: * media/video-webkit-playsinline-expected.txt: * media/video-webkit-playsinline.html: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/230793@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268865 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-22 15:22:39 +00:00
await testExpectedEventually("internals.isChangingPresentationMode(video)", false);
testExpected('video.webkitDisplayingFullscreen', true);
waitForEventOnce('webkitpresentationmodechanged', endfullscreen2);
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
run('video.webkitExitFullscreen()');
}
Let webkitDisplayingFullscreen() return true when a video element’s fullscreen mode is not VideoFullscreenModeNone https://bugs.webkit.org/show_bug.cgi?id=216426 Reviewed by Jer Noble. Source/WebCore: This patch moves m_changingVideoFullscreenMode of HTMLVideoElement to HTMLMediaElement. The flag is used to protect interfaces regarding video presentation mode changes. It also guards the code path when we use element fullscreen to implement video fullscreen (VIDEO_USES_ELEMENT_FULLSCREEN). It is better to store the flag in HTMLMediaElement to have fine control. This patch reverts the changing regarding HTMLVideoElement::webkitDisplayingFullscreen in r262456. This function will return true in the same run loop as a webkitpresentationmodechanged event is fired when a video element is entering fullscreen or picture-in-picture. Also, this patch adds Internals::isChangingPresentationMode which can be used by layout tests to check whether a video presentation mode change is completed. Covered by existing tests. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::isFullscreen const): Align the implementation with isStandardFullscreen(). (WebCore::HTMLMediaElement::enterFullscreen): Set m_changingVideoFullscreenMode to true if the video element is changing presentation mode. Also fix a bug about the flag m_waitingToEnterFullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Ditto. (WebCore::HTMLMediaElement::didBecomeFullscreenElement): Ditto. (WebCore::HTMLMediaElement::didStopBeingFullscreenElement): Ditto. * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::setChangingVideoFullscreenMode): (WebCore::HTMLMediaElement::isChangingVideoFullscreenMode const): (WebCore::HTMLMediaElement::waitingToEnterFullscreen): Deleted. * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Revert the change in r262456. Some web sites expect this function to return true if the video element is entering fullscreen and the event webkitpresentationmodechanged is fired. (WebCore::HTMLVideoElement::setPresentationMode): Remove code regarding m_isChangingVideoFullscreenMode. (WebCore::HTMLVideoElement::didEnterFullscreenOrPictureInPicture): Fix an event firing issue when a video element is entering fullscreen while exiting picture-in-picture. (WebCore::HTMLVideoElement::didExitFullscreenOrPictureInPicture): Fix an event firing issue when a video element is exiting picture-in-picture. (WebCore::HTMLVideoElement::isChangingPresentationMode const): This interface is used by layout tests (through Internals) to check whether a video presentation mode change is completed. (WebCore::HTMLVideoElement::didBecomeFullscreenElement): Deleted. * html/HTMLVideoElement.h: * testing/Internals.cpp: (WebCore::Internals::isChangingPresentationMode const): This interface is used by layout tests to check whether a video presentation mode change is completed. * testing/Internals.h: * testing/Internals.idl: Tools: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm: (TEST): Use internals.isChangingPresentationMode() to make sure a video presentation mode change (from inline to picture-in-picture) is completed before moving to the next step of the test. LayoutTests: Check Internals::isChangingPresentationMode instead of HTMLVideoElement::webkitDisplayingFullscreen to confirm the video presentation mode change is completed before moving to the next step of a test. * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/context-menu-actions.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/presentationmodechanged-fired-once-expected.txt: * media/presentationmodechanged-fired-once.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * media/video-playsinline-expected.txt: * media/video-playsinline.html: * media/video-presentation-mode-expected.txt: * media/video-presentation-mode.html: * media/video-webkit-playsinline-expected.txt: * media/video-webkit-playsinline.html: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/230793@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268865 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-22 15:22:39 +00:00
async function endfullscreen2()
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
{
Let webkitDisplayingFullscreen() return true when a video element’s fullscreen mode is not VideoFullscreenModeNone https://bugs.webkit.org/show_bug.cgi?id=216426 Reviewed by Jer Noble. Source/WebCore: This patch moves m_changingVideoFullscreenMode of HTMLVideoElement to HTMLMediaElement. The flag is used to protect interfaces regarding video presentation mode changes. It also guards the code path when we use element fullscreen to implement video fullscreen (VIDEO_USES_ELEMENT_FULLSCREEN). It is better to store the flag in HTMLMediaElement to have fine control. This patch reverts the changing regarding HTMLVideoElement::webkitDisplayingFullscreen in r262456. This function will return true in the same run loop as a webkitpresentationmodechanged event is fired when a video element is entering fullscreen or picture-in-picture. Also, this patch adds Internals::isChangingPresentationMode which can be used by layout tests to check whether a video presentation mode change is completed. Covered by existing tests. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::isFullscreen const): Align the implementation with isStandardFullscreen(). (WebCore::HTMLMediaElement::enterFullscreen): Set m_changingVideoFullscreenMode to true if the video element is changing presentation mode. Also fix a bug about the flag m_waitingToEnterFullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Ditto. (WebCore::HTMLMediaElement::didBecomeFullscreenElement): Ditto. (WebCore::HTMLMediaElement::didStopBeingFullscreenElement): Ditto. * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::setChangingVideoFullscreenMode): (WebCore::HTMLMediaElement::isChangingVideoFullscreenMode const): (WebCore::HTMLMediaElement::waitingToEnterFullscreen): Deleted. * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Revert the change in r262456. Some web sites expect this function to return true if the video element is entering fullscreen and the event webkitpresentationmodechanged is fired. (WebCore::HTMLVideoElement::setPresentationMode): Remove code regarding m_isChangingVideoFullscreenMode. (WebCore::HTMLVideoElement::didEnterFullscreenOrPictureInPicture): Fix an event firing issue when a video element is entering fullscreen while exiting picture-in-picture. (WebCore::HTMLVideoElement::didExitFullscreenOrPictureInPicture): Fix an event firing issue when a video element is exiting picture-in-picture. (WebCore::HTMLVideoElement::isChangingPresentationMode const): This interface is used by layout tests (through Internals) to check whether a video presentation mode change is completed. (WebCore::HTMLVideoElement::didBecomeFullscreenElement): Deleted. * html/HTMLVideoElement.h: * testing/Internals.cpp: (WebCore::Internals::isChangingPresentationMode const): This interface is used by layout tests to check whether a video presentation mode change is completed. * testing/Internals.h: * testing/Internals.idl: Tools: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm: (TEST): Use internals.isChangingPresentationMode() to make sure a video presentation mode change (from inline to picture-in-picture) is completed before moving to the next step of the test. LayoutTests: Check Internals::isChangingPresentationMode instead of HTMLVideoElement::webkitDisplayingFullscreen to confirm the video presentation mode change is completed before moving to the next step of a test. * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/context-menu-actions.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/presentationmodechanged-fired-once-expected.txt: * media/presentationmodechanged-fired-once.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * media/video-playsinline-expected.txt: * media/video-playsinline.html: * media/video-presentation-mode-expected.txt: * media/video-presentation-mode.html: * media/video-webkit-playsinline-expected.txt: * media/video-webkit-playsinline.html: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/230793@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268865 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-22 15:22:39 +00:00
await testExpectedEventually("internals.isChangingPresentationMode(video)", false);
testExpected('video.webkitDisplayingFullscreen', false);
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
testExpected('video.paused', false);
endTest();
}
</script>
</head>
<body onload="go()">
Enable the mock video presentation mode in related layout tests and fix test failures https://bugs.webkit.org/show_bug.cgi?id=211645 Reviewed by Darin Adler. Source/WebCore: Clean up the internal states of video element regarding video presentation mode to simplify the task to write reliable layout tests for video fullscreen and Picture-in-Picture. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enterFullscreen): Update the states after we are sure the video element will enter fullscreen. (WebCore::HTMLMediaElement::exitFullscreen): Remove the unnecessary "fullscreenModeChanged(VideoFullscreenModeNone)". * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::waitingToEnterFullscreen): * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): The function webkitDisplayingFullscreen() will return true after the process to enter fullscreen is completed. * html/HTMLVideoElement.h: Expose didBecomeFullscreenElement() when VIDEO_PRESENTATION_MODE is enabled. Source/WebKit: Fix the mistake in VideoFullscreenManager::supportsVideoFullscreen() introduced in r202274. * WebProcess/cocoa/VideoFullscreenManager.mm: (WebKit::VideoFullscreenManager::supportsVideoFullscreen const): Source/WebKitLegacy/mac: Call HTMLVideoElement::didBecomeFullscreenElement() after a video element enters fullscreen (to be consistent with WK2). * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidEnterFullScreen:]): * WebView/WebView.mm: (-[WebView _enterVideoFullscreenForVideoElement:mode:]): LayoutTests: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt: * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html: * media/media-fullscreen-inline.html: * media/media-fullscreen-loop-inline-expected.txt: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline-expected.txt: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline-expected.txt: * media/media-fullscreen-return-to-inline.html: * media/media-fullscreen.js: (async beginfullscreen): (async fullscreenerror): (addEventListeners): (beginfullscreen): Deleted. (fullscreenerror): Deleted. * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide-expected.txt: * media/modern-media-controls/css/webkit-cursor-visibility-auto-hide.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen-expected.txt: * media/modern-media-controls/media-controller/media-controller-click-on-video-background-should-pause-fullscreen.html: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr-expected.txt: * media/modern-media-controls/media-controller/media-controller-fullscreen-ltr.html: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt: * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html: * media/video-fullscreen-only-playback-expected.txt: * media/video-fullscreen-only-playback.html: * platform/ios/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/TestExpectations: * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/224639@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-11 21:03:24 +00:00
<video controls loop></video>
<p>Test that a &lt;video&gt; pauses after exiting fullscreen when the internal property "allowsInlineMediaPlaybackAfterFullscreen" is false.</p>
[IOS] Add setting to allow playback to continue inline after exiting fullscreen. https://bugs.webkit.org/show_bug.cgi?id=157912 Reviewed by Eric Carlson. Source/WebCore: Test: media/media-fullscreen-return-to-inline.html Allow playback to continue when exiting fullscreen via settings. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::exitFullscreen): * page/Settings.in: Source/WebKit/mac: Add a preference to control whether media should be allowed to continue playing inline when exiting fullscreen. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackAfterFullscreen]): (-[WebPreferences setAllowsInlineMediaPlaybackAfterFullscreen:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add a preference and configuration property to control whether media should be allowed to continue playing inline when exiting fullscreen. * Shared/WebPreferencesDefinitions.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _allowsInlineMediaPlaybackAfterFullscreen]): (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackAfterFullscreen:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/mac/WKFullScreenWindowController.mm: (disableScreenUpdates): (enableScreenUpdates): (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: * media/media-fullscreen-return-to-inline-expected.txt: Added. * media/media-fullscreen-return-to-inline.html: Added. * media/video-test.js: (runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk): (runWithKeyDown): Canonical link: https://commits.webkit.org/176037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-19 21:59:12 +00:00
</body>
</html>