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

Issue 659155 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug


Sign in to add a comment

Make aura work with mus

Project Member Reported by sky@chromium.org, Oct 25 2016

Issue description

Currently the mus client library is a separate from aura. This makes it hard to use aura with mus. Aura should have an option to use mus as the backend.
 
Components: Internals>MUS Internals>Aura
Labels: Proj-Mustash-Milestone-Tadpole Proj-Mustash-Mus-WS
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 25 2016

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

commit 8adce9c941c6a2fdef33023a96b463b6f7cf06a3
Author: sky <sky@chromium.org>
Date: Tue Oct 25 20:46:56 2016

Makes DefaultCaptureClient work with a null root_window

DefaultCaptureClient only uses the root to install itself as the
CaptureClient. I previously landed a change to make the root optional,
but didn't land this part of it that ignores a null root.

BUG= 659155 
TEST=none
R=msw@chromium.org

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

[modify] https://crrev.com/8adce9c941c6a2fdef33023a96b463b6f7cf06a3/ui/aura/client/default_capture_client.cc
[modify] https://crrev.com/8adce9c941c6a2fdef33023a96b463b6f7cf06a3/ui/aura/test/aura_test_helper.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Oct 26 2016

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

commit 631094cdb13348d8946c753c10a8f8bd9fe353ef
Author: sky <sky@chromium.org>
Date: Wed Oct 26 18:21:01 2016

Adds a porting layer so aura can be made to work with mus

This introduces WindowPort and the single concrete implementation of
it WindowPortAura. WindowPort contains the set of functions needed to
get aura to work with mus. A new constructor is added to Window and
WindowTreeNhost that can be used to specify an explicit
WindowPort. This is not the common case though, the common case is to
use a constructor that does not take a WindowPort, in which case a
WindowPort is created using a callback specified at the time of
creating Env.

BUG= 659155 
TEST=covered by existing tests
sadrul@chromium.org

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

[modify] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/BUILD.gn
[modify] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/env.cc
[modify] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/env.h
[modify] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/window.cc
[modify] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/window.h
[add] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/window_port.cc
[add] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/window_port.h
[add] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/window_port_local.cc
[add] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/window_port_local.h
[modify] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/window_property.h
[modify] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/window_tree_host.cc
[modify] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/window_tree_host.h
[modify] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/window_tree_host_platform.cc
[modify] https://crrev.com/631094cdb13348d8946c753c10a8f8bd9fe353ef/ui/aura/window_tree_host_platform.h

Project Member

Comment 4 by bugdroid1@chromium.org, Oct 27 2016

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

commit f8fcebc79eae73281b270ae26c8248f757fb0570
Author: sky <sky@chromium.org>
Date: Thu Oct 27 18:34:13 2016

Moves TransientWindowClient to ui/aura/client and adds observer

Mus is going to need to use this from within aura, so I'm moving it to
ui/aura/client. Additionally I'm moving creation of WmState to
AuraTestHelper. Again, mus is going to need it aura test code already
depends upon ui/wm, so I can't think of a reason not to do it
everywhere.

BUG= 659155 
TEST=covered by tests
R=ben@chromium.org

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

