static bool tryAccessHistoryURLs(Page* page, KURL& previousURL, KURL& currentURL) { if (!page) return false; Frame* frame = page->mainFrame(); if (!frame || !frame->document()) return false; BackForwardList* list = page->backForwardList(); if (!list) return false; HistoryItem* previousItem = list->backItem(); if (!previousItem) return false; HistoryItem* currentItem = list->currentItem(); if (!currentItem) return false; previousURL = urlForHistoryItem(frame, previousItem); currentURL = urlForHistoryItem(frame, currentItem); return true; }
void WMLDocument::finishedParsing() { if (Tokenizer* tokenizer = this->tokenizer()) { if (!tokenizer->wellFormed()) { Document::finishedParsing(); return; } } bool hasAccess = initialize(true); Document::finishedParsing(); if (!hasAccess) { m_activeCard = 0; WMLPageState* wmlPageState = wmlPageStateForDocument(this); if (!wmlPageState) return; Page* page = wmlPageState->page(); if (!page) return; BackForwardList* list = page->backForwardList(); if (!list) return; HistoryItem* item = list->backItem(); if (!item) return; page->goToItem(item, FrameLoadTypeBackWMLDeckNotAccessible); return; } if (m_activeCard) { m_activeCard->handleIntrinsicEventIfNeeded(); m_activeCard = 0; } }