| Index: Source/core/frame/LocalFrame.cpp
|
| diff --git a/Source/core/frame/LocalFrame.cpp b/Source/core/frame/LocalFrame.cpp
|
| index edd58bd52392b820387fa793d139f5e92d9a2a43..b8178f2ae5c6cf5b43a1d63c78cc325185c98d38 100644
|
| --- a/Source/core/frame/LocalFrame.cpp
|
| +++ b/Source/core/frame/LocalFrame.cpp
|
| @@ -251,13 +251,20 @@ void LocalFrame::navigate(Document& originDocument, const KURL& url, bool lockBa
|
| }
|
| }
|
|
|
| -void LocalFrame::reload(ReloadPolicy reloadPolicy, ClientRedirectPolicy clientRedirectPolicy)
|
| +void LocalFrame::reload(FrameLoadType loadType, ClientRedirectPolicy clientRedirectPolicy)
|
| {
|
| - ASSERT(clientRedirectPolicy == NotClientRedirect || reloadPolicy == NormalReload);
|
| - if (clientRedirectPolicy == NotClientRedirect)
|
| - m_loader.reload(reloadPolicy);
|
| - else
|
| + ASSERT(loadType == FrameLoadTypeReload || loadType == FrameLoadTypeReloadFromOrigin);
|
| + ASSERT(clientRedirectPolicy == NotClientRedirect || loadType == FrameLoadTypeReload);
|
| + if (clientRedirectPolicy == NotClientRedirect) {
|
| + if (!m_loader.currentItem())
|
| + return;
|
| + FrameLoadRequest request = FrameLoadRequest(
|
| + nullptr, m_loader.resourceRequestForReload(loadType, KURL(), clientRedirectPolicy));
|
| + request.setClientRedirect(clientRedirectPolicy);
|
| + m_loader.load(request, loadType);
|
| + } else {
|
| m_navigationScheduler.scheduleReload();
|
| + }
|
| }
|
|
|
| void LocalFrame::detach()
|
|
|