Chromium Code Reviews| Index: Source/core/loader/FrameLoader.cpp |
| diff --git a/Source/core/loader/FrameLoader.cpp b/Source/core/loader/FrameLoader.cpp |
| index e63eca19569d0a418ff100f0d677b7740187d16d..6c75488235f85100a16a8b2314d583b8d89ac980 100644 |
| --- a/Source/core/loader/FrameLoader.cpp |
| +++ b/Source/core/loader/FrameLoader.cpp |
| @@ -675,6 +675,15 @@ FrameLoadType FrameLoader::determineFrameLoadType(const FrameLoadRequest& reques |
| bool FrameLoader::prepareRequestForThisFrame(FrameLoadRequest& request) |
| { |
| + // From the HTML5 spec for location.assign(): |
|
Charlie Reis
2015/06/09 07:14:18
I'm moving this rule from NavigationScheduler::mus
|
| + // "If the browsing context's session history contains only one Document, |
| + // and that was the about:blank Document created when the browsing context |
| + // was created, then the navigation must be done with replacement enabled." |
| + if (!m_stateMachine.committedMultipleRealLoads() |
|
Nate Chapin
2015/06/09 18:25:33
Should this be a case in determineFrameLoadType()?
Charlie Reis
2015/06/11 16:43:48
Yes, that seems reasonable. Done.
|
| + && equalIgnoringCase(m_frame->document()->url(), blankURL())) { |
| + request.setLockBackForwardList(true); |
| + } |
| + |
| // If no origin Document* was specified, skip remaining security checks and assume the caller has fully initialized the FrameLoadRequest. |
| if (!request.originDocument()) |
| return true; |