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. |