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

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.