⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webhistory.h

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 H
字号:
/* * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  */#ifndef WebHistory_H#define WebHistory_H#include "WebKit.h"#include "COMPtr.h"#include <CoreFoundation/CoreFoundation.h>#include <wtf/RetainPtr.h>namespace WebCore {    class KURL;    class PageGroup;    class String;}//-----------------------------------------------------------------------------class WebPreferences;class WebHistory : public IWebHistory, public IWebHistoryPrivate {public:    static WebHistory* createInstance();private:    WebHistory();    ~WebHistory();public:    // IUnknown    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);    virtual ULONG STDMETHODCALLTYPE AddRef(void);    virtual ULONG STDMETHODCALLTYPE Release(void);    // IWebHistory    virtual HRESULT STDMETHODCALLTYPE optionalSharedHistory(         /* [retval][out] */ IWebHistory** history);        virtual HRESULT STDMETHODCALLTYPE setOptionalSharedHistory(         /* [in] */ IWebHistory* history);        virtual HRESULT STDMETHODCALLTYPE loadFromURL(         /* [in] */ BSTR url,        /* [out] */ IWebError** error,        /* [retval][out] */ BOOL* succeeded);        virtual HRESULT STDMETHODCALLTYPE saveToURL(         /* [in] */ BSTR url,        /* [out] */ IWebError** error,        /* [retval][out] */ BOOL* succeeded);        virtual HRESULT STDMETHODCALLTYPE addItems(         /* [in] */ int itemCount,        /* [in] */ IWebHistoryItem** items);        virtual HRESULT STDMETHODCALLTYPE removeItems(         /* [in] */ int itemCount,        /* [in] */ IWebHistoryItem** items);        virtual HRESULT STDMETHODCALLTYPE removeAllItems( void);        virtual HRESULT STDMETHODCALLTYPE orderedLastVisitedDays(         /* [out][in] */ int* count,        /* [in] */ DATE* calendarDates);        virtual HRESULT STDMETHODCALLTYPE orderedItemsLastVisitedOnDay(         /* [out][in] */ int* count,        /* [in] */ IWebHistoryItem** items,        /* [in] */ DATE calendarDate);    virtual HRESULT STDMETHODCALLTYPE itemForURL(         /* [in] */ BSTR url,        /* [retval][out] */ IWebHistoryItem** item);        virtual HRESULT STDMETHODCALLTYPE setHistoryItemLimit(         /* [in] */ int limit);        virtual HRESULT STDMETHODCALLTYPE historyItemLimit(         /* [retval][out] */ int* limit);        virtual HRESULT STDMETHODCALLTYPE setHistoryAgeInDaysLimit(         /* [in] */ int limit);        virtual HRESULT STDMETHODCALLTYPE historyAgeInDaysLimit(         /* [retval][out] */ int* limit);    // IWebHistoryPrivate    virtual HRESULT STDMETHODCALLTYPE allItems(         /* [out][in] */ int* count,        /* [retval][out] */ IWebHistoryItem** items);    // WebHistory    static WebHistory* sharedHistory();    void visitedURL(const WebCore::KURL&, const WebCore::String& title, const WebCore::String& httpMethod, bool wasFailure);    void addVisitedLinksToPageGroup(WebCore::PageGroup&);    COMPtr<IWebHistoryItem> itemForURLString(const WebCore::String&) const;private:    enum NotificationType    {        kWebHistoryItemsAddedNotification = 0,        kWebHistoryItemsRemovedNotification = 1,        kWebHistoryAllItemsRemovedNotification = 2,        kWebHistoryLoadedNotification = 3,        kWebHistoryItemsDiscardedWhileLoadingNotification = 4,        kWebHistorySavedNotification = 5    };    HRESULT loadHistoryGutsFromURL(CFURLRef url, CFMutableArrayRef discardedItems, IWebError** error);    HRESULT saveHistoryGuts(CFURLRef url, IWebError** error);    HRESULT postNotification(NotificationType notifyType, IPropertyBag* userInfo = 0);    HRESULT removeItem(IWebHistoryItem* entry);    HRESULT addItem(IWebHistoryItem* entry, bool discardDuplicate, bool* added);    HRESULT removeItemForURLString(CFStringRef urlString);    HRESULT addItemToDateCaches(IWebHistoryItem* entry);    HRESULT removeItemFromDateCaches(IWebHistoryItem* entry);    HRESULT insertItem(IWebHistoryItem* entry, int dateIndex);    HRESULT ageLimitDate(CFAbsoluteTime* time);    HRESULT datesArray(CFMutableArrayRef* datesArray);    bool findIndex(int* index, CFAbsoluteTime forDay);    static CFAbsoluteTime timeToDate(CFAbsoluteTime time);    BSTR getNotificationString(NotificationType notifyType);    HRESULT itemForURLString(CFStringRef urlString, IWebHistoryItem** item) const;    ULONG m_refCount;    RetainPtr<CFMutableDictionaryRef> m_entriesByURL;    RetainPtr<CFMutableArrayRef> m_datesWithEntries;    RetainPtr<CFMutableArrayRef> m_entriesByDate;    COMPtr<WebPreferences> m_preferences;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -