OLD | NEW |
| 1 Ash |
| 2 --- |
| 3 Ash is the "Aura Shell", the window manager and system UI for Chrome OS. |
| 4 Ash uses the views UI toolkit (e.g. views::View, views::Widget, etc.) backed |
| 5 by the aura native widget and layer implementations. |
| 6 |
| 7 Ash sits below chrome in the dependency graph (i.e. it cannot depend on code |
| 8 in //chrome). It has a few dependencies on //content, but these are isolated |
| 9 in their own module in //ash/content. This allows targets like ash_unittests |
| 10 to build more quickly. |
| 11 |
| 12 Tests |
| 13 ----- |
| 14 Most tests should be added to the ash_unittests target. Tests that rely on |
| 15 //content should be added to ash_content_unittests, but these should be rare. |
| 16 |
| 17 Tests can bring up most of the ash UI and simulate a login session by deriving |
| 18 from AshTestBase. This is often needed to test code that depends on ash::Shell |
| 19 and the controllers it owns. |
| 20 |
1 Mus+ash | 21 Mus+ash |
2 ---------- | 22 ---------- |
3 Ash is transitioning from using aura to using mus. During the | 23 Ash is transitioning to use the mus window server and gpu process, found in |
4 transition period ash has support for both aura and mus. In order to | 24 //services/ui. Ash continues to use aura, but aura is backed by mus. Code to |
5 work with both toolkits ash has a porting layer. This layer exists in | 25 support mus is found in //ash/mus. There should be relatively few differences |
6 ash/common. As portions of ash are converted to the porting layer they | 26 between the pure aura and the aura-mus versions of ash. Ash can by run in mus |
7 should move to ash/common. DEPS files may also be used to ensure new | 27 mode by passing the --mus command line flag. |
8 dependencies do not get added. | 28 |
| 29 Ash is also transitioning to run as a mojo service in its own process. This |
| 30 means that code in chrome cannot call into ash directly, but must use the mojo |
| 31 interfaces in //ash/public/interfaces. |
| 32 |
| 33 Out-of-process Ash is referred to as "mash" (mojo ash). In-process ash is |
| 34 referred to as "classic ash". Ash can run in either mode depending on the |
| 35 --mash command line flag. |
| 36 |
| 37 Historical notes |
| 38 ---------------- |
| 39 Ash shipped on Windows for a couple years to support Windows 8 Metro mode. |
| 40 Windows support was removed in 2016. |
OLD | NEW |