Commit 04c9faaa authored by Jennifer Apacible's avatar Jennifer Apacible Committed by Commit Bot

Reland "[Picture in Picture] Add modern media control."

This is a reland of a776bce4

This updates the utils filepath so the new test passes.

Original change's description:
> [Picture in Picture] Add modern media control.
>
> Currently, there is only a PiP button for the legacy / non-modern
> set of media controls. This adds and enables the modern version.
>
> BUG: 726619 823109
> Change-Id: Iddb2d8393d5cf519bb6e32639d5f640bc341fc6f
> Reviewed-on: https://chromium-review.googlesource.com/966980
> Commit-Queue: apacible <apacible@chromium.org>
> Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
> Reviewed-by: Tommy Steimel <steimel@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#548358}

TBR=mlamouri@chromium.org,steimel@chromium.org

BUG: 726619 823109
Change-Id: I311c137f70b8e5f2ee2681ac8ffd022f2a272d8a
Reviewed-on: https://chromium-review.googlesource.com/998078Reviewed-by: default avatarMounir Lamouri <mlamouri@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548675}
parent 05084dfd
<!DOCTYPE html>
<title>media controls picture in picture button for a video element with only audio</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../media-file.js"></script>
<script src="../../media-controls.js"></script>
<script src="../utils.js"></script>
<body>
<script>
async_test(t => {
enablePictureInPictureForTest(t);
var video = document.createElement('video');
video.setAttribute('controls', '');
video.src = '../../content/test.wav';
document.body.appendChild(video);
video.onloadeddata = t.step_func_done(function() {
assertPictureInPictureButtonNotVisible(video);
});
video.onloadedmetadata = t.step_func(function() {
assertPictureInPictureButtonNotVisible(video);
});
});
</script>
</body>
\ No newline at end of file
......@@ -534,9 +534,7 @@ void MediaControlsImpl::InitializeControls() {
volume_slider_->SetIsWanted(false);
}
// TODO(apacible): Enable for modern controls when SVG is added.
if (RuntimeEnabledFeatures::PictureInPictureEnabled() && !IsModern() &&
MediaElement().IsHTMLVideoElement()) {
if (RuntimeEnabledFeatures::PictureInPictureEnabled()) {
picture_in_picture_button_ =
new MediaControlPictureInPictureButtonElement(*this);
picture_in_picture_button_->SetIsWanted(
......@@ -579,8 +577,7 @@ void MediaControlsImpl::InitializeControls() {
overflow_list_->AppendChild(
toggle_closed_captions_button_->CreateOverflowElement(
new MediaControlToggleClosedCaptionsButtonElement(*this)));
if (RuntimeEnabledFeatures::PictureInPictureEnabled() && !IsModern() &&
MediaElement().IsHTMLVideoElement()) {
if (RuntimeEnabledFeatures::PictureInPictureEnabled()) {
overflow_list_->AppendChild(
picture_in_picture_button_->CreateOverflowElement(
new MediaControlPictureInPictureButtonElement(*this)));
......
<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24" fill="#000000">
<path d="M19 11h-8v6h8v-6zm4 8V4.98C23 3.88 22.1 3 21 3H3c-1.1 0-2 .88-2 1.98V19c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2zm-2 .02H3V4.97h18v14.05z"/>
<path fill="none" d="M0 0h24v24H0V0z"/>
</svg>
......@@ -146,7 +146,8 @@ video::-internal-media-controls-overflow-button,
audio::-internal-media-controls-overflow-button,
video::-webkit-media-controls-toggle-closed-captions-button,
audio::-internal-media-controls-download-button,
video::-internal-media-controls-download-button {
video::-internal-media-controls-download-button,
video::-internal-media-controls-picture-in-picture-button {
-webkit-appearance: -internal-media-control;
background-size: 24px;
background-repeat: no-repeat;
......@@ -232,6 +233,12 @@ video::-internal-media-controls-overflow-button,
audio::-internal-media-controls-overflow-button {
background-image: -webkit-image-set(url(ic_menu.svg) 1x);
}
video::-internal-media-controls-picture-in-picture-button {
background-image: -webkit-image-set(
url(ic_picture_in_picture.svg) 1x);
}
video::-webkit-media-controls:not(.audio-only) [pseudo="-webkit-media-controls-panel"] [pseudo="-internal-media-controls-overflow-button"] {
background-image: -webkit-image-set(url(ic_menu_white.svg) 1x);
}
......
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