Commit 3ef23fc2 authored by François Beaufort's avatar François Beaufort Committed by Commit Bot

[Picture-in-Picture] Add Desktop-only Origin Trial

Intent to Experiment: https://groups.google.com/a/chromium.org/d/msg/blink-dev/xQiDYZEnwaA/MNGbYJnaBwAJ

Bug: 806249
Change-Id: I0828e52221100f6b6ae576304650466bfdd79188
Reviewed-on: https://chromium-review.googlesource.com/1047671
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: default avatarJochen Eisinger <jochen@chromium.org>
Reviewed-by: default avatarMounir Lamouri <mlamouri@chromium.org>
Reviewed-by: default avatarIan Clelland <iclelland@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557986}
parent 73fe3c43
......@@ -4558,6 +4558,9 @@ crbug.com/811977 virtual/video-surface-layer/media/picture-in-picture/picture-in
crbug.com/806249 virtual/video-surface-layer/media/picture-in-picture/controls/picture-in-picture-button.html [ Failure ]
crbug.com/806249 virtual/video-surface-layer/media/picture-in-picture/controls/picture-in-picture-video-with-audio-only-button.html [ Failure ]
# TODO(fbeaufort) Remove when Picture-in-Picture Origin Trial for Desktop ends.
crbug.com/806249 [ Android ] virtual/origin-trials-runtimeflags-disabled/http/tests/origin_trials/webexposed/picture-in-picture-api-origin-trial-interfaces.html [ Failure ]
# Sheriff 2018-02-26
crbug.com/816475 [ Win7 Linux ] external/wpt/webrtc/RTCDTMFSender-ontonechange.https.html [ Failure Pass ]
crbug.com/816914 [ Mac ] fast/canvas/canvas-drawImage-live-video.html [ Failure Pass ]
......
<!DOCTYPE html>
<meta charset="utf-8">
<!-- Generate token with the command:
generate_token.py http://127.0.0.1:8000 PictureInPictureAPI --expire-timestamp=2000000000
-- -->
<meta http-equiv="origin-trial" content="AnMoDHlV+HvtwZWfMIUkSky4JXkziEsX/it6PNmHxLnBW+Tz5xAPQVyZTb527gXY2yW53m1ylzeSPXAUnDyJPAUAAABbeyJvcmlnaW4iOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwgImZlYXR1cmUiOiAiUGljdHVyZUluUGljdHVyZUFQSSIsICJleHBpcnkiOiAyMDAwMDAwMDAwfQ==" />
<title>Picture-in-Picture API - interfaces and properties exposed by origin trial</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/origin-trials-helper.js"></script>
<script>
test(t => {
OriginTrialsHelper.check_properties(this,
{'PictureInPictureWindow': ['width', 'height', 'onresize'],
'Document': ['pictureInPictureEnabled', 'pictureInPictureElement', 'exitPictureInPicture'],
'HTMLVideoElement': ['requestPictureInPicture', 'disablePictureInPicture', 'onenterpictureinpicture', 'onleavepictureinpicture']
});
}, 'Picture-in-Picture API interfaces and properties in Origin-Trial enabled document.');
</script>
......@@ -6,7 +6,7 @@
// https://wicg.github.io/picture-in-picture/#documentorshadowroot-extension
[
ImplementedAs=DocumentPictureInPicture,
RuntimeEnabled=PictureInPictureAPI
OriginTrialEnabled=PictureInPictureAPI
]
partial interface Document {
readonly attribute boolean pictureInPictureEnabled;
......
......@@ -5,7 +5,7 @@
// https://wicg.github.io/picture-in-picture/#htmlvideoelement-extensions
[
ImplementedAs=HTMLVideoElementPictureInPicture,
RuntimeEnabled=PictureInPictureAPI
OriginTrialEnabled=PictureInPictureAPI
]
partial interface HTMLVideoElement {
[CallWith=ScriptState] Promise<PictureInPictureWindow> requestPictureInPicture();
......
......@@ -4,7 +4,7 @@
// https://wicg.github.io/picture-in-picture/#interface-picture-in-picture-window
[
RuntimeEnabled=PictureInPictureAPI
OriginTrialEnabled=PictureInPictureAPI
]
interface PictureInPictureWindow : EventTarget {
readonly attribute long width;
......
......@@ -5,7 +5,7 @@
// https://wicg.github.io/picture-in-picture/#documentorshadowroot-extension
[
ImplementedAs=ShadowRootPictureInPicture,
RuntimeEnabled=PictureInPictureAPI
OriginTrialEnabled=PictureInPictureAPI
]
partial interface ShadowRoot {
// TODO(crbug.com/656517): Define this attribute in DocumentOrShadowRoot.
......
......@@ -145,9 +145,7 @@ bool IsSupportedInFeaturePolicy(mojom::FeaturePolicyFeature feature) {
case mojom::FeaturePolicyFeature::kAmbientLightSensor:
case mojom::FeaturePolicyFeature::kGyroscope:
case mojom::FeaturePolicyFeature::kMagnetometer:
return true;
case mojom::FeaturePolicyFeature::kPictureInPicture:
return RuntimeEnabledFeatures::PictureInPictureAPIEnabled();
case mojom::FeaturePolicyFeature::kSyncXHR:
return true;
case mojom::FeaturePolicyFeature::kUnsizedMedia:
......@@ -192,10 +190,8 @@ const FeatureNameMap& GetDefaultFeatureNameMap() {
mojom::FeaturePolicyFeature::kGyroscope);
default_feature_name_map.Set("magnetometer",
mojom::FeaturePolicyFeature::kMagnetometer);
if (RuntimeEnabledFeatures::PictureInPictureAPIEnabled()) {
default_feature_name_map.Set(
"picture-in-picture", mojom::FeaturePolicyFeature::kPictureInPicture);
}
default_feature_name_map.Set("picture-in-picture",
mojom::FeaturePolicyFeature::kPictureInPicture);
if (RuntimeEnabledFeatures::ExperimentalProductivityFeaturesEnabled()) {
default_feature_name_map.Set(
"image-compression", mojom::FeaturePolicyFeature::kImageCompression);
......
......@@ -966,6 +966,8 @@
},
{
name: "PictureInPictureAPI",
origin_trial_feature_name: "PictureInPictureAPI",
origin_trial_os: ["chromeos", "linux", "macosx", "win"],
status: "experimental",
},
{
......
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