New issue
Advanced search Search tips

Issue 841886 link

Starred by 6 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Eng tracking bug: Picture in Picture in ChromeOS

Project Member Reported by minch@chromium.org, May 10 2018

Issue description

This is a tracking issue for the pip in ChromeOS. It might includes some UI integration work between Android and ChromeOS, pip mode swap between chrome and android apps, etc.

android pip tracking: b:69370942



 

Comment 1 by shihuis@google.com, Jun 1 2018

Components: UI>Shell>WindowManager
Cc: -edcourtney@chromium.org
Owner: edcourtney@chromium.org
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 13 2018

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

commit c0142849b6bc724da046351df256092fefe31d1e
Author: Eliot Courtney <edcourtney@google.com>
Date: Wed Jun 13 02:31:31 2018

Don't allow splitview for PIPed windows.

BUG=b:109773984
BUG=841886

Change-Id: Ib04cd920450f7e63e779220b24a65956f3bc1e1f
Reviewed-on: https://chromium-review.googlesource.com/1088342
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Stefan Kuhne <skuhne@chromium.org>
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566694}
[modify] https://crrev.com/c0142849b6bc724da046351df256092fefe31d1e/ash/wm/tablet_mode/tablet_mode_backdrop_delegate_impl.cc
[modify] https://crrev.com/c0142849b6bc724da046351df256092fefe31d1e/ash/wm/window_state.cc
[modify] https://crrev.com/c0142849b6bc724da046351df256092fefe31d1e/ash/wm/window_state.h
[modify] https://crrev.com/c0142849b6bc724da046351df256092fefe31d1e/ash/wm/window_state_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 20

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

commit d7fe03e6d0e203410ea068047e77b1fc96a7cae5
Author: Eliot Courtney <edcourtney@google.com>
Date: Fri Jul 20 07:26:37 2018

[pip] Add ArcPipBridge.

Currently this only contains some basic things for telling Chrome when
Android PIP has started or finished, but later we may add more.

Bug: 841886
Bug: b/69370942
Test: compiles and ARC runs. ArcPipBridge comes up as well.
Change-Id: I14ac5b6d8628c4cc2f571f06690e6d3c228d943d
Reviewed-on: https://chromium-review.googlesource.com/1120085
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Reviewed-by: Mattias Nissler <mnissler@chromium.org>
Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576803}
[modify] https://crrev.com/d7fe03e6d0e203410ea068047e77b1fc96a7cae5/chrome/browser/chromeos/BUILD.gn
[modify] https://crrev.com/d7fe03e6d0e203410ea068047e77b1fc96a7cae5/chrome/browser/chromeos/arc/arc_service_launcher.cc
[add] https://crrev.com/d7fe03e6d0e203410ea068047e77b1fc96a7cae5/chrome/browser/chromeos/arc/pip/arc_pip_bridge.cc
[add] https://crrev.com/d7fe03e6d0e203410ea068047e77b1fc96a7cae5/chrome/browser/chromeos/arc/pip/arc_pip_bridge.h
[modify] https://crrev.com/d7fe03e6d0e203410ea068047e77b1fc96a7cae5/components/arc/arc_bridge_host_impl.cc
[modify] https://crrev.com/d7fe03e6d0e203410ea068047e77b1fc96a7cae5/components/arc/arc_bridge_host_impl.h
[modify] https://crrev.com/d7fe03e6d0e203410ea068047e77b1fc96a7cae5/components/arc/arc_bridge_service.h
[modify] https://crrev.com/d7fe03e6d0e203410ea068047e77b1fc96a7cae5/components/arc/common/BUILD.gn
[modify] https://crrev.com/d7fe03e6d0e203410ea068047e77b1fc96a7cae5/components/arc/common/arc_bridge.mojom
[add] https://crrev.com/d7fe03e6d0e203410ea068047e77b1fc96a7cae5/components/arc/common/pip.mojom
[modify] https://crrev.com/d7fe03e6d0e203410ea068047e77b1fc96a7cae5/components/arc/test/fake_arc_bridge_host.cc
[modify] https://crrev.com/d7fe03e6d0e203410ea068047e77b1fc96a7cae5/components/arc/test/fake_arc_bridge_host.h

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 21

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

commit a1cdb7ae54654709ab3679f2c11df440950d08a4
Author: Eliot Courtney <edcourtney@google.com>
Date: Tue Aug 21 08:39:46 2018

