Chromium Code Reviews| 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 { |