Commit 4b9611c3 authored by François Beaufort's avatar François Beaufort Committed by Commit Bot

Enable PictureInPictureAPI feature on Desktop.

Picture-in-Picture API is now enabled by default on Chrome OS, Linux,
Mac, and Windows. Android will come later.

Intent to ship: https://groups.google.com/a/chromium.org/d/msg/blink-dev/ibVPbqBQapU/rUZIrPPLAQAJ

Bug: 806249
Change-Id: I32fb2b491406e5592e57f64a5483bebf887ebdc0
Reviewed-on: https://chromium-review.googlesource.com/1090728Reviewed-by: default avatarJochen Eisinger <jochen@chromium.org>
Reviewed-by: default avatarMounir Lamouri <mlamouri@chromium.org>
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Cr-Commit-Position: refs/heads/master@{#569186}
parent 5659d54d
...@@ -51,6 +51,7 @@ static void SetRuntimeFeatureDefaultsForPlatform() { ...@@ -51,6 +51,7 @@ static void SetRuntimeFeatureDefaultsForPlatform() {
WebRuntimeFeatures::EnableMediaSession(true); WebRuntimeFeatures::EnableMediaSession(true);
WebRuntimeFeatures::EnableMediaControlsOverlayPlayButton(true); WebRuntimeFeatures::EnableMediaControlsOverlayPlayButton(true);
WebRuntimeFeatures::EnableRemotePlaybackBackend(true); WebRuntimeFeatures::EnableRemotePlaybackBackend(true);
WebRuntimeFeatures::EnablePictureInPictureAPI(false);
#else // defined(OS_ANDROID) #else // defined(OS_ANDROID)
WebRuntimeFeatures::EnableNavigatorContentUtils(true); WebRuntimeFeatures::EnableNavigatorContentUtils(true);
// Tracking bug for the implementation: https://crbug.com/728609 // Tracking bug for the implementation: https://crbug.com/728609
......
...@@ -1054,6 +1054,7 @@ html element video ...@@ -1054,6 +1054,7 @@ html element video
property currentTime property currentTime
property defaultMuted property defaultMuted
property defaultPlaybackRate property defaultPlaybackRate
property disablePictureInPicture
property disableRemotePlayback property disableRemotePlayback
property duration property duration
property ended property ended
...@@ -1065,6 +1066,8 @@ html element video ...@@ -1065,6 +1066,8 @@ html element video
property muted property muted
property networkState property networkState
property onencrypted property onencrypted
property onenterpictureinpicture
property onleavepictureinpicture
property onwaitingforkey property onwaitingforkey
property pause property pause
property paused property paused
...@@ -1075,6 +1078,7 @@ html element video ...@@ -1075,6 +1078,7 @@ html element video
property preload property preload
property readyState property readyState
property remote property remote
property requestPictureInPicture
property seekable property seekable
property seeking property seeking
property setMediaKeys property setMediaKeys
......
...@@ -1279,6 +1279,8 @@ interface Document : Node ...@@ -1279,6 +1279,8 @@ interface Document : Node
getter onwebkitfullscreenerror getter onwebkitfullscreenerror
getter onwheel getter onwheel
getter origin getter origin
getter pictureInPictureElement
getter pictureInPictureEnabled
getter plugins getter plugins
getter pointerLockElement getter pointerLockElement
getter readyState getter readyState
...@@ -1326,6 +1328,7 @@ interface Document : Node ...@@ -1326,6 +1328,7 @@ interface Document : Node
method elementsFromPoint method elementsFromPoint
method evaluate method evaluate
method execCommand method execCommand
method exitPictureInPicture
method exitPointerLock method exitPointerLock
method getElementById method getElementById
method getElementsByClassName method getElementsByClassName
...@@ -3278,7 +3281,10 @@ interface HTMLUnknownElement : HTMLElement ...@@ -3278,7 +3281,10 @@ interface HTMLUnknownElement : HTMLElement
method constructor method constructor
interface HTMLVideoElement : HTMLMediaElement interface HTMLVideoElement : HTMLMediaElement
attribute @@toStringTag attribute @@toStringTag
getter disablePictureInPicture
getter height getter height
getter onenterpictureinpicture
getter onleavepictureinpicture
getter poster getter poster
getter videoHeight getter videoHeight
getter videoWidth getter videoWidth
...@@ -3288,11 +3294,15 @@ interface HTMLVideoElement : HTMLMediaElement ...@@ -3288,11 +3294,15 @@ interface HTMLVideoElement : HTMLMediaElement
getter webkitSupportsFullscreen getter webkitSupportsFullscreen
getter width getter width
method constructor method constructor
method requestPictureInPicture
method webkitEnterFullScreen method webkitEnterFullScreen
method webkitEnterFullscreen method webkitEnterFullscreen
method webkitExitFullScreen method webkitExitFullScreen
method webkitExitFullscreen method webkitExitFullscreen
setter disablePictureInPicture
setter height setter height
setter onenterpictureinpicture
setter onleavepictureinpicture
setter poster setter poster
setter width setter width
interface HashChangeEvent : Event interface HashChangeEvent : Event
...@@ -4457,6 +4467,13 @@ interface PhotoCapabilities ...@@ -4457,6 +4467,13 @@ interface PhotoCapabilities
getter imageWidth getter imageWidth
getter redEyeReduction getter redEyeReduction
method constructor method constructor
interface PictureInPictureWindow : EventTarget
attribute @@toStringTag
getter height
getter onresize
getter width
method constructor
setter onresize
interface Plugin interface Plugin
attribute @@toStringTag attribute @@toStringTag
getter description getter description
...@@ -6092,6 +6109,7 @@ interface ShadowRoot : DocumentFragment ...@@ -6092,6 +6109,7 @@ interface ShadowRoot : DocumentFragment
getter host getter host
getter innerHTML getter innerHTML
getter mode getter mode
getter pictureInPictureElement
getter pointerLockElement getter pointerLockElement
getter styleSheets getter styleSheets
method constructor method constructor
......
...@@ -123,6 +123,7 @@ class WebRuntimeFeatures { ...@@ -123,6 +123,7 @@ class WebRuntimeFeatures {
BLINK_PLATFORM_EXPORT static void EnablePaymentRequest(bool); BLINK_PLATFORM_EXPORT static void EnablePaymentRequest(bool);
BLINK_PLATFORM_EXPORT static void EnablePermissionsAPI(bool); BLINK_PLATFORM_EXPORT static void EnablePermissionsAPI(bool);
BLINK_PLATFORM_EXPORT static void EnablePictureInPicture(bool); BLINK_PLATFORM_EXPORT static void EnablePictureInPicture(bool);
BLINK_PLATFORM_EXPORT static void EnablePictureInPictureAPI(bool);
BLINK_PLATFORM_EXPORT static void EnablePreciseMemoryInfo(bool); BLINK_PLATFORM_EXPORT static void EnablePreciseMemoryInfo(bool);
BLINK_PLATFORM_EXPORT static void EnablePreloadDefaultIsMetadata(bool); BLINK_PLATFORM_EXPORT static void EnablePreloadDefaultIsMetadata(bool);
BLINK_PLATFORM_EXPORT static void EnablePreloadImageSrcSetEnabled(bool); BLINK_PLATFORM_EXPORT static void EnablePreloadImageSrcSetEnabled(bool);
......
...@@ -288,6 +288,10 @@ void WebRuntimeFeatures::EnablePictureInPicture(bool enable) { ...@@ -288,6 +288,10 @@ void WebRuntimeFeatures::EnablePictureInPicture(bool enable) {
RuntimeEnabledFeatures::SetPictureInPictureEnabled(enable); RuntimeEnabledFeatures::SetPictureInPictureEnabled(enable);
} }
void WebRuntimeFeatures::EnablePictureInPictureAPI(bool enable) {
RuntimeEnabledFeatures::SetPictureInPictureAPIEnabled(enable);
}
void WebRuntimeFeatures::EnablePreloadDefaultIsMetadata(bool enable) { void WebRuntimeFeatures::EnablePreloadDefaultIsMetadata(bool enable) {
RuntimeEnabledFeatures::SetPreloadDefaultIsMetadataEnabled(enable); RuntimeEnabledFeatures::SetPreloadDefaultIsMetadataEnabled(enable);
} }
......
...@@ -965,9 +965,10 @@ ...@@ -965,9 +965,10 @@
name: "PictureInPicture", name: "PictureInPicture",
settable_from_internals: true, settable_from_internals: true,
}, },
// Picture-in-Picture API is disabled by default on Android.
{ {
name: "PictureInPictureAPI", name: "PictureInPictureAPI",
status: "experimental", status: "stable",
}, },
{ {
name: "PreciseMemoryInfo", name: "PreciseMemoryInfo",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment