Ref<HistoryItem> HistoryController::createItem() { Ref<HistoryItem> item = HistoryItem::create(); initializeItem(item); // Set the item for which we will save document state setCurrentItem(item.ptr()); return item; }
PassRefPtr<HistoryItem> HistoryController::createItem() { RefPtr<HistoryItem> item = HistoryItem::create(); initializeItem(item.get()); // Set the item for which we will save document state setCurrentItem(item.get()); return item.release(); }
PassRefPtr<HistoryItem> HistoryController::createItem() { RefPtr<HistoryItem> item = HistoryItem::create(); initializeItem(item.get()); // Set the item for which we will save document state m_frameLoadComplete = false; m_previousItem = m_currentItem; m_currentItem = item; return item.release(); }
void HistoryController::addState(PassRefPtr<SerializedScriptValue> stateObject, const String& title, const String& urlString) { Page* page = m_frame->page(); ASSERT(page); // Get a HistoryItem tree for the current frame tree. RefPtr<HistoryItem> item = HistoryItem::create(); initializeItem(item.get()); item->setTitle(title); item->setStateObject(stateObject); item->setURLString(urlString); page->backForward()->addItem(item.release()); addVisitedLink(page, KURL(ParsedURLString, urlString)); m_frame->loader()->client()->updateGlobalHistory(); }
void HistoryController::updateCurrentItem() { if (!m_currentItem) return; DocumentLoader* documentLoader = m_frame->loader()->documentLoader(); if (!documentLoader->unreachableURL().isEmpty()) return; if (m_currentItem->url() != documentLoader->url()) { // We ended up on a completely different URL this time, so the HistoryItem // needs to be re-initialized. Preserve the isTargetItem flag as it is a // property of how this HistoryItem was originally created and is not // dependent on the document. bool isTargetItem = m_currentItem->isTargetItem(); m_currentItem->reset(); initializeItem(m_currentItem.get()); m_currentItem->setIsTargetItem(isTargetItem); } else { // Even if the final URL didn't change, the form data may have changed. m_currentItem->setFormInfoFromRequest(documentLoader->request()); } }