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

Issue 726621 link

Starred by 7 users

Issue metadata

Status: Fixed
Owner:
no longer active
Closed: Jul 10
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocked on:
issue 825133

Blocking:
issue 726619



Sign in to add a comment

[PIP] Window Implementation

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

Issue description

Views and cocoa CLs will land separately.

TODO(apacible) - link to design / documentation.
 
Cc: mlamouri@chromium.org
Work will be split:
- Basic window
- Use WidgetDelegate to control behavior
- Finalize cosmetic decisions: type of window, bounds, and location
- Cocoa implementation
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 20 2017

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

commit 36debc58c81094f47e733cf951afbd96c1ef4070
Author: apacible <apacible@chromium.org>
Date: Thu Jul 20 06:31:52 2017

[OverlayWindow] Add platform-independent window and views implementation.

This change adds a general window that overlays other windows, initially for the use case of picture in picture. This includes a partially stubbed views implementation. Cocoa work will be done in a separate CL.

BUG= 726621 

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

[modify] https://crrev.com/36debc58c81094f47e733cf951afbd96c1ef4070/chrome/browser/ui/BUILD.gn
[add] https://crrev.com/36debc58c81094f47e733cf951afbd96c1ef4070/chrome/browser/ui/overlay/overlay_window.h
[add] https://crrev.com/36debc58c81094f47e733cf951afbd96c1ef4070/chrome/browser/ui/views/overlay/overlay_window_views.cc
[add] https://crrev.com/36debc58c81094f47e733cf951afbd96c1ef4070/chrome/browser/ui/views/overlay/overlay_window_views.h

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 22 2017

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

commit e95a9854c129e6527b2f3d3a36c65763eb0eecbc
Author: Jennifer Apacible <apacible@chromium.org>
Date: Fri Sep 22 04:55:51 2017

Add OverlaySurfaceEmbedder.

Used by PictureInPictureWindowController to embed a surface into
an OverlayWindow. By embedding a surface into the window, this
sets up the surface layers to show content.

Future work, such as adjusting gutter layers to handle various window
sizing, will come in future patches.

Bug:  726621 
Change-Id: If37811022470d4b651072102230abe38734a9b6e
Reviewed-on: https://chromium-review.googlesource.com/662317
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503661}
[modify] https://crrev.com/e95a9854c129e6527b2f3d3a36c65763eb0eecbc/chrome/browser/ui/BUILD.gn
[add] https://crrev.com/e95a9854c129e6527b2f3d3a36c65763eb0eecbc/chrome/browser/ui/overlay/overlay_surface_embedder.cc
[add] https://crrev.com/e95a9854c129e6527b2f3d3a36c65763eb0eecbc/chrome/browser/ui/overlay/overlay_surface_embedder.h

Project Member

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

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

commit 3cf6ae8e51af86f657d42a01d1481ba7f1e38c96
Author: Jennifer Apacible <apacible@chromium.org>
Date: Mon Oct 09 20:38:51 2017

Add window controller for Picture in Picture.

This change adds an overall controller for the picture in picture
window. This class will control creation/destruction of the window,
as well as embedding the appropriate surface for showing media content
(future patch).

This controller is currently created per-WebContents, rather than per
Browser instance or Browser window. This behavior is still being
determined and will be updated. Tests will be added when this is more
fleshed out.

Bug:  726621 
Change-Id: Id952b983a9bfdfaa90b154576b37143121e666ef
Reviewed-on: https://chromium-review.googlesource.com/646407
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507472}
[modify] https://crrev.com/3cf6ae8e51af86f657d42a01d1481ba7f1e38c96/chrome/browser/BUILD.gn
[add] https://crrev.com/3cf6ae8e51af86f657d42a01d1481ba7f1e38c96/chrome/browser/picture_in_picture/picture_in_picture_window_controller.cc
[add] https://crrev.com/3cf6ae8e51af86f657d42a01d1481ba7f1e38c96/chrome/browser/picture_in_picture/picture_in_picture_window_controller.h

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 13 2017

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

commit 93a0d2d9856b581c14f4f3e7b3e8ad59b40eb273
Author: Jennifer Apacible <apacible@chromium.org>
Date: Fri Oct 13 23:48:07 2017

