File: README.md

package info (click to toggle)
chromium 120.0.6099.224-1~deb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 6,112,112 kB
  • sloc: cpp: 32,907,025; ansic: 8,148,123; javascript: 3,679,536; python: 2,031,248; asm: 959,718; java: 804,675; xml: 617,256; sh: 111,417; objc: 100,835; perl: 88,443; cs: 53,032; makefile: 29,579; fortran: 24,137; php: 21,162; tcl: 21,147; sql: 20,809; ruby: 17,735; pascal: 12,864; yacc: 8,045; lisp: 3,388; lex: 1,323; ada: 727; awk: 329; jsp: 267; csh: 117; exp: 43; sed: 37
file content (48 lines) | stat: -rw-r--r-- 2,600 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Chrome OS

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

The [Lacros project](go/lacros) 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](go/lacros-code-layout) 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 or //content.