New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 726619 link

Starred by 27 users

Issue metadata

Status: Fixed
Owner:
no longer active
Closed: Aug 29
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Feature


Sign in to add a comment

[Meta] Picture in Picture

Project Member Reported by apaci...@chromium.org, May 26 2017

Issue description

This crbug keeps track of setup work and links to relevant bugs.

 
Blockedon: 739854
Blockedon: 739859
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7f6009dff057f9a9c23672d642ef0dde90340369

commit 7f6009dff057f9a9c23672d642ef0dde90340369
Author: lethalantidote <lethalantidote@chromium.org>
Date: Fri Jul 07 21:47:39 2017

Replaces VideoLayer with a SurfaceLayer in WebMediaPlayerImpl

This CL creates the necessary interfaces to allow WebMediaPlayer have a SuraceLayer that is able to obtain SurfaceIds via The SurfaceLayerBridge.

In this CL you will also find:
- Renames CanvasSurfaceLayerBridge to SurfaceLayerBridge.
- SurfaceLayerBridge now owns the WebLayer.
- A WebSurfaceLayerBridge interface that allows the creation of SurfaceLayerBridge and the access of its WebLayer in media/blink.

BUG= 726619 

Review-Url: https://codereview.chromium.org/2956713003
Cr-Commit-Position: refs/heads/master@{#485060}

[modify] https://crrev.com/7f6009dff057f9a9c23672d642ef0dde90340369/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/7f6009dff057f9a9c23672d642ef0dde90340369/media/blink/webmediaplayer_impl.h
[modify] https://crrev.com/7f6009dff057f9a9c23672d642ef0dde90340369/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/7f6009dff057f9a9c23672d642ef0dde90340369/third_party/WebKit/Source/core/html/HTMLCanvasElement.h
[modify] https://crrev.com/7f6009dff057f9a9c23672d642ef0dde90340369/third_party/WebKit/Source/modules/canvas/HTMLCanvasElementModule.cpp
[modify] https://crrev.com/7f6009dff057f9a9c23672d642ef0dde90340369/third_party/WebKit/Source/platform/BUILD.gn
[add] https://crrev.com/7f6009dff057f9a9c23672d642ef0dde90340369/third_party/WebKit/Source/platform/exported/WebSurfaceLayerBridge.cpp
[rename] https://crrev.com/7f6009dff057f9a9c23672d642ef0dde90340369/third_party/WebKit/Source/platform/graphics/SurfaceLayerBridge.cpp
[rename] https://crrev.com/7f6009dff057f9a9c23672d642ef0dde90340369/third_party/WebKit/Source/platform/graphics/SurfaceLayerBridge.h
[modify] https://crrev.com/7f6009dff057f9a9c23672d642ef0dde90340369/third_party/WebKit/public/BUILD.gn
[add] https://crrev.com/7f6009dff057f9a9c23672d642ef0dde90340369/third_party/WebKit/public/platform/WebSurfaceLayerBridge.h

Blockedon: -739859 -739854 746182
Project Member

Comment 7 by bugdroid1@chromium.org, Sep 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/733449312c294e03a57570003dcfd022dcc1929c

commit 733449312c294e03a57570003dcfd022dcc1929c
Author: Jennifer Apacible <apacible@chromium.org>
Date: Tue Sep 05 22:33:10 2017

Add OWNERS file for c/b/ui/*/overlay.

Adding committers working on picture in picture as OWNERS.

Bug:  726619 
Change-Id: Ibb40660cb663a40e9ab06ccb1cd06c1dbbe829cf
Reviewed-on: https://chromium-review.googlesource.com/647949
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499771}
[add] https://crrev.com/733449312c294e03a57570003dcfd022dcc1929c/chrome/browser/ui/overlay/OWNERS
[add] https://crrev.com/733449312c294e03a57570003dcfd022dcc1929c/chrome/browser/ui/views/overlay/OWNERS

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5814278e85a3d3f99cb691fa036819d8da0b0203

commit 5814278e85a3d3f99cb691fa036819d8da0b0203
Author: Jennifer Apacible <apacible@chromium.org>
Date: Mon Oct 09 23:53:54 2017

Create picture in picture directory and add OWNERS.

Adding committers working on picture in picture as OWNERS. This
directory will house classes that control the PIP window.

Bug:  726619 
Change-Id: Ibf892201b2c2883194bdb4432d8f958224cbfed4
Reviewed-on: https://chromium-review.googlesource.com/647349
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507540}
[add] https://crrev.com/5814278e85a3d3f99cb691fa036819d8da0b0203/chrome/browser/picture_in_picture/OWNERS

Project Member

Comment 9 by bugdroid1@chromium.org, Dec 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e863a24b6ce673cee5d1b641779f8f866bbdb391

commit e863a24b6ce673cee5d1b641779f8f866bbdb391
Author: Jennifer Apacible <apacible@chromium.org>
Date: Wed Dec 20 20:27:49 2017

[Picture in Picture] Update switch.

This change moves the picture in picture switch to
media_switches.cc/.h.  This allows the switch to be referenced
in third_party/ directories via RuntimeEnabledFeatures.

Bug:  726619 
Change-Id: I489e9deea4cbab54f667fa3182b2f04c3c9f34b9
Reviewed-on: https://chromium-review.googlesource.com/831263
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525432}
[modify] https://crrev.com/e863a24b6ce673cee5d1b641779f8f866bbdb391/chrome/browser/about_flags.cc
[modify] https://crrev.com/e863a24b6ce673cee5d1b641779f8f866bbdb391/chrome/browser/renderer_context_menu/render_view_context_menu.cc
[modify] https://crrev.com/e863a24b6ce673cee5d1b641779f8f866bbdb391/chrome/common/chrome_switches.cc
[modify] https://crrev.com/e863a24b6ce673cee5d1b641779f8f866bbdb391/chrome/common/chrome_switches.h
[modify] https://crrev.com/e863a24b6ce673cee5d1b641779f8f866bbdb391/content/child/runtime_features.cc
[modify] https://crrev.com/e863a24b6ce673cee5d1b641779f8f866bbdb391/media/base/media_switches.cc
[modify] https://crrev.com/e863a24b6ce673cee5d1b641779f8f866bbdb391/media/base/media_switches.h
[modify] https://crrev.com/e863a24b6ce673cee5d1b641779f8f866bbdb391/third_party/WebKit/Source/platform/exported/WebRuntimeFeatures.cpp
[modify] https://crrev.com/e863a24b6ce673cee5d1b641779f8f866bbdb391/third_party/WebKit/Source/platform/runtime_enabled_features.json5
[modify] https://crrev.com/e863a24b6ce673cee5d1b641779f8f866bbdb391/third_party/WebKit/public/platform/WebRuntimeFeatures.h
[modify] https://crrev.com/e863a24b6ce673cee5d1b641779f8f866bbdb391/tools/metrics/histograms/enums.xml

Project Member

Comment 10 by bugdroid1@chromium.org, Jan 3 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ab905b5f7b40a35fa4f651eefae0207604aa43e8

commit ab905b5f7b40a35fa4f651eefae0207604aa43e8
Author: Jennifer Apacible <apacible@chromium.org>
Date: Wed Jan 03 05:08:42 2018

[Picture in Picture] Add Picture In Picture Media Controls Button.

This adds a button in the media controls for the picture in
picture feature. This is currently behind a flag and currently doesn't
do anything.

Bug:  726619 
Change-Id: I2cb3151769016ff4e5c26fb6eb2319bdeab2fcae
Reviewed-on: https://chromium-review.googlesource.com/832949
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526623}
[modify] https://crrev.com/ab905b5f7b40a35fa4f651eefae0207604aa43e8/content/app/strings/content_strings.grd
[modify] https://crrev.com/ab905b5f7b40a35fa4f651eefae0207604aa43e8/content/child/blink_platform_impl.cc
[modify] https://crrev.com/ab905b5f7b40a35fa4f651eefae0207604aa43e8/third_party/WebKit/Source/modules/media_controls/BUILD.gn
[modify] https://crrev.com/ab905b5f7b40a35fa4f651eefae0207604aa43e8/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp
[modify] https://crrev.com/ab905b5f7b40a35fa4f651eefae0207604aa43e8/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.h
[add] https://crrev.com/ab905b5f7b40a35fa4f651eefae0207604aa43e8/third_party/WebKit/Source/modules/media_controls/elements/MediaControlPictureInPictureButtonElement.cpp
[add] https://crrev.com/ab905b5f7b40a35fa4f651eefae0207604aa43e8/third_party/WebKit/Source/modules/media_controls/elements/MediaControlPictureInPictureButtonElement.h
[add] https://crrev.com/ab905b5f7b40a35fa4f651eefae0207604aa43e8/third_party/WebKit/Source/modules/media_controls/resources/default_100_percent/legacy/mediaplayer_pictureinpicture.png
[modify] https://crrev.com/ab905b5f7b40a35fa4f651eefae0207604aa43e8/third_party/WebKit/Source/modules/media_controls/resources/legacyMediaControls.css
[modify] https://crrev.com/ab905b5f7b40a35fa4f651eefae0207604aa43e8/third_party/WebKit/public/platform/WebLocalizedString.h
[modify] https://crrev.com/ab905b5f7b40a35fa4f651eefae0207604aa43e8/tools/metrics/histograms/histograms.xml

Project Member

Comment 11 by bugdroid1@chromium.org, Jan 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3f0489100bdc8ee85dfe5145233b0da969c45379

commit 3f0489100bdc8ee85dfe5145233b0da969c45379
Author: Jennifer Apacible <apacible@chromium.org>
Date: Fri Jan 19 20:10:31 2018

[Picture in Picture] Add interstitial.

This interstitial is shown when the video is in picture in picture
(pip) mode. This will be hooked up after pip works end to end.

String and layout of the interstitial subject to change.

Bug:  726619 
Change-Id: I8d82ff2d6a344cc162d5283d74ee5dfc26480c39
Reviewed-on: https://chromium-review.googlesource.com/726977
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530595}
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/content/app/strings/content_strings.grd
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/content/child/blink_platform_impl.cc
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/content/renderer/media/webmediaplayer_ms.cc
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/content/renderer/media/webmediaplayer_ms.h
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/content/renderer/media/webmediaplayer_ms_unittest.cc
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/content/renderer/media_capture_from_element/html_video_element_capturer_source_unittest.cc
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/media/blink/webmediaplayer_impl.h
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/media/blink/webmediaplayer_impl_unittest.cc
[add] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/LayoutTests/media/controls/picture-in-picture-button.html
[add] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/LayoutTests/media/controls/picture-in-picture-interstitial.html
[add] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/LayoutTests/media/controls/picture-in-picture.js
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/LayoutTests/media/media-controls.js
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/core/dom/Node.h
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/core/html/BUILD.gn
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/core/html/media/HTMLAudioElement.h
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/core/html/media/HTMLMediaElement.cpp
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/core/html/media/HTMLMediaElement.h
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/core/html/media/HTMLVideoElement.cpp
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/core/html/media/HTMLVideoElement.h
[add] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/core/html/media/PictureInPictureInterstitial.cpp
[add] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/core/html/media/PictureInPictureInterstitial.h
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/core/layout/LayoutMedia.cpp
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/modules/media_controls/elements/MediaControlPictureInPictureButtonElement.cpp
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/modules/media_controls/resources/legacyMediaControls.css
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/platform/runtime_enabled_features.json5
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/Source/platform/testing/EmptyWebMediaPlayer.h
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/public/platform/WebLocalizedString.h
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/public/platform/WebMediaPlayer.h
[modify] https://crrev.com/3f0489100bdc8ee85dfe5145233b0da969c45379/third_party/WebKit/public/platform/WebMediaPlayerClient.h

Project Member

Comment 12 by bugdroid1@chromium.org, Jan 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/60415dc18890f72ef54a7e56481ea71548969f00

commit 60415dc18890f72ef54a7e56481ea71548969f00
Author: Mostyn Bramley-Moore <mostynb@vewd.com>
Date: Fri Jan 19 22:55:45 2018

[jumbo] avoid Picture in Picture interstitial symbol clashes

These same constant names are used in MediaRemotingInterstitial.cpp,
which causes the jumbo build to fail.

Bug:  726619 
TBR=jochen@chromium.org

Change-Id: I2c2cc45f010b1212185d59a58dcf070ef0e16ee1
Reviewed-on: https://chromium-review.googlesource.com/876015
Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com>
Reviewed-by: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530643}
[modify] https://crrev.com/60415dc18890f72ef54a7e56481ea71548969f00/third_party/WebKit/Source/core/html/media/PictureInPictureInterstitial.cpp

Blockedon: 805516
Blockedon: 809982
Blocking: 806249
Project Member

Comment 16 by bugdroid1@chromium.org, Mar 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/41a73f163ee48a2b1968403eb7a9c90076851c18

commit 41a73f163ee48a2b1968403eb7a9c90076851c18
Author: Mounir Lamouri <mlamouri@chromium.org>
Date: Wed Mar 07 18:13:13 2018

Picture-in-Picture: build overlay/ and picture-in-picture/ on Android.

This will simplify the plumbing required for Android as it will be
shared with the one on desktop.

Bug:  726619 
Change-Id: I19cf0b6befac15d540e869c195e04d9d71ea1f28
Reviewed-on: https://chromium-review.googlesource.com/946255
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: apacible <apacible@chromium.org>
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541502}
[modify] https://crrev.com/41a73f163ee48a2b1968403eb7a9c90076851c18/chrome/browser/BUILD.gn
[rename] https://crrev.com/41a73f163ee48a2b1968403eb7a9c90076851c18/chrome/browser/overlay/OWNERS
[rename] https://crrev.com/41a73f163ee48a2b1968403eb7a9c90076851c18/chrome/browser/overlay/overlay_surface_embedder.cc
[rename] https://crrev.com/41a73f163ee48a2b1968403eb7a9c90076851c18/chrome/browser/overlay/overlay_surface_embedder.h
[rename] https://crrev.com/41a73f163ee48a2b1968403eb7a9c90076851c18/chrome/browser/overlay/overlay_window.h
[modify] https://crrev.com/41a73f163ee48a2b1968403eb7a9c90076851c18/chrome/browser/picture_in_picture/picture_in_picture_window_controller.cc
[modify] https://crrev.com/41a73f163ee48a2b1968403eb7a9c90076851c18/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc
[modify] https://crrev.com/41a73f163ee48a2b1968403eb7a9c90076851c18/chrome/browser/ui/BUILD.gn
[add] https://crrev.com/41a73f163ee48a2b1968403eb7a9c90076851c18/chrome/browser/ui/android/overlay/overlay_window_android.cc
[modify] https://crrev.com/41a73f163ee48a2b1968403eb7a9c90076851c18/chrome/browser/ui/views/overlay/overlay_window_views.h

Project Member

Comment 17 by bugdroid1@chromium.org, Mar 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ee4c468a7f81a3c7e6e9f81dcfa5c8ad9699f050

commit ee4c468a7f81a3c7e6e9f81dcfa5c8ad9699f050
Author: Jennifer Apacible <apacible@chromium.org>
Date: Sat Mar 24 06:57:19 2018

[Picture in Picture] Track current PiP'd video.

Keep track of the id of the video currently in Picture-in-Picture
mode. This is used for controlling video playback, such as play
and pause.

First of several patches relevant to controlling the video from
the PiP'd window.

BUG:  726619 
Change-Id: Ie07dcc78d59c7b95e549e350479ee4d154400762
Reviewed-on: https://chromium-review.googlesource.com/960565
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Frank Liberato <liberato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545679}
[modify] https://crrev.com/ee4c468a7f81a3c7e6e9f81dcfa5c8ad9699f050/content/browser/media/media_web_contents_observer.cc
[modify] https://crrev.com/ee4c468a7f81a3c7e6e9f81dcfa5c8ad9699f050/content/browser/media/media_web_contents_observer.h
[modify] https://crrev.com/ee4c468a7f81a3c7e6e9f81dcfa5c8ad9699f050/content/browser/web_contents/web_contents_impl_unittest.cc
[modify] https://crrev.com/ee4c468a7f81a3c7e6e9f81dcfa5c8ad9699f050/content/common/media/media_player_delegate_messages.h
[modify] https://crrev.com/ee4c468a7f81a3c7e6e9f81dcfa5c8ad9699f050/content/renderer/media/renderer_webmediaplayer_delegate.cc
[modify] https://crrev.com/ee4c468a7f81a3c7e6e9f81dcfa5c8ad9699f050/content/renderer/media/renderer_webmediaplayer_delegate.h
[modify] https://crrev.com/ee4c468a7f81a3c7e6e9f81dcfa5c8ad9699f050/content/renderer/media/stream/webmediaplayer_ms_unittest.cc
[modify] https://crrev.com/ee4c468a7f81a3c7e6e9f81dcfa5c8ad9699f050/media/blink/webmediaplayer_delegate.h
[modify] https://crrev.com/ee4c468a7f81a3c7e6e9f81dcfa5c8ad9699f050/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/ee4c468a7f81a3c7e6e9f81dcfa5c8ad9699f050/media/blink/webmediaplayer_impl_unittest.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Apr 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/02897b762a9d414334439a044d4f4ee35482bfb7

commit 02897b762a9d414334439a044d4f4ee35482bfb7
Author: Jennifer Apacible <apacible@chromium.org>
Date: Sun Apr 01 01:00:49 2018

[Picture in Picture] Exit PiP from WMPI.

This clears the PiP video id from MediaWebContentsObserver.

Future work, including completely tearing down on the PiP window
side, will be added once there is messaging between the
PictureInPictureWindowController and the MediaWebContentsObserver.

BUG:  726619   823172 
Change-Id: I923acf848e71fd43ce8c2532e25bf876836bd0d1
Reviewed-on: https://chromium-review.googlesource.com/967239
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Frank Liberato <liberato@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547393}
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/chrome/browser/overlay/overlay_surface_embedder.h
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/chrome/browser/picture_in_picture/picture_in_picture_window_controller.cc
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/chrome/browser/ui/browser.cc
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/content/browser/media/media_web_contents_observer.cc
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/content/browser/media/media_web_contents_observer.h
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/content/common/media/media_player_delegate_messages.h
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/content/renderer/media/renderer_webmediaplayer_delegate.cc
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/content/renderer/media/renderer_webmediaplayer_delegate.h
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/content/renderer/media/stream/webmediaplayer_ms.cc
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/content/renderer/media/stream/webmediaplayer_ms.h
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/content/renderer/media/stream/webmediaplayer_ms_unittest.cc
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/content/renderer/media_capture_from_element/html_video_element_capturer_source_unittest.cc
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/media/blink/webmediaplayer_delegate.h
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/media/blink/webmediaplayer_impl.h
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/media/blink/webmediaplayer_impl_unittest.cc
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/third_party/WebKit/Source/platform/testing/EmptyWebMediaPlayer.h
[modify] https://crrev.com/02897b762a9d414334439a044d4f4ee35482bfb7/third_party/WebKit/public/platform/WebMediaPlayer.h

Project Member

Comment 19 by bugdroid1@chromium.org, Apr 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d43a0af1e94849bc70456b9cab6ba44e0d8d0d12

commit d43a0af1e94849bc70456b9cab6ba44e0d8d0d12
Author: Jennifer Apacible <apacible@chromium.org>
Date: Thu Apr 05 05:33:04 2018

[Picture in Picture] Update LayoutTest files.

This change removes some a duplicate function to enable Picture in
Picture for LayoutTests. It also consolidates TestExpectations and
moves the existing tests to the same directory.

BUG:  726619 
Change-Id: I5f46bb6886ac9b88bb2bd23a2c38fe77ead00ace
Reviewed-on: https://chromium-review.googlesource.com/994256
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548341}
[modify] https://crrev.com/d43a0af1e94849bc70456b9cab6ba44e0d8d0d12/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/d43a0af1e94849bc70456b9cab6ba44e0d8d0d12/third_party/WebKit/LayoutTests/media/media-controls.js
[rename] https://crrev.com/d43a0af1e94849bc70456b9cab6ba44e0d8d0d12/third_party/WebKit/LayoutTests/media/picture-in-picture/picture-in-picture-interstitial.html
[rename] https://crrev.com/d43a0af1e94849bc70456b9cab6ba44e0d8d0d12/third_party/WebKit/LayoutTests/media/picture-in-picture/utils.js

Project Member

Comment 21 by bugdroid1@chromium.org, Apr 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/253ec1175121a9f74ac1ddbabe64429849a0c82a

commit 253ec1175121a9f74ac1ddbabe64429849a0c82a
Author: Kenneth Russell <kbr@chromium.org>
Date: Thu Apr 05 10:02:31 2018

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

This reverts commit a776bce43e66547197918b212ce1236c80298980.

Reason for revert: new layout test is failing on multiple platforms; see https://bugs.chromium.org/p/chromium/issues/detail?id=823109#c2 .

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,apacible@chromium.org,steimel@chromium.org

Change-Id: I8b2b26e40ed3743858c99d993a1535899bfcbf36
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/997612
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548378}
[delete] https://crrev.com/d90e694fc6f5199e727200f6b36f361351497344/third_party/WebKit/LayoutTests/media/picture-in-picture/controls/picture-in-picture-video-with-audio-only-button.html
[modify] https://crrev.com/253ec1175121a9f74ac1ddbabe64429849a0c82a/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp
[delete] https://crrev.com/d90e694fc6f5199e727200f6b36f361351497344/third_party/WebKit/Source/modules/media_controls/resources/ic_picture_in_picture.svg
[modify] https://crrev.com/253ec1175121a9f74ac1ddbabe64429849a0c82a/third_party/WebKit/Source/modules/media_controls/resources/modernMediaControls.css

Project Member

Comment 22 by bugdroid1@chromium.org, Apr 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c

commit d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c
Author: Jennifer Apacible <apacible@chromium.org>
Date: Thu Apr 05 15:29:12 2018

[Picture in Picture] Move generic code to content/.

Currently, all Picture in Picture code is housed in chrome/. Since
only some of the Picture in Picture work is Chrome specific, we move
the more generic work into content/.

This change completely moves the PictureInPictureWindowController
and OverlaySurfaceEmbedder into content/.

This change will also pave for some future work related to user
initiated commands from the window, such as play/pause. IPC messaging
for MediaPlayerDelegateMsg must be done through content/ rather than
in chrome/.

OverlayWindowViews continues to be the desktop Chrome implementation
of OverlayWindow, which is now moved into content/. With the
convergence of historically platform-dependent implementations (views
vs cocoa) into just views, there will only be one window implementation
for Chrome.

BUG:  726619   821874 
Change-Id: I6ef73552c6729aec235f4a6d176fd4109f6674b3
Reviewed-on: https://chromium-review.googlesource.com/972841
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548428}
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/chrome/browser/BUILD.gn
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/chrome/browser/chrome_content_browser_client.h
[delete] https://crrev.com/bdc2b6900dc5a33bc44b60fc68dbe87bd04305de/chrome/browser/picture_in_picture/picture_in_picture_window_controller.cc
[delete] https://crrev.com/bdc2b6900dc5a33bc44b60fc68dbe87bd04305de/chrome/browser/picture_in_picture/picture_in_picture_window_controller.h
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/chrome/browser/renderer_context_menu/render_view_context_menu.cc
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/chrome/browser/ui/android/overlay/overlay_window_android.cc
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/chrome/browser/ui/browser.cc
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/chrome/browser/ui/browser.h
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/chrome/browser/ui/views/overlay/OWNERS
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/chrome/browser/ui/views/overlay/overlay_window_views.h
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/content/browser/BUILD.gn
[rename] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/content/browser/picture_in_picture/OWNERS
[rename] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/content/browser/picture_in_picture/overlay_surface_embedder.cc
[rename] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/content/browser/picture_in_picture/overlay_surface_embedder.h
[add] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.cc
[add] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.h
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/content/public/browser/BUILD.gn
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/content/public/browser/content_browser_client.cc
[modify] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/content/public/browser/content_browser_client.h
[rename] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/content/public/browser/overlay_window.h
[add] https://crrev.com/d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c/content/public/browser/picture_in_picture_window_controller.h

Project Member

Comment 23 by bugdroid1@chromium.org, Apr 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/746bf6d72fce5b360345ead1e7f27a6af38bd2ba

commit 746bf6d72fce5b360345ead1e7f27a6af38bd2ba
Author: Stephen McGruer <smcgruer@chromium.org>
Date: Thu Apr 05 16:25:30 2018

Revert "[Picture in Picture] Move generic code to content/."

This reverts commit d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c.

Reason for revert: Breaks compile on WinMSVC64 (dbg), due to unreachable code (the return after the #endif):

https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.win%2FWinMSVC64__dbg_%2F4540%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Fstdout

c:\b\c\b\win\src\chrome\browser\chrome_content_browser_client.cc(4172) : warning C4702: unreachable code

Original change's description:
> [Picture in Picture] Move generic code to content/.
> 
> Currently, all Picture in Picture code is housed in chrome/. Since
> only some of the Picture in Picture work is Chrome specific, we move
> the more generic work into content/.
> 
> This change completely moves the PictureInPictureWindowController
> and OverlaySurfaceEmbedder into content/.
> 
> This change will also pave for some future work related to user
> initiated commands from the window, such as play/pause. IPC messaging
> for MediaPlayerDelegateMsg must be done through content/ rather than
> in chrome/.
> 
> OverlayWindowViews continues to be the desktop Chrome implementation
> of OverlayWindow, which is now moved into content/. With the
> convergence of historically platform-dependent implementations (views
> vs cocoa) into just views, there will only be one window implementation
> for Chrome.
> 
> BUG:  726619   821874 
> Change-Id: I6ef73552c6729aec235f4a6d176fd4109f6674b3
> Reviewed-on: https://chromium-review.googlesource.com/972841
> Commit-Queue: apacible <apacible@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
> Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
> Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#548428}

TBR=ellyjones@chromium.org,kinuko@chromium.org,lazyboy@chromium.org,mlamouri@chromium.org,apacible@chromium.org

Change-Id: I3a18da4e27bbff14d2acfa11707727d46e033f73
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/998173
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548446}
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/BUILD.gn
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/chrome_content_browser_client.h
[rename] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/overlay/OWNERS
[rename] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/overlay/overlay_surface_embedder.cc
[rename] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/overlay/overlay_surface_embedder.h
[rename] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/overlay/overlay_window.h
[add] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/picture_in_picture/picture_in_picture_window_controller.cc
[add] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/picture_in_picture/picture_in_picture_window_controller.h
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/renderer_context_menu/render_view_context_menu.cc
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/ui/android/overlay/overlay_window_android.cc
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/ui/browser.cc
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/ui/browser.h
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/ui/views/overlay/OWNERS
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/chrome/browser/ui/views/overlay/overlay_window_views.h
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/content/browser/BUILD.gn
[delete] https://crrev.com/24a94c7493d3c2497082b05b1553a3932b898e43/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.cc
[delete] https://crrev.com/24a94c7493d3c2497082b05b1553a3932b898e43/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.h
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/content/public/browser/BUILD.gn
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/content/public/browser/content_browser_client.cc
[modify] https://crrev.com/746bf6d72fce5b360345ead1e7f27a6af38bd2ba/content/public/browser/content_browser_client.h
[delete] https://crrev.com/24a94c7493d3c2497082b05b1553a3932b898e43/content/public/browser/picture_in_picture_window_controller.h

Project Member

Comment 24 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/04c9faaae4480434d5b9bb55e86a51b7ca067adb

commit 04c9faaae4480434d5b9bb55e86a51b7ca067adb
Author: Jennifer Apacible <apacible@chromium.org>
Date: Fri Apr 06 05:01:54 2018

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

This is a reland of a776bce43e66547197918b212ce1236c80298980

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/998078
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548675}
[add] https://crrev.com/04c9faaae4480434d5b9bb55e86a51b7ca067adb/third_party/WebKit/LayoutTests/media/picture-in-picture/controls/picture-in-picture-video-with-audio-only-button.html
[modify] https://crrev.com/04c9faaae4480434d5b9bb55e86a51b7ca067adb/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp
[add] https://crrev.com/04c9faaae4480434d5b9bb55e86a51b7ca067adb/third_party/WebKit/Source/modules/media_controls/resources/ic_picture_in_picture.svg
[modify] https://crrev.com/04c9faaae4480434d5b9bb55e86a51b7ca067adb/third_party/WebKit/Source/modules/media_controls/resources/modernMediaControls.css

Project Member

Comment 26 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/01af4b3d7e10554cee9114381be8e3dee76f675e

commit 01af4b3d7e10554cee9114381be8e3dee76f675e
Author: Jennifer Apacible <apacible@chromium.org>
Date: Fri Apr 06 17:17:47 2018

[Picture in Picture] Use const& for UpdatePictureInPictureSurfaceId().

Update the browser/ side plumbing of updating the Picture-in-Picture
viz::SurfaceId to be const&. This is already the case on the renderer/
side.

BUG:  726619 
Change-Id: I26ae3c8b67daca6fb958fb88ad6c762bebf1af42
Reviewed-on: https://chromium-review.googlesource.com/999305
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548829}
[modify] https://crrev.com/01af4b3d7e10554cee9114381be8e3dee76f675e/chrome/browser/picture_in_picture/picture_in_picture_window_controller.cc
[modify] https://crrev.com/01af4b3d7e10554cee9114381be8e3dee76f675e/chrome/browser/picture_in_picture/picture_in_picture_window_controller.h
[modify] https://crrev.com/01af4b3d7e10554cee9114381be8e3dee76f675e/chrome/browser/ui/browser.cc
[modify] https://crrev.com/01af4b3d7e10554cee9114381be8e3dee76f675e/chrome/browser/ui/browser.h
[modify] https://crrev.com/01af4b3d7e10554cee9114381be8e3dee76f675e/content/browser/frame_host/render_frame_host_delegate.h
[modify] https://crrev.com/01af4b3d7e10554cee9114381be8e3dee76f675e/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/01af4b3d7e10554cee9114381be8e3dee76f675e/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/01af4b3d7e10554cee9114381be8e3dee76f675e/content/public/browser/web_contents_delegate.cc
[modify] https://crrev.com/01af4b3d7e10554cee9114381be8e3dee76f675e/content/public/browser/web_contents_delegate.h

Project Member

Comment 27 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4f854a804a031dade96ce4b9f4660ea3423302c6

commit 4f854a804a031dade96ce4b9f4660ea3423302c6
Author: Jennifer Apacible <apacible@chromium.org>
Date: Fri Apr 06 22:22:11 2018

Reland "[Picture in Picture] Move generic code to content/."

This is a reland of d1f4cdd4af23f9aca1ffb7c939c48e19e6308c1c

This change places the offending unreachable code in an #else
#endif block.

Original change's description:
> [Picture in Picture] Move generic code to content/.
>
> Currently, all Picture in Picture code is housed in chrome/. Since
> only some of the Picture in Picture work is Chrome specific, we move
> the more generic work into content/.
>
> This change completely moves the PictureInPictureWindowController
> and OverlaySurfaceEmbedder into content/.
>
> This change will also pave for some future work related to user
> initiated commands from the window, such as play/pause. IPC messaging
> for MediaPlayerDelegateMsg must be done through content/ rather than
> in chrome/.
>
> OverlayWindowViews continues to be the desktop Chrome implementation
> of OverlayWindow, which is now moved into content/. With the
> convergence of historically platform-dependent implementations (views
> vs cocoa) into just views, there will only be one window implementation
> for Chrome.
>
> BUG:  726619   821874 
> Change-Id: I6ef73552c6729aec235f4a6d176fd4109f6674b3
> Reviewed-on: https://chromium-review.googlesource.com/972841
> Commit-Queue: apacible <apacible@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
> Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
> Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#548428}

TBR=kinuko@chromium.org,mlamouri@chromium.org,lazyboy@chromium.org,
ellyjones@chromium.org

BUG:  726619   821874 
Change-Id: I10fbd1d682108d351119158c4da00ee4c1915106
Reviewed-on: https://chromium-review.googlesource.com/998186
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: apacible <apacible@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548949}
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/chrome/browser/BUILD.gn
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/chrome/browser/chrome_content_browser_client.h
[delete] https://crrev.com/e534b672f07210fd804e234f54685678b2cc8d50/chrome/browser/picture_in_picture/picture_in_picture_window_controller.cc
[delete] https://crrev.com/e534b672f07210fd804e234f54685678b2cc8d50/chrome/browser/picture_in_picture/picture_in_picture_window_controller.h
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/chrome/browser/renderer_context_menu/render_view_context_menu.cc
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/chrome/browser/ui/android/overlay/overlay_window_android.cc
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/chrome/browser/ui/browser.cc
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/chrome/browser/ui/browser.h
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/chrome/browser/ui/views/overlay/OWNERS
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/chrome/browser/ui/views/overlay/overlay_window_views.h
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/content/browser/BUILD.gn
[rename] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/content/browser/picture_in_picture/OWNERS
[rename] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/content/browser/picture_in_picture/overlay_surface_embedder.cc
[rename] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/content/browser/picture_in_picture/overlay_surface_embedder.h
[add] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.cc
[add] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.h
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/content/public/browser/BUILD.gn
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/content/public/browser/content_browser_client.cc
[modify] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/content/public/browser/content_browser_client.h
[rename] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/content/public/browser/overlay_window.h
[add] https://crrev.com/4f854a804a031dade96ce4b9f4660ea3423302c6/content/public/browser/picture_in_picture_window_controller.h

Blockedon: 830237
Project Member

Comment 29 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6010b02362cf08f5bb5b7cefb35341fdcb565f02

commit 6010b02362cf08f5bb5b7cefb35341fdcb565f02
Author: Jennifer Apacible <apacible@chromium.org>
Date: Thu Apr 12 23:35:28 2018

[Picture in Picture] Toggle video play/pause from window.

This change allows the user to toggle play/pause from the
Picture-in-Picture window. Left clicking alternates between sending
play and pause messages to the media player.

Middle/Right click does nothing.

Future work includes adding UX affordances for media controls.

BUG:  726619 
Change-Id: Icb9f431b6e343182849f4dc8304d367b166cfe67
Reviewed-on: https://chromium-review.googlesource.com/974565
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550411}
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/chrome/browser/chrome_content_browser_client.h
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/chrome/browser/ui/android/overlay/overlay_window_android.cc
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/chrome/browser/ui/views/overlay/overlay_window_views.h
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/browser/media/media_web_contents_observer.cc
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/browser/media/media_web_contents_observer.h
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.cc
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.h
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/public/browser/content_browser_client.cc
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/public/browser/content_browser_client.h
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/public/browser/overlay_window.h
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/public/browser/picture_in_picture_window_controller.h

Project Member

Comment 30 by bugdroid1@chromium.org, Apr 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc

commit 009f2984bdc906cf22f52fe8e80e12ab6bcf50fc
Author: Jennifer Apacible <apacible@chromium.org>
Date: Mon Apr 16 23:07:37 2018

[Picture in Picture] Close window on user gesture.

This change allows the user to close the Picture-in-Picture
window. Temporarily, right clicking the window will close the
player.

Future work includes adding UX affordances for media controls and
consolidating with the Picture-in-Picture teardown in
WebMediaPlayerImpl.

BUG:  726619 
Change-Id: Ia60d9153e53f4ae3dd7cf53c7ec505cee33e5b60
Reviewed-on: https://chromium-review.googlesource.com/976263
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Frank Liberato <liberato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551161}
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.cc
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/common/media/media_player_delegate_messages.h
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/renderer/media/renderer_webmediaplayer_delegate.cc
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/renderer/media/renderer_webmediaplayer_delegate.h
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/renderer/media/renderer_webmediaplayer_delegate_browsertest.cc
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/renderer/media/stream/webmediaplayer_ms.cc
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/renderer/media/stream/webmediaplayer_ms.h
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/media/blink/webmediaplayer_delegate.h
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/media/blink/webmediaplayer_impl.h

Project Member

Comment 31 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6010b02362cf08f5bb5b7cefb35341fdcb565f02

commit 6010b02362cf08f5bb5b7cefb35341fdcb565f02
Author: Jennifer Apacible <apacible@chromium.org>
Date: Thu Apr 12 23:35:28 2018

[Picture in Picture] Toggle video play/pause from window.

This change allows the user to toggle play/pause from the
Picture-in-Picture window. Left clicking alternates between sending
play and pause messages to the media player.

Middle/Right click does nothing.

Future work includes adding UX affordances for media controls.

BUG:  726619 
Change-Id: Icb9f431b6e343182849f4dc8304d367b166cfe67
Reviewed-on: https://chromium-review.googlesource.com/974565
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550411}
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/chrome/browser/chrome_content_browser_client.h
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/chrome/browser/ui/android/overlay/overlay_window_android.cc
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/chrome/browser/ui/views/overlay/overlay_window_views.h
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/browser/media/media_web_contents_observer.cc
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/browser/media/media_web_contents_observer.h
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.cc
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.h
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/public/browser/content_browser_client.cc
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/public/browser/content_browser_client.h
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/public/browser/overlay_window.h
[modify] https://crrev.com/6010b02362cf08f5bb5b7cefb35341fdcb565f02/content/public/browser/picture_in_picture_window_controller.h

Project Member

Comment 32 by bugdroid1@chromium.org, Apr 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc

commit 009f2984bdc906cf22f52fe8e80e12ab6bcf50fc
Author: Jennifer Apacible <apacible@chromium.org>
Date: Mon Apr 16 23:07:37 2018

[Picture in Picture] Close window on user gesture.

This change allows the user to close the Picture-in-Picture
window. Temporarily, right clicking the window will close the
player.

Future work includes adding UX affordances for media controls and
consolidating with the Picture-in-Picture teardown in
WebMediaPlayerImpl.

BUG:  726619 
Change-Id: Ia60d9153e53f4ae3dd7cf53c7ec505cee33e5b60
Reviewed-on: https://chromium-review.googlesource.com/976263
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Frank Liberato <liberato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551161}
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.cc
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/common/media/media_player_delegate_messages.h
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/renderer/media/renderer_webmediaplayer_delegate.cc
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/renderer/media/renderer_webmediaplayer_delegate.h
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/renderer/media/renderer_webmediaplayer_delegate_browsertest.cc
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/renderer/media/stream/webmediaplayer_ms.cc
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/content/renderer/media/stream/webmediaplayer_ms.h
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/media/blink/webmediaplayer_delegate.h
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/009f2984bdc906cf22f52fe8e80e12ab6bcf50fc/media/blink/webmediaplayer_impl.h

Project Member

Comment 33 by bugdroid1@chromium.org, Apr 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f97a1d27725f7a024b2fafe3e0615db593b8bda

commit 5f97a1d27725f7a024b2fafe3e0615db593b8bda
Author: Jennifer Apacible <apacible@chromium.org>
Date: Tue Apr 17 19:21:20 2018

[Picture in Picture] Update interstitial text to match UX guidance.

BUG:  726619 
Change-Id: I17314a2e1989cf2f2b760d9f931fd53272730440
Reviewed-on: https://chromium-review.googlesource.com/1013683
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551428}
[modify] https://crrev.com/5f97a1d27725f7a024b2fafe3e0615db593b8bda/content/app/strings/content_strings.grd

Components: Blink>Media>PictureInPicture
Project Member

Comment 35 by bugdroid1@chromium.org, Apr 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b5ec5693bac751a9bfa8f7af98d78844935e6691

commit b5ec5693bac751a9bfa8f7af98d78844935e6691
Author: Jennifer Apacible <apacible@chromium.org>
Date: Wed Apr 25 20:31:37 2018

[Picture in Picture] Don't reset PiP ID when media is destroyed.

Currently, we reset the media ID associated with Picture-in-Picture
when OnMediaDestroyed is called, which includes when the video stops
playing. This causes crashes when we attempt to control the video from
the Picture-in-Picture window, such as play/pause and close.

This also means that even if we leave Picture-in-Picture mode, the
video media player will still show the Picture-in-Picture interstitial
because the WebMediaPlayer isn't updated with the fact we've left
Picture-in-Picture mode.

It is okay to keep the id around; when another video is PiP'd, the ID
will be updated.

BUG:  726619 
Change-Id: I0e665047b85f20bc7bb9795273a5640460e7612f
Reviewed-on: https://chromium-review.googlesource.com/1026974
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553723}
[modify] https://crrev.com/b5ec5693bac751a9bfa8f7af98d78844935e6691/content/browser/media/media_web_contents_observer.cc
[modify] https://crrev.com/b5ec5693bac751a9bfa8f7af98d78844935e6691/content/browser/web_contents/web_contents_impl_unittest.cc

Project Member

Comment 36 by bugdroid1@chromium.org, May 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aa109c8f90a3901d2029379a067b8f9672fd51ee

commit aa109c8f90a3901d2029379a067b8f9672fd51ee
Author: Jennifer Apacible <apacible@chromium.org>
Date: Tue May 01 17:27:26 2018

[Picture in Picture] Enable browsertests for cocoa.

This test was previously only enabled for aura, but with the wonderful
magic of MacViews, the same implementation works for Mac OSX builds.

BUG:  726619 
Change-Id: I111d28fde4f315b1f5436f249bb08fa55fe8555c
Reviewed-on: https://chromium-review.googlesource.com/1036476
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555090}
[modify] https://crrev.com/aa109c8f90a3901d2029379a067b8f9672fd51ee/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc

This issue seems to need adding Android on OS category.
Labels: OS-Android
Project Member

Comment 39 by bugdroid1@chromium.org, May 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8358509dc2d56e464581ad0ab6b3743e01fb18a0

commit 8358509dc2d56e464581ad0ab6b3743e01fb18a0
Author: Jennifer Apacible <apacible@chromium.org>
Date: Tue May 08 23:46:23 2018

[Picture in Picture] Support PiPing multiple videos on the same tab.

Currently, only one video can be gracefully sent to Picture-in-Picture
mode from each initiator content::WebContents. Media controls do not
work as they are only set once. This change allows us to enter
Picture-in-Picture from more than one video on the same initiator,
though one at a time.

Another patch handles pausing the previously PiP'd video.

BUG:  823172   726619 
Change-Id: Ie9eae108c5c8ce902458aa520b6553042096fb7a
Reviewed-on: https://chromium-review.googlesource.com/1044773
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557012}
[modify] https://crrev.com/8358509dc2d56e464581ad0ab6b3743e01fb18a0/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.cc

Comment 40 by mkte...@gmail.com, May 14 2018

Are there measures to prevent this feature from being abused in conjunction with autoplay?  The news is starting to trickle out, and people hate it already.

Comment 41 by tri...@gmail.com, May 14 2018

I've held the opinion (idea) that PiP should be a global thing to a ChromeOS/Android device in that PiP videos from all sites (globally) should be queue-able into a PiP queue. Having the ability to queue videos from multiple sources/sites could turn a Chromebook/Android device into a smart TV inasmuch that a user could browse the web/apps and queue videos from just about anywhere into their own local TV/PiP station! Of course, there would need to be an additional OS-level way to manage (re-order/delete/view) videos in the PiP queue. Not sure if this idea would be better off in a new ticket -or- here. 
Project Member

Comment 42 by bugdroid1@chromium.org, Jun 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eeb362f202da18d3eb477b2ab5e09b271a91d248

commit eeb362f202da18d3eb477b2ab5e09b271a91d248
Author: François Beaufort <beaufort.francois@gmail.com>
Date: Wed Jun 06 05:17:17 2018

Hide window controls when entering Picture-in-Picture.

This makes sure Picture-in-Picture window controls are hidden when
window is shown.

Bug:  726619 
Change-Id: I195df27741440c2f00ae0e50bdcd8abe59367f42
Reviewed-on: https://chromium-review.googlesource.com/1084094
Reviewed-by: apacible <apacible@chromium.org>
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Cr-Commit-Position: refs/heads/master@{#564792}
[modify] https://crrev.com/eeb362f202da18d3eb477b2ab5e09b271a91d248/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/eeb362f202da18d3eb477b2ab5e09b271a91d248/chrome/browser/ui/views/overlay/overlay_window_views.h

Project Member

Comment 43 by bugdroid1@chromium.org, Jul 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b1694fa7cbbf348d72f09aec9920502d04e83f06

commit b1694fa7cbbf348d72f09aec9920502d04e83f06
Author: François Beaufort <beaufort.francois@gmail.com>
Date: Tue Jul 10 18:36:56 2018

[Picture-in-Picture] Do not close window when video src changes.

This CL make sure the Picture-in-Picture window stays opened when video
src changes. The video element receives a leavepictureinpicture
JavaScript event when another media player enters Picture-in-Picture.

Bug:  726619 

Change-Id: I826292fc8dd34fb3f687025c089b8fb683c00d45
Reviewed-on: https://chromium-review.googlesource.com/1089331
Reviewed-by: Frank Liberato <liberato@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: apacible <apacible@chromium.org>
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Cr-Commit-Position: refs/heads/master@{#573828}
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/chrome/browser/ui/views/overlay/overlay_window_views.h
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/content/browser/media/media_web_contents_observer.cc
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/content/browser/picture_in_picture/overlay_surface_embedder.cc
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/content/browser/picture_in_picture/overlay_surface_embedder.h
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.cc
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.h
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/content/browser/web_contents/web_contents_impl_unittest.cc
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/content/public/browser/overlay_window.h
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/content/public/browser/picture_in_picture_window_controller.h
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/content/shell/browser/layout_test/layout_test_content_browser_client.cc
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/b1694fa7cbbf348d72f09aec9920502d04e83f06/media/blink/webmediaplayer_impl_unittest.cc

Project Member

Comment 44 by bugdroid1@chromium.org, Jul 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7d35873c9b335989ed59cdd9418cb453b9923dbd

commit 7d35873c9b335989ed59cdd9418cb453b9923dbd
Author: François Beaufort <beaufort.francois@gmail.com>
Date: Mon Jul 16 18:14:16 2018

[Picture-in-Picture] Close window when user navigates away.

Picture-in-Picture window should be closed after navigating away while
same document navigations should not close Picture-in-Picture window.

Bug:  726619 
Change-Id: Ibd07dfd2f62af23573ab2221138b4776df26f22c
Reviewed-on: https://chromium-review.googlesource.com/1137818
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575349}
[modify] https://crrev.com/7d35873c9b335989ed59cdd9418cb453b9923dbd/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc
[modify] https://crrev.com/7d35873c9b335989ed59cdd9418cb453b9923dbd/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc
[modify] https://crrev.com/7d35873c9b335989ed59cdd9418cb453b9923dbd/chrome/browser/picture_in_picture/picture_in_picture_window_manager.h

Project Member

Comment 45 by bugdroid1@chromium.org, Jul 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/93488940ae5770af18ca5405395a206b426756a6

commit 93488940ae5770af18ca5405395a206b426756a6
Author: François Beaufort <beaufort.francois@gmail.com>
Date: Thu Jul 19 09:41:24 2018

[Picture-in-Picture] Update window playback when video src changes.

This CL make sure the Picture-in-Picture window playback state is
reflected when video src changes. It is a follow-up to
https://chromium-review.googlesource.com/1089331

Bug:  726619 
Change-Id: Ic756c03aa023d3e4e229c7495686ea8f322503e3
Reviewed-on: https://chromium-review.googlesource.com/1133168
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Matthew Wolenetz <wolenetz@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576428}
[modify] https://crrev.com/93488940ae5770af18ca5405395a206b426756a6/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc
[modify] https://crrev.com/93488940ae5770af18ca5405395a206b426756a6/chrome/test/data/media/picture-in-picture/window-size.html
[modify] https://crrev.com/93488940ae5770af18ca5405395a206b426756a6/content/browser/media/media_web_contents_observer.cc

Project Member

Comment 46 by bugdroid1@chromium.org, Jul 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/94b0138d2ec5f88119917d183ac5039302d88460

commit 94b0138d2ec5f88119917d183ac5039302d88460
Author: Christian Dullweber <dullweber@chromium.org>
Date: Thu Jul 19 12:26:07 2018

Revert "[Picture-in-Picture] Update window playback when video src changes."

This reverts commit 93488940ae5770af18ca5405395a206b426756a6.

Reason for revert: PictureInPictureWindowControllerBrowserTest.UpdateVideoSrcKeepsPictureInPictureWindowOpened is very flaky:  https://crbug.com/865410 

Original change's description:
> [Picture-in-Picture] Update window playback when video src changes.
> 
> This CL make sure the Picture-in-Picture window playback state is
> reflected when video src changes. It is a follow-up to
> https://chromium-review.googlesource.com/1089331
> 
> Bug:  726619 
> Change-Id: Ic756c03aa023d3e4e229c7495686ea8f322503e3
> Reviewed-on: https://chromium-review.googlesource.com/1133168
> Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
> Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
> Reviewed-by: Matthew Wolenetz <wolenetz@chromium.org>
> Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#576428}

TBR=dalecurtis@chromium.org,wolenetz@chromium.org,beaufort.francois@gmail.com,mlamouri@chromium.org,jochen@chromium.org

Change-Id: I2b35b9ef8c119915b1c07f9f12321439c3242ab2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  726619 ,  865410 
Reviewed-on: https://chromium-review.googlesource.com/1143324
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576454}
[modify] https://crrev.com/94b0138d2ec5f88119917d183ac5039302d88460/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc
[modify] https://crrev.com/94b0138d2ec5f88119917d183ac5039302d88460/chrome/test/data/media/picture-in-picture/window-size.html
[modify] https://crrev.com/94b0138d2ec5f88119917d183ac5039302d88460/content/browser/media/media_web_contents_observer.cc

Project Member

Comment 47 by bugdroid1@chromium.org, Jul 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d94de87ceee4b2cb44eb33aea57cabaa0f8a37b

commit 4d94de87ceee4b2cb44eb33aea57cabaa0f8a37b
Author: Mounir Lamouri <mlamouri@chromium.org>
Date: Fri Jul 20 00:59:12 2018

Reland "[Picture-in-Picture] Update window playback when video src changes."

This reverts commit 94b0138d2ec5f88119917d183ac5039302d88460.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "[Picture-in-Picture] Update window playback when video src changes."
> 
> This reverts commit 93488940ae5770af18ca5405395a206b426756a6.
> 
> Reason for revert: PictureInPictureWindowControllerBrowserTest.UpdateVideoSrcKeepsPictureInPictureWindowOpened is very flaky:  https://crbug.com/865410 
> 
> Original change's description:
> > [Picture-in-Picture] Update window playback when video src changes.
> > 
> > This CL make sure the Picture-in-Picture window playback state is
> > reflected when video src changes. It is a follow-up to
> > https://chromium-review.googlesource.com/1089331
> > 
> > Bug:  726619 
> > Change-Id: Ic756c03aa023d3e4e229c7495686ea8f322503e3
> > Reviewed-on: https://chromium-review.googlesource.com/1133168
> > Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
> > Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
> > Reviewed-by: Matthew Wolenetz <wolenetz@chromium.org>
> > Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#576428}
> 
> TBR=dalecurtis@chromium.org,wolenetz@chromium.org,beaufort.francois@gmail.com,mlamouri@chromium.org,jochen@chromium.org
> 
> Change-Id: I2b35b9ef8c119915b1c07f9f12321439c3242ab2
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug:  726619 ,  865410 
> Reviewed-on: https://chromium-review.googlesource.com/1143324
> Reviewed-by: Christian Dullweber <dullweber@chromium.org>
> Commit-Queue: Christian Dullweber <dullweber@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#576454}

TBR=dalecurtis@chromium.org,wolenetz@chromium.org,beaufort.francois@gmail.com,mlamouri@chromium.org,jochen@chromium.org,dullweber@chromium.org

Change-Id: Ia3931e803814eb9bf8bf56d44fd922f409cd5d8c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  726619 ,  865410 
Reviewed-on: https://chromium-review.googlesource.com/1144560
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576731}
[modify] https://crrev.com/4d94de87ceee4b2cb44eb33aea57cabaa0f8a37b/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc
[modify] https://crrev.com/4d94de87ceee4b2cb44eb33aea57cabaa0f8a37b/chrome/test/data/media/picture-in-picture/window-size.html
[modify] https://crrev.com/4d94de87ceee4b2cb44eb33aea57cabaa0f8a37b/content/browser/media/media_web_contents_observer.cc

Project Member

Comment 48 by bugdroid1@chromium.org, Aug 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/48cf2723c0a34a3077c659434657312a4427fbc4

commit 48cf2723c0a34a3077c659434657312a4427fbc4
Author: François Beaufort <beaufort.francois@gmail.com>
Date: Tue Aug 28 09:33:52 2018

Enable Picture-in-Picture for extensions.

This CL enables Picture-in-Picture in extensions by implementing
EnterPictureInPicture and ExitPictureInPicture in ExtensionHostDelegate.

Change-Id: I77522e345b7fed7d4515e81204a635a5ed8ecb6c
Bug:  726619 
Reviewed-on: https://chromium-review.googlesource.com/1145261
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Sergey Volk <servolk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586632}
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/chrome/browser/extensions/chrome_extension_host_delegate.cc
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/chrome/browser/extensions/chrome_extension_host_delegate.h
[add] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/chrome/test/data/extensions/api_test/trigger_actions/browser_action_picture_in_picture/background.js
[add] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/chrome/test/data/extensions/api_test/trigger_actions/browser_action_picture_in_picture/manifest.json
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/chromecast/browser/extensions/cast_extension_host_delegate.cc
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/chromecast/browser/extensions/cast_extension_host_delegate.h
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/extensions/browser/extension_host.cc
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/extensions/browser/extension_host.h
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/extensions/browser/extension_host_delegate.h
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/extensions/shell/browser/shell_extension_host_delegate.cc
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/extensions/shell/browser/shell_extension_host_delegate.h
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/testing/buildbot/filters/chromeos.mash.fyi.browser_tests.filter
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/ui/views/test/widget_test.cc
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/ui/views/test/widget_test.h
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
[modify] https://crrev.com/48cf2723c0a34a3077c659434657312a4427fbc4/ui/views/widget/widget_unittest.cc

Blockedon: -805516
Blockedon: -819673
Status: Fixed (was: Assigned)
Closing as primary work for PiP is completed. Please refer to individual bugs in component:Blink>Media>PictureInPicture for open issues and feature requests.

Sign in to add a comment