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

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.