Autofill is in the process of becoming a layered component
(https://sites.google.com/a/chromium.org/dev/developers/design-documents/layered-components-design)
to enable it to be shared cleanly on iOS. 

When this process is complete, this component will have the following structure:

- core/: shared code that does not depend on src/content/ or src/ios/
  - browser/: Browser process code
  - common/: Code shared by the browser and the renderer
- content/: Driver for the shared code based on the content layer.
  - browser/: Browser process code.
  - renderer/: Renderer process code.
  - common/: Code shared by the browser and the renderer.
- ios/: Driver for the shared code based on src/ios.

See
https://sites.google.com/a/chromium.org/dev/developers/design-documents/layered-components-technical-approach/making-autofill-into-a-layered-component
for an outline of the project.

For pointers on how to continue getting your work done as the component moves
into its new structure, see
https://sites.google.com/a/chromium.org/dev/developers/design-documents/layered-components-technical-approach/making-autofill-into-a-layered-component#TOC-Help-How-Do-I-Get-My-Autofill-Related-Work-Done-