Only allow one PIP window between Chrome and Android.

Bug: 841886
Bug: b/69370942
Test: unit test
Test: manually tested Android PIP causing Chrome PIP to close and vice-versa
Change-Id: Ic524db7d48b31d3351a3a669fc48b769a155d956
Reviewed-on: https://chromium-review.googlesource.com/1145148
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org>
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584689}
[modify] https://crrev.com/a1cdb7ae54654709ab3679f2c11df440950d08a4/chrome/browser/chromeos/BUILD.gn
[add] https://crrev.com/a1cdb7ae54654709ab3679f2c11df440950d08a4/chrome/browser/chromeos/arc/pip/arc_picture_in_picture_window_controller_impl.cc
[add] https://crrev.com/a1cdb7ae54654709ab3679f2c11df440950d08a4/chrome/browser/chromeos/arc/pip/arc_picture_in_picture_window_controller_impl.h
[modify] https://crrev.com/a1cdb7ae54654709ab3679f2c11df440950d08a4/chrome/browser/chromeos/arc/pip/arc_pip_bridge.cc
[modify] https://crrev.com/a1cdb7ae54654709ab3679f2c11df440950d08a4/chrome/browser/chromeos/arc/pip/arc_pip_bridge.h
[add] https://crrev.com/a1cdb7ae54654709ab3679f2c11df440950d08a4/chrome/browser/chromeos/arc/pip/arc_pip_bridge_unittest.cc
[modify] https://crrev.com/a1cdb7ae54654709ab3679f2c11df440950d08a4/components/arc/BUILD.gn
[add] https://crrev.com/a1cdb7ae54654709ab3679f2c11df440950d08a4/components/arc/test/fake_pip_instance.cc
[add] https://crrev.com/a1cdb7ae54654709ab3679f2c11df440950d08a4/components/arc/test/fake_pip_instance.h

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 28

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

commit 5ccc1e0311b53a7acc92d5e2f3c95a50ac39bb06
Author: Eliot Courtney <edcourtney@google.com>
Date: Fri Sep 28 02:36:28 2018

Apply rounded corners to the Picture-in-Picture window.

stayed upon resizing the window.

Bug: b/112668689
Bug: 841886
Test: Created a PIP window and it had rounded corners. Rounded corners
Change-Id: Ie57223d8c5a2701a0013eee0bce2cf5333d2c304
Reviewed-on: https://chromium-review.googlesource.com/1219426
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594962}
[modify] https://crrev.com/5ccc1e0311b53a7acc92d5e2f3c95a50ac39bb06/ash/wm/base_state.cc
[modify] https://crrev.com/5ccc1e0311b53a7acc92d5e2f3c95a50ac39bb06/ash/wm/window_state.cc
[modify] https://crrev.com/5ccc1e0311b53a7acc92d5e2f3c95a50ac39bb06/ash/wm/window_state.h

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 12

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

commit 68084907a40caccccb72dd14c0ad3139b97747f7
Author: Eliot Courtney <edcourtney@google.com>
Date: Fri Oct 12 07:45:24 2018

Let ClientControlledState apply animation during bounds change.

This CL introduces a new BoundsChangeAnimationType for
ClientControlledState which will animate the window bounds for a
specified duration.

Bug: b/115291749
Bug: 841886
Test: Tested with local PIP prototype - applies animation.
Change-Id: I8eda8b2131b8d3f679ade5cfbe64d7378efd6881
Reviewed-on: https://chromium-review.googlesource.com/c/1218385
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599132}
[modify] https://crrev.com/68084907a40caccccb72dd14c0ad3139b97747f7/ash/wm/client_controlled_state.cc
[modify] https://crrev.com/68084907a40caccccb72dd14c0ad3139b97747f7/ash/wm/client_controlled_state.h
[modify] https://crrev.com/68084907a40caccccb72dd14c0ad3139b97747f7/ash/wm/client_controlled_state_unittest.cc
[modify] https://crrev.com/68084907a40caccccb72dd14c0ad3139b97747f7/ash/wm/default_state.cc
[modify] https://crrev.com/68084907a40caccccb72dd14c0ad3139b97747f7/ash/wm/window_state.cc
[modify] https://crrev.com/68084907a40caccccb72dd14c0ad3139b97747f7/ash/wm/window_state.h
[modify] https://crrev.com/68084907a40caccccb72dd14c0ad3139b97747f7/ash/wm/wm_event.cc
[modify] https://crrev.com/68084907a40caccccb72dd14c0ad3139b97747f7/ash/wm/wm_event.h
[modify] https://crrev.com/68084907a40caccccb72dd14c0ad3139b97747f7/components/exo/client_controlled_shell_surface.cc
[modify] https://crrev.com/68084907a40caccccb72dd14c0ad3139b97747f7/components/exo/client_controlled_shell_surface_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 12

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

