0
Files
src/chromeos
Roger Tinkoff 6c1bed209e ash: KBL toggle functionality and UI.
Implement KBL toggle UI, using the (new) KBL toggle DBus interface.
Show the toast when the user has explicitly toggled KBL, the slider
when the user has made a brightness adjustment.

Guard calls to accelerators::ToggleKeyboardBacklight() with the
"EnableKeyboardBacklightToggle" feature flag.

Bug: b/194146863
Change-Id: I19dfe19009cb016ed492be47a129bccd1c308d3a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3251651
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Ahmed Mehfooz <amehfooz@chromium.org>
Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>
Commit-Queue: Roger Tinkoff <rtinkoff@google.com>
Cr-Commit-Position: refs/heads/main@{#956503}
2022-01-07 14:52:01 +00:00
..
2022-01-07 12:49:53 +00:00
2021-12-03 16:09:03 +00:00
2022-01-05 22:31:49 +00:00

Chrome OS

This directory contains low-level support for Chrome running on Chrome OS.

The Lacros project is in the process of extracting the browser-functionality into a separate binary. This introduces the following terminology and rules:

  • ash-chrome: The new name of the legacy "chrome" binary. It contains system UI and the current/legacy web browser. Code that is only used by ash-chrome should eventually be moved to //ash, have an _ash suffix in the filename, or have a (grand-)parent directory named /ash/.
  • lacros-chrome: The name of the new, standalone web-browser binary. Code that is only used by lacros-chrome should have a _lacros suffix in the filename, or have a (grand-)parent directory named /lacros/.
  • crosapi: The term "crosapi" is short for ChromeOS API. Ash-chrome implements the API, and lacros-chrome is the only consumer.
  • chromeos: The term "chromeos" refers to code that is shared by binaries targeting the chromeos platform or using the chromeos toolchain. Code that is shared by ash-chrome and lacros-chrome should have a _chromeos suffix in the filename, or have a (grand-)parent directory named /chromeos/.
  • Exception: The exception to the rule is //chrome/browser/chromeos. Following existing conventions in //chrome, the directory should refer to lacros-chrome. However, this would involve a massive and otherwise unnecessary refactor. //chrome/browser/chromeos will continue to contain code that is only used by ash-chrome. //chrome/browser/lacros will contain code used only by lacros-chrome. See this document for more details.

Many subdirectories contain Chrome-style C++ wrappers around operating system components.

For example, //chromeos/dbus contains wrappers around the D-Bus interfaces to system daemons like the network configuration manager (shill). Most other directories contain low-level utility code.

There are two exceptions:

  • //chromeos/services contains mojo services that were not considered sufficiently general to live in top-level //services. For example //chromeos/services/secure_channel bootstraps a secure communications channel to an Android phone over Bluetooth, enabling multi-device features like instant tethering.

  • //chromeos/components contains C++ components that were not considered sufficiently general to live in top-level //components.

Note, //chromeos does not contain any user-facing UI code, and hence it has "-ui" in its DEPS. The contents of //chromeos should also not depend on //chrome or //content.