| Index: Source/core/frame/LocalFrame.cpp
|
| diff --git a/Source/core/frame/LocalFrame.cpp b/Source/core/frame/LocalFrame.cpp
|
| index c9bc9a1c3cdfcfd9852ee8818b7d02e6183bf47b..8d77a3e205bf878e3f1615b9f83344bf0be55e2c 100644
|
| --- a/Source/core/frame/LocalFrame.cpp
|
| +++ b/Source/core/frame/LocalFrame.cpp
|
| @@ -256,13 +256,20 @@ void LocalFrame::navigate(const FrameLoadRequest& request)
|
| m_loader.load(request);
|
| }
|
|
|
| -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()
|
|
|