Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(774)

Unified Diff: services/README.md

Issue 2783223004: Adds lots of Mojo documentation (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: services/README.md
diff --git a/services/README.md b/services/README.md
index b8e15401238c58c7676069bb75538198c09a9435..c386b42f008ab6b944c5af4a46191a0a13d8e449 100644
--- a/services/README.md
+++ b/services/README.md
@@ -1,7 +1,8 @@
-Chrome Foundation Services
-====
+# Chrome Foundation Services
-### Overview
+[TOC]
+
+## Overview
This directory contains Chrome Foundation Services. If you think of Chrome as a
"portable OS," Chrome Foundation Services can be thought of as that OS'
@@ -13,48 +14,56 @@ Roughly each subdirectory here corresponds to a service that:
* could logically run a standalone process for security/performance isolation
benefits depending on the constraints of the host OS.
-### Service Directory Structure
+## Service Directory Structure
Individual services are structured like so:
- //services/foo/ <-- Implementation code, may have subdirs.
- /public/
- /cpp/ <-- C++ client libraries (optional)
- /interfaces/ <-- Mojom interfaces
+```
+//services/foo/ <-- Implementation code, may have subdirs.
+ /public/
+ /cpp/ <-- C++ client libraries (optional)
+ /interfaces/ <-- Mojom interfaces
+```
-### Dependencies
+## Dependencies
Code within `//services` may only depend on each other via each other's
-`/public/` directories, i.e. implementation code cannot be shared directly.
+`/public/` directories, *i.e.* implementation code may not be shared directly.
Service code should also take care to tightly limit the dependencies on static
libraries from outside of `//services`. Dependencies to large platform
layers like `//content`, `//chrome` or `//third_party/WebKit` must be avoided.
-### Physical Packaging
+## Physical Packaging
Note that while it may be possible to build a discrete physical package (DSO)
for each service, products consuming these services may package them
differently, e.g. by combining them into a single package.
-### Documentation
+## Additional Documentation
[High-level Design Doc](https://docs.google.com/document/d/15I7sQyQo6zsqXVNAlVd520tdGaS8FCicZHrN0yRu-oU)
-[Homepage](https://sites.google.com/a/chromium.org/dev/servicification)
-### Relationship to other top-level directories in //
+[Servicification Homepage](https://sites.google.com/a/chromium.org/dev/servicification)
+
+## Relationship To Other Top-Level Directories
Services can be thought of as integrators of library code from across the
-Chromium repository, most commonly //base and //mojo (obviously) but for each
-service also //components, //ui, etc in accordance with the functionality they
-provide.
+Chromium repository, most commonly `//base` and `//mojo` (obviously) but for
+each service also `//components`, `//ui`, *etc.* in accordance with the
+functionality they provide.
-Not everything in //components is automatically a service in its own right.
-Think of //components as sort of like a //lib. Individual //components can
-define, implement and use mojom interfaces, but only //services have unique
-identities with the Service Manager.
+Not everything in `//components` is automatically a service in its own right.
+Think of `//components` as sort of like a `//lib`. Individual `//components` can
+define, implement and use Mojom interfaces, but only `//services` have unique
+identities with the Service Manager and so only `//services` make it possible
+for Mojom interfaces to be acquired.
-### Adding a new service
+## Adding a new service
-Please start a thread on [services-dev](https://groups.google.com/a/chromium.org/forum/#!forum/services-dev)
+See the [Service Manager documentation](/services/service_manager) for more
+details regarding how to define a service and expose or consume interfaces to
+and from other services.
+Please start a thread on [services-dev@chromium.org](https://groups.google.com/a/chromium.org/forum/#!forum/services-dev)
+if you want to introduce a new service.

Powered by Google App Engine
This is Rietveld 408576698