Add context menu item for Picture in Picture.

This change adds a context menu item for videos for the picture in
picture feature when enabled. Clicking the item will open the window
used for picture in picture.

Bug:  726621 
Change-Id: Iad8cb78dea897fb2d7e726eba78a6c7be3ce225f
Reviewed-on: https://chromium-review.googlesource.com/644288
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Carlos Pizano <cpu@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#508873}
[modify] https://crrev.com/93a0d2d9856b581c14f4f3e7b3e8ad59b40eb273/chrome/app/chrome_command_ids.h
[modify] https://crrev.com/93a0d2d9856b581c14f4f3e7b3e8ad59b40eb273/chrome/app/generated_resources.grd
[modify] https://crrev.com/93a0d2d9856b581c14f4f3e7b3e8ad59b40eb273/chrome/browser/renderer_context_menu/render_view_context_menu.cc
[modify] https://crrev.com/93a0d2d9856b581c14f4f3e7b3e8ad59b40eb273/chrome/browser/renderer_context_menu/render_view_context_menu.h
[modify] https://crrev.com/93a0d2d9856b581c14f4f3e7b3e8ad59b40eb273/tools/metrics/histograms/enums.xml

Project Member

Comment 7 by bugdroid1@chromium.org, Oct 19 2017

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

commit 11f869b27a7df0daceee8f058f517831c7b8a1a6
Author: Jennifer Apacible <apacible@chromium.org>
Date: Thu Oct 19 02:42:23 2017

[OverlayWindow] Add custom WidgetDelegate.

Add a custom WidgetDelegate for OverlayWindowViews. This is used to
control more of the behaviour of OverlayWindow. This also adds a
placeholder window title string. Non-trivial beheaviour will be added
with more guidance from UX.

Bug:  726621 
Change-Id: I7d6eae901248f90d8cbebc9bc4bd6e52aa7f714d
Reviewed-on: https://chromium-review.googlesource.com/722453
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#509980}
[modify] https://crrev.com/11f869b27a7df0daceee8f058f517831c7b8a1a6/chrome/app/generated_resources.grd
[modify] https://crrev.com/11f869b27a7df0daceee8f058f517831c7b8a1a6/chrome/browser/ui/views/overlay/overlay_window_views.cc

Summary: [PIP] Window Implementation (was: [PIP] Add window.)
Project Member

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

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

commit ab040fb0315f0c035d7e902805f8949bf8d1f4b5
Author: Jennifer Apacible <apacible@chromium.org>
Date: Thu Dec 21 00:33:39 2017

[Picture in Picture] Update window sizing and positioning.

This change gives the OverlayWindow a fixed size. It also updates the
initial location of the window on the primary screen on the bottom
right hand corner, with a consistent margin.

Specifics like a minimum / maximum size or behavior when switching
between screens will be forthcoming.

Bug:  726621 
Change-Id: I5f96ce876adeb1efada9f59ba82bc10eaf74024d
Reviewed-on: https://chromium-review.googlesource.com/833336
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525533}
[modify] https://crrev.com/ab040fb0315f0c035d7e902805f8949bf8d1f4b5/chrome/browser/ui/views/overlay/overlay_window_views.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Feb 5 2018

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

commit ff69ab9071a51e43ba711c42796055848fe8794f
Author: François Beaufort <beaufort.francois@gmail.com>
Date: Mon Feb 05 16:16:18 2018

[Picture-in-Picture] Use icon that represents the PiP window in the lower right.

Bug:  726621 
Change-Id: I7f0df030d6e7becb41dec93a9cdd4a7d304576e5
Reviewed-on: https://chromium-review.googlesource.com/897442
Reviewed-by: apacible <apacible@chromium.org>
Reviewed-by: Mounir Lamouri (slow) <mlamouri@chromium.org>
Commit-Queue: Mounir Lamouri (slow) <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534394}
[modify] https://crrev.com/ff69ab9071a51e43ba711c42796055848fe8794f/third_party/WebKit/Source/modules/media_controls/resources/default_100_percent/legacy/mediaplayer_pictureinpicture.png

