• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2009, The Android Open Source Project
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *  * Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  *  * Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25 #define LOG_TAG "WebCore"
26 
27 #include "config.h"
28 
29 #define ANDROID_COMPILE_HACK
30 
31 #include "AXObjectCache.h"
32 #include "CachedPage.h"
33 #include "CachedResource.h"
34 #include "Clipboard.h"
35 #include "Console.h"
36 #include "ContextMenu.h"
37 #include "ContextMenuItem.h"
38 #include "CookieJar.h"
39 #include "CookieStorage.h"
40 #include "Cursor.h"
41 #include "Database.h"
42 #include "DocumentFragment.h"
43 #include "DocumentLoader.h"
44 #include "EditCommand.h"
45 #include "Editor.h"
46 #include "File.h"
47 #include "Font.h"
48 #include "Frame.h"
49 #include "FrameLoadRequest.h"
50 #include "FrameLoader.h"
51 #include "FrameView.h"
52 #include "GraphicsContext.h"
53 #include "HTMLFrameOwnerElement.h"
54 #include "HTMLKeygenElement.h"
55 #include "History.h"
56 #include "Icon.h"
57 #include "IconDatabase.h"
58 #include "IconLoader.h"
59 #include "IntPoint.h"
60 #include "KURL.h"
61 #include "Language.h"
62 #include "LocalizedStrings.h"
63 #include "MainResourceLoader.h"
64 #include "Node.h"
65 #include "NotImplemented.h"
66 #include "PageCache.h"
67 #include "Pasteboard.h"
68 #include "Path.h"
69 #include "ResourceError.h"
70 #include "ResourceHandle.h"
71 #include "ResourceLoader.h"
72 #include "Screen.h"
73 #include "Scrollbar.h"
74 #include "ScrollbarTheme.h"
75 #include "SmartReplace.h"
76 #include "Widget.h"
77 #include <stdio.h>
78 #include <stdlib.h>
79 #include <wtf/Assertions.h>
80 #include <wtf/MainThread.h>
81 #include <wtf/text/CString.h>
82 
83 using namespace WebCore;
84 
85 /********************************************************/
86 /* Completely empty stubs (mostly to allow DRT to run): */
87 /********************************************************/
88 
89 namespace WebCore {
90 
91 // This function tells the bridge that a resource was loaded from the cache and thus
92 // the app may update progress with the amount of data loaded.
CheckCacheObjectStatus(CachedResourceLoader *,CachedResource *)93 void CheckCacheObjectStatus(CachedResourceLoader*, CachedResource*)
94 {
95     ASSERT_NOT_REACHED();
96     notImplemented();
97 }
98 
99 // This class is used in conjunction with the File Upload form element, and
100 // therefore relates to the above. When a file has been selected, an icon
101 // representing the file type can be rendered next to the filename on the
102 // web page. The icon for the file is encapsulated within this class.
~Icon()103 Icon::~Icon() { }
paint(GraphicsContext *,const IntRect &)104 void Icon::paint(GraphicsContext*, const IntRect&) { }
105 
106 }  // namespace WebCore
107 
108 // FIXME, no support for spelling yet.
generalPasteboard()109 Pasteboard* Pasteboard::generalPasteboard()
110 {
111     return new Pasteboard();
112 }
113 
writeSelection(Range *,bool,Frame *)114 void Pasteboard::writeSelection(Range*, bool, Frame*)
115 {
116     notImplemented();
117 }
118 
writePlainText(const String &)119 void Pasteboard::writePlainText(const String&)
120 {
121     notImplemented();
122 }
123 
writeURL(const KURL &,const String &,Frame *)124 void Pasteboard::writeURL(const KURL&, const String&, Frame*)
125 {
126     notImplemented();
127 }
128 
clear()129 void Pasteboard::clear()
130 {
131     notImplemented();
132 }
133 
canSmartReplace()134 bool Pasteboard::canSmartReplace()
135 {
136     notImplemented();
137     return false;
138 }
139 
documentFragment(Frame *,PassRefPtr<Range>,bool,bool &)140 PassRefPtr<DocumentFragment> Pasteboard::documentFragment(Frame*, PassRefPtr<Range>, bool, bool&)
141 {
142     notImplemented();
143     return 0;
144 }
145 
plainText(Frame *)146 String Pasteboard::plainText(Frame*)
147 {
148     notImplemented();
149     return String();
150 }
151 
Pasteboard()152 Pasteboard::Pasteboard()
153 {
154     notImplemented();
155 }
156 
ContextMenu()157 ContextMenu::ContextMenu()
158 {
159     ASSERT_NOT_REACHED();
160     notImplemented();
161 }
162 
~ContextMenu()163 ContextMenu::~ContextMenu()
164 {
165     ASSERT_NOT_REACHED();
166     notImplemented();
167 }
168 
appendItem(ContextMenuItem &)169 void ContextMenu::appendItem(ContextMenuItem&)
170 {
171     ASSERT_NOT_REACHED();
172     notImplemented();
173 }
174 
setPlatformDescription(PlatformMenuDescription menu)175 void ContextMenu::setPlatformDescription(PlatformMenuDescription menu)
176 {
177     ASSERT_NOT_REACHED();
178     m_platformDescription = menu;
179 }
180 
platformDescription() const181 PlatformMenuDescription ContextMenu::platformDescription() const
182 {
183     ASSERT_NOT_REACHED();
184     return m_platformDescription;
185 }
186 
ContextMenuItem(PlatformMenuItemDescription)187 ContextMenuItem::ContextMenuItem(PlatformMenuItemDescription)
188 {
189     ASSERT_NOT_REACHED();
190     notImplemented();
191 }
192 
ContextMenuItem(ContextMenu *)193 ContextMenuItem::ContextMenuItem(ContextMenu*)
194 {
195     ASSERT_NOT_REACHED();
196     notImplemented();
197 }
198 
ContextMenuItem(ContextMenuItemType,ContextMenuAction,const String &,ContextMenu *)199 ContextMenuItem::ContextMenuItem(ContextMenuItemType, ContextMenuAction, const String&, ContextMenu*)
200 {
201     ASSERT_NOT_REACHED();
202     notImplemented();
203 }
204 
~ContextMenuItem()205 ContextMenuItem::~ContextMenuItem()
206 {
207     ASSERT_NOT_REACHED();
208     notImplemented();
209 }
210 
releasePlatformDescription()211 PlatformMenuItemDescription ContextMenuItem::releasePlatformDescription()
212 {
213     ASSERT_NOT_REACHED();
214     notImplemented();
215     return m_platformDescription;
216 }
217 
type() const218 ContextMenuItemType ContextMenuItem::type() const
219 {
220     ASSERT_NOT_REACHED();
221     notImplemented();
222     return ActionType;
223 }
224 
setType(ContextMenuItemType)225 void ContextMenuItem::setType(ContextMenuItemType)
226 {
227     ASSERT_NOT_REACHED();
228     notImplemented();
229 }
230 
action() const231 ContextMenuAction ContextMenuItem::action() const
232 {
233     ASSERT_NOT_REACHED();
234     notImplemented();
235     return ContextMenuItemTagNoAction;
236 }
237 
setAction(ContextMenuAction)238 void ContextMenuItem::setAction(ContextMenuAction)
239 {
240     ASSERT_NOT_REACHED();
241     notImplemented();
242 }
243 
title() const244 String ContextMenuItem::title() const
245 {
246     ASSERT_NOT_REACHED();
247     notImplemented();
248     return String();
249 }
250 
setTitle(const String &)251 void ContextMenuItem::setTitle(const String&)
252 {
253     ASSERT_NOT_REACHED();
254     notImplemented();
255 }
256 
platformSubMenu() const257 PlatformMenuDescription ContextMenuItem::platformSubMenu() const
258 {
259     ASSERT_NOT_REACHED();
260     notImplemented();
261     return 0;
262 }
263 
setSubMenu(ContextMenu *)264 void ContextMenuItem::setSubMenu(ContextMenu*)
265 {
266     ASSERT_NOT_REACHED();
267     notImplemented();
268 }
269 
setChecked(bool)270 void ContextMenuItem::setChecked(bool)
271 {
272     ASSERT_NOT_REACHED();
273     notImplemented();
274 }
275 
setEnabled(bool)276 void ContextMenuItem::setEnabled(bool)
277 {
278     ASSERT_NOT_REACHED();
279     notImplemented();
280 }
281 
282 // systemBeep() is called by the Editor to indicate that there was nothing to copy, and may be called from
283 // other places too.
systemBeep()284 void systemBeep()
285 {
286     notImplemented();
287 }
288 
dragImageForSelection()289 void* WebCore::Frame::dragImageForSelection()
290 {
291     return 0;
292 }
293 
writeImage(WebCore::Node *,WebCore::KURL const &,WTF::String const &)294 void WebCore::Pasteboard::writeImage(WebCore::Node*, WebCore::KURL const&, WTF::String const&) {}
295 
296 namespace WebCore {
297 
dragImageSize(void *)298 IntSize dragImageSize(void*)
299 {
300     return IntSize(0, 0);
301 }
302 
deleteDragImage(void *)303 void deleteDragImage(void*) {}
createDragImageFromImage(Image *)304 void* createDragImageFromImage(Image*)
305 {
306     return 0;
307 }
308 
dissolveDragImageToFraction(void *,float)309 void* dissolveDragImageToFraction(void*, float)
310 {
311     return 0;
312 }
313 
createDragImageIconForCachedImage(CachedImage *)314 void* createDragImageIconForCachedImage(CachedImage*)
315 {
316     return 0;
317 }
318 
319 Cursor dummyCursor;
zoomInCursor()320 const Cursor& zoomInCursor()
321 {
322     return dummyCursor;
323 }
324 
zoomOutCursor()325 const Cursor& zoomOutCursor()
326 {
327     return dummyCursor;
328 }
329 
notAllowedCursor()330 const Cursor& notAllowedCursor()
331 {
332     return dummyCursor;
333 }
334 
scaleDragImage(void *,FloatSize)335 void* scaleDragImage(void*, FloatSize)
336 {
337     return 0;
338 }
339 
searchMenuRecentSearchesText()340 String searchMenuRecentSearchesText()
341 {
342     return String();
343 }
344 
searchMenuNoRecentSearchesText()345 String searchMenuNoRecentSearchesText()
346 {
347     return String();
348 }
349 
searchMenuClearRecentSearchesText()350 String searchMenuClearRecentSearchesText()
351 {
352     return String();
353 }
354 
supportedKeySizes()355 Vector<String> supportedKeySizes()
356 {
357     notImplemented();
358     return Vector<String>();
359 }
360 
361 } // namespace WebCore
362 
363 namespace WebCore {
364 // isCharacterSmartReplaceExempt is defined in SmartReplaceICU.cpp; in theory, we could use that one
365 //      but we don't support all of the required icu functions
isCharacterSmartReplaceExempt(UChar32,bool)366 bool isCharacterSmartReplaceExempt(UChar32, bool)
367 {
368     notImplemented();
369     return false;
370 }
371 
372 }  // WebCore
373 
374 int MakeDataExecutable;
375 
fileSystemPath() const376 String KURL::fileSystemPath() const
377 {
378     notImplemented();
379     return String();
380 }
381 
382 
createWithContentsOfFile(const String &)383 PassRefPtr<SharedBuffer> SharedBuffer::createWithContentsOfFile(const String&)
384 {
385     notImplemented();
386     return 0;
387 }
388 
389 
dirname(const char *)390 char* dirname(const char*)
391 {
392     notImplemented();
393     return 0;
394 }
395 
396     // new as of SVN change 38068, Nov 5, 2008
397 namespace WebCore {
prefetchDNS(const String &)398 void prefetchDNS(const String&)
399 {
400     notImplemented();
401 }
402 
createIconForFiles(const Vector<String> &)403 PassRefPtr<Icon> Icon::createIconForFiles(const Vector<String>&)
404 {
405     notImplemented();
406     return 0;
407 }
408 
409 // ScrollbarTheme::nativeTheme() is called by RenderTextControl::calcPrefWidths()
410 // like this: scrollbarSize = ScrollbarTheme::nativeTheme()->scrollbarThickness();
411 // with this comment:
412 // // FIXME: We should get the size of the scrollbar from the RenderTheme instead.
413 // since our text control doesn't have scrollbars, the default size of 0 width should be
414 // ok. notImplemented() is commented out below so that we can find other unresolved
415 // unimplemented functions.
nativeTheme()416 ScrollbarTheme* ScrollbarTheme::nativeTheme()
417 {
418     /* notImplemented(); */
419     static ScrollbarTheme theme;
420     return &theme;
421 }
422 
423 }  // namespace WebCore
424 
~AXObjectCache()425 AXObjectCache::~AXObjectCache()
426 {
427     notImplemented();
428 }
429 
430 // This value turns on or off the Mac specific Accessibility support.
431 bool AXObjectCache::gAccessibilityEnabled = false;
432 bool AXObjectCache::gAccessibilityEnhancedUserInterfaceEnabled = false;
433 
childrenChanged(RenderObject *)434 void AXObjectCache::childrenChanged(RenderObject*)
435 {
436     notImplemented();
437 }
438 
remove(RenderObject *)439 void AXObjectCache::remove(RenderObject*)
440 {
441     notImplemented();
442 }
443 
remove(Widget *)444 void AXObjectCache::remove(Widget*)
445 {
446     notImplemented();
447 }
448 
449 namespace WebCore {
450 
setCookieStoragePrivateBrowsingEnabled(bool)451 void setCookieStoragePrivateBrowsingEnabled(bool)
452 {
453     notImplemented();
454 }
455 
startObservingCookieChanges()456 void startObservingCookieChanges()
457 {
458     notImplemented();
459 }
460 
stopObservingCookieChanges()461 void stopObservingCookieChanges()
462 {
463     notImplemented();
464 }
465 
466 } // namespace WebCore
467