commit 1454ad1f261d1089f2ac20cdc6e7e3d2562d731c
Author: Eliot Courtney <edcourtney@google.com>
Date: Fri Oct 12 11:38:12 2018

Add Picture-in-picture specific window resizer.

Currently, this does essentially nothing apart from providing basic
resizing and moving functionality. In a follow-up CL, we can add
snap-to-edge, swipe-to-dismiss, and interaction with system ui regions
like the virtual keyboard.

Bug: 841886
Bug: b/115291749
Test: Able to move and resize an Android PIP window.
Change-Id: Iaecc43154fd38dc5f9d3b83549e97dc44a89d749
Reviewed-on: https://chromium-review.googlesource.com/c/1219428
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599172}
[modify] https://crrev.com/1454ad1f261d1089f2ac20cdc6e7e3d2562d731c/ash/BUILD.gn
[add] https://crrev.com/1454ad1f261d1089f2ac20cdc6e7e3d2562d731c/ash/wm/pip/pip_window_resizer.cc
[add] https://crrev.com/1454ad1f261d1089f2ac20cdc6e7e3d2562d731c/ash/wm/pip/pip_window_resizer.h
[add] https://crrev.com/1454ad1f261d1089f2ac20cdc6e7e3d2562d731c/ash/wm/pip/pip_window_resizer_unittest.cc
[modify] https://crrev.com/1454ad1f261d1089f2ac20cdc6e7e3d2562d731c/ash/wm/workspace/workspace_window_resizer.cc
[modify] https://crrev.com/1454ad1f261d1089f2ac20cdc6e7e3d2562d731c/components/exo/client_controlled_shell_surface.cc
[modify] https://crrev.com/1454ad1f261d1089f2ac20cdc6e7e3d2562d731c/components/exo/client_controlled_shell_surface_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 17

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

commit 68214399ee90f8be17244b060199bc1ff9e3877c
Author: Eliot Courtney <edcourtney@google.com>
Date: Wed Oct 17 03:11:49 2018

Snap picture-in-picture window to the edges of the work area.

the closest edge.

Bug: 883098
Bug: 841886
Bug: b/115291749
Test: Drag PIP window to the middle of the screen - it animates back to
Test: Added unittests
Change-Id: Ibf19f50c4e4298ea126c1a1986f014076e4592f1
Reviewed-on: https://chromium-review.googlesource.com/c/1221010
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600262}
[modify] https://crrev.com/68214399ee90f8be17244b060199bc1ff9e3877c/ash/BUILD.gn
[add] https://crrev.com/68214399ee90f8be17244b060199bc1ff9e3877c/ash/wm/pip/pip_positioner.cc
[add] https://crrev.com/68214399ee90f8be17244b060199bc1ff9e3877c/ash/wm/pip/pip_positioner.h
[add] https://crrev.com/68214399ee90f8be17244b060199bc1ff9e3877c/ash/wm/pip/pip_positioner_unittest.cc
[modify] https://crrev.com/68214399ee90f8be17244b060199bc1ff9e3877c/ash/wm/pip/pip_window_resizer.cc
[modify] https://crrev.com/68214399ee90f8be17244b060199bc1ff9e3877c/ash/wm/pip/pip_window_resizer_unittest.cc
[modify] https://crrev.com/68214399ee90f8be17244b060199bc1ff9e3877c/ash/wm/window_state.cc
[modify] https://crrev.com/68214399ee90f8be17244b060199bc1ff9e3877c/ash/wm/window_state.h
[modify] https://crrev.com/68214399ee90f8be17244b060199bc1ff9e3877c/ash/wm/workspace/workspace_window_resizer_unittest.cc
[modify] https://crrev.com/68214399ee90f8be17244b060199bc1ff9e3877c/components/exo/client_controlled_shell_surface_unittest.cc
[modify] https://crrev.com/68214399ee90f8be17244b060199bc1ff9e3877c/testing/buildbot/filters/chromeos.single_process_mash.ash_unittests.filter