[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ash/test/ash_test_helper.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ash/test/ash_test_helper.h
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/content/shell/browser/shell.h
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/content/shell/browser/shell_views.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/aura/BUILD.gn
[add] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/aura/client/transient_window_client.cc
[add] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/aura/client/transient_window_client.h
[add] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/aura/client/transient_window_client_observer.h
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/aura/test/DEPS
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/aura/test/aura_test_helper.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/aura/test/aura_test_helper.h
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/views/corewm/tooltip_controller_unittest.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/views/test/test_views_delegate.h
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/views/test/test_views_delegate_aura.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/views/test/views_test_helper_aura.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/views/test/views_test_helper_aura.h
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/wm/core/easy_resize_window_targeter.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/wm/core/focus_controller_unittest.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/wm/core/shadow_controller_unittest.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/wm/core/transient_window_controller.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/wm/core/transient_window_controller.h
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/wm/core/transient_window_manager.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/wm/core/transient_window_manager_unittest.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/wm/core/wm_state.h
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/wm/test/wm_test_helper.cc
[modify] https://crrev.com/f8fcebc79eae73281b270ae26c8248f757fb0570/ui/wm/test/wm_test_helper.h

Project Member

Comment 5 by bugdroid1@chromium.org, Oct 27 2016

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

commit 92d41b244faecf619cbff52ca3f08e4a25afb14e
Author: sky <sky@chromium.org>
Date: Thu Oct 27 20:10:16 2016

Moves DragDropClient to aura/client

I'm going to need this in aura/client for mus.

BUG= 659155 
TEST=covered by tests
R=ben@chromium.org

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

[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ash/drag_drop/drag_drop_controller.h
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ash/root_window_controller.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/chrome/browser/download/drag_download_item_views.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/content/browser/web_contents/web_contents_view_aura.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/aura/BUILD.gn
[rename] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/aura/client/drag_drop_client.cc
[rename] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/aura/client/drag_drop_client.h
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/views/controls/button/menu_button_unittest.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/views/controls/menu/menu_controller_unittest.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/views/controls/menu/menu_message_loop_aura.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/views/corewm/tooltip_controller.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/views/drag_utils_aura.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/views/mus/drag_drop_client_mus.h
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/views/mus/drop_target_mus.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.h
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/views/widget/desktop_aura/desktop_drag_drop_client_win.h
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/views/widget/desktop_aura/desktop_drop_target_win.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/views/widget/native_widget_aura.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/wm/core/compound_event_filter.cc
[modify] https://crrev.com/92d41b244faecf619cbff52ca3f08e4a25afb14e/ui/wm/public/scoped_drag_drop_disabler.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Oct 27 2016

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

commit 8f993309b287cb08554580ba662f215a33f6cb41
Author: sky <sky@chromium.org>
Date: Thu Oct 27 23:23:53 2016

Moves OSExchangeDataProviderMus to aura/mus

I'm going to need it within ui/aura/mus, so moving there.

BUG= 659155 
TEST=covered by tests
R=erg@chromium.org,eroman@chromium.org

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

[modify] https://crrev.com/8f993309b287cb08554580ba662f215a33f6cb41/ui/aura/BUILD.gn
[modify] https://crrev.com/8f993309b287cb08554580ba662f215a33f6cb41/ui/aura/DEPS
[rename] https://crrev.com/8f993309b287cb08554580ba662f215a33f6cb41/ui/aura/mus/os_exchange_data_provider_mus.cc
[rename] https://crrev.com/8f993309b287cb08554580ba662f215a33f6cb41/ui/aura/mus/os_exchange_data_provider_mus.h
[rename] https://crrev.com/8f993309b287cb08554580ba662f215a33f6cb41/ui/aura/mus/os_exchange_data_provider_mus_unittest.cc
[modify] https://crrev.com/8f993309b287cb08554580ba662f215a33f6cb41/ui/views/mus/BUILD.gn
[modify] https://crrev.com/8f993309b287cb08554580ba662f215a33f6cb41/ui/views/mus/DEPS
[modify] https://crrev.com/8f993309b287cb08554580ba662f215a33f6cb41/ui/views/mus/drag_drop_client_mus.cc
[modify] https://crrev.com/8f993309b287cb08554580ba662f215a33f6cb41/ui/views/mus/drop_target_mus.cc
[modify] https://crrev.com/8f993309b287cb08554580ba662f215a33f6cb41/ui/views/mus/window_manager_connection.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 28 2016

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

commit 253a1515bbb87cd76bf6f08924b1f1333ba79958
Author: sky <sky@chromium.org>
Date: Fri Oct 28 02:36:23 2016

Fixes to WindowTreeHostMus

This adds the display_id, makes the Window associated with the
WindowTreeHostMus always have an origin of 0x0 and track size of
underlying window, and makes visibility of WindowTreeHostMus match
that window.

BUG= 659155 
TEST=covered by tests
R=sadrul@chromium.org

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

[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/BUILD.gn
[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/mus/in_flight_change.cc
[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/mus/in_flight_change.h
[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/mus/mus_types.h
[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/mus/window_mus.h
[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/mus/window_tree_client_unittest.cc
[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/mus/window_tree_host_mus.cc
[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/mus/window_tree_host_mus.h
[add] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/mus/window_tree_host_mus_delegate.h
[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/test/mus/test_window_tree.cc
[modify] https://crrev.com/253a1515bbb87cd76bf6f08924b1f1333ba79958/ui/aura/test/mus/test_window_tree.h

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 28 2016

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 28 2016

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

commit d509d739efec6c000cea40aae5e24f8b432cf3d5
Author: sky <sky@chromium.org>
Date: Fri Oct 28 22:15:46 2016

Wires up drag/drop for aura-mus

I combined the drag and drop handling into the same class as the data
is shared in the case of drop targeting the same client that initiated
the drag.

BUG= 659155 
TEST=covered by tests
R=erg@chromium.org, sadrul@chromium.org, tsepez@chromium.org
TBR=sadrul@chromium.org

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

[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ash/drag_drop/drag_drop_controller.cc
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/content/browser/web_contents/web_contents_view_aura.cc
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/content/browser/web_contents/web_contents_view_aura.h
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/services/ui/public/interfaces/window_tree.mojom
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/services/ui/ws/drag_controller.cc
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/services/ui/ws/drag_controller.h
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/aura/BUILD.gn
[rename] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/aura/client/drag_drop_delegate.cc
[rename] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/aura/client/drag_drop_delegate.h
[add] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/aura/mus/drag_drop_controller_host.h
[add] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/aura/mus/drag_drop_controller_mus.cc
[add] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/aura/mus/drag_drop_controller_mus.h
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/base/window_tracker_template.h
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/views/mus/drop_target_mus.cc
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/views/mus/native_widget_mus.h
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.cc
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11_unittest.cc
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/views/widget/desktop_aura/desktop_drop_target_win.cc
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/views/widget/desktop_aura/desktop_native_widget_aura.h
[modify] https://crrev.com/d509d739efec6c000cea40aae5e24f8b432cf3d5/ui/views/widget/native_widget_aura.h

Comment 11 by sky@chromium.org, Oct 31 2016

Blockedon: 660886
Project Member

Comment 12 by bugdroid1@chromium.org, Oct 31 2016

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

commit e865fb99e4e29280049bc397cdb27e61adce4700
Author: sky <sky@chromium.org>
Date: Mon Oct 31 20:37:34 2016

Fix bug in keeping capture in sync during destruction

It's possible when capture is lost the window losing focus gets
destroyed. This patch guards against that by not relying on the
lost_capture window, instead CaptureControllerMus adds itself as an
observer for the window with focus and if that window is destroyed
resets state.

In hopes of keeping the size of WindowTreeClient down I moved capture
code into its own class.

Test for this will come when aura tests are parameterized to work with
both backends.

BUG= 659155 
TEST=none
R=msw@chromium.org

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

[modify] https://crrev.com/e865fb99e4e29280049bc397cdb27e61adce4700/ui/aura/BUILD.gn
[add] https://crrev.com/e865fb99e4e29280049bc397cdb27e61adce4700/ui/aura/mus/capture_synchronizer.cc
[add] https://crrev.com/e865fb99e4e29280049bc397cdb27e61adce4700/ui/aura/mus/capture_synchronizer.h
[add] https://crrev.com/e865fb99e4e29280049bc397cdb27e61adce4700/ui/aura/mus/capture_synchronizer_delegate.h
[modify] https://crrev.com/e865fb99e4e29280049bc397cdb27e61adce4700/ui/aura/mus/in_flight_change.cc
[modify] https://crrev.com/e865fb99e4e29280049bc397cdb27e61adce4700/ui/aura/mus/in_flight_change.h
[modify] https://crrev.com/e865fb99e4e29280049bc397cdb27e61adce4700/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/e865fb99e4e29280049bc397cdb27e61adce4700/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/e865fb99e4e29280049bc397cdb27e61adce4700/ui/aura/mus/window_tree_client_unittest.cc
[modify] https://crrev.com/e865fb99e4e29280049bc397cdb27e61adce4700/ui/aura/test/mus/window_tree_client_private.cc

Comment 15 by sky@chromium.org, Oct 31 2016

Blocking: 660994
Cc: sadrul@chromium.org fsam...@chromium.org
 Issue 652877  has been merged into this issue.
Project Member

Comment 18 by bugdroid1@chromium.org, Nov 2 2016

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

commit f125d4f174b291f6ada877cfa401ed2db9e13e12
Author: sky <sky@chromium.org>
Date: Wed Nov 02 17:48:50 2016

Makes it possible for clients to directly create WindowTreeHostMus

Views code needs this so that it can subclass WindowTreeHostMus. In
particular views code wants to subclass WindowTreeHostMus. As a result
of this I changed around the following:

. Got rid of the extra window that was sometimes around in
  WindowTreeHostMus (yay!)
. Made bounds in WindowTreeHostMus always screen relative, no more
  offset and other magic. To get this right I need to fix the server
  side too, 661270, I'll do that separately.
. Made ownership clearer. Now that WindowTreeHostMus is either
  explicitly created, or passed to client code it's clear who owns it.

BUG= 659155 
TEST=covered by tests
R=sadrul@chromium.org

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

[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/mus/mus_types.h
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/mus/window_manager_delegate.h
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/mus/window_mus.h
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/mus/window_tree_client_delegate.h
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/mus/window_tree_client_unittest.cc
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/mus/window_tree_host_mus.cc
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/mus/window_tree_host_mus.h
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/mus/window_tree_host_mus_delegate.h
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/test/aura_test_base.cc
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/test/aura_test_base.h
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/test/aura_test_helper.cc
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/window.cc
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/window_port.h
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/window_port_local.cc
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/aura/window_port_local.h
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/views/mus/mus_client.cc
[modify] https://crrev.com/f125d4f174b291f6ada877cfa401ed2db9e13e12/ui/views/mus/mus_client.h

Comment 19 by sky@chromium.org, Nov 11 2016

Blockedon: 660073

Comment 20 by sky@chromium.org, Nov 11 2016

Blockedon: 664614

Comment 21 by sky@chromium.org, Nov 11 2016

Blockedon: 664616

Comment 22 by sky@chromium.org, Nov 11 2016

Blockedon: 664617

Comment 23 by sky@chromium.org, Nov 11 2016

Blockedon: 664621

Comment 24 by sky@chromium.org, Nov 15 2016

Blockedon: 665245
Project Member

Comment 25 by bugdroid1@chromium.org, Nov 18 2016

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

commit 82255b3581f426db199117c3449bfe00bc38cb26
Author: sky <sky@chromium.org>
Date: Fri Nov 18 22:33:31 2016

Fixes bug in handling window deletion originating from server

When the server tells the client a window was deleted the client would
schedule deletion again with the server. This can cause problems as
clients generally assume deletion succeeds and check otherwise. I'm
also adding logging to window_tree in this patch. I think this is
going to prove helpful for tracking down other similar issues and so
I'm leading it in (DVLOG).

BUG= 659155 
TEST=covered by test
R=msw@chromium.org
TBR=msw@chromium.org

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

[modify] https://crrev.com/82255b3581f426db199117c3449bfe00bc38cb26/services/ui/ws/window_tree.cc
[modify] https://crrev.com/82255b3581f426db199117c3449bfe00bc38cb26/ui/aura/mus/in_flight_change.cc
[modify] https://crrev.com/82255b3581f426db199117c3449bfe00bc38cb26/ui/aura/mus/window_mus.h
[modify] https://crrev.com/82255b3581f426db199117c3449bfe00bc38cb26/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/82255b3581f426db199117c3449bfe00bc38cb26/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/82255b3581f426db199117c3449bfe00bc38cb26/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/82255b3581f426db199117c3449bfe00bc38cb26/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/82255b3581f426db199117c3449bfe00bc38cb26/ui/aura/mus/window_tree_client_unittest.cc

Comment 26 by sky@chromium.org, Nov 21 2016

Blockedon: 667478
Project Member

Comment 27 by bugdroid1@chromium.org, Nov 21 2016

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

commit c04167320f1bf4ece416ffc5dc6876da6921080f
Author: sky <sky@chromium.org>
Date: Mon Nov 21 22:54:33 2016

Fixes bug in handling restacking because of transients

When a window is added/removed as a transient the siblings of the
window may get reordered. For example, consider windows W1, W2 and T1
in that order. If T1 is made a transient of W1, then T1 is stacked on
top of W1 so that the resulting order is W1, T1, W2. On the mus server
side when a window is made a transient mus handles the restacking
(meaning mus also restacks the windows on its side and does not send
out notification of the window moves, only that a transient was
added/removed, it assumes the client handles the restacking). If the
client also sends messages to restack then the changes fail (because
the windows are already in order).

Prior to this fix aura-mus would send moves for the transient restack,
resulting in a crash.

BUG= 659155 
TEST=covered by test
R=msw@chromium.org

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

[modify] https://crrev.com/c04167320f1bf4ece416ffc5dc6876da6921080f/services/ui/ws/window_tree.cc
[modify] https://crrev.com/c04167320f1bf4ece416ffc5dc6876da6921080f/ui/aura/client/transient_window_client_observer.h
[modify] https://crrev.com/c04167320f1bf4ece416ffc5dc6876da6921080f/ui/aura/mus/window_mus.h
[modify] https://crrev.com/c04167320f1bf4ece416ffc5dc6876da6921080f/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/c04167320f1bf4ece416ffc5dc6876da6921080f/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/c04167320f1bf4ece416ffc5dc6876da6921080f/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/c04167320f1bf4ece416ffc5dc6876da6921080f/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/c04167320f1bf4ece416ffc5dc6876da6921080f/ui/aura/mus/window_tree_client_unittest.cc
[modify] https://crrev.com/c04167320f1bf4ece416ffc5dc6876da6921080f/ui/aura/test/mus/test_window_tree.cc
[modify] https://crrev.com/c04167320f1bf4ece416ffc5dc6876da6921080f/ui/aura/test/mus/test_window_tree.h
[modify] https://crrev.com/c04167320f1bf4ece416ffc5dc6876da6921080f/ui/wm/core/transient_window_manager.cc

Project Member

Comment 28 by bugdroid1@chromium.org, Nov 30 2016

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

commit da8533d0a7de36b72879edd0b8ac6728437a2ab0
Author: sky <sky@chromium.org>
Date: Wed Nov 30 22:13:07 2016

Fixes coordinates supplied to WindowTreeHost

WindowTreeClient passes the event from the mus to WindowTreeHost. The
coordinates of the event from mus are local to the target
window. WindowTreeHost expects event relative to it's host window. So,
before WindowTreeClient passes the event to WindowTreeHost it needs to
convert.

BUG= 659155 
TEST=covered by test
R=sadrul@chromium.org

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

[modify] https://crrev.com/da8533d0a7de36b72879edd0b8ac6728437a2ab0/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/da8533d0a7de36b72879edd0b8ac6728437a2ab0/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/da8533d0a7de36b72879edd0b8ac6728437a2ab0/ui/aura/mus/window_tree_client_unittest.cc
[modify] https://crrev.com/da8533d0a7de36b72879edd0b8ac6728437a2ab0/ui/aura/test/mus/test_window_tree.cc
[modify] https://crrev.com/da8533d0a7de36b72879edd0b8ac6728437a2ab0/ui/aura/test/mus/test_window_tree.h

Comment 29 by sky@chromium.org, Jan 4 2017

Blockedon: 678401

Comment 30 by sky@chromium.org, Jan 4 2017

Blockedon: 645996

Comment 31 by sky@chromium.org, Jan 5 2017

Labels: mustash-1

Comment 32 by sky@chromium.org, Jan 9 2017

Blockedon: 679402

Comment 34 by sky@chromium.org, Feb 13 2017

Blockedon: -664614

Comment 35 by sky@chromium.org, Feb 13 2017

Blockedon: -678401

Comment 36 by sky@chromium.org, Mar 28 2017

Status: Fixed (was: Started)
I'm calling this done. The remaining issue can be handled separately and is really specific to Chrome.

Comment 37 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 39 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)
Components: -Internals>MUS Internals>Services>WindowService

Sign in to add a comment