| Index: Source/core/frame/LocalFrame.cpp
|
| diff --git a/Source/core/frame/LocalFrame.cpp b/Source/core/frame/LocalFrame.cpp
|
| index f5a0e0366599c39e4b4a3ddcb51b16f1987cdc8a..1ee17fb47a82b66edad1cc260762b707e0735270 100644
|
| --- a/Source/core/frame/LocalFrame.cpp
|
| +++ b/Source/core/frame/LocalFrame.cpp
|
| @@ -255,10 +255,18 @@ void LocalFrame::navigate(Document& originDocument, const KURL& url, bool lockBa
|
| void LocalFrame::reload(ReloadPolicy reloadPolicy, ClientRedirectPolicy clientRedirectPolicy)
|
| {
|
| ASSERT(clientRedirectPolicy == NotClientRedirect || reloadPolicy == NormalReload);
|
| - if (clientRedirectPolicy == NotClientRedirect)
|
| - m_loader.reload(reloadPolicy);
|
| - else
|
| + if (clientRedirectPolicy == NotClientRedirect) {
|
| + if (!m_loader.currentItem())
|
| + return;
|
| + FrameLoadType loadType = reloadPolicy == NormalReload ?
|
| + FrameLoadTypeReload : FrameLoadTypeReloadFromOrigin;
|
| + FrameLoadRequest request = FrameLoader::frameRequestForReload(
|
| + m_loader.resourceRequestForReload(*this, loadType, KURL(), clientRedirectPolicy),
|
| + clientRedirectPolicy);
|
| + m_loader.load(request, loadType);
|
| + } else {
|
| m_navigationScheduler.scheduleReload();
|
| + }
|
| }
|
|
|
| void LocalFrame::detach()
|
|
|