Project Member

Comment 12 by bugdroid1@chromium.org, Feb 8 2018

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

commit b2070eb4943838e86ea41049ad15b93370c3b51d
Author: François Beaufort <beaufort.francois@gmail.com>
Date: Thu Feb 08 10:36:34 2018

[Picture-in-Picture] Add picture_in_picture to WATCHLISTS

Bug:  726621 
Change-Id: I20ce8895d0438528a4d553c39a6597492f01555a
Reviewed-on: https://chromium-review.googlesource.com/906629
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535347}
[modify] https://crrev.com/b2070eb4943838e86ea41049ad15b93370c3b51d/WATCHLISTS

Project Member

Comment 13 by bugdroid1@chromium.org, Feb 8 2018

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

commit 2e75f49093d7efe6075331c1d245b2a693122bb3
Author: François Beaufort <beaufort.francois@gmail.com>
Date: Thu Feb 08 20:44:46 2018

Use "Picture-in-Picture" instead of "Picture in Picture" for UI strings.

Replace "Picture in picture" user visible strings with
"Picture-in-Picture" for consistency.

Bug:  726621 
Change-Id: Ia3ddfe25f20a615bd19e76dcff4c98315c9a9c92
Reviewed-on: https://chromium-review.googlesource.com/897362
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535502}
[modify] https://crrev.com/2e75f49093d7efe6075331c1d245b2a693122bb3/chrome/app/generated_resources.grd
[modify] https://crrev.com/2e75f49093d7efe6075331c1d245b2a693122bb3/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/2e75f49093d7efe6075331c1d245b2a693122bb3/content/app/strings/content_strings.grd
[modify] https://crrev.com/2e75f49093d7efe6075331c1d245b2a693122bb3/media/base/media_switches.cc
[modify] https://crrev.com/2e75f49093d7efe6075331c1d245b2a693122bb3/tools/metrics/histograms/histograms.xml

Project Member

Comment 14 by bugdroid1@chromium.org, Feb 14 2018

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

commit 48bd6ef2739cdc137bc1f3cb8c8cec13984c9bb0
Author: François Beaufort <beaufort.francois@gmail.com>
Date: Wed Feb 14 11:30:04 2018

Move Picture-in-Picture icon to the bottom of overflow menu

According to UI review deck, the Picture-in-Picture icon should live at
the very bottom of the list in the overflow menu.

Test page: https://beaufortfrancois.github.io/sandbox/media/overflow-video.html
Screenshots: https://imgur.com/a/lnH1e

Bug:  726621 
Change-Id: Id0075ec3524842200eacc315539233a494edc484
Reviewed-on: https://chromium-review.googlesource.com/916381
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536697}
[modify] https://crrev.com/48bd6ef2739cdc137bc1f3cb8c8cec13984c9bb0/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp

Project Member

Comment 15 by bugdroid1@chromium.org, Feb 25 2018

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

commit c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972
Author: Jennifer Apacible <apacible@chromium.org>
Date: Sun Feb 25 12:04:55 2018

[Picture in Picture] Show video in OverlayWindow.

This change allows videos to be shown in picture in picture mode.
When the picture in picture media controls button on a video player
is clicked, a window opens and the corresponding video plays in the
window.

This works behind a flag. This is the first of more patches and lays
the ground work for additional behavioral implementations and tests.

