Chromium Code Reviews| Index: Source/core/loader/NavigationScheduler.cpp |
| diff --git a/Source/core/loader/NavigationScheduler.cpp b/Source/core/loader/NavigationScheduler.cpp |
| index 25db42fcde25b56361cd136c79ccc91839eace80..f0babd3db32e55035d6f3d210ccf95891d982fd4 100644 |
| --- a/Source/core/loader/NavigationScheduler.cpp |
| +++ b/Source/core/loader/NavigationScheduler.cpp |
| @@ -48,6 +48,7 @@ |
| #include "core/loader/FrameLoaderStateMachine.h" |
| #include "core/page/BackForwardClient.h" |
| #include "core/page/Page.h" |
| +#include "platform/SharedBuffer.h" |
| #include "platform/UserGestureIndicator.h" |
| #include "wtf/CurrentTime.h" |
| @@ -174,6 +175,24 @@ public: |
| } |
| }; |
| +class ScheduledPageBlock FINAL : public ScheduledURLNavigation { |
| +public: |
| + ScheduledPageBlock(Document* originDocument, const String& url, const Referrer& referrer) |
| + : ScheduledURLNavigation(0.0, originDocument, url, referrer, true, true) |
| + { |
| + } |
| + |
| + virtual void fire(LocalFrame* frame) OVERRIDE |
| + { |
| + OwnPtr<UserGestureIndicator> gestureIndicator = createUserGestureIndicator(); |
|
Mike West
2014/07/30 16:57:39
Nit: Do we need a user gesture here?
|
| + SubstituteData substituteData(SharedBuffer::create(), "text/plain", "UTF-8", KURL(), ForceSynchronousLoad); |
| + FrameLoadRequest request(originDocument(), ResourceRequest(KURL(ParsedURLString, url()), referrer(), ReloadIgnoringCacheData), substituteData); |
| + request.setLockBackForwardList(true); |
| + request.setClientRedirect(ClientRedirect); |
| + frame->loader().load(request); |
| + } |
| +}; |
| + |
| class ScheduledHistoryNavigation FINAL : public ScheduledNavigation { |
| public: |
| explicit ScheduledHistoryNavigation(int historySteps) |
| @@ -330,7 +349,8 @@ void NavigationScheduler::scheduleLocationChange(Document* originDocument, const |
| void NavigationScheduler::schedulePageBlock(Document* originDocument, const Referrer& referrer) |
| { |
| ASSERT(m_frame->page()); |
| - schedule(adoptPtr(new ScheduledLocationChange(originDocument, SecurityOrigin::urlWithUniqueSecurityOrigin(), referrer, false))); |
| + const KURL& url = m_frame->document()->url(); |
|
Nate Chapin
2014/07/25 20:33:38
Inline this?
|
| + schedule(adoptPtr(new ScheduledPageBlock(originDocument, url, referrer))); |
| } |
| void NavigationScheduler::scheduleFormSubmission(PassRefPtrWillBeRawPtr<FormSubmission> submission) |