c9e5ee023bc97ef67ad36006022e70b6aa06818e
[WebKit-https.git] / WebKitQt / WebCoreSupport / ChromeClientQt.cpp
1 /*
2  * Copyright (C) 2006 Zack Rusin <zack@kde.org>
3  * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
4  *
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
17  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
20  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
24  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  */
28 #include "config.h"
29 #include "ChromeClientQt.h"
30
31 #include "Frame.h"
32 #include "FrameView.h"
33 #include "FrameLoadRequest.h"
34
35 #include "qwebpage.h"
36
37 #define notImplemented() qDebug("FIXME: UNIMPLEMENTED: %s:%d (%s)", __FILE__, __LINE__, __FUNCTION__)
38
39 namespace WebCore
40 {
41
42     
43 ChromeClientQt::ChromeClientQt(QWebPage* webPage)
44     : m_webPage(webPage)
45 {
46     
47 }
48
49
50 ChromeClientQt::~ChromeClientQt()
51 {
52     
53 }
54
55 void ChromeClientQt::setWindowRect(const FloatRect& rect)
56 {
57     if (!m_webPage)
58         return;
59 //     m_webPage->emit setWindowRect(QRect(qRound(r.x()), qRound(r.y()),
60 //                                         qRound(r.width()), qRound(r.height())));
61 }
62
63
64 FloatRect ChromeClientQt::windowRect()
65 {
66     if (!m_webPage)
67         return FloatRect();
68
69     return IntRect(m_webPage->topLevelWidget()->geometry());
70 }
71
72
73 FloatRect ChromeClientQt::pageRect()
74 {
75     if (!m_webPage)
76         return FloatRect();
77     return FloatRect(QRectF(m_webPage->rect()));
78 }
79
80
81 float ChromeClientQt::scaleFactor()
82 {
83     notImplemented();
84     return 1;
85 }
86
87
88 void ChromeClientQt::focus()
89 {
90     if (!m_webPage)
91         return;
92     m_webPage->setFocus();
93 }
94
95
96 void ChromeClientQt::unfocus()
97 {
98     if (!m_webPage)
99         return;
100     m_webPage->clearFocus();
101 }
102
103 bool ChromeClientQt::canTakeFocus(FocusDirection)
104 {
105     if (!m_webPage)
106         return false;
107     return m_webPage->focusPolicy() != Qt::NoFocus;
108 }
109
110 void ChromeClientQt::takeFocus(FocusDirection)
111 {
112     if (!m_webPage)
113         return;
114     m_webPage->clearFocus();
115 }
116
117
118 Page* ChromeClientQt::createWindow(const FrameLoadRequest& request)
119 {
120     //QWebPage *newPage = m_webPage->createWindow(...);
121     notImplemented();
122     return 0;
123 }
124
125
126 Page* ChromeClientQt::createModalDialog(const FrameLoadRequest&)
127 {
128     notImplemented();
129     return 0;
130 }
131
132
133 void ChromeClientQt::show()
134 {
135     if (!m_webPage)
136         return;
137     m_webPage->topLevelWidget()->show();
138 }
139
140
141 bool ChromeClientQt::canRunModal()
142 {
143     notImplemented();
144     return false;
145 }
146
147
148 void ChromeClientQt::runModal()
149 {
150     notImplemented();
151 }
152
153
154 void ChromeClientQt::setToolbarsVisible(bool)
155 {
156     notImplemented();
157 }
158
159
160 bool ChromeClientQt::toolbarsVisible()
161 {
162     notImplemented();
163     return false;
164 }
165
166
167 void ChromeClientQt::setStatusbarVisible(bool)
168 {
169     notImplemented();
170 }
171
172
173 bool ChromeClientQt::statusbarVisible()
174 {
175     notImplemented();
176     return false;
177 }
178
179
180 void ChromeClientQt::setScrollbarsVisible(bool)
181 {
182     notImplemented();
183 }
184
185
186 bool ChromeClientQt::scrollbarsVisible()
187 {
188     notImplemented();
189     return true;
190 }
191
192
193 void ChromeClientQt::setMenubarVisible(bool)
194 {
195     notImplemented();
196 }
197
198 bool ChromeClientQt::menubarVisible()
199 {
200     notImplemented();
201     return false;
202 }
203
204 void ChromeClientQt::setResizable(bool)
205 {
206     notImplemented();
207 }
208
209 void ChromeClientQt::addMessageToConsole(const String& message, unsigned int lineNumber,
210                                          const String& sourceID)
211 {
212     QString x = message;
213     QString y = sourceID;
214     m_webPage->consoleMessage(x, lineNumber, y);
215 }
216
217 void ChromeClientQt::chromeDestroyed()
218 {
219     notImplemented();
220 }
221
222 bool ChromeClientQt::canRunBeforeUnloadConfirmPanel()
223 {
224     notImplemented();
225 }
226
227 bool ChromeClientQt::runBeforeUnloadConfirmPanel(const String& message, Frame* frame)
228 {
229     notImplemented();
230 }
231
232 void ChromeClientQt::closeWindowSoon()
233 {
234     notImplemented();
235 }
236
237 void ChromeClientQt::runJavaScriptAlert(Frame*, const String& msg)
238 {
239     QString x = msg;
240     m_webPage->runJavaScriptAlert(0, x);
241 }
242
243 bool ChromeClientQt::runJavaScriptConfirm(Frame*, const String&)
244 {
245     notImplemented();    
246 }
247
248 bool ChromeClientQt::runJavaScriptPrompt(Frame*, const String& message, const String& defaultValue, String& result)
249 {
250     notImplemented();
251 }
252
253 void ChromeClientQt::setStatusbarText(const String&)
254 {
255     notImplemented();
256 }
257
258 }
259
260