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