Currently turning on the enable_extensions GN flag will build all extensions and apps APIs. We want to selectively build only extension APIs and apps APIs.
Internally this means that we should re-organize our sources. Currently we have an extension_browser_sources and its platform specific variants.
This needs to be split into,
. extensions_browser_sources: This will contain all the sources needed by the extensions system that are compiled into the Chrome browser.
. extensions_api_sources: This will have all the sources for the extensions API.
. apps_api_sources: This will have all the sources for the extensions API that have been extracted to //extensions.
. apps_api_browser_sources: This will have all the sources for the extensions API that are still in //chrome/browser/extensions.
In the Browser build, if either enable_extensions or enable_apps is specified, we'll include extensions_browser_sources. If enable_extensions is specified, we'll include extensions_api_sources. If enable_apps is specified, we'll also include both the apps sources.
AppShell will be built with the apps_api_sources always.
Note: Currently very few extensions only APIs exist in //extensions; most of the APIs there are apps APIs. This may change in the future and we don't want to continue to build with APIs that are extensions only in AppShell.
Comment 1 by rdevlin....@chromium.org
, Aug 26 2016