1 /* This file is part of the KDE project
3 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
4 * 1999-2001 Lars Knoll <knoll@kde.org>
5 * 1999-2001 Antti Koivisto <koivisto@kde.org>
6 * 2000-2001 Simon Hausmann <hausmann@kde.org>
7 * 2000-2001 Dirk Mueller <mueller@kde.org>
8 * 2000 Stefan Schimanski <1Stein@gmx.de>
9 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
11 * This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU Library General Public
13 * License as published by the Free Software Foundation; either
14 * version 2 of the License, or (at your option) any later version.
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * Library General Public License for more details.
21 * You should have received a copy of the GNU Library General Public License
22 * along with this library; see the file COPYING.LIB. If not, write to
23 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
24 * Boston, MA 02111-1307, USA.
27 #ifndef FramePrivate_h
28 #define FramePrivate_h
30 #include "CommandByName.h"
33 #include "FrameTree.h"
35 #include "SelectionController.h"
36 #include "StringHash.h"
41 class TextResourceDecoder;
42 class UserStyleSheetLoader;
46 FramePrivate(Page*, Frame* parent, Frame* thisFrame, Element* ownerElement, PassRefPtr<EditorClient>);
51 RefPtr<DOMWindow> m_domWindow;
53 Element* m_ownerElement;
54 RefPtr<FrameView> m_view;
55 RefPtr<Document> m_doc;
58 bool m_bJScriptEnabled : 1;
59 bool m_bJavaEnabled : 1;
60 bool m_bPluginsEnabled : 1;
64 String m_kjsStatusBarText;
65 String m_kjsDefaultStatusBarText;
70 RefPtr<Node> m_mousePressNode; // node under the mouse when the mouse was pressed (set in the mouse handler)
72 TextGranularity m_selectionGranularity;
73 bool m_beganSelectingText;
75 SelectionController m_selectionController;
77 Timer<Frame> m_caretBlinkTimer;
79 CommandByName m_command;
81 bool m_caretVisible : 1;
82 bool m_caretPaint : 1;
85 int m_xPosForVerticalArrowNavigation;
86 RefPtr<CSSMutableStyleDeclaration> m_typingStyle;
88 IntPoint m_dragStartPos;
90 Timer<Frame> m_lifeSupportTimer;
92 FrameLoader* m_loader;
93 UserStyleSheetLoader* m_userStyleSheetLoader;
95 Timer<Frame> m_autoscrollTimer;
96 RenderObject* m_autoscrollRenderer;
97 bool m_mouseDownMayStartAutoscroll;
98 bool m_mouseDownMayStartDrag;
100 RefPtr<Node> m_elementToDraw;
101 PaintRestriction m_paintRestriction;
103 bool m_markedTextUsesUnderlines;
104 Vector<MarkedTextUnderline> m_markedTextUnderlines;
105 bool m_highlightTextMatches;
106 bool m_windowHasFocus;
108 bool m_inViewSourceMode;
112 bool m_prohibitsScrolling;