| Index: content/renderer/render_view_impl.cc
|
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
|
| index 4d136cc14d7f2612466e695c2e10854597030217..cfb3ada08d825a33fa95df0bcf754b4979ad2be5 100644
|
| --- a/content/renderer/render_view_impl.cc
|
| +++ b/content/renderer/render_view_impl.cc
|
| @@ -361,7 +361,9 @@ static void StopAltErrorPageFetcher(WebDataSource* data_source) {
|
| static bool IsReload(const ViewMsg_Navigate_Params& params) {
|
| return
|
| params.navigation_type == ViewMsg_Navigate_Type::RELOAD ||
|
| - params.navigation_type == ViewMsg_Navigate_Type::RELOAD_IGNORING_CACHE;
|
| + params.navigation_type == ViewMsg_Navigate_Type::RELOAD_IGNORING_CACHE ||
|
| + params.navigation_type ==
|
| + ViewMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL;
|
| }
|
|
|
| static WebReferrerPolicy GetReferrerPolicyFromRequest(
|
| @@ -1040,9 +1042,16 @@ void RenderViewImpl::OnNavigate(const ViewMsg_Navigate_Params& params) {
|
| // have history state, then we need to navigate to it, which corresponds to a
|
| // back/forward navigation event.
|
| if (is_reload) {
|
| + bool reload_original_url =
|
| + (params.navigation_type ==
|
| + ViewMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL);
|
| bool ignore_cache = (params.navigation_type ==
|
| ViewMsg_Navigate_Type::RELOAD_IGNORING_CACHE);
|
| - main_frame->reload(ignore_cache);
|
| +
|
| + if (reload_original_url)
|
| + main_frame->reloadWithOverrideURL(params.url, true);
|
| + else
|
| + main_frame->reload(ignore_cache);
|
| } else if (!params.state.empty()) {
|
| // We must know the page ID of the page we are navigating back to.
|
| DCHECK_NE(params.page_id, -1);
|
| @@ -1478,6 +1487,9 @@ void RenderViewImpl::UpdateURL(WebFrame* frame) {
|
| params.is_overriding_user_agent =
|
| document_state->is_overriding_user_agent();
|
|
|
| + // Track the URL of the original request.
|
| + params.original_request_url = original_request.url();
|
| +
|
| // Save some histogram data so we can compute the average memory used per
|
| // page load of the glyphs.
|
| UMA_HISTOGRAM_COUNTS_10000("Memory.GlyphPagesPerLoad",
|
|
|