| Index: Source/core/loader/NavigationScheduler.cpp
|
| diff --git a/Source/core/loader/NavigationScheduler.cpp b/Source/core/loader/NavigationScheduler.cpp
|
| index ede1efdeac3bf0283535af9a9279cbce220204b3..31930fa631041094236e819a837eb26d1dd57c09 100644
|
| --- a/Source/core/loader/NavigationScheduler.cpp
|
| +++ b/Source/core/loader/NavigationScheduler.cpp
|
| @@ -88,6 +88,7 @@ public:
|
| Document* originDocument() const { return m_originDocument.get(); }
|
| bool replacesCurrentItem() const { return m_replacesCurrentItem; }
|
| bool isLocationChange() const { return m_isLocationChange; }
|
| + virtual bool isRedirect() const { return false; }
|
| PassOwnPtr<UserGestureIndicator> createUserGestureIndicator()
|
| {
|
| if (m_wasUserGesture && m_userGestureToken)
|
| @@ -158,6 +159,9 @@ public:
|
| request.setClientRedirect(ClientRedirect);
|
| frame->loader().load(request);
|
| }
|
| +
|
| + bool isRedirect() const override { return true; }
|
| +
|
| private:
|
| ScheduledRedirect(double delay, Document* originDocument, const String& url, bool replacesCurrentItem)
|
| : ScheduledURLNavigation(delay, originDocument, url, replacesCurrentItem, false)
|
| @@ -279,6 +283,11 @@ bool NavigationScheduler::locationChangePending()
|
| return m_redirect && m_redirect->isLocationChange();
|
| }
|
|
|
| +bool NavigationScheduler::isRedirect() const
|
| +{
|
| + return m_redirect && m_redirect->isRedirect();
|
| +}
|
| +
|
| inline bool NavigationScheduler::shouldScheduleReload() const
|
| {
|
| return m_frame->page() && isFrameNavigationAllowed() && NavigationDisablerForBeforeUnload::isNavigationAllowed();
|
|
|