Project Member

Comment 11 by bugdroid1@chromium.org, Oct 23

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

commit bd0c7f53fc00ed3fd85e556f7b5b8cbe7592666e
Author: Eliot Courtney <edcourtney@google.com>
Date: Tue Oct 23 02:47:20 2018

Add system ui area observer.

This will be used in an upcoming CL. We want the Picture-in-Picture
window to avoid system ui areas such as the message center and virtual
keyboard. In order to support this, this CL adds a new WM event to fire
when something changes about a 'system ui area,' which currently
includes the virtual keyboard (floating or normal) and the message
center.

Bug: b/115291749
Bug: 841886
Bug: 874545
Bug: b/112668491
Test: Added unittest
Change-Id: Ic3b0cde8800bfc98dd2ffbe0d17137a6e1a26809
Reviewed-on: https://chromium-review.googlesource.com/c/1219366
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601832}
[modify] https://crrev.com/bd0c7f53fc00ed3fd85e556f7b5b8cbe7592666e/ash/wm/default_state.cc
[modify] https://crrev.com/bd0c7f53fc00ed3fd85e556f7b5b8cbe7592666e/ash/wm/lock_window_state.cc
[modify] https://crrev.com/bd0c7f53fc00ed3fd85e556f7b5b8cbe7592666e/ash/wm/tablet_mode/tablet_mode_window_state.cc
[modify] https://crrev.com/bd0c7f53fc00ed3fd85e556f7b5b8cbe7592666e/ash/wm/wm_event.cc
[modify] https://crrev.com/bd0c7f53fc00ed3fd85e556f7b5b8cbe7592666e/ash/wm/wm_event.h
[modify] https://crrev.com/bd0c7f53fc00ed3fd85e556f7b5b8cbe7592666e/ash/wm/workspace/workspace_layout_manager.cc
[modify] https://crrev.com/bd0c7f53fc00ed3fd85e556f7b5b8cbe7592666e/ash/wm/workspace/workspace_layout_manager.h
[modify] https://crrev.com/bd0c7f53fc00ed3fd85e556f7b5b8cbe7592666e/ash/wm/workspace/workspace_layout_manager_unittest.cc
[modify] https://crrev.com/bd0c7f53fc00ed3fd85e556f7b5b8cbe7592666e/testing/buildbot/filters/chromeos.single_process_mash.ash_unittests.filter

Project Member

Comment 12 by bugdroid1@chromium.org, Oct 25

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

commit 7344c4508be535ce6b33ef8c3caf3ba9480b02da
Author: Eliot Courtney <edcourtney@google.com>
Date: Thu Oct 25 05:49:09 2018

Add PIP dismiss animation on close.

Bug: 883114
Bug: 841886
Bug: b/115291749
Test: PIP window dismisses off the screen when closed.
Test: Added unittest.
Change-Id: I66b2802c1c5bff1d59bcfa5cb1194742499a274f
Reviewed-on: https://chromium-review.googlesource.com/c/1220350
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602620}
[modify] https://crrev.com/7344c4508be535ce6b33ef8c3caf3ba9480b02da/ash/public/cpp/window_animation_types.h
[modify] https://crrev.com/7344c4508be535ce6b33ef8c3caf3ba9480b02da/ash/wm/base_state.cc
[modify] https://crrev.com/7344c4508be535ce6b33ef8c3caf3ba9480b02da/ash/wm/client_controlled_state.cc
[modify] https://crrev.com/7344c4508be535ce6b33ef8c3caf3ba9480b02da/ash/wm/default_state.cc
[modify] https://crrev.com/7344c4508be535ce6b33ef8c3caf3ba9480b02da/ash/wm/pip/pip_positioner.cc
[modify] https://crrev.com/7344c4508be535ce6b33ef8c3caf3ba9480b02da/ash/wm/pip/pip_positioner.h
[modify] https://crrev.com/7344c4508be535ce6b33ef8c3caf3ba9480b02da/ash/wm/pip/pip_positioner_unittest.cc
[modify] https://crrev.com/7344c4508be535ce6b33ef8c3caf3ba9480b02da/ash/wm/window_animations.cc
[modify] https://crrev.com/7344c4508be535ce6b33ef8c3caf3ba9480b02da/ash/wm/window_animations_unittest.cc
[modify] https://crrev.com/7344c4508be535ce6b33ef8c3caf3ba9480b02da/ash/wm/window_state.cc
[modify] https://crrev.com/7344c4508be535ce6b33ef8c3caf3ba9480b02da/ash/wm/window_state.h
[modify] https://crrev.com/7344c4508be535ce6b33ef8c3caf3ba9480b02da/testing/buildbot/filters/chromeos.single_process_mash.ash_unittests.filter

