void HistoryController::pushState(PassRefPtr<SerializedScriptValue> stateObject, const String& title, const String& urlString) { if (!m_currentItem) return; Page* page = m_frame->page(); ASSERT(page); // Get a HistoryItem tree for the current frame tree. RefPtr<HistoryItem> item = createItemTree(m_frame, false); ASSERT(item->isTargetItem()); // Override data in the target item to reflect the pushState() arguments. item->setTitle(title); item->setStateObject(stateObject); item->setURLString(urlString); page->backForwardList()->pushStateItem(item.release()); }
void HistoryController::pushState(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 = createItemTree(m_frame, false); ASSERT(item->isTargetItem()); // Override data in the target item to reflect the pushState() arguments. item->setTitle(title); item->setStateObject(stateObject); item->setURLString(urlString); // Since the document isn't changed as a result of a pushState call, we // should preserve the DocumentSequenceNumber of the previous item. item->setDocumentSequenceNumber(m_previousItem->documentSequenceNumber()); page->backForwardList()->pushStateItem(item.release()); }
/* virtual */ void XFE_BookmarkMenu::reallyUpdateRoot() { WidgetList children; Cardinal numChildren; BM_Entry * root = getMenuFolder(); // Ignore the root header (ie, "Joe's Bookmarks") if (root && BM_IsHeader(root)) { root = BM_GetChildren(root); } XfeChildrenGet(_subMenu,&children,&numChildren); // XtUnrealizeWidget(m_subMenu); // Get rid of the previous items we created if (children && numChildren) { children += _firstSlot; numChildren -= _firstSlot; if (children && numChildren) { XtUnmanageChildren(children,numChildren); fe_DestroyWidgetTree(children,numChildren); } } // Create the entries if any if (root) { createItemTree(_subMenu,root); } }