BUG:  726621 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I01cc0af01986030ccafb623bc06592ce143a8970
Reviewed-on: https://chromium-review.googlesource.com/854719
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>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539039}
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/chrome/browser/picture_in_picture/picture_in_picture_window_controller.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/chrome/browser/picture_in_picture/picture_in_picture_window_controller.h
[add] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/chrome/browser/ui/browser.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/chrome/browser/ui/browser.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/chrome/browser/ui/overlay/overlay_surface_embedder.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/chrome/browser/ui/overlay/overlay_window.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/chrome/browser/ui/views/overlay/overlay_window_views.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/chrome/test/BUILD.gn
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/browser/frame_host/render_frame_host_delegate.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/common/frame.mojom
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/public/browser/web_contents_delegate.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/public/browser/web_contents_delegate.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/renderer/media/media_factory.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/renderer/media/stream/webmediaplayer_ms.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/renderer/media/stream/webmediaplayer_ms.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/renderer/media/stream/webmediaplayer_ms_unittest.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/renderer/media_capture_from_element/html_video_element_capturer_source_unittest.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/renderer/render_frame_impl.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/content/test/test_render_frame.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/media/blink/webmediaplayer_impl.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/media/blink/webmediaplayer_impl_unittest.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/media/blink/webmediaplayer_params.cc
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/media/blink/webmediaplayer_params.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/third_party/WebKit/Source/core/html/media/HTMLAudioElement.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/third_party/WebKit/Source/core/html/media/HTMLMediaElement.cpp
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/third_party/WebKit/Source/core/html/media/HTMLMediaElement.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/third_party/WebKit/Source/core/html/media/HTMLVideoElement.cpp
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/third_party/WebKit/Source/core/html/media/HTMLVideoElement.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/third_party/WebKit/Source/modules/media_controls/elements/MediaControlPictureInPictureButtonElement.cpp
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/third_party/WebKit/Source/platform/graphics/SurfaceLayerBridge.cpp
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/third_party/WebKit/Source/platform/testing/EmptyWebMediaPlayer.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/third_party/WebKit/public/platform/WebMediaPlayer.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/third_party/WebKit/public/platform/WebMediaPlayerClient.h
[modify] https://crrev.com/c45fd05a41d8a3bf91c49c41a3d302b1d8e3b972/third_party/WebKit/public/platform/WebSurfaceLayerBridge.h

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/+/596b64d730de15bf09c3267d17b2530f50ad106d

commit 596b64d730de15bf09c3267d17b2530f50ad106d
Author: François Beaufort <beaufort.francois@gmail.com>
Date: Wed Mar 07 11:08:59 2018

[Picture-in-Picture] Disable/enable context menu when appropriate

The "Picture-in-Picture" video context menu is now enabled only if
Picture-in-Picture is enabled for this element.

Bug:  726621 
Change-Id: If36b5881fdd16c910d399f2dab3ca36b7914c90e
Reviewed-on: https://chromium-review.googlesource.com/950945
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: apacible <apacible@chromium.org>
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541407}
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/chrome/browser/renderer_context_menu/render_view_context_menu.cc
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/core/CoreInitializer.h
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/core/frame/BUILD.gn
[add] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/core/frame/PictureInPictureController.cpp
[add] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/core/frame/PictureInPictureController.h
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/core/html/media/HTMLMediaElement.h
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/core/html/media/HTMLVideoElement.cpp
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/core/html/media/HTMLVideoElement.h
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/core/page/ContextMenuController.cpp
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/core/page/ContextMenuControllerTest.cpp
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/modules/ModulesInitializer.cpp
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/modules/ModulesInitializer.h
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/modules/media_controls/DEPS
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/modules/picture_in_picture/BUILD.gn
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/modules/picture_in_picture/DocumentPictureInPicture.cpp
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/modules/picture_in_picture/HTMLVideoElementPictureInPicture.cpp
[rename] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/modules/picture_in_picture/PictureInPictureControllerImpl.cpp
[rename] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/modules/picture_in_picture/PictureInPictureControllerImpl.h
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/Source/modules/picture_in_picture/ShadowRootPictureInPicture.cpp
[modify] https://crrev.com/596b64d730de15bf09c3267d17b2530f50ad106d/third_party/WebKit/public/web/WebContextMenuData.h

Project Member

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

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

commit e3b111381ab3479ea9aa1a7026c0948b5fdf7d24
Author: Jennifer Apacible <apacible@chromium.org>
Date: Thu Mar 08 06:19:53 2018

[Picture in Picture] Fix crash when PiP triggered more than once.

This change fixes a browser crash when the PiP media controls button
is toggled more than once.