Project Member

Comment 13 by bugdroid1@chromium.org, Oct 25

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

commit 69b5eaeecea7dc80ae947d8ddda20fab2af7e047
Author: Eliot Courtney <edcourtney@google.com>
Date: Thu Oct 25 06:34:32 2018

Reposition the PIP window on work area change.

window.

Bug: 841886
Bug: 883118
Bug: b/115291749
Test: Changing shelf from auto-hide to show always repositions PIP
Test: Added unittests.
Change-Id: I20712f90dcf0cd6fc7291e1126cf7a449421ef10
Reviewed-on: https://chromium-review.googlesource.com/c/1220353
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602623}
[modify] https://crrev.com/69b5eaeecea7dc80ae947d8ddda20fab2af7e047/ash/wm/base_state.cc
[modify] https://crrev.com/69b5eaeecea7dc80ae947d8ddda20fab2af7e047/ash/wm/pip/pip_positioner.cc
[modify] https://crrev.com/69b5eaeecea7dc80ae947d8ddda20fab2af7e047/ash/wm/pip/pip_positioner.h
[modify] https://crrev.com/69b5eaeecea7dc80ae947d8ddda20fab2af7e047/ash/wm/pip/pip_positioner_unittest.cc
[modify] https://crrev.com/69b5eaeecea7dc80ae947d8ddda20fab2af7e047/ash/wm/window_state.cc
[modify] https://crrev.com/69b5eaeecea7dc80ae947d8ddda20fab2af7e047/ash/wm/window_state.h

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 26

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

commit 3b3ec56acbbd297c668543de6ecbde27d07f8942
Author: Eliot Courtney <edcourtney@google.com>
Date: Fri Oct 26 06:33:23 2018

Don't use ToString() for gfx::Rect in PipWindowResizerTest.

Bug: 841886
Bug: b/115291749
Test: ash_unittests
Change-Id: Ibfd54d17fa035d432fbb0570ab5eee922b1a8856
Reviewed-on: https://chromium-review.googlesource.com/c/1300819
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603006}
[modify] https://crrev.com/3b3ec56acbbd297c668543de6ecbde27d07f8942/ash/wm/pip/pip_window_resizer_unittest.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Oct 30

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

commit 80a6ad7cfe2ad72ef02ef55796870a9bd6845c1f
Author: Eliot Courtney <edcourtney@google.com>
Date: Tue Oct 30 03:03:30 2018

Clean up GetGravityToClosestEdge for PipPositioner.

Bug: 883114
Bug: 841886
Bug: b/115291749
Test: ash_unittests
Change-Id: I2e6cd712e9550d7d4ce4f971f5800dec18316078
Reviewed-on: https://chromium-review.googlesource.com/c/1298530
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603756}
[modify] https://crrev.com/80a6ad7cfe2ad72ef02ef55796870a9bd6845c1f/ash/wm/pip/pip_positioner.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 1

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

commit 05cec5c6fd7ee28f9917e788a9e0708fa1940a5b
Author: Eliot Courtney <edcourtney@google.com>
Date: Thu Nov 01 05:34:12 2018

Move the PIP window out of the way of the floating keyboard and tray.

We are looking for the minimum displacement of the PIP window that makes
it not intersect any system trays or the floating keyboard.

There are four cases for how the PIP window could move.
Case #1: Touches 0 obstacles. This corresponds to not moving.
Case #2: Touches 1 obstacle.
  The PIP window will be touching one edge of the obstacle.
Case #3: Touches 2 obstacles.
  The PIP window will be touching one horizontal and one vertical edge
  from two different obstacles.
Case #4: Touches more than 2 obstacles. This is handled in case #3.

To handle all these cases, we just need to check a few candidate points.
If the PIP window is displaced by one obstacle, the shortest
displacement is to move along the horizontal or vertical axis to be
directly adjacent to one of the edges of that obstacle.

