| Index: ash/README.md
|
| diff --git a/ash/README.md b/ash/README.md
|
| index b5424c6dfa1fe72ac7613c9d67bb8ac9b384a8ce..d32a76c9388eb48cdbd85bc8d7a52837533917e8 100644
|
| --- a/ash/README.md
|
| +++ b/ash/README.md
|
| @@ -1,8 +1,40 @@
|
| +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
|
| ----------
|
| -Ash is transitioning from using aura to using mus. During the
|
| -transition period ash has support for both aura and mus. In order to
|
| -work with both toolkits ash has a porting layer. This layer exists in
|
| -ash/common. As portions of ash are converted to the porting layer they
|
| -should move to ash/common. DEPS files may also be used to ensure new
|
| -dependencies do not get added.
|
| +Ash is transitioning to use the mus window server and gpu process, found in
|
| +//services/ui. Ash continues to use aura, but aura is backed by mus. Code to
|
| +support mus is found in //ash/mus. There should be relatively few differences
|
| +between the pure aura and the aura-mus versions of ash. Ash can by run in mus
|
| +mode by passing the --mus command line flag.
|
| +
|
| +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.
|
|
|