BUG: 817984  726621 
Change-Id: I53d504b9de44b724a3992c709fa26c0fca9be5bc
Reviewed-on: https://chromium-review.googlesource.com/951909
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: CJ DiMeglio <lethalantidote@chromium.org>
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541736}
[modify] https://crrev.com/e3b111381ab3479ea9aa1a7026c0948b5fdf7d24/chrome/browser/picture_in_picture/picture_in_picture_window_controller.cc
[modify] https://crrev.com/e3b111381ab3479ea9aa1a7026c0948b5fdf7d24/chrome/browser/picture_in_picture/picture_in_picture_window_controller.h
[modify] https://crrev.com/e3b111381ab3479ea9aa1a7026c0948b5fdf7d24/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc
[modify] https://crrev.com/e3b111381ab3479ea9aa1a7026c0948b5fdf7d24/chrome/browser/ui/browser.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Mar 8 2018

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

commit 1e5158294f632327337390938a012838c9089a32
Author: Jennifer Apacible <apacible@chromium.org>
Date: Thu Mar 08 16:56:12 2018

[Picture in Picture] Determine initial window bounds.

Besides the initial window position and size, the user controls this
behavior. This change makes OverlayWindowViews a views::Widget, which
gives it more control over windowing behavior. Update sizing behavior
and determining window bounds, per UX guidelines.

This change also makes minor cosmetic changes (e.g. window type) to
temporarily make work in progress changes easier.

BUG:  726621 
Change-Id: I4cfbacb276a14ea86e00d11dcbfa17781a02533a
Reviewed-on: https://chromium-review.googlesource.com/938580
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541813}
[modify] https://crrev.com/1e5158294f632327337390938a012838c9089a32/chrome/browser/overlay/overlay_window.h
[modify] https://crrev.com/1e5158294f632327337390938a012838c9089a32/chrome/browser/picture_in_picture/picture_in_picture_window_controller.cc
[modify] https://crrev.com/1e5158294f632327337390938a012838c9089a32/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/1e5158294f632327337390938a012838c9089a32/chrome/browser/ui/views/overlay/overlay_window_views.h

Project Member

Comment 19 by bugdroid1@chromium.org, Mar 15 2018

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

commit ea38ede3b18e99aff19e5e17c664850b1958a09f
Author: Jennifer Apacible <apacible@chromium.org>
Date: Thu Mar 15 02:41:55 2018

[cc::SurfaceLayer] Allow cc::SurfaceLayer to stretch content via ui::Layer.

ui::Layer has a cc::SurfaceLayer and can set its primary surface. This
change allows ui::Layer to also set whether or not cc::SurfaceLayer
should stretch its content to fill the surface bounds, which will either
stretch or shrink to fit the surface.

This change is driven by the intent for Picture-in-Picture to be able
to scale the video (contents) to fit into the PiP window bounds.
Since the PiP surface embedder, or OverlaySurfaceEmbedder, utilizes a
ui::Layer, this change would allow the ability to customize the
cc::SurfaceLayer be exposed. Further work for the PiP sizing will be
done, including maintaining the aspect ratio.

BUG:  819414   726621 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I3bdbf54635702414a4007912271118a57733ad05
Reviewed-on: https://chromium-review.googlesource.com/952476
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543289}
[modify] https://crrev.com/ea38ede3b18e99aff19e5e17c664850b1958a09f/cc/layers/surface_layer.h
[modify] https://crrev.com/ea38ede3b18e99aff19e5e17c664850b1958a09f/chrome/browser/overlay/overlay_surface_embedder.cc
[modify] https://crrev.com/ea38ede3b18e99aff19e5e17c664850b1958a09f/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/ea38ede3b18e99aff19e5e17c664850b1958a09f/ui/aura/local/window_port_local.cc
[modify] https://crrev.com/ea38ede3b18e99aff19e5e17c664850b1958a09f/ui/aura/mus/client_surface_embedder.cc
[modify] https://crrev.com/ea38ede3b18e99aff19e5e17c664850b1958a09f/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/ea38ede3b18e99aff19e5e17c664850b1958a09f/ui/compositor/layer.cc
[modify] https://crrev.com/ea38ede3b18e99aff19e5e17c664850b1958a09f/ui/compositor/layer.h
[modify] https://crrev.com/ea38ede3b18e99aff19e5e17c664850b1958a09f/ui/compositor/layer_unittest.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Mar 20 2018

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

