2 * Copyright (C) 2007 Holger Hans Peter Freyther
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
14 * You should have received a copy of the GNU Library General Public License
15 * along with this library; see the file COPYING.LIB. If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
20 #ifndef ChromeClientGtk_h
21 #define ChromeClientGtk_h
23 #include "ChromeClient.h"
26 typedef struct _WebKitWebView WebKitWebView;
30 class ChromeClient : public WebCore::ChromeClient {
32 ChromeClient(WebKitWebView*);
33 WebKitWebView* webView() const { return m_webView; }
35 virtual void chromeDestroyed();
37 virtual void setWindowRect(const WebCore::FloatRect&);
38 virtual WebCore::FloatRect windowRect();
40 virtual WebCore::FloatRect pageRect();
42 virtual float scaleFactor();
45 virtual void unfocus();
47 virtual bool canTakeFocus(WebCore::FocusDirection);
48 virtual void takeFocus(WebCore::FocusDirection);
50 virtual void focusedNodeChanged(WebCore::Node*);
52 virtual WebCore::Page* createWindow(WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&);
55 virtual bool canRunModal();
56 virtual void runModal();
58 virtual void setToolbarsVisible(bool);
59 virtual bool toolbarsVisible();
61 virtual void setStatusbarVisible(bool);
62 virtual bool statusbarVisible();
64 virtual void setScrollbarsVisible(bool);
65 virtual bool scrollbarsVisible();
67 virtual void setMenubarVisible(bool);
68 virtual bool menubarVisible();
70 virtual void setResizable(bool);
72 virtual void addMessageToConsole(WebCore::MessageSource source, WebCore::MessageType type,
73 WebCore::MessageLevel level, const WebCore::String& message,
74 unsigned int lineNumber, const WebCore::String& sourceID);
76 virtual bool canRunBeforeUnloadConfirmPanel();
77 virtual bool runBeforeUnloadConfirmPanel(const WebCore::String& message, WebCore::Frame* frame);
79 virtual void closeWindowSoon();
81 virtual void runJavaScriptAlert(WebCore::Frame*, const WebCore::String&);
82 virtual bool runJavaScriptConfirm(WebCore::Frame*, const WebCore::String&);
83 virtual bool runJavaScriptPrompt(WebCore::Frame*, const WebCore::String& message, const WebCore::String& defaultValue, WebCore::String& result);
84 virtual void setStatusbarText(const WebCore::String&);
85 virtual bool shouldInterruptJavaScript();
86 virtual bool tabsToLinks() const;
88 virtual WebCore::IntRect windowResizerRect() const;
90 virtual void repaint(const WebCore::IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false);
91 virtual void scroll(const WebCore::IntSize& scrollDelta, const WebCore::IntRect& rectToScroll, const WebCore::IntRect& clipRect);
92 virtual WebCore::IntPoint screenToWindow(const WebCore::IntPoint&) const;
93 virtual WebCore::IntRect windowToScreen(const WebCore::IntRect&) const;
94 virtual PlatformPageClient platformPageClient() const;
95 virtual void contentsSizeChanged(WebCore::Frame*, const WebCore::IntSize&) const;
97 virtual void scrollbarsModeDidChange() const;
98 virtual void mouseDidMoveOverElement(const WebCore::HitTestResult&, unsigned modifierFlags);
100 virtual void setToolTip(const WebCore::String&, WebCore::TextDirection);
102 virtual void print(WebCore::Frame*);
104 virtual void exceededDatabaseQuota(WebCore::Frame*, const WebCore::String&);
106 #if ENABLE(OFFLINE_WEB_APPLICATIONS)
107 virtual void reachedMaxAppCacheSize(int64_t spaceNeeded);
109 virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>);
111 virtual void formStateDidChange(const WebCore::Node*) { }
113 virtual PassOwnPtr<WebCore::HTMLParserQuirks> createHTMLParserQuirks() { return 0; }
115 virtual bool setCursor(WebCore::PlatformCursorHandle);
117 virtual void scrollRectIntoView(const WebCore::IntRect&, const WebCore::ScrollView*) const {}
118 virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*);
121 WebKitWebView* m_webView;
122 WebCore::KURL m_hoveredLinkURL;
126 #endif // ChromeClient_h