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() |