Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Starred by 4 users
Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug
Proj-Mustash

Blocking:
issue 671205
issue 674757



Sign in to add a comment
Switch chrome-renderer to use a simplified mus client-lib
Project Member Reported by sadrul@chromium.org, Dec 9 2016 Back to list
chrome-renderers currently use the deprecated mus client-lib. It needs to start using the aura client-lib.
 
Blocking: 671205
Comment 2 by sadrul@chromium.org, Dec 15 2016
Cc: sadrul@chromium.org
 Issue 674574  has been merged into this issue.
Comment 3 by sadrul@chromium.org, Dec 15 2016
Blocking: 671363
Comment 4 by sky@chromium.org, Dec 15 2016
Blocking: -671363
Comment 5 by sky@chromium.org, Jan 3 2017
Blocking: 674757
Cc: jonr...@chromium.org
Comment 7 by sadrul@chromium.org, Jan 18 2017
Summary: Switch chrome-renderer to use a simplified mus client-lib (was: Switch chrome-renderer to use aura mus client-lib)
We are going with not using aura for chrome-renderer for now. Updating the bug title to reflect that.
Project Member Comment 8 by bugdroid1@chromium.org, Jan 23 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9fe4892d60cfb278970d6acb517e581a241ab012

commit 9fe4892d60cfb278970d6acb517e581a241ab012
Author: sadrul <sadrul@chromium.org>
Date: Mon Jan 23 18:59:49 2017

mus: Remove the old client lib.

Remove the code for chrome-renderer that uses the old client-lib for mus.
Remove the old client-lib for mus since that is the only remaining use. A
subsequent CL will add a thin client-lib for chrome-renderer to use when
it runs as a mus-client (i.e. chrome is run with --use-mus-in-renderer).

BUG= 672913 
TBR=jam@ gpu_process_transport_factory.cc and render_widget.cc
    (trivial code update for deleted code)

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

