| 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..ac4f2efa7c0c253d3beaa815632e024be551c86d 100644
|
| --- a/chrome/browser/ui/browser_navigator.cc
|
| +++ b/chrome/browser/ui/browser_navigator.cc
|
| @@ -242,6 +242,24 @@ Profile* GetSourceProfile(browser::NavigateParams* params,
|
| return params->browser->profile();
|
| }
|
|
|
| +void LoadURLInContents(TabContents* target_contents,
|
| + const GURL& url,
|
| + browser::NavigateParams* params,
|
| + const std::string& extra_headers) {
|
| + if (params->transferred_global_request_id != GlobalRequestID()) {
|
| + 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) {
|
| + target_contents->controller().LoadURLFromRenderer(
|
| + url, params->referrer, params->transition, extra_headers);
|
| + } else {
|
| + target_contents->controller().LoadURL(
|
| + url, params->referrer, params->transition, extra_headers);
|
| + }
|
| +
|
| +}
|
|
|
| // This class makes sure the Browser object held in |params| is made visible
|
| // by the time it goes out of scope, provided |params| wants it to be shown.
|
| @@ -499,13 +517,9 @@ void Navigate(NavigateParams* params) {
|
| if (!HandleNonNavigationAboutURL(url)) {
|
| // Perform the actual navigation, tracking whether it came from the
|
| // renderer.
|
| - if (params->is_renderer_initiated) {
|
| - params->target_contents->controller().LoadURLFromRenderer(
|
| - url, params->referrer, params->transition, extra_headers);
|
| - } else {
|
| - params->target_contents->controller().LoadURL(
|
| - url, params->referrer, params->transition, extra_headers);
|
| - }
|
| +
|
| + LoadURLInContents(params->target_contents->tab_contents(),
|
| + url, params, extra_headers);
|
| }
|
| } else {
|
| // |target_contents| was specified non-NULL, and so we assume it has already
|
| @@ -553,13 +567,7 @@ 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) {
|
| - target->controller().LoadURLFromRenderer(
|
| - params->url, params->referrer, params->transition, extra_headers);
|
| - } else {
|
| - target->controller().LoadURL(
|
| - params->url, params->referrer, params->transition, extra_headers);
|
| - }
|
| + LoadURLInContents(target, params->url, params, extra_headers);
|
| }
|
|
|
| // If the singleton tab isn't already selected, select it.
|
|
|