New issue
Advanced search Search tips

Issue 660994 link

Starred by 2 users

Issue metadata

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


Sign in to add a comment

Get views working with aura-mus

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

Issue description

This bug is specifically about clients other than the window manager using views with aura-mus. The window manager will likely use some portion of the code.
 

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

Blockedon: 659155

Comment 2 by sky@chromium.org, Nov 1 2016

Blockedon: 661270
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 3 2016

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

commit 12379cecbc249a0d6fc31375940f58ed5dec591e
Author: sky <sky@chromium.org>
Date: Thu Nov 03 03:14:25 2016

Adds DesktopWindowTreeHostMus

I'm also adding a new test target, views_aura_mus_unittests that
will run tests using this class. The test isn't run anywhere yet as
the tests fail because the compositor hookup isn't right yet.

BUG= 660994 
TEST=none
R=erg@chromium.org

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

[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ash/autoclick/mus/autoclick_application.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ash/mus/window_manager_application.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ash/touch_hud/mus/touch_hud_application.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/mash/browser/browser.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/mash/catalog_viewer/catalog_viewer.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/mash/example/views_examples/views_examples.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/mash/example/window_type_launcher/window_type_launcher.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/mash/login/login.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/mash/quick_launch/quick_launch.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/mash/screenlock/screenlock.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/mash/task_viewer/task_viewer.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/mash/webtest/webtest.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/aura/test/aura_mus_test_base.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/aura/test/aura_mus_test_base.h
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/aura/test/aura_test_base.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/aura/test/aura_test_base.h
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/aura/test/aura_test_helper.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/aura/test/aura_test_helper.h
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/BUILD.gn
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/mus/BUILD.gn
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/mus/DEPS
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/mus/aura_init.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/mus/aura_init.h
[add] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/mus/desktop_window_tree_host_mus.cc
[add] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/mus/desktop_window_tree_host_mus.h
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/mus/mus_client.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/mus/mus_client.h
[add] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/mus/run_all_unittests_aura_mus.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/mus/test_utils.h
[add] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/mus/views_aura_mus_test_suite.cc
[add] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/mus/views_aura_mus_test_suite.h
[add] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/test/native_widget_factory_aura_mus.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/test/platform_test_helper.h
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/test/scoped_views_test_helper.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/test/views_test_helper_aura.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/test/views_test_helper_aura.h
[add] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/widget/desktop_aura/desktop_cursor_loader_updater_chromeos.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
[modify] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/widget/desktop_aura/desktop_native_widget_aura.h
[add] https://crrev.com/12379cecbc249a0d6fc31375940f58ed5dec591e/ui/views/widget/desktop_aura/desktop_window_tree_host_chromeos.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Nov 3 2016

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

commit f2c74d7c976a7216b4586b9b8110f671fd5bda91
Author: sky <sky@chromium.org>
Date: Thu Nov 03 17:45:16 2016

Makes DesktopWindowTreeHostMus call OnNativeWidgetCreated()

This is needed otherwise Widget/DesktopNativeWidgetAura is left in a
weird state.

BUG= 660994 
TEST=none
R=erg@chromium.org

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

[modify] https://crrev.com/f2c74d7c976a7216b4586b9b8110f671fd5bda91/ui/views/mus/desktop_window_tree_host_mus.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Nov 5 2016

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

commit 7cb222342ba74dc2241930b02739c10861d51dfe
Author: sky <sky@chromium.org>
Date: Sat Nov 05 00:34:15 2016

Wires up transients for DesktopWindowTreeHostMus

This code is a copy of that in DesktopWindowTreeHostX11.

BUG= 660994 
TEST=covered by tests
R=msw@chromium.org

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

[modify] https://crrev.com/7cb222342ba74dc2241930b02739c10861d51dfe/ui/views/mus/desktop_window_tree_host_mus.cc
[modify] https://crrev.com/7cb222342ba74dc2241930b02739c10861d51dfe/ui/views/mus/desktop_window_tree_host_mus.h

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 7 2016

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

commit e093db69fd792577d46415a736fe8245b544940e
Author: sky <sky@chromium.org>
Date: Mon Nov 07 18:51:47 2016

Fixs bug in notifying clients about hierarchy changes

Here's the specific case, and this only applies to the window manager:
. Client other than WM creates window A.
. Client adds A to the root
At this point the WM knows about A via an OnWindowHierarchyChanged().
. Client removes A.
. Client creates new window B.
The WM doesn't know about B.
. Client adds A to B.
The WM still doesn't know about B, further the WM think's A's parent is null.
. Client adds B to the root.
This triggers an OnWindowHierarchyChanged() for the window manager
with B and a parent of the root. Before the fix
OnWindowHierarchyChanged() didn't contain A, so that the WM thought A
still had no parent and would get confused later on if a
OnWindowHierarchyChanged() was sent for A with a different parent.

The fix is to make the last OnWindowHierarchyChanged() include A in
the data parameter.

This was uncovered in getting views to work with aura-mus. I've
included test coverage of the case.

BUG= 660994 
TEST=covered by test
R=ben@chromium.org

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

[modify] https://crrev.com/e093db69fd792577d46415a736fe8245b544940e/services/ui/public/cpp/window_tree_client.cc
[modify] https://crrev.com/e093db69fd792577d46415a736fe8245b544940e/services/ui/public/cpp/window_tree_client.h
[modify] https://crrev.com/e093db69fd792577d46415a736fe8245b544940e/services/ui/public/interfaces/window_tree.mojom
[modify] https://crrev.com/e093db69fd792577d46415a736fe8245b544940e/services/ui/ws/window_tree.cc
[modify] https://crrev.com/e093db69fd792577d46415a736fe8245b544940e/services/ui/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/e093db69fd792577d46415a736fe8245b544940e/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/e093db69fd792577d46415a736fe8245b544940e/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/e093db69fd792577d46415a736fe8245b544940e/ui/aura/mus/window_tree_client_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 8 2016

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

commit 402f62030eda12d30ad6341e2774d9af2208bee1
Author: sky <sky@chromium.org>
Date: Tue Nov 08 01:13:53 2016

Fix leak in FocusManager tests

They create a widget and never destroy it.

BUG= 660994 
TEST=test only change
R=ben@chromium.org

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

[modify] https://crrev.com/402f62030eda12d30ad6341e2774d9af2208bee1/ui/views/focus/focus_traversal_unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 8 2016

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

commit 3b82d5c5307d2ae7e25243efa006eb13fd631d92
Author: sky <sky@chromium.org>
Date: Tue Nov 08 01:28:04 2016

Improves focus/activation for aura-mus and DesktopNativeWidgetAura

When using DesktopNativeWidgetAura there is a FocusClient per
DesktopNativeWidgetAura. Aura-mus was assuming there would be a global
FocusClient, but that's painful for DesktopNativeWidgetAura. So, this
makes aura-mus work with multiple FocusClients. Specifically this does
the following:

Env gets a function to track the active FocusClient. Env doesn't
maintain this, it's assuming others will. In particular
DesktopWindowTreeHostMus and WindowTreeClient makes call to it.

Focus logic moves out of WindowTreeClient and into
FocusSynchronizer. FocusSynchronizer adds itself as an EnvObserserver
to track when the active FocusClient changes so that it can update the
server.

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

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

[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/BUILD.gn
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/client/focus_client.cc
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/client/focus_client.h
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/env.cc
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/env.h
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/env_observer.h
[add] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/mus/focus_synchronizer.cc
[add] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/mus/focus_synchronizer.h
[add] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/mus/focus_synchronizer_delegate.h
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/mus/in_flight_change.cc
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/mus/in_flight_change.h
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/mus/window_tree_client_delegate.h
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/test/aura_test_base.cc
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/test/aura_test_base.h
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/aura/test/aura_test_helper.cc
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/views/mus/desktop_window_tree_host_mus.cc
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/views/mus/desktop_window_tree_host_mus.h
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/views/mus/mus_client.cc
[modify] https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92/ui/views/mus/mus_client.h

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 8 2016

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

commit 3e652a8cbbe2991e34e65cbb7635bc3d89db19f4
Author: perkj <perkj@chromium.org>
Date: Tue Nov 08 09:37:25 2016

Revert of Improves focus/activation for aura-mus and DesktopNativeWidgetAura (patchset #1 id:1 of https://codereview.chromium.org/2483063002/ )

Reason for revert:
Seems to cause heap use after free on tests in Mac Asan 10.9.

https://build.chromium.org/p/chromium.memory/builders/Mac%20ASan%2064%20Tests%20%281%29/builds/23999

FocusTraversalTest.TraversalWithInvisibleViews
FocusTraversalTest.NormalTraversalMac
FocusTraversalTest.PaneTraversal
FocusTraversalTest.FullKeyboardToggle
FocusTraversalTest.TraversalWithNonEnabledViews
FocusTraversalTest.NormalTraversal

Original issue's description:
> Improves focus/activation for aura-mus and DesktopNativeWidgetAura
>
> When using DesktopNativeWidgetAura there is a FocusClient per
> DesktopNativeWidgetAura. Aura-mus was assuming there would be a global
> FocusClient, but that's painful for DesktopNativeWidgetAura. So, this
> makes aura-mus work with multiple FocusClients. Specifically this does
> the following:
>
> Env gets a function to track the active FocusClient. Env doesn't
> maintain this, it's assuming others will. In particular
> DesktopWindowTreeHostMus and WindowTreeClient makes call to it.
>
> Focus logic moves out of WindowTreeClient and into
> FocusSynchronizer. FocusSynchronizer adds itself as an EnvObserserver
> to track when the active FocusClient changes so that it can update the
> server.
>
> BUG= 660994 
> TEST=covered by tests
> R=ben@chromium.org
>
> Committed: https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92
> Cr-Commit-Position: refs/heads/master@{#430464}

TBR=ben@chromium.org,sky@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 660994 

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

[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/BUILD.gn
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/client/focus_client.cc
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/client/focus_client.h
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/env.cc
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/env.h
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/env_observer.h
[delete] https://crrev.com/716e1d071e2bc4ebe15a23c6d958823badf6a96d/ui/aura/mus/focus_synchronizer.cc
[delete] https://crrev.com/716e1d071e2bc4ebe15a23c6d958823badf6a96d/ui/aura/mus/focus_synchronizer.h
[delete] https://crrev.com/716e1d071e2bc4ebe15a23c6d958823badf6a96d/ui/aura/mus/focus_synchronizer_delegate.h
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/mus/in_flight_change.cc
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/mus/in_flight_change.h
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/mus/window_tree_client_delegate.h
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/test/aura_test_base.cc
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/test/aura_test_base.h
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/aura/test/aura_test_helper.cc
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/views/mus/desktop_window_tree_host_mus.cc
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/views/mus/desktop_window_tree_host_mus.h
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/views/mus/mus_client.cc
[modify] https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4/ui/views/mus/mus_client.h

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 8 2016

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

commit 2c0b086a6c010d8ef294c0791cf39a5f6f851564
Author: henrika <henrika@chromium.org>
Date: Tue Nov 08 12:00:00 2016

Revert of Fix leak in FocusManager tests (patchset #1 id:1 of https://codereview.chromium.org/2483083002/ )

Reason for revert:
Following recommendation from Findit to revert for breaking:

FocusTraversalTest.TraversalWithInvisibleViews
FocusTraversalTest.NormalTraversalMac
FocusTraversalTest.PaneTraversal
FocusTraversalTest.FullKeyboardToggle
FocusTraversalTest.TraversalWithNonEnabledViews

See https://findit-for-me.appspot.com/waterfall/build-failure?url=https://build.chromium.org/p/chromium.memory/builders/Mac%20ASan%2064%20Tests%20%281%29/builds/23999

Original issue's description:
> Fix leak in FocusManager tests
>
> They create a widget and never destroy it.
>
> BUG= 660994 
> TEST=test only change
> R=ben@chromium.org
>
> Committed: https://crrev.com/402f62030eda12d30ad6341e2774d9af2208bee1
> Cr-Commit-Position: refs/heads/master@{#430457}

TBR=ben@chromium.org,sky@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 660994 

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

[modify] https://crrev.com/2c0b086a6c010d8ef294c0791cf39a5f6f851564/ui/views/focus/focus_traversal_unittest.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 8 2016

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

commit df1ac6bd6c88b6861c86fc6b3148930d0948b92d
Author: perkj <perkj@chromium.org>
Date: Tue Nov 08 15:37:25 2016

Reland of Improves focus/activation for aura-mus and DesktopNativeWidgetAura (patchset #1 id:1 of https://codereview.chromium.org/2480273003/ )

Reason for revert:
Relanding this. The real culprit was https://codereview.chromium.org/2484203002/

Original issue's description:
> Revert of Improves focus/activation for aura-mus and DesktopNativeWidgetAura (patchset #1 id:1 of https://codereview.chromium.org/2483063002/ )
>
> Reason for revert:
> Seems to cause heap use after free on tests in Mac Asan 10.9.
>
> https://build.chromium.org/p/chromium.memory/builders/Mac%20ASan%2064%20Tests%20%281%29/builds/23999
>
> FocusTraversalTest.TraversalWithInvisibleViews
> FocusTraversalTest.NormalTraversalMac
> FocusTraversalTest.PaneTraversal
> FocusTraversalTest.FullKeyboardToggle
> FocusTraversalTest.TraversalWithNonEnabledViews
> FocusTraversalTest.NormalTraversal
>
> Original issue's description:
> > Improves focus/activation for aura-mus and DesktopNativeWidgetAura
> >
> > When using DesktopNativeWidgetAura there is a FocusClient per
> > DesktopNativeWidgetAura. Aura-mus was assuming there would be a global
> > FocusClient, but that's painful for DesktopNativeWidgetAura. So, this
> > makes aura-mus work with multiple FocusClients. Specifically this does
> > the following:
> >
> > Env gets a function to track the active FocusClient. Env doesn't
> > maintain this, it's assuming others will. In particular
> > DesktopWindowTreeHostMus and WindowTreeClient makes call to it.
> >
> > Focus logic moves out of WindowTreeClient and into
> > FocusSynchronizer. FocusSynchronizer adds itself as an EnvObserserver
> > to track when the active FocusClient changes so that it can update the
> > server.
> >
> > BUG= 660994 
> > TEST=covered by tests
> > R=ben@chromium.org
> >
> > Committed: https://crrev.com/3b82d5c5307d2ae7e25243efa006eb13fd631d92
> > Cr-Commit-Position: refs/heads/master@{#430464}
>
> TBR=ben@chromium.org,sky@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG= 660994 
>
> Committed: https://crrev.com/3e652a8cbbe2991e34e65cbb7635bc3d89db19f4
> Cr-Commit-Position: refs/heads/master@{#430556}

TBR=ben@chromium.org,sky@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 660994 

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

[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/BUILD.gn
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/client/focus_client.cc
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/client/focus_client.h
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/env.cc
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/env.h
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/env_observer.h
[add] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/mus/focus_synchronizer.cc
[add] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/mus/focus_synchronizer.h
[add] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/mus/focus_synchronizer_delegate.h
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/mus/in_flight_change.cc
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/mus/in_flight_change.h
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/mus/window_tree_client_delegate.h
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/test/aura_test_base.cc
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/test/aura_test_base.h
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/aura/test/aura_test_helper.cc
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/views/mus/desktop_window_tree_host_mus.cc
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/views/mus/desktop_window_tree_host_mus.h
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/views/mus/mus_client.cc
[modify] https://crrev.com/df1ac6bd6c88b6861c86fc6b3148930d0948b92d/ui/views/mus/mus_client.h

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 8 2016

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

commit e7886de9e860bac867bf6e029d8c6f2a0431a7b7
Author: sky <sky@chromium.org>
Date: Tue Nov 08 18:23:43 2016

Fix leak in FocusManager tests

They create a widget and never destroy it.

BUG= 660994 ,  663418 
TEST=test only change
R=ben@chromium.org

Committed: https://crrev.com/402f62030eda12d30ad6341e2774d9af2208bee1
Review-Url: https://codereview.chromium.org/2483083002
Cr-Original-Commit-Position: refs/heads/master@{#430457}
Cr-Commit-Position: refs/heads/master@{#430657}

[modify] https://crrev.com/e7886de9e860bac867bf6e029d8c6f2a0431a7b7/ui/views/focus/focus_traversal_unittest.cc

Comment 13 by sky@chromium.org, Nov 8 2016

Summary: Create DesktopNativeWidgetMus (was: Make views work with aura-mus)

Comment 14 by sky@chromium.org, Nov 8 2016

Blockedon: 663522

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

Blockedon: 663524

Comment 16 by sky@chromium.org, Nov 8 2016

Blockedon: 663525

Comment 17 by sky@chromium.org, Nov 8 2016

Blockedon: 663526

Comment 18 by sky@chromium.org, Nov 8 2016

Blockedon: 663527

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

Blockedon: 663528

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

Summary: Get views working for clients other than wm (DesktopWindowTreeHostMus and related classes) (was: Create DesktopNativeWidgetMus)
Project Member

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

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

commit 2e7a168a82cebe5fbb355cb05401c4827758aa94
Author: sky <sky@chromium.org>
Date: Wed Nov 09 02:09:13 2016

Fixes and test updates for aura-mus

This addresses the following:
. Wires up WindowPortMus::OnDeviceScaleFactorChanged() correctly.
. Properly routes DesktopWindowTreeHostMus::SetSize(). It needs to
  go to WindowTreeHost, which then updates window().
. Makes DesktopWindowTreeHostMus::Show/Hide call to the appropriate
  Widget functions
. Honors min/max size.

And updates some tests that are relying on specific NativeWidgetAura
functionality to create NativeWidgetAura.

BUG= 660994 
TEST=covered by tests
R=msw@chromium.org

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

[modify] https://crrev.com/2e7a168a82cebe5fbb355cb05401c4827758aa94/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/2e7a168a82cebe5fbb355cb05401c4827758aa94/ui/views/mus/desktop_window_tree_host_mus.cc
[modify] https://crrev.com/2e7a168a82cebe5fbb355cb05401c4827758aa94/ui/views/mus/desktop_window_tree_host_mus.h
[modify] https://crrev.com/2e7a168a82cebe5fbb355cb05401c4827758aa94/ui/views/touchui/touch_selection_menu_runner_views_unittest.cc
[modify] https://crrev.com/2e7a168a82cebe5fbb355cb05401c4827758aa94/ui/views/widget/widget_unittest.cc

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

Blockedon: 663606

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

Blockedon: 663617

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

Blockedon: 663618

Comment 25 by sky@chromium.org, Nov 9 2016

Blockedon: 663619

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

Blockedon: 663868

Comment 27 by sky@chromium.org, Nov 9 2016

Blockedon: 663903
Project Member

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

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

commit 111a5a9a168dc6d2d3a75f79ee3a63dc3504c80b
Author: sky <sky@chromium.org>
Date: Wed Nov 09 23:22:00 2016

Fixes bug in DesktopWindowTreeHostMus::SetBounds()

It needs to call WindowTreeHostMus::SetBounds(), not
WindowTreeHostPlatform::SetBounds().

BUG= 660994 
TEST=covered by tests
R=msw@chromium.org

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

[modify] https://crrev.com/111a5a9a168dc6d2d3a75f79ee3a63dc3504c80b/ui/views/mus/desktop_window_tree_host_mus.cc

Project Member

Comment 29 by bugdroid1@chromium.org, Nov 10 2016

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

commit c30d7ebd03947cacf84d7a17ad247f1ef22cec3a
Author: sky <sky@chromium.org>
Date: Thu Nov 10 06:05:10 2016

Adds views_aura_mus_unittests to chromeos fyi bot

BUG= 660994 
TEST=covered by tests
R=msw@chromium.org

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

[modify] https://crrev.com/c30d7ebd03947cacf84d7a17ad247f1ef22cec3a/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/c30d7ebd03947cacf84d7a17ad247f1ef22cec3a/testing/buildbot/gn_isolate_map.pyl

Project Member

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

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

commit 679394d5e51f81b046e9fa9a07d8b19a898db329
Author: sky <sky@chromium.org>
Date: Thu Nov 10 06:39:05 2016

Fixes DesktopWindowTreeHostMus::SetSize and IsVisible

Both had bugs in them.

BUG= 660994 
TEST=covered by tests
R=msw@chromium.org

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

[modify] https://crrev.com/679394d5e51f81b046e9fa9a07d8b19a898db329/ui/views/mus/desktop_window_tree_host_mus.cc

Comment 31 by sky@chromium.org, Nov 10 2016

Blockedon: 664280
Project Member

Comment 32 by bugdroid1@chromium.org, Nov 10 2016

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

commit f3e7874130cb59bc124f7fad55a81ac5967e57e7
Author: sky <sky@chromium.org>
Date: Thu Nov 10 21:17:18 2016

Couple of fixes for DesktopWindowTreeHostMus.

. Init() needs to set the bounds if bounds was passed in the
  InitParams.
. ShowWindowWithState() needs to call to SetInitialFocus(), matches
  that of other DesktopWindowTreeHost impls.
. Implements CenterWindow() to do the right thing (logic matches that
  of other DesktopWindowTreeHosts).
. And HasCapture() for mus should always return true. This is because
  DesktopNativeWidgetAura has the real checks and only calls to
  DesktopWindowTreeHostMus if everything mus cares about is true. So,
  it can always return true.

BUG= 660994 
TEST=covered by tests
R=msw@chromium.org

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

[modify] https://crrev.com/f3e7874130cb59bc124f7fad55a81ac5967e57e7/ui/views/bubble/bubble_frame_view.cc
[modify] https://crrev.com/f3e7874130cb59bc124f7fad55a81ac5967e57e7/ui/views/bubble/bubble_frame_view.h
[modify] https://crrev.com/f3e7874130cb59bc124f7fad55a81ac5967e57e7/ui/views/mus/desktop_window_tree_host_mus.cc
[modify] https://crrev.com/f3e7874130cb59bc124f7fad55a81ac5967e57e7/ui/views/widget/desktop_aura/desktop_native_widget_aura.h

Project Member

Comment 33 by bugdroid1@chromium.org, Nov 16 2016

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

commit 4663012883fe100b31fab84165ffca73a14d09dc
Author: sky <sky@chromium.org>
Date: Wed Nov 16 19:04:58 2016

Enables passing initial properties to top level window creation

This is needed for the wm to decide where to place the window.

As part of this I'm making it so some WindowTreeHostPlatform
constructors don't call CreateCompositor(). This way properties can be
set on the window before Init() is called. This is important as at the
time of Init() the server side window is created.

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

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

[modify] https://crrev.com/4663012883fe100b31fab84165ffca73a14d09dc/ash/host/ash_window_tree_host_platform.cc
[modify] https://crrev.com/4663012883fe100b31fab84165ffca73a14d09dc/blimp/engine/app/ui/blimp_window_tree_host.cc
[modify] https://crrev.com/4663012883fe100b31fab84165ffca73a14d09dc/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/4663012883fe100b31fab84165ffca73a14d09dc/ui/aura/mus/window_tree_client_unittest.cc
[modify] https://crrev.com/4663012883fe100b31fab84165ffca73a14d09dc/ui/aura/mus/window_tree_host_mus.cc
[modify] https://crrev.com/4663012883fe100b31fab84165ffca73a14d09dc/ui/aura/mus/window_tree_host_mus.h
[modify] https://crrev.com/4663012883fe100b31fab84165ffca73a14d09dc/ui/aura/window_tree_host_platform.cc
[modify] https://crrev.com/4663012883fe100b31fab84165ffca73a14d09dc/ui/aura/window_tree_host_platform.h
[modify] https://crrev.com/4663012883fe100b31fab84165ffca73a14d09dc/ui/views/mus/desktop_window_tree_host_mus.cc
[modify] https://crrev.com/4663012883fe100b31fab84165ffca73a14d09dc/ui/views/mus/desktop_window_tree_host_mus.h
[modify] https://crrev.com/4663012883fe100b31fab84165ffca73a14d09dc/ui/views/mus/mus_client.cc
[modify] https://crrev.com/4663012883fe100b31fab84165ffca73a14d09dc/ui/views/mus/window_tree_host_mus.cc
[modify] https://crrev.com/4663012883fe100b31fab84165ffca73a14d09dc/ui/views/test/native_widget_factory_aura_mus.cc

Comment 34 by sky@chromium.org, Nov 18 2016

Blockedon: 654924

Comment 35 by sky@chromium.org, Nov 29 2016

Blockedon: 669290
Project Member

Comment 36 by bugdroid1@chromium.org, Dec 2 2016

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

commit f71b727b75294db523d5ed01b4b7cd0c57f4b9c3
Author: sky <sky@chromium.org>
Date: Thu Dec 01 23:59:01 2016

Wire up CursorManager for DesktopWindowTreeHostMus

This change makes DesktopWindowTreeHostMus use almost the same cursor
manager as NativeWidgetMus.

BUG= 660994 
TEST=none
R=erg@chromium.org

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

[modify] https://crrev.com/f71b727b75294db523d5ed01b4b7cd0c57f4b9c3/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/f71b727b75294db523d5ed01b4b7cd0c57f4b9c3/ui/views/mus/desktop_window_tree_host_mus.cc
[modify] https://crrev.com/f71b727b75294db523d5ed01b4b7cd0c57f4b9c3/ui/views/mus/desktop_window_tree_host_mus.h
[modify] https://crrev.com/f71b727b75294db523d5ed01b4b7cd0c57f4b9c3/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
[modify] https://crrev.com/f71b727b75294db523d5ed01b4b7cd0c57f4b9c3/ui/views/widget/desktop_aura/desktop_native_widget_aura.h
[modify] https://crrev.com/f71b727b75294db523d5ed01b4b7cd0c57f4b9c3/ui/views/widget/desktop_aura/desktop_window_tree_host.h
[modify] https://crrev.com/f71b727b75294db523d5ed01b4b7cd0c57f4b9c3/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
[modify] https://crrev.com/f71b727b75294db523d5ed01b4b7cd0c57f4b9c3/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
[modify] https://crrev.com/f71b727b75294db523d5ed01b4b7cd0c57f4b9c3/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
[modify] https://crrev.com/f71b727b75294db523d5ed01b4b7cd0c57f4b9c3/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h

Comment 37 by sky@chromium.org, Jan 3 2017

Blockedon: 678057

Comment 38 by sky@chromium.org, Jan 3 2017

Blockedon: 678070

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

Summary: Get views working with aura-mus (was: Get views working for clients other than wm (DesktopWindowTreeHostMus and related classes))

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

Components: Internals>Views
Labels: Proj-Mustash-Aura-Views

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

Labels: mustash-1

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

Blockedon: -661270

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

I'm calling this done. The blockers listed here are not super important to calling this done for now.

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

Status: Fixed (was: Started)

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

Labels: VerifyIn-60
Labels: VerifyIn-61

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

Status: Archived (was: Fixed)

Sign in to add a comment