コード例 #1
0
void WebBackForwardListProxy::removeItem(uint64_t itemID)
{
    IDToHistoryItemMap::iterator it = idToHistoryItemMap().find(itemID);
    if (it == idToHistoryItemMap().end())
        return;
    historyItemToIDMap().remove(it->second);
    idToHistoryItemMap().remove(it);
}
コード例 #2
0
void WebBackForwardListProxy::addItemFromUIProcess(uint64_t itemID, PassRefPtr<WebCore::HistoryItem> prpItem)
{
    RefPtr<HistoryItem> item = prpItem;
    
    // This item/itemID pair should not already exist in our maps.
    ASSERT(!historyItemToIDMap().contains(item.get()));
    ASSERT(!idToHistoryItemMap().contains(itemID));
        
    historyItemToIDMap().set(item, itemID);
    idToHistoryItemMap().set(itemID, item);
}
コード例 #3
0
void WebBackForwardListProxy::addItem(PassRefPtr<HistoryItem> prpItem)
{
    RefPtr<HistoryItem> item = prpItem;

    ASSERT(!historyItemToIDMap().contains(item));

    if (!m_page)
        return;

    uint64_t itemID = generateHistoryItemID();

    ASSERT(!idToHistoryItemMap().contains(itemID));

    historyItemToIDMap().set(item, itemID);
    idToHistoryItemMap().set(itemID, item);

    updateBackForwardItem(itemID, item.get());
    m_page->send(Messages::WebPageProxy::BackForwardAddItem(itemID));
}
コード例 #4
0
HistoryItem* WebBackForwardListProxy::itemAtIndex(int itemIndex)
{
    if (!m_page)
        return 0;

    uint64_t itemID = 0;
    if (!WebProcess::shared().connection()->sendSync(Messages::WebPageProxy::BackForwardItemAtIndex(itemIndex), Messages::WebPageProxy::BackForwardItemAtIndex::Reply(itemID), m_page->pageID()))
        return 0;

    if (!itemID)
        return 0;

    return idToHistoryItemMap().get(itemID).get();
}
コード例 #5
0
static uint64_t getIDForHistoryItem(HistoryItem* item)
{
    uint64_t itemID = 0;

    std::pair<HistoryItemToIDMap::iterator, bool> result = historyItemToIDMap().add(item, 0);
    if (result.second) {
        itemID = generateHistoryItemID();
        result.first->second = itemID;
        idToHistoryItemMap().set(itemID, item);
    } else
        itemID = result.first->second;

    ASSERT(itemID);
    return itemID;
}
コード例 #6
0
HistoryItem* WebBackForwardListProxy::itemForID(uint64_t itemID)
{
    return idToHistoryItemMap().get(itemID).get();
}