2006-10-17 Steve Falkenburg <sfalken@apple.com>
[WebKit-https.git] / WebCore / platform / gdk / TemporaryLinkStubs.cpp
1 /*
2  * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
3  * Copyright (C) 2006 Michael Emmel mike.emmel@gmail.com 
4  * All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
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.
14  *
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. 
26  */
27
28 #include "config.h"
29
30 #include <stdio.h>
31 #include <stdlib.h>
32 #include "CString.h"
33 #include "Node.h"
34 #include "TextField.h"
35 #include "FileChooser.h"
36 #include "Font.h"
37 #include "ListBox.h"
38 #include "IntPoint.h"
39 #include "Widget.h"
40 #include "GraphicsContext.h"
41 #include "Slider.h"
42 #include "Cursor.h"
43 #include "loader.h"
44 #include "FrameView.h"
45 #include "KURL.h"
46 #include "PlatformScrollBar.h"
47 #include "ScrollBar.h"
48 #include "Path.h"
49 #include "PlatformMouseEvent.h"
50 #include "CookieJar.h"
51 #include "Screen.h"
52 #include "History.h"
53 #include "Language.h"
54 #include "LocalizedStrings.h"
55 #include "PlugInInfoStore.h"
56 #include "RenderTheme.h"
57 #include "FrameGdk.h"
58 #include "BrowserExtensionGdk.h"
59 #include "FrameLoadRequest.h"
60 #include "RenderThemeGdk.h"
61 #include "TextBoundaries.h"
62 #include "AXObjectCache.h"
63 #include "EditCommand.h"
64 #include "Icon.h"
65 #include "IconLoader.h"
66 #include "IconDatabase.h"
67 #include "CachedResource.h"
68
69 using namespace WebCore;
70
71 namespace WebCore {
72 struct PlatformDataStruct
73 {
74 };
75
76 struct PlatformResponseStruct
77 {
78 };
79 }
80
81 #define notImplemented() do { fprintf(stderr, "FIXME: UNIMPLEMENTED: %s in %s:%d\n", __FUNCTION__, __FILE__, __LINE__); } while(0)
82
83 void FrameView::updateBorder() { notImplemented(); }
84 bool FrameView::passMousePressEventToScrollbar(MouseEventWithHitTestResults&, PlatformScrollbar*) { return false; }
85 bool FrameView::passMousePressEventToSubframe(MouseEventWithHitTestResults&, Frame*) { return true; }
86 bool FrameView::passMouseReleaseEventToSubframe(MouseEventWithHitTestResults&, Frame*) { return true; }
87 bool FrameView::passMouseMoveEventToSubframe(MouseEventWithHitTestResults&, Frame*) { return true; }
88 bool FrameView::passWheelEventToSubframe(PlatformWheelEvent&, Frame*) { return true; }
89
90 void Widget::enableFlushDrawing() { notImplemented(); }
91 bool Widget::isEnabled() const { notImplemented(); return 0; }
92 Widget::FocusPolicy Widget::focusPolicy() const { notImplemented(); return NoFocus; }
93 void Widget::disableFlushDrawing() { notImplemented(); }
94 GraphicsContext* Widget::lockDrawingFocus() { notImplemented(); return 0; }
95 void Widget::unlockDrawingFocus(GraphicsContext*) { notImplemented(); }
96 void Widget::removeFromParent() { }
97
98 void TextField::selectAll() { notImplemented(); }
99 void TextField::addSearchResult() { notImplemented(); }
100 int TextField::selectionStart() const { notImplemented(); return 0; }
101 bool TextField::hasSelectedText() const { notImplemented(); return 0; }
102 String TextField::selectedText() const { notImplemented(); return String(); }
103 void TextField::setAutoSaveName(String const&) { notImplemented(); }
104 bool TextField::checksDescendantsForFocus() const { notImplemented(); return false; }
105 void TextField::setSelection(int, int) { notImplemented(); }
106 void TextField::setMaxResults(int) { notImplemented(); }
107 bool TextField::edited() const { notImplemented(); return 0; }
108
109 Slider::Slider() { notImplemented(); }
110 IntSize Slider::sizeHint() const { notImplemented(); return IntSize(); }
111 void Slider::setValue(double) { notImplemented(); }
112 void Slider::setMaxValue(double) { notImplemented(); }
113 void Slider::setMinValue(double) { notImplemented(); }
114 Slider::~Slider() { notImplemented(); }
115 void Slider::setFont(WebCore::Font const&) { notImplemented(); }
116 double Slider::value() const { notImplemented(); return 0; }
117
118 void ListBox::setSelected(int, bool) { notImplemented(); }
119 IntSize ListBox::sizeForNumberOfLines(int) const { notImplemented(); return IntSize(); }
120 bool ListBox::isSelected(int) const { notImplemented(); return 0; }
121 void ListBox::appendItem(DeprecatedString const&, ListBoxItemType, bool) { notImplemented(); }
122 void ListBox::doneAppendingItems() { notImplemented(); }
123 void ListBox::setWritingDirection(TextDirection) { notImplemented(); }
124 void ListBox::setEnabled(bool) { notImplemented(); }
125 void ListBox::clear() { notImplemented(); }
126 bool ListBox::checksDescendantsForFocus() const { notImplemented(); return 0; }
127
128 Widget::FocusPolicy Slider::focusPolicy() const { notImplemented(); return NoFocus; }
129 Widget::FocusPolicy ListBox::focusPolicy() const { notImplemented(); return NoFocus; }
130 Widget::FocusPolicy TextField::focusPolicy() const { notImplemented(); return NoFocus; }
131
132 Cursor::Cursor(Image*, const IntPoint&) { notImplemented(); }
133
134 PlatformMouseEvent::PlatformMouseEvent(const CurrentEventTag&) { notImplemented(); }
135 String WebCore::searchableIndexIntroduction() { notImplemented(); return String(); }
136
137 int WebCore::findNextSentenceFromIndex(UChar const*, int, int, bool) { notImplemented(); return 0; }
138 void WebCore::findSentenceBoundary(UChar const*, int, int, int*, int*) { notImplemented(); }
139 int WebCore::findNextWordFromIndex(UChar const*, int, int, bool) { notImplemented(); return 0; }
140
141 namespace WebCore {
142
143 Vector<char> ServeSynchronousRequest(Loader*,DocLoader*,ResourceLoader*,KURL&,DeprecatedString&) { notImplemented(); return Vector<char>(); }
144
145 }
146
147 void FrameGdk::focusWindow() { notImplemented(); }
148 void FrameGdk::unfocusWindow() { notImplemented(); }
149 bool FrameGdk::locationbarVisible() { notImplemented(); return 0; }
150 void FrameGdk::issueRedoCommand(void) { notImplemented(); }
151 KJS::Bindings::Instance* FrameGdk::getObjectInstanceForWidget(Widget *) { notImplemented(); return 0; }
152 KJS::Bindings::Instance* FrameGdk::getEmbedInstanceForWidget(Widget *) { notImplemented(); return 0; }
153 KJS::Bindings::RootObject* FrameGdk::bindingRootObject() { notImplemented(); return 0; }
154 Widget* FrameGdk::createJavaAppletWidget(const IntSize&, Element*, const HashMap<String, String>&) { notImplemented(); return 0; }
155 bool FrameGdk::canRedo() const { notImplemented(); return 0; }
156 bool FrameGdk::canUndo() const { notImplemented(); return 0; }
157 void FrameGdk::registerCommandForRedo(PassRefPtr<WebCore::EditCommand>) { notImplemented(); }
158 bool FrameGdk::runJavaScriptPrompt(String const&, String const&, String &) { notImplemented(); return 0; }
159 bool FrameGdk::shouldInterruptJavaScript() { notImplemented(); return false; }
160 void FrameGdk::print() { notImplemented(); }
161 KJS::Bindings::Instance* FrameGdk::getAppletInstanceForWidget(Widget*) { notImplemented(); return 0; }
162 bool FrameGdk::passMouseDownEventToWidget(Widget*) { notImplemented(); return 0; }
163 void FrameGdk::issueCutCommand() { notImplemented(); }
164 void FrameGdk::issueCopyCommand() { notImplemented(); }
165 void FrameGdk::openURLRequest(struct WebCore::FrameLoadRequest const&) { notImplemented(); }
166 void FrameGdk::issueUndoCommand() { notImplemented(); }
167 String FrameGdk::mimeTypeForFileName(String const&) const { notImplemented(); return String(); }
168 void FrameGdk::issuePasteCommand() { notImplemented(); }
169 void FrameGdk::scheduleClose() { notImplemented(); }
170 void FrameGdk::markMisspellings(WebCore::Selection const&) { notImplemented(); }
171 bool FrameGdk::menubarVisible() { notImplemented(); return 0; }
172 bool FrameGdk::personalbarVisible() { notImplemented(); return 0; }
173 bool FrameGdk::statusbarVisible() { notImplemented(); return 0; }
174 bool FrameGdk::toolbarVisible() { notImplemented(); return 0; }
175 void FrameGdk::issueTransposeCommand() { notImplemented(); }
176 bool FrameGdk::canPaste() const { notImplemented(); return 0; }
177 enum WebCore::ObjectContentType FrameGdk::objectContentType(KURL const&, String const&) { notImplemented(); return (ObjectContentType)0; }
178 bool FrameGdk::canGoBackOrForward(int) const { notImplemented(); return 0; }
179 void FrameGdk::issuePasteAndMatchStyleCommand() { notImplemented(); }
180 bool FrameGdk::isLoadTypeReload() { notImplemented(); return false; }
181 KURL FrameGdk::originalRequestURL() const { return KURL(); }
182 Plugin* FrameGdk::createPlugin(Element*, KURL const&, const Vector<String>&, const Vector<String>&, String const&) { notImplemented(); return 0; }
183
184 bool BrowserExtensionGdk::canRunModal() { notImplemented(); return 0; }
185 void BrowserExtensionGdk::createNewWindow(struct WebCore::FrameLoadRequest const&, struct WebCore::WindowFeatures const&, Frame*&) { notImplemented(); }
186 void BrowserExtensionGdk::createNewWindow(struct WebCore::FrameLoadRequest const&) { notImplemented(); }
187 bool BrowserExtensionGdk::canRunModalNow() { notImplemented(); return 0; }
188 void BrowserExtensionGdk::runModal() { notImplemented(); }
189 void BrowserExtensionGdk::goBackOrForward(int) { notImplemented(); }
190 KURL BrowserExtensionGdk::historyURL(int distance) { notImplemented(); return KURL(); }
191 BrowserExtensionGdk::BrowserExtensionGdk(WebCore::Frame*) { }
192 void BrowserExtensionGdk::setTypedIconURL(KURL const&, const String&) { }
193 void BrowserExtensionGdk::setIconURL(KURL const&) { }
194 int BrowserExtensionGdk::getHistoryLength() { return 0; }
195
196 int WebCore::screenDepthPerComponent(const Page*) { notImplemented(); return 0; }
197 bool WebCore::screenIsMonochrome(const Page*) { notImplemented(); return false; }
198
199 /********************************************************/
200 /* Completely empty stubs (mostly to allow DRT to run): */
201 /********************************************************/
202 static Cursor localCursor;
203 const Cursor& WebCore::moveCursor() { return localCursor; }
204
205 bool AXObjectCache::gAccessibilityEnabled = false;
206
207 bool WebCore::historyContains(DeprecatedString const&) { return false; }
208 String WebCore::submitButtonDefaultLabel() { return "Submit"; }
209 String WebCore::inputElementAltText() { return DeprecatedString(); }
210 String WebCore::resetButtonDefaultLabel() { return "Reset"; }
211 String WebCore::fileButtonChooseFileLabel() { return "Browse..."; }
212 String WebCore::fileButtonNoFileSelectedLabel() { return String(); }
213
214 String WebCore::defaultLanguage() { return "en"; }
215
216 void WebCore::findWordBoundary(UChar const* str, int len, int position, int* start, int* end) {*start = position; *end = position; }
217
218 PluginInfo*PlugInInfoStore::createPluginInfoForPluginAtIndex(unsigned) { return 0;}
219 unsigned PlugInInfoStore::pluginCount() const { return 0; }
220 bool WebCore::PlugInInfoStore::supportsMIMEType(const WebCore::String&) { return false; }
221 void WebCore::refreshPlugins(bool) { }
222
223 void WebCore::ResourceLoader::assembleResponseHeaders() const { }
224 void WebCore::ResourceLoader::retrieveCharset() const { }
225
226 void FrameGdk::restoreDocumentState() { }
227 void FrameGdk::partClearedInBegin() { }
228 void FrameGdk::createEmptyDocument() { }
229 String FrameGdk::overrideMediaType() const { return String(); }
230 void FrameGdk::handledOnloadEvents() { }
231 Range* FrameGdk::markedTextRange() const { return 0; }
232 bool FrameGdk::lastEventIsMouseUp() const { return false; }
233 void FrameGdk::addMessageToConsole(String const&, unsigned int, String const&) { }
234 bool FrameGdk::shouldChangeSelection(const Selection&, const Selection&, WebCore::EAffinity, bool) const { return true; }
235 bool FrameGdk::shouldChangeSelection(const Selection&) const { return true; }
236 void FrameGdk::respondToChangedSelection(WebCore::Selection const&, bool) { }
237 Frame* FrameGdk::createFrame(const KURL& url, const String& name, Element* ownerElement, const String& referrer) { return 0; }
238
239 void FrameGdk::saveDocumentState() { }
240 void FrameGdk::registerCommandForUndo(PassRefPtr<WebCore::EditCommand>) { }
241 void FrameGdk::clearUndoRedoOperations(void) { }
242 String FrameGdk::incomingReferrer() const { return String(); }
243 void FrameGdk::markMisspellingsInAdjacentWords(WebCore::VisiblePosition const&) { }
244 void FrameGdk::respondToChangedContents(const Selection&) { }
245
246 namespace WebCore {
247
248 bool CheckIfReloading(DocLoader*) { return false; }
249 time_t CacheObjectExpiresTime(DocLoader*, PlatformResponse) { return 0; }
250 void CheckCacheObjectStatus(DocLoader*, CachedResource*) { }
251 DeprecatedString ResponseURL(PlatformResponse) { return DeprecatedString(); }
252 bool IsResponseURLEqualToURL(PlatformResponse , const String& URL) { return false; }
253 bool ResponseIsMultipart(PlatformResponse) { return false; }
254 DeprecatedString ResponseMIMEType(PlatformResponse) { return DeprecatedString(); }
255 void CachedResource::setResponse(PlatformResponse) { notImplemented(); }
256 void CachedResource::setAllData(PlatformData) { notImplemented(); }
257
258 }
259
260 void Widget::setEnabled(bool) { }
261 void Widget::paint(GraphicsContext*, IntRect const&) { }
262 void Widget::setIsSelected(bool) { }
263 void Widget::invalidate() { }
264 void Widget::invalidateRect(const IntRect& r) { }
265
266 void ScrollView::addChild(Widget*) { }
267 void ScrollView::removeChild(Widget*) { }
268 void ScrollView::scrollPointRecursively(int x, int y) { }
269 bool ScrollView::inWindow() const { return true; }
270 void ScrollView::wheelEvent(PlatformWheelEvent&) { }
271 void ScrollView::updateScrollbars() { }
272 int ScrollView::updateScrollInfo(short type, int current, int max, int pageSize) { return 0; }
273 IntPoint ScrollView::windowToContents(const IntPoint& point) const { return point; }
274 IntPoint ScrollView::contentsToWindow(const IntPoint& point) const { return point; }
275 PlatformScrollbar* ScrollView::scrollbarUnderMouse(const PlatformMouseEvent& mouseEvent) { return 0; }
276
277 void GraphicsContext::addRoundedRectClip(const IntRect& rect, const IntSize& topLeft, const IntSize& topRight,
278         const IntSize& bottomLeft, const IntSize& bottomRight) { notImplemented(); }
279 void GraphicsContext::addInnerRoundedRectClip(const IntRect& rect, int thickness) { notImplemented(); }
280 void GraphicsContext::setShadow(IntSize const&, int, Color const&) { }
281 void GraphicsContext::clearShadow() { }
282 void GraphicsContext::beginTransparencyLayer(float) { }
283 void GraphicsContext::endTransparencyLayer() { }
284 void GraphicsContext::clearRect(const FloatRect&) { }
285 void GraphicsContext::strokeRect(const FloatRect&, float) { }
286 void GraphicsContext::setLineWidth(float) { }
287 void GraphicsContext::setLineCap(LineCap) { }
288 void GraphicsContext::setLineJoin(LineJoin) { }
289 void GraphicsContext::setMiterLimit(float) { }
290 void GraphicsContext::setAlpha(float) { }
291 void GraphicsContext::setCompositeOperation(CompositeOperator) { }
292 void GraphicsContext::clip(const Path&) { }
293 void GraphicsContext::rotate(float) { }
294 void GraphicsContext::scale(const FloatSize&) { }
295
296 Path::Path(){ }
297 Path::~Path(){ }
298 Path::Path(const Path&){ }
299 bool Path::contains(const FloatPoint&, WindRule rule) const{ return false; }
300 void Path::translate(const FloatSize&){ }
301 FloatRect Path::boundingRect() const { return FloatRect(); }
302 Path& Path::operator=(const Path&){ return * this; }
303 void Path::clear() { }
304 void Path::moveTo(const FloatPoint&) { }
305 void Path::addLineTo(const FloatPoint&) { }
306 void Path::addQuadCurveTo(const FloatPoint&, const FloatPoint&) { }
307 void Path::addBezierCurveTo(const FloatPoint&, const FloatPoint&, const FloatPoint&) { }
308 void Path::addArcTo(const FloatPoint&, const FloatPoint&, float) { }
309 void Path::closeSubpath() { }
310 void Path::addArc(const FloatPoint&, float, float, float, bool) { }
311 void Path::addRect(const FloatRect&) { }
312 void Path::addEllipse(const FloatRect&) { }
313
314 TextField::TextField(TextField::Type) { }
315 TextField::~TextField() { }
316 void TextField::setFont(WebCore::Font const&) { }
317 void TextField::setAlignment(HorizontalAlignment) { }
318 void TextField::setWritingDirection(TextDirection) { }
319 int TextField::maxLength() const { return 0; }
320 void TextField::setMaxLength(int) { }
321 String TextField::text() const { return String(); }
322 void TextField::setText(String const&) { }
323 int TextField::cursorPosition() const { return 0; }
324 void TextField::setCursorPosition(int) { }
325 void TextField::setEdited(bool) { }
326 void TextField::setReadOnly(bool) { }
327 void TextField::setPlaceholderString(String const&) { }
328 void TextField::setColors(Color const&, Color const&) { }
329 IntSize TextField::sizeForCharacterWidth(int) const { return IntSize(); }
330 int TextField::baselinePosition(int) const { return 0; }
331 void TextField::setLiveSearch(bool) { }
332
333 PlatformScrollbar::PlatformScrollbar(ScrollbarClient* client, ScrollbarOrientation orientation, ScrollbarControlSize controlSize) : Scrollbar(client, orientation, controlSize) { }
334 PlatformScrollbar::~PlatformScrollbar() { }
335 int PlatformScrollbar::width() const { return 0; }
336 int PlatformScrollbar::height() const { return 0; }
337 void PlatformScrollbar::setEnabled(bool) { }
338 void PlatformScrollbar::paint(GraphicsContext*, const IntRect& damageRect) { }
339 void PlatformScrollbar::updateThumbPosition() { }
340 void PlatformScrollbar::updateThumbProportion() { }
341 void PlatformScrollbar::setRect(const IntRect&) { }
342
343 ListBox::ListBox() { }
344 ListBox::~ListBox() { }
345 void ListBox::setSelectionMode(ListBox::SelectionMode) { }
346 void ListBox::setFont(WebCore::Font const&) { }
347
348 FileChooser::FileChooser(Document*, RenderFileUploadControl*) { notImplemented(); }
349 FileChooser::~FileChooser() { notImplemented(); }
350 PassRefPtr<FileChooser> FileChooser::create(Document*, RenderFileUploadControl*) { notImplemented(); return 0; }
351 void FileChooser::openFileChooser() { notImplemented(); }
352 String FileChooser::basenameForWidth(int width) const { notImplemented(); return String(); }
353 void FileChooser::disconnectUploadControl() { notImplemented(); }
354 void FileChooser::chooseFile(const String& filename) { notImplemented(); }
355
356 Color WebCore::focusRingColor() { return 0xFF0000FF; }
357 void WebCore::setFocusRingColorChangeFunction(void (*)()) { }
358
359 void Frame::setNeedsReapplyStyles() { }
360
361 void Image::drawTiled(GraphicsContext*, const FloatRect&, const FloatRect&, TileRule, TileRule, CompositeOperator) { }
362
363 void RenderThemeGdk::setCheckboxSize(RenderStyle*) const { }
364 bool RenderThemeGdk::paintButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { return false; }
365 void RenderThemeGdk::setRadioSize(RenderStyle*) const { }
366 void RenderThemeGdk::adjustTextFieldStyle(CSSStyleSelector*, RenderStyle*, Element* e) const {}
367 bool RenderThemeGdk::paintTextField(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { return false; }
368
369 Icon::Icon() { notImplemented(); }
370 Icon::~Icon() { notImplemented(); }
371 PassRefPtr<Icon> Icon::newIconForFile(const String& filename) { notImplemented(); return PassRefPtr<Icon>(new Icon()); }
372 void Icon::paint(GraphicsContext*, const IntRect&) { notImplemented(); }
373
374 void IconLoader::stopLoading() { notImplemented(); } 
375 void IconLoader::startLoading() { notImplemented(); } 
376 IconLoader* IconLoader::createForFrame(Frame *frame) { return 0; } 
377
378 bool IconDatabase::isIconExpiredForIconURL(const String& url) { return false; }
379 bool IconDatabase::hasEntryForIconURL(const String& url) { return false; }
380 IconDatabase* IconDatabase::sharedIconDatabase() { return 0; }
381 bool IconDatabase::setIconURLForPageURL(const String& iconURL, const String& pageURL) { return false; }
382
383 FloatRect Font::selectionRectForComplexText(const TextRun&, const TextStyle&, const IntPoint&, int) const { return FloatRect(); }
384 void Font::drawComplexText(GraphicsContext*, const TextRun&, const TextStyle&, const FloatPoint&) const { notImplemented(); }
385 float Font::floatWidthForComplexText(const TextRun&, const TextStyle&) const { notImplemented(); return 0; }
386 int Font::offsetForPositionForComplexText(const TextRun&, const TextStyle&, int, bool) const { notImplemented(); return 0; }
387
388 namespace WebCore {
389 Vector<String> supportedKeySizes() { notImplemented(); return Vector<String>(); }
390 String signedPublicKeyAndChallengeString(unsigned keySizeIndex, const String &challengeString, const KURL &url) { return String(); }
391
392 }