If it is displaced by two obstacles, the shortest displacement is to
move to be directly adjacent to a horizontal and vertical edge - one
from each obstacle.

keyboard and unified system tray update, and the PIP window moved out of
the way of both the floating virtual keyboard and unified system tray.

Bug: 883118
Bug: 841886
Bug: b/115291749
Test: Added unittest
Test: Patched in code calling GetPositionAfterMovementAreaChange on
Change-Id: I2b500d5ba4a67fe2e309b809ec667248a19518ca
Reviewed-on: https://chromium-review.googlesource.com/c/1221427
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604523}
[modify] https://crrev.com/05cec5c6fd7ee28f9917e788a9e0708fa1940a5b/ash/wm/pip/pip_positioner.cc
[modify] https://crrev.com/05cec5c6fd7ee28f9917e788a9e0708fa1940a5b/ash/wm/pip/pip_positioner.h
[modify] https://crrev.com/05cec5c6fd7ee28f9917e788a9e0708fa1940a5b/ash/wm/pip/pip_positioner_unittest.cc

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 1

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

commit 59f09f7955cffb66488691307dabc3e5633bef68
Author: Eliot Courtney <edcourtney@google.com>
Date: Thu Nov 01 05:49:14 2018

Implement swipe-to-dismiss for PIP windows.

in the direction of initial movement and then locked on the axis
off-screen and didn't dismiss if not.
off-screen.
screen doesn't allow a swipe-to-dismiss to initiate.
the screen correctly disables initiation of another swipe-to-dismiss for
the rest of the drag-to-move.

Bug: 883114
Bug: 841886
Bug: b/115291749
Test: Added unittests
Test: tried swipe-to-dismiss from all four corners, it started swiping
Test: Tried swiping on the edges of the screen
Test: Tried swiping around 50% area - correctly dismissed if >50% area
Test: Popped back after swiping out with less than 50% of the area
Test: Starting drag-to-move while not on the edge or corner of the
Test: Starting to swipe-to-dismiss but then dragging into the middle of
Change-Id: I350a8824a0d21162f7356a01632cd4787bd0392c
Reviewed-on: https://chromium-review.googlesource.com/c/1221646
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604524}
[modify] https://crrev.com/59f09f7955cffb66488691307dabc3e5633bef68/ash/wm/pip/pip_window_resizer.cc
[modify] https://crrev.com/59f09f7955cffb66488691307dabc3e5633bef68/ash/wm/pip/pip_window_resizer.h
[modify] https://crrev.com/59f09f7955cffb66488691307dabc3e5633bef68/ash/wm/pip/pip_window_resizer_unittest.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Nov 1

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

commit 8dccc2d4dee681ba10ddc3d29c483f273648e8c5
Author: Eliot Courtney <edcourtney@google.com>
Date: Thu Nov 01 09:29:00 2018

Track occluded region in WindowOcclusionTracker.

We would like to automatically trigger Picture-in-Picture when a certain amount
of the window is occluded. To do this, we need a way to know how much of a
window is occluded by other windows. This occlusion could come from multiple
windows, and an occlusion tracker for aura already exists. This CL extends the
existing occlusion tracking functionality to also track an occluded region for
tracked windows.


Bug: 883157
Bug: 841886
Bug: b/112668686
Bug: b/110011377
Test: unit test
Change-Id: I0d6618ab05109cc46af0cfd72ecc5cbca2f200d4
Reviewed-on: https://chromium-review.googlesource.com/c/1179433
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Fran├žois Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604532}
[modify] https://crrev.com/8dccc2d4dee681ba10ddc3d29c483f273648e8c5/content/browser/web_contents/web_contents_view_aura.cc
[modify] https://crrev.com/8dccc2d4dee681ba10ddc3d29c483f273648e8c5/content/browser/web_contents/web_contents_view_aura.h
[modify] https://crrev.com/8dccc2d4dee681ba10ddc3d29c483f273648e8c5/services/ws/window_delegate_impl.cc
[modify] https://crrev.com/8dccc2d4dee681ba10ddc3d29c483f273648e8c5/services/ws/window_delegate_impl.h
[modify] https://crrev.com/8dccc2d4dee681ba10ddc3d29c483f273648e8c5/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/8dccc2d4dee681ba10ddc3d29c483f273648e8c5/ui/aura/window.cc
[modify] https://crrev.com/8dccc2d4dee681ba10ddc3d29c483f273648e8c5/ui/aura/window.h
[modify] https://crrev.com/8dccc2d4dee681ba10ddc3d29c483f273648e8c5/ui/aura/window_delegate.h
[modify] https://crrev.com/8dccc2d4dee681ba10ddc3d29c483f273648e8c5/ui/aura/window_occlusion_tracker.cc
[modify] https://crrev.com/8dccc2d4dee681ba10ddc3d29c483f273648e8c5/ui/aura/window_occlusion_tracker.h
[modify] https://crrev.com/8dccc2d4dee681ba10ddc3d29c483f273648e8c5/ui/aura/window_occlusion_tracker_unittest.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Nov 1

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

