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). For historical reasons, ash has multiple dependency levels:
Access to Ash internals is controlled by DEPS files. Unless explicitly allowed by DEPS, code outside Ash should depend on the interfaces in //ash/public. Check with OWNERS if you have questions.
Tests should be added to the ash_unittests target.
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.
Test support code (TestFooDelegate, FooControllerTestApi, etc.) lives in the same directory as the class under test (e.g. //ash/foo rather than //ash/test). Test code uses namespace ash; there is no special “test” namespace.
Ash supports both per-user prefs and device-wide prefs. These are called “profile prefs” and “local state” to match the naming conventions in chrome. Ash also supports “signin screen” prefs, bound to a special profile that allows users to toggle features like spoken feedback at the login screen.
Pref names are in //ash/public/cpp so that code in chrome can also use the names. Prefs are registered in the classes that use them because those classes have the best knowledge of default values.
Ash shipped on Windows for a couple years to support Windows 8 Metro mode. Windows support was removed in 2016.
The mash (some times called mus-ash or mustash) project was an effort to move ash into its own process and the browser in its own process. Communication between the two processes was done over mojo. Windowing was done using the window-service (some times called mus), which ran with Ash. Many of the mojo interfaces have been converted to pure virtual interfaces, with the implementation in ash. The mash project was stopped around 4/2019.
“Shelf party” was an Easter-egg feature that made shelf icons fly around the screen. It did not launch and was removed in June 2023.
五四运动的精神是什么 | 人为什么要穿衣服 | 心梗是什么原因引起的 | 小腿肚酸疼是什么原因 | 电话正在通话中是什么意思 |
了了什么意思 | 腹胀是什么原因 | 伏天是什么时候 | 鼻子出血是什么原因 | 支原体感染咳嗽吃什么药 |
1212是什么星座 | 胸闷是什么感觉 | 张牙舞爪的张是什么意思 | 虾皮是什么虾 | 有没有什么 |
伏特加是用什么酿造的 | 孔子原名叫什么 | 武警支队是什么级别 | 读书有什么好处 | 排湿气最快的方法吃什么 |
朝鲜和韩国是什么关系xscnpatent.com | 三高挂号挂什么科fenrenren.com | 吃什么大补hcv8jop8ns2r.cn | 为什么每次同房后都会尿路感染hcv9jop6ns6r.cn | 甲流吃什么药hcv7jop9ns2r.cn |
什么人不适合做厨师hcv9jop4ns3r.cn | 闹乌龙是什么意思hcv8jop3ns1r.cn | 尿激酶的作用及功效是什么hcv9jop2ns4r.cn | 哥哥的孩子叫什么hcv9jop5ns8r.cn | 什么洗发水去屑效果好wzqsfys.com |
橱窗是什么意思hcv9jop3ns6r.cn | 甲状腺囊性结节是什么意思hcv7jop9ns1r.cn | 淋巴结发炎吃什么药hcv8jop6ns6r.cn | 老豆腐和嫩豆腐有什么区别hcv9jop2ns1r.cn | 阳虚是什么原因引起的hcv8jop3ns9r.cn |
13层楼房有什么说法吗hcv8jop8ns0r.cn | 琉璃和玻璃有什么区别hcv9jop2ns8r.cn | emba是什么意思hcv8jop2ns4r.cn | 精液是什么形成的hcv7jop5ns1r.cn | 路旁土命什么意思hcv9jop5ns8r.cn |