Break cycles between views, content and webview.

When running gyp_chromium with the following diff:

diff --git a/build/gyp_chromium b/build/gyp_chromium
index 63e8671..ca9b6a4 100755
--- a/build/gyp_chromium
+++ b/build/gyp_chromium
@@ -509,8 +509,6 @@ if __name__ == '__main__':
   # option.  http://crbug.com/35878.
   # TODO(tc): Fix circular dependencies in ChromiumOS then add linux2
   # list.
-  if sys.platform not in ('darwin',):
-    args.append('--no-circular-check')

These cycles are found:

gyp: Cycles in .gyp file dependency graph detected:
Cycle: content/content_shell_and_tests.gyp ->
ui/views/controls/webview/webview.gyp -> ui/views/views.gyp ->
content/content_shell_and_tests.gyp
Cycle: ui/views/controls/webview/webview.gyp -> ui/views/views.gyp ->
content/content_shell_and_tests.gyp ->
ui/views/controls/webview/webview.gyp
Cycle: ui/views/views.gyp -> content/content_shell_and_tests.gyp ->
ui/views/controls/webview/webview.gyp -> ui/views/views.gyp
Cycle: ui/views/views.gyp -> content/content_shell_and_tests.gyp ->
ui/views/views.gyp
Cycle: ui/views/controls/webview/webview.gyp -> ui/views/views.gyp ->
ui/views/controls/webview/webview.gyp
Cycle: ui/views/views.gyp -> ui/views/controls/webview/webview.gyp ->
ui/views/views.gyp
Cycle: content/content_shell_and_tests.gyp -> ui/views/views.gyp ->
content/content_shell_and_tests.gyp

By moving '*examples*' targets from views.gyp to examples.gyp we break
most of these cycles.

Then it remains the cycle:
Cycle: content/content_shell_and_tests.gyp -> ui/views/controls/webview/webview.gyp -> content/content_shell_and_tests.gyp

To fix that we introduced a webview_tests.gyp to which we moved the include of
content_shell_and_tests.gyp from webview.gyp, and thus breaking that
cycle and fixing all the circlar dependencies found above.

BUG=331669,35878
TEST=run gyp_chromium with the above diff, gyp should not throw any
cycles output.

R=ben@chromium.org, harrym@chromium.org, tapted@chromium.org

Review URL: https://codereview.chromium.org/201093002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258758 0039d316-1c4b-4281-b951-d872f2087c98
5 files changed