-
tapted authored
There's currently a dependency cycle between gyp files: components.gyp and extensions.gyp. extensions.gyp depends on a number of components, and two components depend on exetensions.gyp. These are: - components/renderer_context_menu/ - components/native_app_window/ (more recently) renderer_context_menu has an "optional" extensions dependency, which can be skipped when ENABLE_EXTENSIONS is not defined. Still, it is necessary for renderer_context_menu.gyp to omit its extensions.gyp dependency and build as a static library. For native_app_window, since it is not compiled on Mac, the gyp circular check is not performed on the bots. This CL fixes the layering by adding a folder, src/extensions/components. Things here may depend on extensions, but not on other extensions/components folders in a way that creates a cycle. This also allows the benefits of a component-architecture to make sense of interdependencies between the ~1337 files under src/extensions. This layout also makes it clear that by depending on one of these components, a target is also depending on src/extensions. Currently, this is not clear. BUG=35878, 418455 TBR=reed@google.com Review URL: https://codereview.chromium.org/606953002 Cr-Commit-Position: refs/heads/master@{#297952}
344272dd