Branded Chrome builds ship with a few default apps (Gmail, YouTube, etc.) that are installed for new users. Default apps are implemented using a variant of the external extensions mechanism.
Adding a new default app
- Locate the app in the Chrome Web Store
- Select the "Debug" tab
- Save its .crx using the "CRX Package Download: Published version" link
- Copy the .crx to src/chrome/browser/resources/default_apps.
- Add it to external_extensions.json and common.gypi (look for default_apps_list and default_apps_list_linux_dest)
Testing your changes by making a branded build is tedious. Instead you can manually copy the default apps directory in your build output, e.g.:
$ cp -r chrome/browser/resources/default_apps out/Debug/
Then you can start chrome with out/Debug/chrome --user-data-dir=/tmp/<somenewdir> to simulate the new user experience.
For an example, see the changelist that added Google Docs as a default app.