Fix 'fetch blink' recipe for proper management.

This both ensures that 'git auto-svn' has been properly run, and also that
the Blink checkout is appropriately 'unmanaged'.

R=dpranke@chromium.org, mmoss@chromium.org
BUG=289742

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295916 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/recipes/blink.py b/recipes/blink.py
index aa60844..99c20ed 100644
--- a/recipes/blink.py
+++ b/recipes/blink.py
@@ -15,24 +15,40 @@
 
   @staticmethod
   def fetch_spec(props):
-    submodule_spec = {
-      'third_party/WebKit': {
-        'auto': True,
-      }
+    chromium_url = 'https://chromium.googlesource.com/chromium/src.git'
+    chromium_solution = {'name': 'src',
+                         'url': chromium_url,
+                         'deps_file': 'DEPS',
+                         'managed': False,
+                         'custom_deps': {
+                             'src/third_party/WebKit': None,
+                         },
     }
+    blink_url = 'https://chromium.googlesource.com/chromium/blink.git'
+    blink_solution = {'name': 'src/third_party/WebKit',
+                      'url': blink_url,
+                      'deps_file': '.DEPS.git',
+                      'managed': False,
+                      'custom_deps': {},
+    }
+    spec = {
+      'solutions': [chromium_solution, blink_solution],
+      'auto': True,
+    }
+    if props.get('target_os'):
+      spec['target_os'] = props['target_os'].split(',')
+    if props.get('target_os_only'):
+      spec['target_os_only'] = props['target_os_only']
+    toolchain_hook = [sys.executable, 'src/build/confirm_toolchain.py']
+    spec['fetch_hooks'] = [toolchain_hook]
     return {
-      'alias': {
-        'recipe': 'chromium',
-        'props': [
-          '--webkit_revision=ToT',
-          '--submodule_git_svn_spec=' + json.dumps(submodule_spec),
-        ],
-      },
+      'type': 'gclient_git_svn',
+      'gclient_git_svn_spec': spec,
     }
 
   @staticmethod
   def expected_root(_props):
-    return ''
+    return 'src/third_party/WebKit'
 
 
 def main(argv=None):