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() {
WebRuntimeFeatures::EnableMediaSession(true);
WebRuntimeFeatures::EnableMediaControlsOverlayPlayButton(true);
WebRuntimeFeatures::EnableRemotePlaybackBackend(true);
WebRuntimeFeatures::EnablePictureInPictureAPI(false);
#else // defined(OS_ANDROID)
WebRuntimeFeatures::EnableNavigatorContentUtils(true);
// Tracking bug for the implementation: https://crbug.com/728609
......
......@@ -1054,6 +1054,7 @@ html element video
property currentTime
property defaultMuted
property defaultPlaybackRate
property disablePictureInPicture
property disableRemotePlayback
property duration
property ended
......@@ -1065,6 +1066,8 @@ html element video
property muted
property networkState
property onencrypted
property onenterpictureinpicture
property onleavepictureinpicture
property onwaitingforkey
property pause
property paused
......@@ -1075,6 +1078,7 @@ html element video
property preload
property readyState
property remote
property requestPictureInPicture
property seekable
property seeking
property setMediaKeys
......
......@@ -1279,6 +1279,8 @@ interface Document : Node
getter onwebkitfullscreenerror
getter onwheel
getter origin
getter pictureInPictureElement
getter pictureInPictureEnabled
getter plugins
getter pointerLockElement
getter readyState
......@@ -1326,6 +1328,7 @@ interface Document : Node
method elementsFromPoint
method evaluate
method execCommand
method exitPictureInPicture
method exitPointerLock
method getElementById
method getElementsByClassName
......@@ -3278,7 +3281,10 @@ interface HTMLUnknownElement : HTMLElement
method constructor
interface HTMLVideoElement : HTMLMediaElement
attribute @@toStringTag
getter disablePictureInPicture
getter height
getter onenterpictureinpicture
getter onleavepictureinpicture
getter poster
getter videoHeight
getter videoWidth
......@@ -3288,11 +3294,15 @@ interface HTMLVideoElement : HTMLMediaElement
getter webkitSupportsFullscreen
getter width
method constructor
method requestPictureInPicture
method webkitEnterFullScreen
method webkitEnterFullscreen
method webkitExitFullScreen
method webkitExitFullscreen
setter disablePictureInPicture
setter height
setter onenterpictureinpicture
setter onleavepictureinpicture
setter poster
setter width
interface HashChangeEvent : Event
......@@ -4457,6 +4467,13 @@ interface PhotoCapabilities
getter imageWidth
getter redEyeReduction
method constructor
interface PictureInPictureWindow : EventTarget
attribute @@toStringTag
getter height
getter onresize
getter width
method constructor
setter onresize
interface Plugin
attribute @@toStringTag
getter description
......@@ -6092,6 +6109,7 @@ interface ShadowRoot : DocumentFragment
getter host
getter innerHTML
getter mode
getter pictureInPictureElement
getter pointerLockElement
getter styleSheets
method constructor
......
......@@ -123,6 +123,7 @@ class WebRuntimeFeatures {
BLINK_PLATFORM_EXPORT static void EnablePaymentRequest(bool);
BLINK_PLATFORM_EXPORT static void EnablePermissionsAPI(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 EnablePreloadDefaultIsMetadata(bool);
BLINK_PLATFORM_EXPORT static void EnablePreloadImageSrcSetEnabled(bool);
......
......@@ -288,6 +288,10 @@ void WebRuntimeFeatures::EnablePictureInPicture(bool enable) {
RuntimeEnabledFeatures::SetPictureInPictureEnabled(enable);
}
void WebRuntimeFeatures::EnablePictureInPictureAPI(bool enable) {
RuntimeEnabledFeatures::SetPictureInPictureAPIEnabled(enable);
}
void WebRuntimeFeatures::EnablePreloadDefaultIsMetadata(bool enable) {
RuntimeEnabledFeatures::SetPreloadDefaultIsMetadataEnabled(enable);
}
......
......@@ -965,9 +965,10 @@
name: "PictureInPicture",
settable_from_internals: true,
},
// Picture-in-Picture API is disabled by default on Android.
{
name: "PictureInPictureAPI",
status: "experimental",
status: "stable",
},
{
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