[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/ash/mus/BUILD.gn
[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/content/browser/compositor/mus_browser_compositor_output_surface.cc
[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/content/browser/compositor/mus_browser_compositor_output_surface.h
[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/content/renderer/mus/BUILD.gn
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/content/renderer/mus/compositor_mus_connection.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/content/renderer/mus/compositor_mus_connection.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/content/renderer/mus/compositor_mus_connection_unittest.cc
[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/content/renderer/mus/render_widget_mus_connection.cc
[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/content/renderer/mus/render_widget_mus_connection.h
[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/content/renderer/render_widget.cc
[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/content/test/BUILD.gn
[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/services/ui/public/cpp/BUILD.gn
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/in_flight_change.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/in_flight_change.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/input_event_handler.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/scoped_window_ptr.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/scoped_window_ptr.h
[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/services/ui/public/cpp/tests/BUILD.gn
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/tests/test_window.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/tests/test_window_tree.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/tests/test_window_tree.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/tests/test_window_tree_client_setup.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/tests/test_window_tree_client_setup.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/tests/window_tree_client_private.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/tests/window_tree_client_private.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/tests/window_tree_client_unittest.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/tests/window_unittest.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_drop_target.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_manager_delegate.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_manager_delegate.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_observer.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_observer.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_private.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_private.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_property.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_tracker.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_tree_client.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_tree_client.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_tree_client_delegate.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_tree_client_delegate.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_tree_client_observer.h
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_tree_host_factory.cc
[delete] https://crrev.com/786d091820e90bf779df0f724a4d7f08a8a99f88/services/ui/public/cpp/window_tree_host_factory.h
[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/services/ui/ws/BUILD.gn
[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/ui/compositor/compositor.cc
[modify] https://crrev.com/9fe4892d60cfb278970d6acb517e581a241ab012/ui/compositor/compositor.h

Project Member Comment 9 by bugdroid1@chromium.org, Jan 23 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dc25423dd85608261051a18d0f45224d70228d12

commit dc25423dd85608261051a18d0f45224d70228d12
Author: sadrul <sadrul@chromium.org>
Date: Mon Jan 23 20:39:02 2017

mus: Remove aura version of WindowCompositorFrameSink.

The two versions of WindowCompositorFrameSink, in aura-mus, and in the
old client-lib, are identical. Remove the version in aura-mus, and retain
the one from the old client-lib. This allows its use from chrome-renderer
without pulling in the rest of aura.

BUG= 672913 

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

[modify] https://crrev.com/dc25423dd85608261051a18d0f45224d70228d12/content/browser/compositor/mus_browser_compositor_output_surface.cc
[modify] https://crrev.com/dc25423dd85608261051a18d0f45224d70228d12/content/browser/compositor/mus_browser_compositor_output_surface.h
[modify] https://crrev.com/dc25423dd85608261051a18d0f45224d70228d12/services/ui/public/cpp/window_compositor_frame_sink.cc
[modify] https://crrev.com/dc25423dd85608261051a18d0f45224d70228d12/services/ui/public/cpp/window_compositor_frame_sink.h
[modify] https://crrev.com/dc25423dd85608261051a18d0f45224d70228d12/ui/aura/BUILD.gn
[modify] https://crrev.com/dc25423dd85608261051a18d0f45224d70228d12/ui/aura/mus/DEPS
[delete] https://crrev.com/ed8d8325bf6b78433c13c01d0972fc491b6555a3/ui/aura/mus/window_compositor_frame_sink.cc
[delete] https://crrev.com/ed8d8325bf6b78433c13c01d0972fc491b6555a3/ui/aura/mus/window_compositor_frame_sink.h
[modify] https://crrev.com/dc25423dd85608261051a18d0f45224d70228d12/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/dc25423dd85608261051a18d0f45224d70228d12/ui/aura/mus/window_port_mus.h

Project Member Comment 10 by bugdroid1@chromium.org, Jan 24 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5c0ead04050ee0787ef0d9af45efc3c740571465

commit 5c0ead04050ee0787ef0d9af45efc3c740571465
Author: sadrul <sadrul@chromium.org>
Date: Tue Jan 24 18:15:39 2017

mus: Make sure WindowCompositorFrameSink is detached correctly.

WindowCompositorFrameSink is detached from the client on the same thread
it is attached to the client, which can be different from the thread it
is created/destroyed on. So, all the thread-hostile objects created
during attachment (i.e. in BindToClient()) needs to be destroyed during
detach (i.e. in DetachFromClient()), because otherwise they will be
destroyed during the destruction of a WindowCompositorFrameSink on a
different thread, causing crashes etc. |client_binding_| is such a
thread-hostile object, so make sure it is destroyed during detach.

BUG= 672913 

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

[modify] https://crrev.com/5c0ead04050ee0787ef0d9af45efc3c740571465/services/ui/public/cpp/window_compositor_frame_sink.cc

Comment 11 by xing...@intel.com, Jan 26 2017
Cc: xing...@intel.com
Project Member Comment 12 by bugdroid1@chromium.org, Jan 26 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/602ce136fcac0b2a338a5708f857cf12f8a77467

commit 602ce136fcac0b2a338a5708f857cf12f8a77467
Author: sadrul <sadrul@chromium.org>
Date: Thu Jan 26 06:41:10 2017

mus: Use a barebone mus client-lib in chrome-renderer.

Notable changes:
. Add RendererWindowTreeClient that implements ui.mojom.WindowTreeClient
  interface for chrome-renderer. It currently supports the most basic
  functionalities. For example, it does not receive events (the events
  instead are routed through chrome-browser), it does not support more
  than one window, window state changes (e.g. bounds, visibility etc.)
  are ignored (the corresponding messages from chrome-browser are used
  instead) etc. Over time however, this implementation will grow.
. When chrome-renderer is running as a mus-client, it immediately creates
  a RendererWindowTreeClient instance for a RenderWidget, instead of
  waiting for a creation request from chrome-browser.
. Remove RenderWidgetMusConnection, since it's no longer needed.

BUG= 672913 

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

[modify] https://crrev.com/602ce136fcac0b2a338a5708f857cf12f8a77467/content/renderer/mus/BUILD.gn
[delete] https://crrev.com/271891581a5ffa67adb2abb15c856cd15b5a0e6c/content/renderer/mus/render_widget_mus_connection.cc
[delete] https://crrev.com/271891581a5ffa67adb2abb15c856cd15b5a0e6c/content/renderer/mus/render_widget_mus_connection.h
[modify] https://crrev.com/602ce136fcac0b2a338a5708f857cf12f8a77467/content/renderer/mus/render_widget_window_tree_client_factory.cc
[add] https://crrev.com/602ce136fcac0b2a338a5708f857cf12f8a77467/content/renderer/mus/renderer_window_tree_client.cc
[add] https://crrev.com/602ce136fcac0b2a338a5708f857cf12f8a77467/content/renderer/mus/renderer_window_tree_client.h
[modify] https://crrev.com/602ce136fcac0b2a338a5708f857cf12f8a77467/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/602ce136fcac0b2a338a5708f857cf12f8a77467/content/renderer/render_widget.cc

Status: Fixed
This is now fixed. I filed  issue 686235  to track making it the only codepath for chrome --mash.
Labels: VerifyIn-59
Labels: VerifyIn-60
Labels: VerifyIn-61
Sign in to add a comment