Navigating to a page in ChromeFrame in IE would display the sad tab page briefly until the navigation was initiated from IE.
We have code in the ChromeFrame external tab container to initiate the navigation during initialization if we have a valid url
passed in while creating the external tab. The URL would not get passed down even though it was available from ChromeFrame.

This fixes bug http://code.google.com/p/chromium/issues/detail?id=43482

Bug=43482

Review URL: http://codereview.chromium.org/2600002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48890 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome_frame/chrome_active_document.cc b/chrome_frame/chrome_active_document.cc
index 1055b43..afe62e8 100644
--- a/chrome_frame/chrome_active_document.cc
+++ b/chrome_frame/chrome_active_document.cc
@@ -961,6 +961,9 @@
 
   url_.Allocate(url.c_str());
 
+  std::string referrer;
+  std::string utf8_url;
+
   if (!is_new_navigation) {
     WStringTokenizer tokenizer(url, L"&");
     // Skip over kChromeAttachExternalTabPrefix
@@ -982,10 +985,8 @@
     // Initiate navigation before launching chrome so that the url will be
     // cached and sent with launch settings.
     if (url_.Length()) {
-      std::string utf8_url;
       WideToUTF8(url_, url_.Length(), &utf8_url);
 
-      std::string referrer;
       NavigationManager* mgr = NavigationManager::GetThreadInstance();
       if (mgr)
         referrer = mgr->referrer();
@@ -1008,8 +1009,8 @@
 
   automation_client_->SetUrlFetcher(&url_fetcher_);
 
-  return InitializeAutomation(GetHostProcessName(false), std::wstring(),
-                              IsIEInPrivate(), false);
+  return InitializeAutomation(GetHostProcessName(false), L"", IsIEInPrivate(),
+                              false, GURL(utf8_url), GURL(referrer));
 }