commit bbd09c3635870488fcee8a7b93fd945eb360c4a4
Author: Eliot Courtney <edcourtney@google.com>
Date: Thu Nov 01 09:30:00 2018

Implement flinging logic for PIP windows.

Bug: b/115291749
Bug: 841886
Bug: 883098
Test: Added unit test
Test: manually tried flinging around and it went in the direction of
fling.

Change-Id: Ic1b999f4a6596302a584a37888b5edadf0bce342
Reviewed-on: https://chromium-review.googlesource.com/c/1224150
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604533}
[modify] https://crrev.com/bbd09c3635870488fcee8a7b93fd945eb360c4a4/ash/wm/pip/pip_window_resizer.cc
[modify] https://crrev.com/bbd09c3635870488fcee8a7b93fd945eb360c4a4/ash/wm/pip/pip_window_resizer.h
[modify] https://crrev.com/bbd09c3635870488fcee8a7b93fd945eb360c4a4/ash/wm/pip/pip_window_resizer_unittest.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Nov 29

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

commit 06e357911c008ce9a247fa3cda8b010abb1e743e
Author: Eliot Courtney <edcourtney@google.com>
Date: Thu Nov 29 00:29:46 2018

Add RoundedCornerDecorator and apply it to Picture-in-Picture windows.

    I tested: 1. open pip window, 2. move around, 3. resize, 4. close,
    5. re-open, 6. close tab destroying the window
    off.

Bug: 841886
Test: Chrome PIP works with rounded corners flag both on and off.
Test: Android PIP window works with rounded corners flag both on and
Change-Id: Iec59abde476d56c58e197b9220ac6ba418801395
Reviewed-on: https://chromium-review.googlesource.com/c/1347969
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Tommy Steimel <steimel@chromium.org>
Commit-Queue: Eliot Courtney <edcourtney@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611957}
[modify] https://crrev.com/06e357911c008ce9a247fa3cda8b010abb1e743e/ash/public/cpp/BUILD.gn
[add] https://crrev.com/06e357911c008ce9a247fa3cda8b010abb1e743e/ash/public/cpp/rounded_corner_decorator.cc
[add] https://crrev.com/06e357911c008ce9a247fa3cda8b010abb1e743e/ash/public/cpp/rounded_corner_decorator.h
[add] https://crrev.com/06e357911c008ce9a247fa3cda8b010abb1e743e/ash/public/cpp/rounded_corner_decorator_unittest.cc
[modify] https://crrev.com/06e357911c008ce9a247fa3cda8b010abb1e743e/ash/wm/base_state.cc
[modify] https://crrev.com/06e357911c008ce9a247fa3cda8b010abb1e743e/ash/wm/window_state.cc
[modify] https://crrev.com/06e357911c008ce9a247fa3cda8b010abb1e743e/ash/wm/window_state.h
[modify] https://crrev.com/06e357911c008ce9a247fa3cda8b010abb1e743e/ash/wm/window_state_unittest.cc
[modify] https://crrev.com/06e357911c008ce9a247fa3cda8b010abb1e743e/chrome/browser/ui/views/overlay/overlay_window_views.cc
[modify] https://crrev.com/06e357911c008ce9a247fa3cda8b010abb1e743e/chrome/browser/ui/views/overlay/overlay_window_views.h
[modify] https://crrev.com/06e357911c008ce9a247fa3cda8b010abb1e743e/components/exo/client_controlled_shell_surface.cc
[modify] https://crrev.com/06e357911c008ce9a247fa3cda8b010abb1e743e/components/exo/client_controlled_shell_surface.h

Sign in to add a comment