Chrome Release Bot (LUCI) 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
..
accelerators 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
accelerometer 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
accessibility 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
ambient 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
animation 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
app_list 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
app_menu 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
ash_strings_grd 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
assistant 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
bubble 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
calendar 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
capture_mode 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
child_accounts 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
clipboard 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
components 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
constants 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
controls 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
dbus 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
detachable_base 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
display 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
drag_drop 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
events 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
fast_ink 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
frame 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
frame_throttler 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
glanceables 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
high_contrast 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
highlighter 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
host 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
hud_display 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
ime 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
in_session_auth 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
keyboard 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
lock_screen_action 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
login 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
media 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
metrics 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
multi_capture 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
multi_device_setup 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
multi_user 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
perftests 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
policy 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
power 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
projector 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
public 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
quick_pair 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
resources 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
rgb_keyboard 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
rotator 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
search_box 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
services 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
session 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shelf 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shortcut_viewer 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
strings 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
style 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
system 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
test 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
tooltips 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
touch 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
tray_action 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
utility 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
wallpaper 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
webui 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
wm 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
BUILD.gn 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
DEPS 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
DIR_METADATA 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
OWNERS 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
README.md 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
ash_export.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
ash_interfaces.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
ash_prefs.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
ash_strings.grd 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
autotest_private_api_utils.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
bluetooth_devices_observer.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
bluetooth_devices_observer.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
cancel_mode.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
cancel_mode.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
debug.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
debug.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
dip_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
extended_desktop_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
focus_cycler.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
focus_cycler.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
focus_cycler_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
login_status.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
multi_profile_uma.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
multi_profile_uma.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
root_window_controller.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
root_window_controller.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
root_window_controller_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
root_window_settings.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
root_window_settings.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
scoped_animation_disabler.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
scoped_animation_disabler.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
screen_util.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
screen_util.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
screen_util_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shell.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shell.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shell_delegate.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shell_delegate.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shell_init_params.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shell_init_params.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shell_observer.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shell_tab_handler.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shell_tab_handler.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shell_test_api.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shell_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shutdown_controller_impl.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shutdown_controller_impl.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shutdown_reason.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
shutdown_reason.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
test_media_client.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
test_media_client.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
test_shell_delegate.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
test_shell_delegate.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
window_tree_host_lookup.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
window_user_data.h 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година
window_user_data_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 пре 1 година

README.md

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.

Dependencies

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:

  • General //ash code is on top (//ash/system, //ash/wm, etc.)
  • //ash/components sit below //ash, see README
  • //ash/constants sit near the bottom of the dependency graph, see README

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

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.

Prefs

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.

Historical notes

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