[content shell] hook up testRunner.dumpEditingCallbacks
[chromium-blink-merge.git] / content / components / README
blobc0ce54de6b5c0711de1f5ec6e8eaca5bdcaee22e
1 This directory is for components that have the Content Module as the
2 uppermost layer they depend on.  They may depend only on the Content
3 API (content/public) and on lower layers (e.g. base/, net/, ipc/
4 etc.).
6 These components are not part of the Content Module itself.  They are
7 built in a separate .gyp file (content_components.gyp in this
8 directory).
10 Components that have bits of code that need to live in different
11 processes (e.g. some code in the browser process, some in the renderer
12 process, etc.) should separate the code into different subdirectories.
13 Hence for a component named 'foo' you might end up with a structure
14 like the following:
16 content/components/foo          - DEPS, OWNERS, foo.gypi
17 content/components/foo/browser  - code that needs the browser process
18 content/components/foo/common   - for e.g. IPC constants and such
19 content/components/foo/renderer - code that needs renderer process
21 These subdirectories should have DEPS files with the relevant
22 restrictions in place, e.g. only content/components/foo/browser should
23 be allowed to #include from content/public/browser.
25 Note that there may also be an 'android' subdir, with a Java source
26 code structure underneath it where the package name is
27 org.chromium.content.component.foo, and with subdirs after 'foo'
28 to illustrate process, e.g. 'browser' or 'renderer':
30 content/components/foo/android/OWNERS, DEPS
31 content/components/foo/android/java/src/org/chromium/content/component/foo/browser/
32 content/components/foo/android/javatests/src/org/chromium/content/component/foo/browser/
34 Code in content/components/ should be placed in the content:: namespace.