commit 2dab39e74297e7378d8c8dbea2d6b062ddb89725
Author: Jennifer Apacible <apacible@chromium.org>
Date: Tue Mar 20 19:14:45 2018

[Picture in Picture] Make PiP window frameless.

This change removes the TYPE_WINDOW frame that allows the window
to be resized. This will make the window un-resizable until a custom
frame is implemented for PiP.

BUG:  726621 
Change-Id: Ic41eee4fd666045b7e6cb193b5707abe9b8609d3
Reviewed-on: https://chromium-review.googlesource.com/967078
Reviewed-by: Tommy Steimel <steimel@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544474}
[modify] https://crrev.com/2dab39e74297e7378d8c8dbea2d6b062ddb89725/chrome/browser/ui/views/overlay/overlay_window_views.cc

Blockedon: 825133
Project Member

Comment 22 by bugdroid1@chromium.org, Mar 23 2018

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

commit 302ad413f4902657ae83b4c142aa5a5824d5c2bf
Author: Jennifer Apacible <apacible@chromium.org>
Date: Fri Mar 23 07:05:04 2018

[Picture in Picture] Include PiP in WMPI teardown.

This change notifies the WebMediaPlayerClient that
Picture-in-Picture has stopped when WMPI is deconstructed. The
client in question is <video>. With this change, the immediate
effect is the PiP interstitial will be hidden.

If the client is not in Picture-in-Picture mode, this is a no-op.

BUG:  726621 
Change-Id: I3d240844ebed894a1f2566eaeae1a169be57a253
Reviewed-on: https://chromium-review.googlesource.com/954417
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Frank Liberato <liberato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545380}
[modify] https://crrev.com/302ad413f4902657ae83b4c142aa5a5824d5c2bf/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/302ad413f4902657ae83b4c142aa5a5824d5c2bf/media/blink/webmediaplayer_impl_unittest.cc

Blocking: 726619
Project Member

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

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

commit bae7c89f8beeccef5877021ad490999472864222
Author: Jennifer Apacible <apacible@chromium.org>
Date: Wed Apr 11 05:17:10 2018

[Picture in Picture] Add custom frame for window.

This change adds a custom views::NonClientFrameView for
OverlayWindowViews and modifies some of the views::Widget params.

The window continues to lack a title bar (min, max, close). It now
can be resized by dragging the edges of the window and dragged around
the display by dragging the contents of the window (not edges).

This changes does not take into account keeping aspect ratio or updating
the size of the embedded surface.

BUG:  823170   726621 
Change-Id: I4cba98ee2c36fae55105e9d088d6b95fe97cd636
Reviewed-on: https://chromium-review.googlesource.com/1006167
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549772}
[modify] https://crrev.com/bae7c89f8beeccef5877021ad490999472864222/chrome/browser/ui/views/overlay/overlay_window_views.cc

Project Member

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

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

commit b1c9ca1c62b9990e35f1955d59bfc741411eeb3f
Author: Jennifer Apacible <apacible@chromium.org>
Date: Thu Apr 12 07:49:38 2018

[Picture in Picture] Use video aspect ratio to determine window size.

Currently, Picture-in-Picture window sizes are determined solely from
calculating 20% of the primary display size. This change scales that
initial size also adhere to the aspect ratio of the video size.

BUG:  726621   829677 
Change-Id: I61c26f0dc9d44ebf77620f875aed005b7594d88f
Reviewed-on: https://chromium-review.googlesource.com/1001514
Commit-Queue: apacible <apacible@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550087}
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/chrome/browser/picture_in_picture/picture_in_picture_window_controller_browsertest.cc
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/chrome/browser/ui/browser.cc
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/chrome/browser/ui/browser.h
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/chrome/browser/ui/views/overlay/overlay_window_views.h
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/browser/frame_host/render_frame_host_delegate.h
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.cc
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.h
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/common/frame.mojom
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/public/browser/overlay_window.h
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/public/browser/picture_in_picture_window_controller.h
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/public/browser/web_contents_delegate.cc
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/public/browser/web_contents_delegate.h
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/renderer/render_frame_impl.h
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/content/test/test_render_frame.cc
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/media/blink/webmediaplayer_impl_unittest.cc
[modify] https://crrev.com/b1c9ca1c62b9990e35f1955d59bfc741411eeb3f/media/blink/webmediaplayer_params.h

