| Index: content/browser/web_contents/web_contents_impl.cc
 | 
| diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
 | 
| index 79ea7ab8605ef7f9dd485124e03e18e465cc277b..1d57e35c9852de06b65c1ac0ba0ee55528086506 100644
 | 
| --- a/content/browser/web_contents/web_contents_impl.cc
 | 
| +++ b/content/browser/web_contents/web_contents_impl.cc
 | 
| @@ -189,6 +189,8 @@ ViewMsg_Navigate_Type::Value GetNavigationType(
 | 
|        return ViewMsg_Navigate_Type::RELOAD;
 | 
|      case NavigationControllerImpl::RELOAD_IGNORING_CACHE:
 | 
|        return ViewMsg_Navigate_Type::RELOAD_IGNORING_CACHE;
 | 
| +    case NavigationControllerImpl::RELOAD_ORIGINAL_REQUEST_URL:
 | 
| +      return ViewMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL;
 | 
|      case NavigationControllerImpl::NO_RELOAD:
 | 
|        break;  // Fall through to rest of function.
 | 
|    }
 | 
| @@ -216,7 +218,6 @@ void MakeNavigateParams(const NavigationEntryImpl& entry,
 | 
|    params->pending_history_list_offset = controller.GetIndexOfEntry(&entry);
 | 
|    params->current_history_list_offset = controller.GetLastCommittedEntryIndex();
 | 
|    params->current_history_list_length = controller.GetEntryCount();
 | 
| -  params->url = entry.GetURL();
 | 
|    if (!entry.GetBaseURLForDataURL().is_empty()) {
 | 
|      params->base_url_for_data_url = entry.GetBaseURLForDataURL();
 | 
|      params->history_url_for_data_url = entry.GetVirtualURL();
 | 
| @@ -246,6 +247,17 @@ void MakeNavigateParams(const NavigationEntryImpl& entry,
 | 
|  
 | 
|    }
 | 
|  
 | 
| +  if (reload_type == NavigationControllerImpl::RELOAD_ORIGINAL_REQUEST_URL &&
 | 
| +      entry.GetOriginalRequestURL().is_valid() && !entry.GetHasPostData()) {
 | 
| +    // We may have been redirected when navigating to the current URL.
 | 
| +    // Use the URL the user originally intended to visit, if it's valid and if a
 | 
| +    // POST wasn't involved; the latter case avoids issues with sending data to
 | 
| +    // the wrong page.
 | 
| +    params->url = entry.GetOriginalRequestURL();
 | 
| +  } else {
 | 
| +    params->url = entry.GetURL();
 | 
| +  }
 | 
| +
 | 
|    if (delegate)
 | 
|      delegate->AddNavigationHeaders(params->url, ¶ms->extra_headers);
 | 
|  }
 | 
| 
 |