2 * Copyright (C) 2007 Kevin Ollivier <kevino@theolliviers.com>
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
15 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
16 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
19 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
23 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 #ifndef ChromeClientWx_H
29 #define ChromeClientWx_H
31 #include "ChromeClient.h"
32 #include "FocusDirection.h"
38 class ChromeClientWx : public ChromeClient {
40 ChromeClientWx(wxWebView*);
41 virtual ~ChromeClientWx();
42 virtual void chromeDestroyed();
44 virtual void setWindowRect(const FloatRect&);
45 virtual FloatRect windowRect();
47 virtual FloatRect pageRect();
49 virtual float scaleFactor();
52 virtual void unfocus();
54 virtual bool canTakeFocus(FocusDirection);
55 virtual void takeFocus(FocusDirection);
57 virtual Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&);
58 virtual Page* createModalDialog(Frame*, const FrameLoadRequest&);
61 virtual bool canRunModal();
62 virtual void runModal();
64 virtual void setToolbarsVisible(bool);
65 virtual bool toolbarsVisible();
67 virtual void setStatusbarVisible(bool);
68 virtual bool statusbarVisible();
70 virtual void setScrollbarsVisible(bool);
71 virtual bool scrollbarsVisible();
73 virtual void setMenubarVisible(bool);
74 virtual bool menubarVisible();
76 virtual void setResizable(bool);
78 virtual void addMessageToConsole(const String& message,
79 unsigned int lineNumber,
80 const String& sourceID);
82 virtual bool canRunBeforeUnloadConfirmPanel();
83 virtual bool runBeforeUnloadConfirmPanel(const String& message,
86 virtual void closeWindowSoon();
88 virtual void runJavaScriptAlert(Frame*, const String&);
89 virtual bool runJavaScriptConfirm(Frame*, const String&);
90 virtual bool runJavaScriptPrompt(Frame*, const String& message, const String& defaultValue, String& result);
91 virtual void setStatusbarText(const String&);
92 virtual bool shouldInterruptJavaScript();
94 virtual bool tabsToLinks() const;
96 virtual IntRect windowResizerRect() const;
97 virtual void addToDirtyRegion(const IntRect&);
98 virtual void scrollBackingStore(int dx, int dy, const IntRect& scrollViewRect, const IntRect& clipRect);
99 virtual void updateBackingStore();
101 virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags);
103 virtual void setToolTip(const String&);
105 virtual void print(Frame*);
107 virtual unsigned long long requestQuotaIncreaseForNewDatabase(Frame*, SecurityOrigin*, const String&, unsigned long long);
108 virtual unsigned long long requestQuotaIncreaseForDatabaseOperation(Frame*, SecurityOrigin*, const String&, unsigned long long);
111 wxWebView* m_webView;
115 #endif // ChromeClientWx_H