Project Member

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

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

commit 83018f00f19e9152521c3b5ee2e4db1a4e879b4f
Author: Jennifer Apacible <apacible@chromium.org>
Date: Fri Apr 13 23:18:15 2018

[Picture in Picture] Increase window border thickness.

Increasing the border thickness for a larger surface area to be able
to resize the window. This change is initiated from feedback to have
a larger drag-to-resize area.

This is currently an arbitrary value to gain feedback on the experience.

BUG:  726621 
Change-Id: Id02837b86e7851cbe5399a2a1ef9f01905b6fefb
Reviewed-on: https://chromium-review.googlesource.com/1011209
Reviewed-by: Becca Hughes <beccahughes@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550797}
[modify] https://crrev.com/83018f00f19e9152521c3b5ee2e4db1a4e879b4f/chrome/browser/ui/views/overlay/overlay_window_views.cc

Project Member

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

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

commit 475c1a2bdfc4b91ea1e8c1c3681f84502bc95a83
Author: Jennifer Apacible <apacible@chromium.org>
Date: Fri Apr 13 23:21:35 2018

[Picture in Picture] Make window non-modal.

Modality currently makes Picture in Picture a feature you can enter but
can never leave.

This is an issue on ChromeOS, where the user is unable to interact with
other windows on the screen, which means there is no way to exit
Picture-in-Picture mode.

Modality is not intended for this feature.

BUG:  726621 
Change-Id: Idc8852a98da52ef9438f979484db5d40cf271c21
Reviewed-on: https://chromium-review.googlesource.com/1011505
Reviewed-by: Becca Hughes <beccahughes@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550803}
[modify] https://crrev.com/475c1a2bdfc4b91ea1e8c1c3681f84502bc95a83/chrome/browser/ui/views/overlay/overlay_window_views.cc

Project Member

Comment 28 by bugdroid1@chromium.org, Apr 14 2018

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

commit 3a9a1808903c24f52c650bce959932cba53d54b2
Author: Jennifer Apacible <apacible@chromium.org>
Date: Sat Apr 14 06:06:55 2018

[Picture in Picture] Resize cc::SurfaceLayer gracefully.

Currently, when the Picture-in-Picture window is resized, the video
(shown as the cc::SurfaceLayer) does not resize with it. This change
makes the cc::SurfaceLayer resize with the window.

Setting the new cc::SurfaceLayer size is required. |frame_size_in_dip_|,
which is set when the SetShowPrimarySurface() is initially called,
is used as the maximum size of cc::SurfaceLayer. This size needs to be
up to date for cases where the window is resized to be larger than the
initial size.

BUG:  726621 
Change-Id: I77ae4f08c204a84544565c63cc2412cc93746793
Reviewed-on: https://chromium-review.googlesource.com/1011645
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550885}
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/chrome/browser/ui/views/overlay/overlay_window_views.h
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/content/browser/picture_in_picture/overlay_surface_embedder.cc
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/content/browser/picture_in_picture/overlay_surface_embedder.h
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.cc
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.h
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/content/public/browser/picture_in_picture_window_controller.h
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/ui/compositor/layer.cc
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/ui/compositor/layer.h

Project Member

Comment 29 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/+/83018f00f19e9152521c3b5ee2e4db1a4e879b4f

commit 83018f00f19e9152521c3b5ee2e4db1a4e879b4f
Author: Jennifer Apacible <apacible@chromium.org>
Date: Fri Apr 13 23:18:15 2018

[Picture in Picture] Increase window border thickness.

Increasing the border thickness for a larger surface area to be able
to resize the window. This change is initiated from feedback to have
a larger drag-to-resize area.

This is currently an arbitrary value to gain feedback on the experience.

BUG:  726621 
Change-Id: Id02837b86e7851cbe5399a2a1ef9f01905b6fefb
Reviewed-on: https://chromium-review.googlesource.com/1011209
Reviewed-by: Becca Hughes <beccahughes@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550797}
[modify] https://crrev.com/83018f00f19e9152521c3b5ee2e4db1a4e879b4f/chrome/browser/ui/views/overlay/overlay_window_views.cc

