0
Files
src/chromeos
ChromeOS bot 030e36cd73 Automated Commit: LKGM 16202.0.0-1067056 for chromeos.
CrOS Changes (16202.0.0-1067050 -> 16202.0.0-1067056):
- External: http://go/cros-changes/74922..74928?ext=true
- Internal: http://go/cros-changes/108456..108462

Uploaded by https://ci.chromium.org/b/8722041449577242081

CQ_INCLUDE_TRYBOTS=luci.chrome.try:chromeos-betty-chrome
CQ_INCLUDE_TRYBOTS=luci.chrome.try:chromeos-brya-chrome
CQ_INCLUDE_TRYBOTS=luci.chrome.try:chromeos-jacuzzi-chrome
CQ_INCLUDE_TRYBOTS=luci.chrome.try:chromeos-reven-chrome
CQ_INCLUDE_TRYBOTS=luci.chrome.try:chromeos-volteer-chrome-skylab
CQ_INCLUDE_TRYBOTS=luci.chromium.try:chromeos-octopus-rel
CQ_INCLUDE_TRYBOTS=luci.chromium.try:chromeos-jacuzzi-rel

Change-Id: I1b1801579e6c0483adcf8da35f4b481a7a0ec58d
CrOS-LKGM: 16202.0.0-1067056
Cr-Original-Build-Id: 8722041449577242081
CrOS-External-Manifest-Position: 74928
CrOS-Internal-Manifest-Position: 108462
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6300740
Commit-Queue: ChromeOS bot <3su6n15k.default@developer.gserviceaccount.com>
Bot-Commit: ChromeOS bot <3su6n15k.default@developer.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1424268}
2025-02-24 18:11:47 -08: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 //chromeos/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 and that, at the same time, are shared between ash-chrome and lacros-chrome. In case of an ash-chrome only mojo service, please use //chromeos/ash/services instead.

  • //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.