Remove unused ChromeClient::formStateDidChange().
[WebKit-https.git] / Source / WebKit / gtk / WebCoreSupport / ChromeClientGtk.h
1 /*
2  * Copyright (C) 2007 Holger Hans Peter Freyther
3  * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public License
16  * along with this library; see the file COPYING.LIB.  If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  * Boston, MA 02110-1301, USA.
19  */
20
21 #ifndef ChromeClientGtk_h
22 #define ChromeClientGtk_h
23
24 #include "ChromeClient.h"
25 #include "GtkAdjustmentWatcher.h"
26 #include "IntRect.h"
27 #include "IntSize.h"
28 #include "URL.h"
29 #include "PopupMenu.h"
30 #include "Region.h"
31 #include "SearchPopupMenu.h"
32 #include "Timer.h"
33
34 using namespace WebCore;
35 typedef struct _WebKitWebView WebKitWebView;
36
37 namespace WebCore {
38 class PopupMenuClient;
39 }
40
41 namespace WebKit {
42
43     class ChromeClient : public WebCore::ChromeClient {
44     public:
45         ChromeClient(WebKitWebView*);
46         GtkAdjustmentWatcher* adjustmentWatcher() { return &m_adjustmentWatcher; }
47
48         virtual void chromeDestroyed();
49
50         virtual void setWindowRect(const FloatRect&);
51         virtual FloatRect windowRect();
52
53         virtual FloatRect pageRect();
54
55         virtual void focus();
56         virtual void unfocus();
57
58         virtual bool canTakeFocus(FocusDirection);
59         virtual void takeFocus(FocusDirection);
60
61         virtual void focusedElementChanged(Element*);
62         virtual void focusedFrameChanged(Frame*);
63
64         virtual Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&, const NavigationAction&);
65         virtual void show();
66
67         virtual bool canRunModal();
68         virtual void runModal();
69
70         virtual void setToolbarsVisible(bool);
71         virtual bool toolbarsVisible();
72
73         virtual void setStatusbarVisible(bool);
74         virtual bool statusbarVisible();
75
76         virtual void setScrollbarsVisible(bool);
77         virtual bool scrollbarsVisible();
78
79         virtual void setMenubarVisible(bool);
80         virtual bool menubarVisible();
81
82         virtual void setResizable(bool);
83
84         virtual void addMessageToConsole(MessageSource, MessageLevel, const WTF::String& message, unsigned lineNumber, unsigned columnNumber, const WTF::String& sourceID);
85
86         virtual bool canRunBeforeUnloadConfirmPanel();
87         virtual bool runBeforeUnloadConfirmPanel(const WTF::String& message, Frame* frame);
88
89         virtual void closeWindowSoon();
90
91         virtual void runJavaScriptAlert(Frame*, const WTF::String&);
92         virtual bool runJavaScriptConfirm(Frame*, const WTF::String&);
93         virtual bool runJavaScriptPrompt(Frame*, const WTF::String& message, const WTF::String& defaultValue, WTF::String& result);
94         virtual void setStatusbarText(const WTF::String&);
95         virtual bool shouldInterruptJavaScript();
96         virtual KeyboardUIMode keyboardUIMode();
97
98         virtual IntRect windowResizerRect() const;
99         virtual void invalidateRootView(const IntRect&, bool);
100         virtual void invalidateContentsAndRootView(const IntRect&, bool);
101         virtual void invalidateContentsForSlowScroll(const IntRect&, bool);
102         virtual void scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect);
103
104         virtual IntPoint screenToRootView(const IntPoint&) const;
105         virtual IntRect rootViewToScreen(const IntRect&) const;
106         virtual PlatformPageClient platformPageClient() const;
107         virtual void contentsSizeChanged(Frame*, const IntSize&) const;
108
109         virtual void scrollbarsModeDidChange() const;
110         virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags);
111
112         virtual void setToolTip(const WTF::String&, TextDirection);
113
114         virtual void dispatchViewportPropertiesDidChange(const ViewportArguments&) const;
115
116         virtual void print(Frame*);
117 #if ENABLE(SQL_DATABASE)
118         virtual void exceededDatabaseQuota(Frame*, const WTF::String&, DatabaseDetails);
119 #endif
120         virtual void reachedMaxAppCacheSize(int64_t spaceNeeded);
121         virtual void reachedApplicationCacheOriginQuota(SecurityOrigin*, int64_t totalSpaceNeeded);
122         virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>);
123         virtual void loadIconForFiles(const Vector<WTF::String>&, FileIconLoader*);
124
125         virtual void setCursor(const Cursor&);
126         virtual void setCursorHiddenUntilMouseMoves(bool);
127
128         virtual void scrollRectIntoView(const IntRect&) const { }
129
130         virtual bool selectItemWritingDirectionIsNatural();
131         virtual bool selectItemAlignmentFollowsMenuWritingDirection();
132         virtual bool hasOpenedPopup() const;
133         virtual PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const;
134         virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const;
135
136 #if ENABLE(FULLSCREEN_API)
137         virtual bool supportsFullScreenForElement(const Element*, bool withKeyboard);
138         virtual void enterFullScreenForElement(Element*);
139         virtual void exitFullScreenForElement(Element*);
140         void cancelFullScreen();
141 #endif
142
143         virtual void numWheelEventHandlersChanged(unsigned) { }
144
145         virtual void attachRootGraphicsLayer(Frame*, GraphicsLayer*);
146         virtual void setNeedsOneShotDrawingSynchronization();
147         virtual void scheduleCompositingLayerFlush();
148         virtual CompositingTriggerFlags allowedCompositingTriggers() const;
149
150         void performAllPendingScrolls();
151         void paint(Timer<ChromeClient>*);
152         void forcePaint();
153         void widgetSizeChanged(const IntSize& oldWidgetSize, IntSize newSize);
154
155         WebKitWebView* webView() { return m_webView; }
156
157     private:
158         WebKitWebView* m_webView;
159         GtkAdjustmentWatcher m_adjustmentWatcher;
160         URL m_hoveredLinkURL;
161         unsigned int m_closeSoonTimer;
162
163         Timer <ChromeClient> m_displayTimer;
164         bool m_forcePaint;
165         Region m_dirtyRegion;
166         Vector<IntRect> m_rectsToScroll;
167         Vector<IntSize> m_scrollOffsets;
168         double m_lastDisplayTime;
169         unsigned int m_repaintSoonSourceId;
170
171 #if ENABLE(FULLSCREEN_API)
172         RefPtr<Element> m_fullScreenElement;
173 #endif
174     };
175 }
176
177 #endif // ChromeClient_h