Project Member

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

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

commit 475c1a2bdfc4b91ea1e8c1c3681f84502bc95a83
Author: Jennifer Apacible <apacible@chromium.org>
Date: Fri Apr 13 23:21:35 2018

[Picture in Picture] Make window non-modal.

Modality currently makes Picture in Picture a feature you can enter but
can never leave.

This is an issue on ChromeOS, where the user is unable to interact with
other windows on the screen, which means there is no way to exit
Picture-in-Picture mode.

Modality is not intended for this feature.

BUG:  726621 
Change-Id: Idc8852a98da52ef9438f979484db5d40cf271c21
Reviewed-on: https://chromium-review.googlesource.com/1011505
Reviewed-by: Becca Hughes <beccahughes@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550803}
[modify] https://crrev.com/475c1a2bdfc4b91ea1e8c1c3681f84502bc95a83/chrome/browser/ui/views/overlay/overlay_window_views.cc

Project Member

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

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

commit 3a9a1808903c24f52c650bce959932cba53d54b2
Author: Jennifer Apacible <apacible@chromium.org>
Date: Sat Apr 14 06:06:55 2018

[Picture in Picture] Resize cc::SurfaceLayer gracefully.

Currently, when the Picture-in-Picture window is resized, the video
(shown as the cc::SurfaceLayer) does not resize with it. This change
makes the cc::SurfaceLayer resize with the window.

Setting the new cc::SurfaceLayer size is required. |frame_size_in_dip_|,
which is set when the SetShowPrimarySurface() is initially called,
is used as the maximum size of cc::SurfaceLayer. This size needs to be
up to date for cases where the window is resized to be larger than the
initial size.

BUG:  726621 
Change-Id: I77ae4f08c204a84544565c63cc2412cc93746793
Reviewed-on: https://chromium-review.googlesource.com/1011645
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550885}
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/chrome/browser/ui/views/overlay/overlay_window_views.h
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/content/browser/picture_in_picture/overlay_surface_embedder.cc
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/content/browser/picture_in_picture/overlay_surface_embedder.h
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.cc
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/content/browser/picture_in_picture/picture_in_picture_window_controller_impl.h
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/content/public/browser/picture_in_picture_window_controller.h
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/ui/compositor/layer.cc
[modify] https://crrev.com/3a9a1808903c24f52c650bce959932cba53d54b2/ui/compositor/layer.h

Components: Blink>Media>PictureInPicture
Project Member

Comment 33 by bugdroid1@chromium.org, May 16 2018

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

commit 2ae7eeb32bffa888a09a14932c2ff5f7a20aa5aa
Author: Jennifer Apacible <apacible@chromium.org>
Date: Wed May 16 00:18:21 2018

[Picture in Picture] Make minimum window size const.

BUG:  726621 
Change-Id: I48fcd9addcf7a056563efa023ed1eea305f27233
Reviewed-on: https://chromium-review.googlesource.com/1060021
Reviewed-by: Becca Hughes <beccahughes@chromium.org>
Commit-Queue: apacible <apacible@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558895}
[modify] https://crrev.com/2ae7eeb32bffa888a09a14932c2ff5f7a20aa5aa/chrome/browser/ui/views/overlay/overlay_window_views.cc

Comment 34 by ericp...@gmail.com, Jun 19 2018

Sorry, this's probably the wrong place to post - but I didn't quite know if I should create a whole topic about this, but long story short:

I've been following the implementation of PIP... but it's not working on Netflix (I imagine that  it's because the peculiar and unique way that Netflix system works)...

But.. is there any plans to make PIP compatible with Netflix site?
How do you test that it's not working?
You may want to try the non-official Picture-in-Picture chrome extension as it works for me: https://github.com/beaufortfrancois/picture-in-picture-chrome-extension/issues/3

You can find current implementation status at https://github.com/WICG/picture-in-picture/blob/master/implementation-status.md
Status: Fixed (was: Started)
Primary window work has been completed. Future modifications will be tied to respective crbugs.

Sign in to add a comment