Navigation transitions: Plumb data from the outgoing renderer to the incoming renderer.

The outgoing renderer sends one or more sets of serialized markup of transition
 elements, the CSS selectors used to select each of these and its associated 
allowed destination origin, up to the TransitionRequestManager in Chrome. Once 
we have a navigation response we then pick up this data again (selecting one of 
these sets), send it up to the Android embedder, and from there it's used to 1) 
send a message down to the outgoing renderer to hide the transition elements 
we selected to use using the CSS selector, and 2) send the serialized markup 
down to the incoming renderer to inject into its document.

R=creis,jam,nasko
BUG=370696

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

Cr-Commit-Position: refs/heads/master@{#288228}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288228 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index b40774f..93b7bf6f 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -3602,11 +3602,10 @@
 }
 
 void WebContentsImpl::DidDeferAfterResponseStarted(
-    const scoped_refptr<net::HttpResponseHeaders>& headers,
-    const GURL& url) {
+    const TransitionLayerData& transition_data) {
 #if defined(OS_ANDROID)
   ContentViewCoreImpl::FromWebContents(this)->DidDeferAfterResponseStarted(
-      headers, url);
+      transition_data);
 #endif
 }