Commit a6a6e611 authored by jamescook's avatar jamescook Committed by Commit bot

chromeos: Cleanup comments and DEPS in //ash

Remove references to //ash/common, rewrite the top-level README.md, and
remove unnecessary DEPS.

BUG=none
TEST=checkdeps passes

Review-Url: https://codereview.chromium.org/2811643003
Cr-Commit-Position: refs/heads/master@{#463301}
parent 1714411e
Ash
---
Ash is the "Aura Shell", the window manager and system UI for Chrome OS.
Ash uses the views UI toolkit (e.g. views::View, views::Widget, etc.) backed
by the aura native widget and layer implementations.
Ash sits below chrome in the dependency graph (i.e. it cannot depend on code
in //chrome). It has a few dependencies on //content, but these are isolated
in their own module in //ash/content. This allows targets like ash_unittests
to build more quickly.
Tests
-----
Most tests should be added to the ash_unittests target. Tests that rely on
//content should be added to ash_content_unittests, but these should be rare.
Tests can bring up most of the ash UI and simulate a login session by deriving
from AshTestBase. This is often needed to test code that depends on ash::Shell
and the controllers it owns.
Mus+ash Mus+ash
---------- ----------
Ash is transitioning from using aura to using mus. During the Ash is transitioning to use the mus window server and gpu process, found in
transition period ash has support for both aura and mus. In order to //services/ui. Ash continues to use aura, but aura is backed by mus. Code to
work with both toolkits ash has a porting layer. This layer exists in support mus is found in //ash/mus. There should be relatively few differences
ash/common. As portions of ash are converted to the porting layer they between the pure aura and the aura-mus versions of ash. Ash can by run in mus
should move to ash/common. DEPS files may also be used to ensure new mode by passing the --mus command line flag.
dependencies do not get added.
Ash is also transitioning to run as a mojo service in its own process. This
means that code in chrome cannot call into ash directly, but must use the mojo
interfaces in //ash/public/interfaces.
Out-of-process Ash is referred to as "mash" (mojo ash). In-process ash is
referred to as "classic ash". Ash can run in either mode depending on the
--mash command line flag.
Historical notes
----------------
Ash shipped on Windows for a couple years to support Windows 8 Metro mode.
Windows support was removed in 2016.
...@@ -14,9 +14,10 @@ namespace ash { ...@@ -14,9 +14,10 @@ namespace ash {
class ScreenshotDelegate; class ScreenshotDelegate;
// Contains all the accelerators that have dependencies on portions of ash // Support for accelerators that only work in classic ash and not in mash,
// not yet converted to ash/common. When adding a new accelerator that only // for example accelerators related to display management. These sorts of
// depends on ash/common code, add it to accelerator_controller.cc instead. // accelerators should be rare. Most new accelerators should be added to
// accelerator_controller.cc instead.
class ASH_EXPORT AcceleratorControllerDelegateAura class ASH_EXPORT AcceleratorControllerDelegateAura
: public AcceleratorControllerDelegate { : public AcceleratorControllerDelegate {
public: public:
......
...@@ -10,16 +10,8 @@ include_rules = [ ...@@ -10,16 +10,8 @@ include_rules = [
"+services/service_manager/public", "+services/service_manager/public",
"+services/tracing/public", "+services/tracing/public",
] ]
# TODO(jamescook): Are these still needed now that //ash/common is gone?
specific_include_rules = {
"root_window_controller.cc": [
"+ash/shelf/shelf_layout_manager.h",
],
"shelf_delegate_mus.cc": [
"+ash/shelf/shelf.h",
"+ash/shelf/shelf_widget.h",
],
specific_include_rules = {
"app_launch_unittest.cc": [ "app_launch_unittest.cc": [
"+mash/quick_launch/public", "+mash/quick_launch/public",
], ],
......
...@@ -55,7 +55,7 @@ class WindowOwner { ...@@ -55,7 +55,7 @@ class WindowOwner {
// Base class for ash tests. This class calls through to AshTestImpl for the // Base class for ash tests. This class calls through to AshTestImpl for the
// real implementation. This class exists so that tests can be written to // real implementation. This class exists so that tests can be written to
// ash/common and run in both mus and aura. // run in both mus and aura.
// //
// TODO: this class is deprecated and should be removed. // TODO: this class is deprecated and should be removed.
// http://crbug.com/707057. // http://crbug.com/707057.
......
...@@ -46,8 +46,6 @@ WorkspaceLayoutManager* GetWorkspaceLayoutManager(WmWindow* container) { ...@@ -46,8 +46,6 @@ WorkspaceLayoutManager* GetWorkspaceLayoutManager(WmWindow* container) {
} // namespace } // namespace
// TODO: this is a duplicate of that in ash/common, and should move once
// keyboard is refactored to work in mash.
class WorkspaceLayoutManagerKeyboardTest : public AshTest { class WorkspaceLayoutManagerKeyboardTest : public AshTest {
public: public:
WorkspaceLayoutManagerKeyboardTest() : layout_manager_(nullptr) {} WorkspaceLayoutManagerKeyboardTest() : layout_manager_(nullptr) {}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment