Chromium Code Reviews| Index: third_party/WebKit/Source/web/WebLocalFrameImpl.cpp |
| diff --git a/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp b/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp |
| index ebda68aa738d402ad920e1bc0c4419b893699343..953faa2d1e72085005d42babf594b219cdc7d498 100644 |
| --- a/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp |
| +++ b/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp |
| @@ -1678,10 +1678,9 @@ LocalFrame* WebLocalFrameImpl::createChildFrame( |
| FrameLoadRequest newRequest = request; |
| FrameLoadType loadType = FrameLoadTypeStandard; |
| if (childItem) { |
| - newRequest = FrameLoadRequest( |
| - request.originDocument(), |
| - FrameLoader::resourceRequestFromHistoryItem( |
| - childItem, WebCachePolicy::UseProtocolCachePolicy)); |
| + newRequest = FrameLoadRequest(request.originDocument(), |
| + childItem->generateResourceRequest( |
| + WebCachePolicy::UseProtocolCachePolicy)); |
| loadType = FrameLoadTypeInitialHistoryLoad; |
| } |
| webframeChild->frame()->loader().load(newRequest, loadType, childItem); |
| @@ -1995,9 +1994,8 @@ WebURLRequest WebLocalFrameImpl::requestFromHistoryItem( |
| const WebHistoryItem& item, |
| WebCachePolicy cachePolicy) const { |
| HistoryItem* historyItem = item; |
| - ResourceRequest request = |
| - FrameLoader::resourceRequestFromHistoryItem(historyItem, cachePolicy); |
| - return WrappedResourceRequest(request); |
| + return WrappedResourceRequest( |
| + historyItem->generateResourceRequest(cachePolicy)); |
| } |
| WebURLRequest WebLocalFrameImpl::requestForReload( |
| @@ -2052,9 +2050,16 @@ void WebLocalFrameImpl::loadData(const WebData& data, |
| // unreachableURL informs FrameLoader::reload to load unreachableURL |
| // instead of the currently loaded URL. |
| ResourceRequest request; |
| - if (replace && !unreachableURL.isEmpty() && |
| - frame()->loader().provisionalDocumentLoader()) |
| - request = frame()->loader().provisionalDocumentLoader()->originalRequest(); |
| + HistoryItem* historyItem = item; |
| + DocumentLoader* provisionalDocumentLoader = |
| + frame()->loader().provisionalDocumentLoader(); |
| + if (replace && !unreachableURL.isEmpty() && provisionalDocumentLoader) { |
| + request = provisionalDocumentLoader->originalRequest(); |
| + if (provisionalDocumentLoader->loadType() == FrameLoadTypeBackForward) { |
| + historyItem = provisionalDocumentLoader->historyItem(); |
|
yhirano
2017/03/29 09:38:13
Where is this line (i.e., L2059) from?
Nate Chapin
2017/03/29 18:23:06
Yeah, I should have mentioned this, sorry. This li
kinuko
2017/03/30 05:05:00
Could we note some of this as code comment, e.g. '
Nate Chapin
2017/03/30 20:13:56
Done.
|
| + webFrameLoadType = WebFrameLoadType::BackForward; |
| + } |
| + } |
| request.setURL(baseURL); |
| request.setCheckForBrowserSideNavigation(false); |
| @@ -2065,7 +2070,6 @@ void WebLocalFrameImpl::loadData(const WebData& data, |
| if (isClientRedirect) |
| frameRequest.setClientRedirect(ClientRedirectPolicy::ClientRedirect); |
| - HistoryItem* historyItem = item; |
| frame()->loader().load( |
| frameRequest, static_cast<FrameLoadType>(webFrameLoadType), historyItem, |
| static_cast<HistoryLoadType>(webHistoryLoadType)); |
| @@ -2078,9 +2082,8 @@ bool WebLocalFrameImpl::maybeRenderFallbackContent( |
| if (!frame()->owner() || !frame()->owner()->canRenderFallbackContent()) |
| return false; |
| - FrameLoader& frameloader = frame()->loader(); |
| - DCHECK(frameloader.provisionalDocumentLoader()); |
| - frameloader.loadFailed(frameloader.provisionalDocumentLoader(), error); |
| + DCHECK(frame()->loader().provisionalDocumentLoader()); |
| + frame()->loader().provisionalDocumentLoader()->loadFailed(error); |
| return true; |
| } |