Index: chrome/browser/ui/browser_navigator.cc |
diff --git a/chrome/browser/ui/browser_navigator.cc b/chrome/browser/ui/browser_navigator.cc |
index 9c92019f62d482092e193223593f5f70c15247ca..41e78f10ed79e418fa5e2dd06a31dcb849461763 100644 |
--- a/chrome/browser/ui/browser_navigator.cc |
+++ b/chrome/browser/ui/browser_navigator.cc |
@@ -499,7 +499,13 @@ void Navigate(NavigateParams* params) { |
if (!HandleNonNavigationAboutURL(url)) { |
// Perform the actual navigation, tracking whether it came from the |
// renderer. |
- if (params->is_renderer_initiated) { |
+ |
+ if (params->transferred_global_request_id != GlobalRequestID()) { |
+ params->target_contents->controller().TransferURL( |
+ url, params->referrer, params->transition, extra_headers, |
+ params->transferred_global_request_id, |
+ params->is_renderer_initiated); |
+ } else if (params->is_renderer_initiated) { |
params->target_contents->controller().LoadURLFromRenderer( |
url, params->referrer, params->transition, extra_headers); |
} else { |
@@ -553,7 +559,12 @@ void Navigate(NavigateParams* params) { |
} else if (params->path_behavior == NavigateParams::IGNORE_AND_NAVIGATE && |
target->GetURL() != params->url) { |
InitializeExtraHeaders(params, NULL, &extra_headers); |
- if (params->is_renderer_initiated) { |
+ if (params->transferred_global_request_id != GlobalRequestID()) { |
Charlie Reis
2011/12/02 22:38:11
Perhaps we should abstract out this three-clause i
Matt Perry
2011/12/03 00:14:24
Done.
|
+ target->controller().TransferURL( |
+ params->url, params->referrer, params->transition, extra_headers, |
+ params->transferred_global_request_id, |
+ params->is_renderer_initiated); |
+ } else if (params->is_renderer_initiated) { |
target->controller().LoadURLFromRenderer( |
params->url, params->referrer, params->transition, extra_headers); |
} else { |