bool Page::canGoBackOrForward(int distance) const { if (distance == 0) return true; if (distance > 0 && distance <= backForward()->forwardCount()) return true; if (distance < 0 && -distance <= backForward()->backCount()) return true; return false; }
Page::~Page() { m_mainFrame->setView(0); setGroupName(String()); allPages->remove(this); for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext()) frame->pageDestroyed(); if (m_scrollableAreaSet) { ScrollableAreaSet::const_iterator end = m_scrollableAreaSet->end(); for (ScrollableAreaSet::const_iterator it = m_scrollableAreaSet->begin(); it != end; ++it) (*it)->disconnectFromPage(); } m_editorClient->pageDestroyed(); InspectorInstrumentation::inspectedPageDestroyed(this); backForward()->close(); #ifndef NDEBUG pageCounter.decrement(); // Cancel keepAlive timers, to ensure we release all Frames before exiting. // It's safe to do this because we prohibit closing a Page while JavaScript // is executing. Frame::cancelAllKeepAlive(); #endif }
Page::~Page() { m_mainFrame->setView(0); setGroupName(String()); allPages->remove(this); for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext()) { frame->willDetachPage(); frame->detachFromPage(); } m_editorClient->pageDestroyed(); if (m_alternativeTextClient) m_alternativeTextClient->pageDestroyed(); #if ENABLE(INSPECTOR) m_inspectorController->inspectedPageDestroyed(); #endif if (m_scrollingCoordinator) m_scrollingCoordinator->pageDestroyed(); backForward()->close(); #ifndef NDEBUG pageCounter.decrement(); #endif }
Page::~Page() { m_mainFrame->setView(0); setGroupName(String()); allPages->remove(this); for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext()) frame->pageDestroyed(); m_editorClient->pageDestroyed(); if (m_pluginData) m_pluginData->disconnectPage(); #if ENABLE(INSPECTOR) m_inspectorController->inspectedPageDestroyed(); #endif backForward()->close(); #ifndef NDEBUG pageCounter.decrement(); // Cancel keepAlive timers, to ensure we release all Frames before exiting. // It's safe to do this because we prohibit closing a Page while JavaScript // is executing. Frame::cancelAllKeepAlive(); #endif }
bool Page::goForward() { HistoryItem* item = backForward()->forwardItem(); if (item) { goToItem(item, FrameLoadTypeForward); return true; } return false; }
bool Page::goBack() { HistoryItem* item = backForward()->backItem(); if (item) { goToItem(item, FrameLoadTypeBack); return true; } return false; }
void Page::goBackOrForward(int distance) { if (distance == 0) return; HistoryItem* item = backForward()->itemAtIndex(distance); if (!item) { if (distance > 0) { if (int forwardCount = backForward()->forwardCount()) item = backForward()->itemAtIndex(forwardCount); } else { if (int backCount = backForward()->backCount()) item = backForward()->itemAtIndex(-backCount); } } if (!item) return; goToItem(item); }
Page::~Page() { m_mainFrame->setView(0); clearPageGroup(); allPages->remove(this); for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext()) { frame->willDetachPage(); frame->detachFromPage(); } m_inspectorController->inspectedPageDestroyed(); if (m_scrollingCoordinator) m_scrollingCoordinator->pageDestroyed(); backForward()->close(); #ifndef NDEBUG pageCounter.decrement(); #endif }
Page::~Page() { m_mainFrame->setView(0); setGroupName(String()); allPages->remove(this); for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext()) frame->pageDestroyed(); if (m_scrollableAreaSet) { ScrollableAreaSet::const_iterator end = m_scrollableAreaSet->end(); for (ScrollableAreaSet::const_iterator it = m_scrollableAreaSet->begin(); it != end; ++it) (*it)->disconnectFromPage(); } m_editorClient->pageDestroyed(); #if ENABLE(INSPECTOR) m_inspectorController->inspectedPageDestroyed(); #endif #if ENABLE(MEDIA_STREAM) if (m_userMediaClient) m_userMediaClient->pageDestroyed(); #endif #if ENABLE(THREADED_SCROLLING) if (m_scrollingCoordinator) m_scrollingCoordinator->pageDestroyed(); #endif backForward()->close(); #ifndef NDEBUG pageCounter.decrement(); #endif }
int Page::getHistoryLength() { return backForward()->backCount() + 1 + backForward()->forwardCount(); }