summaryrefslogtreecommitdiffstats
path: root/WebCore/page/Page.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/page/Page.h')
-rw-r--r--WebCore/page/Page.h25
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)