diff options
Diffstat (limited to 'WebCore/page/Page.h')
-rw-r--r-- | WebCore/page/Page.h | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/WebCore/page/Page.h b/WebCore/page/Page.h index 40d96a7..1417c87 100644 --- a/WebCore/page/Page.h +++ b/WebCore/page/Page.h @@ -21,20 +21,17 @@ #ifndef Page_h #define Page_h -#include "BackForwardList.h" -#include "Chrome.h" -#include "ContextMenuController.h" #include "FrameLoaderTypes.h" -#include "LinkHash.h" #include "PlatformString.h" +#include <wtf/Forward.h> #include <wtf/HashSet.h> -#include <wtf/OwnPtr.h> +#include <wtf/Noncopyable.h> #if PLATFORM(MAC) #include "SchedulePair.h" #endif -#if PLATFORM(WIN) || (PLATFORM(WX) && PLATFORM(WIN_OS)) || (PLATFORM(QT) && defined(Q_WS_WIN)) +#if PLATFORM(WIN) || (PLATFORM(WX) && OS(WINDOWS)) || (PLATFORM(QT) && defined(Q_WS_WIN)) typedef struct HINSTANCE__* HINSTANCE; #endif @@ -44,6 +41,7 @@ namespace JSC { namespace WebCore { + class BackForwardList; class Chrome; class ChromeClient; class ContextMenuClient; @@ -57,6 +55,7 @@ namespace WebCore { class GeolocationController; class GeolocationControllerClient; class HaltablePlugin; + class HistoryItem; class InspectorClient; class InspectorController; class InspectorTimelineAgent; @@ -81,6 +80,8 @@ namespace WebCore { class NotificationPresenter; #endif + typedef uint64_t LinkHash; + enum FindDirection { FindDirectionForward, FindDirectionBackward }; class Page : public Noncopyable { @@ -131,8 +132,8 @@ namespace WebCore { PageGroup* groupPtr() { return m_group; } // can return 0 void incrementFrameCount() { ++m_frameCount; } - void decrementFrameCount() { --m_frameCount; } - int frameCount() const { return m_frameCount; } + void decrementFrameCount() { ASSERT(m_frameCount); --m_frameCount; } + int frameCount() const { checkFrameCountConsistency(); return m_frameCount; } Chrome* chrome() const { return m_chrome.get(); } SelectionController* dragCaretController() const { return m_dragCaretController.get(); } @@ -203,7 +204,7 @@ namespace WebCore { void setDebugger(JSC::Debugger*); JSC::Debugger* debugger() const { return m_debugger; } -#if PLATFORM(WIN) || (PLATFORM(WX) && PLATFORM(WIN_OS)) || (PLATFORM(QT) && defined(Q_WS_WIN)) +#if PLATFORM(WIN) || (PLATFORM(WX) && OS(WINDOWS)) || (PLATFORM(QT) && defined(Q_WS_WIN)) // The global DLL or application instance used for all windows. static void setInstanceHandle(HINSTANCE instanceHandle) { s_instanceHandle = instanceHandle; } static HINSTANCE instanceHandle() { return s_instanceHandle; } @@ -243,6 +244,12 @@ namespace WebCore { private: void initGroup(); +#if ASSERT_DISABLED + void checkFrameCountConsistency() const { } +#else + void checkFrameCountConsistency() const; +#endif + OwnPtr<Chrome> m_chrome; OwnPtr<SelectionController> m_dragCaretController; #if ENABLE(DRAG_SUPPORT) |