| Index: Source/web/FrameLoaderClientImpl.cpp
|
| diff --git a/Source/web/FrameLoaderClientImpl.cpp b/Source/web/FrameLoaderClientImpl.cpp
|
| index f76882975b9aa0a6081406973539e328c9e50581..6c140aa0bd0ff00c4c91ee7bdf67d1302037428f 100644
|
| --- a/Source/web/FrameLoaderClientImpl.cpp
|
| +++ b/Source/web/FrameLoaderClientImpl.cpp
|
| @@ -540,9 +540,9 @@ bool FrameLoaderClientImpl::navigateBackForward(int offset) const
|
| return false;
|
|
|
| ASSERT(offset);
|
| - offset = std::min(offset, webview->client()->historyForwardListCount());
|
| - offset = std::max(offset, -webview->client()->historyBackListCount());
|
| - if (!offset)
|
| + if (offset > webview->client()->historyForwardListCount())
|
| + return false;
|
| + if (offset < -webview->client()->historyBackListCount())
|
| return false;
|
| webview->client()->navigateBackForwardSoon(offset);
|
| return true;
|
| @@ -866,4 +866,12 @@ void FrameLoaderClientImpl::dispatchDidChangeManifest()
|
| m_webFrame->client()->didChangeManifest(m_webFrame);
|
| }
|
|
|
| +unsigned FrameLoaderClientImpl::backForwardLength()
|
| +{
|
| + WebViewImpl* webview = m_webFrame->viewImpl();
|
| + if (!webview || !webview->client())
|
| + return 0;
|
| + return webview->client()->historyBackListCount() + 1 + webview->client()->historyForwardListCount();
|
| +}
|
| +
|
| } // namespace blink
|
|
|