• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2006 Eric Seidel (eric@webkit.org)
3  * Copyright (C) 2008, 2009 Apple Inc. All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
15  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
18  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25  */
26 
27 #ifndef EmptyClients_h
28 #define EmptyClients_h
29 
30 #include "ChromeClient.h"
31 #include "ContextMenuClient.h"
32 #include "Console.h"
33 #include "DocumentLoader.h"
34 #include "DragClient.h"
35 #include "EditCommand.h"
36 #include "EditorClient.h"
37 #include "FloatRect.h"
38 #include "FocusDirection.h"
39 #include "FormState.h"
40 #include "FrameLoaderClient.h"
41 #include "InspectorClient.h"
42 #include "PluginHalterClient.h"
43 #include "ResourceError.h"
44 #include "SharedBuffer.h"
45 
46 /*
47  This file holds empty Client stubs for use by WebCore.
48  Viewless element needs to create a dummy Page->Frame->FrameView tree for use in parsing or executing JavaScript.
49  This tree depends heavily on Clients (usually provided by WebKit classes).
50 
51  This file was first created for SVGImage as it had no way to access the current Page (nor should it,
52  since Images are not tied to a page).
53  See http://bugs.webkit.org/show_bug.cgi?id=5971 for the original discussion about this file.
54 
55  Ideally, whenever you change a Client class, you should add a stub here.
56  Brittle, yes.  Unfortunate, yes.  Hopefully temporary.
57 */
58 
59 namespace WebCore {
60 
61 class EmptyChromeClient : public ChromeClient {
62 public:
~EmptyChromeClient()63     virtual ~EmptyChromeClient() { }
chromeDestroyed()64     virtual void chromeDestroyed() { }
65 
setWindowRect(const FloatRect &)66     virtual void setWindowRect(const FloatRect&) { }
windowRect()67     virtual FloatRect windowRect() { return FloatRect(); }
68 
pageRect()69     virtual FloatRect pageRect() { return FloatRect(); }
70 
scaleFactor()71     virtual float scaleFactor() { return 1.f; }
72 
73 #ifdef ANDROID_USER_GESTURE
focus(bool userGesture)74     virtual void focus(bool userGesture) { }
75 #else
focus()76     virtual void focus() { }
77 #endif
unfocus()78     virtual void unfocus() { }
79 
canTakeFocus(FocusDirection)80     virtual bool canTakeFocus(FocusDirection) { return false; }
takeFocus(FocusDirection)81     virtual void takeFocus(FocusDirection) { }
82 
focusedNodeChanged(Node *)83     virtual void focusedNodeChanged(Node*) { }
84 
createWindow(Frame *,const FrameLoadRequest &,const WindowFeatures &)85     virtual Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&) { return 0; }
show()86     virtual void show() { }
87 
canRunModal()88     virtual bool canRunModal() { return false; }
runModal()89     virtual void runModal() { }
90 
setToolbarsVisible(bool)91     virtual void setToolbarsVisible(bool) { }
toolbarsVisible()92     virtual bool toolbarsVisible() { return false; }
93 
setStatusbarVisible(bool)94     virtual void setStatusbarVisible(bool) { }
statusbarVisible()95     virtual bool statusbarVisible() { return false; }
96 
setScrollbarsVisible(bool)97     virtual void setScrollbarsVisible(bool) { }
scrollbarsVisible()98     virtual bool scrollbarsVisible() { return false; }
99 
setMenubarVisible(bool)100     virtual void setMenubarVisible(bool) { }
menubarVisible()101     virtual bool menubarVisible() { return false; }
102 
setResizable(bool)103     virtual void setResizable(bool) { }
104 
addMessageToConsole(MessageSource,MessageType,MessageLevel,const String &,unsigned,const String &)105     virtual void addMessageToConsole(MessageSource, MessageType, MessageLevel, const String&, unsigned, const String&) { }
106 
canRunBeforeUnloadConfirmPanel()107     virtual bool canRunBeforeUnloadConfirmPanel() { return false; }
runBeforeUnloadConfirmPanel(const String &,Frame *)108     virtual bool runBeforeUnloadConfirmPanel(const String&, Frame*) { return true; }
109 
closeWindowSoon()110     virtual void closeWindowSoon() { }
111 
runJavaScriptAlert(Frame *,const String &)112     virtual void runJavaScriptAlert(Frame*, const String&) { }
runJavaScriptConfirm(Frame *,const String &)113     virtual bool runJavaScriptConfirm(Frame*, const String&) { return false; }
runJavaScriptPrompt(Frame *,const String &,const String &,String &)114     virtual bool runJavaScriptPrompt(Frame*, const String&, const String&, String&) { return false; }
shouldInterruptJavaScript()115     virtual bool shouldInterruptJavaScript() { return false; }
116 
setStatusbarText(const String &)117     virtual void setStatusbarText(const String&) { }
118 
tabsToLinks()119     virtual bool tabsToLinks() const { return false; }
120 
windowResizerRect()121     virtual IntRect windowResizerRect() const { return IntRect(); }
addToDirtyRegion(const IntRect &)122     virtual void addToDirtyRegion(const IntRect&) { }
scrollBackingStore(int,int,const IntRect &,const IntRect &)123     virtual void scrollBackingStore(int, int, const IntRect&, const IntRect&) { }
updateBackingStore()124     virtual void updateBackingStore() { }
125 
repaint(const IntRect &,bool,bool,bool)126     virtual void repaint(const IntRect&, bool, bool, bool) { }
scroll(const IntSize &,const IntRect &,const IntRect &)127     virtual void scroll(const IntSize&, const IntRect&, const IntRect&) { }
screenToWindow(const IntPoint & p)128     virtual IntPoint screenToWindow(const IntPoint& p) const { return p; }
windowToScreen(const IntRect & r)129     virtual IntRect windowToScreen(const IntRect& r) const { return r; }
platformPageClient()130     virtual PlatformPageClient platformPageClient() const { return 0; }
contentsSizeChanged(Frame *,const IntSize &)131     virtual void contentsSizeChanged(Frame*, const IntSize&) const { }
132 
scrollbarsModeDidChange()133     virtual void scrollbarsModeDidChange() const { }
mouseDidMoveOverElement(const HitTestResult &,unsigned)134     virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned) { }
135 
setToolTip(const String &,TextDirection)136     virtual void setToolTip(const String&, TextDirection) { }
137 
print(Frame *)138     virtual void print(Frame*) { }
139 
140 #if ENABLE(DATABASE)
exceededDatabaseQuota(Frame *,const String &)141     virtual void exceededDatabaseQuota(Frame*, const String&) { }
142 #endif
143 
144 #if ENABLE(OFFLINE_WEB_APPLICATIONS)
reachedMaxAppCacheSize(int64_t)145     virtual void reachedMaxAppCacheSize(int64_t) { }
146 #endif
147 
148 #if ENABLE(NOTIFICATIONS)
notificationPresenter()149     virtual NotificationPresenter* notificationPresenter() const { return 0; }
150 #endif
151 
runOpenPanel(Frame *,PassRefPtr<FileChooser>)152     virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>) { }
153 
formStateDidChange(const Node *)154     virtual void formStateDidChange(const Node*) { }
155 
formDidFocus(const Node *)156     virtual void formDidFocus(const Node*) { }
formDidBlur(const Node *)157     virtual void formDidBlur(const Node*) { }
158 
createHTMLParserQuirks()159     virtual PassOwnPtr<HTMLParserQuirks> createHTMLParserQuirks() { return 0; }
160 
setCursor(PlatformCursorHandle)161     virtual bool setCursor(PlatformCursorHandle) { return false; }
162 
scrollRectIntoView(const IntRect &,const ScrollView *)163     virtual void scrollRectIntoView(const IntRect&, const ScrollView*) const {}
164 
requestGeolocationPermissionForFrame(Frame *,Geolocation *)165     virtual void requestGeolocationPermissionForFrame(Frame*, Geolocation*) {}
cancelGeolocationPermissionRequestForFrame(Frame *)166     virtual void cancelGeolocationPermissionRequestForFrame(Frame*) {}
167 
168 #if USE(ACCELERATED_COMPOSITING)
attachRootGraphicsLayer(Frame *,GraphicsLayer *)169     virtual void attachRootGraphicsLayer(Frame*, GraphicsLayer*) {};
setNeedsOneShotDrawingSynchronization()170     virtual void setNeedsOneShotDrawingSynchronization() {};
scheduleCompositingLayerSync()171     virtual void scheduleCompositingLayerSync() {};
172 #endif
173 
174 #if ENABLE(TOUCH_EVENTS)
needTouchEvents(bool)175     virtual void needTouchEvents(bool) { }
176 #endif
177 };
178 
179 class EmptyFrameLoaderClient : public FrameLoaderClient, public Noncopyable {
180 public:
~EmptyFrameLoaderClient()181     virtual ~EmptyFrameLoaderClient() {  }
frameLoaderDestroyed()182     virtual void frameLoaderDestroyed() { }
183 
hasWebView()184     virtual bool hasWebView() const { return true; } // mainly for assertions
185 
makeRepresentation(DocumentLoader *)186     virtual void makeRepresentation(DocumentLoader*) { }
forceLayout()187     virtual void forceLayout() { }
forceLayoutForNonHTML()188     virtual void forceLayoutForNonHTML() { }
189 
setCopiesOnScroll()190     virtual void setCopiesOnScroll() { }
191 
detachedFromParent2()192     virtual void detachedFromParent2() { }
detachedFromParent3()193     virtual void detachedFromParent3() { }
194 
download(ResourceHandle *,const ResourceRequest &,const ResourceRequest &,const ResourceResponse &)195     virtual void download(ResourceHandle*, const ResourceRequest&, const ResourceRequest&, const ResourceResponse&) { }
196 
assignIdentifierToInitialRequest(unsigned long,DocumentLoader *,const ResourceRequest &)197     virtual void assignIdentifierToInitialRequest(unsigned long, DocumentLoader*, const ResourceRequest&) { }
shouldUseCredentialStorage(DocumentLoader *,unsigned long)198     virtual bool shouldUseCredentialStorage(DocumentLoader*, unsigned long) { return false; }
dispatchWillSendRequest(DocumentLoader *,unsigned long,ResourceRequest &,const ResourceResponse &)199     virtual void dispatchWillSendRequest(DocumentLoader*, unsigned long, ResourceRequest&, const ResourceResponse&) { }
dispatchDidReceiveAuthenticationChallenge(DocumentLoader *,unsigned long,const AuthenticationChallenge &)200     virtual void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&) { }
dispatchDidCancelAuthenticationChallenge(DocumentLoader *,unsigned long,const AuthenticationChallenge &)201     virtual void dispatchDidCancelAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&) { }
dispatchDidReceiveResponse(DocumentLoader *,unsigned long,const ResourceResponse &)202     virtual void dispatchDidReceiveResponse(DocumentLoader*, unsigned long, const ResourceResponse&) { }
dispatchDidReceiveContentLength(DocumentLoader *,unsigned long,int)203     virtual void dispatchDidReceiveContentLength(DocumentLoader*, unsigned long, int) { }
dispatchDidFinishLoading(DocumentLoader *,unsigned long)204     virtual void dispatchDidFinishLoading(DocumentLoader*, unsigned long) { }
dispatchDidFailLoading(DocumentLoader *,unsigned long,const ResourceError &)205     virtual void dispatchDidFailLoading(DocumentLoader*, unsigned long, const ResourceError&) { }
dispatchDidLoadResourceFromMemoryCache(DocumentLoader *,const ResourceRequest &,const ResourceResponse &,int)206     virtual bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int) { return false; }
dispatchDidLoadResourceByXMLHttpRequest(unsigned long,const ScriptString &)207     virtual void dispatchDidLoadResourceByXMLHttpRequest(unsigned long, const ScriptString&) { }
208 
dispatchDidHandleOnloadEvents()209     virtual void dispatchDidHandleOnloadEvents() { }
dispatchDidReceiveServerRedirectForProvisionalLoad()210     virtual void dispatchDidReceiveServerRedirectForProvisionalLoad() { }
dispatchDidCancelClientRedirect()211     virtual void dispatchDidCancelClientRedirect() { }
dispatchWillPerformClientRedirect(const KURL &,double,double)212     virtual void dispatchWillPerformClientRedirect(const KURL&, double, double) { }
dispatchDidChangeLocationWithinPage()213     virtual void dispatchDidChangeLocationWithinPage() { }
dispatchDidPushStateWithinPage()214     virtual void dispatchDidPushStateWithinPage() { }
dispatchDidReplaceStateWithinPage()215     virtual void dispatchDidReplaceStateWithinPage() { }
dispatchDidPopStateWithinPage()216     virtual void dispatchDidPopStateWithinPage() { }
dispatchWillClose()217     virtual void dispatchWillClose() { }
dispatchDidReceiveIcon()218     virtual void dispatchDidReceiveIcon() { }
dispatchDidStartProvisionalLoad()219     virtual void dispatchDidStartProvisionalLoad() { }
dispatchDidReceiveTitle(const String &)220     virtual void dispatchDidReceiveTitle(const String&) { }
dispatchDidCommitLoad()221     virtual void dispatchDidCommitLoad() { }
dispatchDidFailProvisionalLoad(const ResourceError &)222     virtual void dispatchDidFailProvisionalLoad(const ResourceError&) { }
dispatchDidFailLoad(const ResourceError &)223     virtual void dispatchDidFailLoad(const ResourceError&) { }
dispatchDidFinishDocumentLoad()224     virtual void dispatchDidFinishDocumentLoad() { }
dispatchDidFinishLoad()225     virtual void dispatchDidFinishLoad() { }
dispatchDidFirstLayout()226     virtual void dispatchDidFirstLayout() { }
dispatchDidFirstVisuallyNonEmptyLayout()227     virtual void dispatchDidFirstVisuallyNonEmptyLayout() { }
228 
dispatchCreatePage()229     virtual Frame* dispatchCreatePage() { return 0; }
dispatchShow()230     virtual void dispatchShow() { }
231 
dispatchDecidePolicyForMIMEType(FramePolicyFunction,const String &,const ResourceRequest &)232     virtual void dispatchDecidePolicyForMIMEType(FramePolicyFunction, const String&, const ResourceRequest&) { }
dispatchDecidePolicyForNewWindowAction(FramePolicyFunction,const NavigationAction &,const ResourceRequest &,PassRefPtr<FormState>,const String &)233     virtual void dispatchDecidePolicyForNewWindowAction(FramePolicyFunction, const NavigationAction&, const ResourceRequest&, PassRefPtr<FormState>, const String&) { }
dispatchDecidePolicyForNavigationAction(FramePolicyFunction,const NavigationAction &,const ResourceRequest &,PassRefPtr<FormState>)234     virtual void dispatchDecidePolicyForNavigationAction(FramePolicyFunction, const NavigationAction&, const ResourceRequest&, PassRefPtr<FormState>) { }
cancelPolicyCheck()235     virtual void cancelPolicyCheck() { }
236 
dispatchUnableToImplementPolicy(const ResourceError &)237     virtual void dispatchUnableToImplementPolicy(const ResourceError&) { }
238 
dispatchWillSubmitForm(FramePolicyFunction,PassRefPtr<FormState>)239     virtual void dispatchWillSubmitForm(FramePolicyFunction, PassRefPtr<FormState>) { }
240 
dispatchDidLoadMainResource(DocumentLoader *)241     virtual void dispatchDidLoadMainResource(DocumentLoader*) { }
revertToProvisionalState(DocumentLoader *)242     virtual void revertToProvisionalState(DocumentLoader*) { }
setMainDocumentError(DocumentLoader *,const ResourceError &)243     virtual void setMainDocumentError(DocumentLoader*, const ResourceError&) { }
244 
willChangeEstimatedProgress()245     virtual void willChangeEstimatedProgress() { }
didChangeEstimatedProgress()246     virtual void didChangeEstimatedProgress() { }
postProgressStartedNotification()247     virtual void postProgressStartedNotification() { }
postProgressEstimateChangedNotification()248     virtual void postProgressEstimateChangedNotification() { }
postProgressFinishedNotification()249     virtual void postProgressFinishedNotification() { }
250 
setMainFrameDocumentReady(bool)251     virtual void setMainFrameDocumentReady(bool) { }
252 
startDownload(const ResourceRequest &)253     virtual void startDownload(const ResourceRequest&) { }
254 
willChangeTitle(DocumentLoader *)255     virtual void willChangeTitle(DocumentLoader*) { }
didChangeTitle(DocumentLoader *)256     virtual void didChangeTitle(DocumentLoader*) { }
257 
committedLoad(DocumentLoader *,const char *,int)258     virtual void committedLoad(DocumentLoader*, const char*, int) { }
finishedLoading(DocumentLoader *)259     virtual void finishedLoading(DocumentLoader*) { }
260 
cancelledError(const ResourceRequest &)261     virtual ResourceError cancelledError(const ResourceRequest&) { ResourceError error("", 0, "", ""); error.setIsCancellation(true); return error; }
blockedError(const ResourceRequest &)262     virtual ResourceError blockedError(const ResourceRequest&) { return ResourceError("", 0, "", ""); }
cannotShowURLError(const ResourceRequest &)263     virtual ResourceError cannotShowURLError(const ResourceRequest&) { return ResourceError("", 0, "", ""); }
interruptForPolicyChangeError(const ResourceRequest &)264     virtual ResourceError interruptForPolicyChangeError(const ResourceRequest&) { return ResourceError("", 0, "", ""); }
265 
cannotShowMIMETypeError(const ResourceResponse &)266     virtual ResourceError cannotShowMIMETypeError(const ResourceResponse&) { return ResourceError("", 0, "", ""); }
fileDoesNotExistError(const ResourceResponse &)267     virtual ResourceError fileDoesNotExistError(const ResourceResponse&) { return ResourceError("", 0, "", ""); }
pluginWillHandleLoadError(const ResourceResponse &)268     virtual ResourceError pluginWillHandleLoadError(const ResourceResponse&) { return ResourceError("", 0, "", ""); }
269 
shouldFallBack(const ResourceError &)270     virtual bool shouldFallBack(const ResourceError&) { return false; }
271 
canHandleRequest(const ResourceRequest &)272     virtual bool canHandleRequest(const ResourceRequest&) const { return false; }
canShowMIMEType(const String &)273     virtual bool canShowMIMEType(const String&) const { return false; }
representationExistsForURLScheme(const String &)274     virtual bool representationExistsForURLScheme(const String&) const { return false; }
generatedMIMETypeForURLScheme(const String &)275     virtual String generatedMIMETypeForURLScheme(const String&) const { return ""; }
276 
frameLoadCompleted()277     virtual void frameLoadCompleted() { }
restoreViewState()278     virtual void restoreViewState() { }
provisionalLoadStarted()279     virtual void provisionalLoadStarted() { }
shouldTreatURLAsSameAsCurrent(const KURL &)280     virtual bool shouldTreatURLAsSameAsCurrent(const KURL&) const { return false; }
didFinishLoad()281     virtual void didFinishLoad() { }
prepareForDataSourceReplacement()282     virtual void prepareForDataSourceReplacement() { }
283 
createDocumentLoader(const ResourceRequest & request,const SubstituteData & substituteData)284     virtual PassRefPtr<DocumentLoader> createDocumentLoader(const ResourceRequest& request, const SubstituteData& substituteData) { return DocumentLoader::create(request, substituteData); }
setTitle(const String &,const KURL &)285     virtual void setTitle(const String&, const KURL&) { }
286 
userAgent(const KURL &)287     virtual String userAgent(const KURL&) { return ""; }
288 
savePlatformDataToCachedFrame(CachedFrame *)289     virtual void savePlatformDataToCachedFrame(CachedFrame*) { }
transitionToCommittedFromCachedFrame(CachedFrame *)290     virtual void transitionToCommittedFromCachedFrame(CachedFrame*) { }
transitionToCommittedForNewPage()291     virtual void transitionToCommittedForNewPage() { }
292 
updateGlobalHistory()293     virtual void updateGlobalHistory() { }
updateGlobalHistoryRedirectLinks()294     virtual void updateGlobalHistoryRedirectLinks() { }
shouldGoToHistoryItem(HistoryItem *)295     virtual bool shouldGoToHistoryItem(HistoryItem*) const { return false; }
dispatchDidAddBackForwardItem(HistoryItem *)296     virtual void dispatchDidAddBackForwardItem(HistoryItem*) const { }
dispatchDidRemoveBackForwardItem(HistoryItem *)297     virtual void dispatchDidRemoveBackForwardItem(HistoryItem*) const { };
dispatchDidChangeBackForwardIndex()298     virtual void dispatchDidChangeBackForwardIndex() const { }
saveViewStateToItem(HistoryItem *)299     virtual void saveViewStateToItem(HistoryItem*) { }
canCachePage()300     virtual bool canCachePage() const { return false; }
didDisplayInsecureContent()301     virtual void didDisplayInsecureContent() { }
didRunInsecureContent(SecurityOrigin *)302     virtual void didRunInsecureContent(SecurityOrigin*) { }
createFrame(const KURL &,const String &,HTMLFrameOwnerElement *,const String &,bool,int,int)303     virtual PassRefPtr<Frame> createFrame(const KURL&, const String&, HTMLFrameOwnerElement*, const String&, bool, int, int) { return 0; }
createPlugin(const IntSize &,HTMLPlugInElement *,const KURL &,const Vector<String> &,const Vector<String> &,const String &,bool)304     virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool) { return 0; }
createJavaAppletWidget(const IntSize &,HTMLAppletElement *,const KURL &,const Vector<String> &,const Vector<String> &)305     virtual PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL&, const Vector<String>&, const Vector<String>&) { return 0; }
306 
objectContentType(const KURL &,const String &)307     virtual ObjectContentType objectContentType(const KURL&, const String&) { return ObjectContentType(); }
overrideMediaType()308     virtual String overrideMediaType() const { return String(); }
309 
redirectDataToPlugin(Widget *)310     virtual void redirectDataToPlugin(Widget*) { }
dispatchDidClearWindowObjectInWorld(DOMWrapperWorld *)311     virtual void dispatchDidClearWindowObjectInWorld(DOMWrapperWorld*) { }
documentElementAvailable()312     virtual void documentElementAvailable() { }
didPerformFirstNavigation()313     virtual void didPerformFirstNavigation() const { }
314 
registerForIconNotification(bool)315     virtual void registerForIconNotification(bool) { }
316 
317 #if USE(V8)
didCreateScriptContextForFrame()318     virtual void didCreateScriptContextForFrame() { }
didDestroyScriptContextForFrame()319     virtual void didDestroyScriptContextForFrame() { }
didCreateIsolatedScriptContext()320     virtual void didCreateIsolatedScriptContext() { }
321 #endif
322 
323 #if PLATFORM(MAC)
willCacheResponse(DocumentLoader *,unsigned long,NSCachedURLResponse * response)324     virtual NSCachedURLResponse* willCacheResponse(DocumentLoader*, unsigned long, NSCachedURLResponse* response) const { return response; }
325 #endif
326 #if USE(CFNETWORK)
shouldCacheResponse(DocumentLoader *,unsigned long,const ResourceResponse &,const unsigned char *,unsigned long long)327     virtual bool shouldCacheResponse(DocumentLoader*, unsigned long, const ResourceResponse&, const unsigned char*, unsigned long long) { return true; }
328 #endif
329 
330 };
331 
332 class EmptyEditorClient : public EditorClient, public Noncopyable {
333 public:
~EmptyEditorClient()334     virtual ~EmptyEditorClient() { }
pageDestroyed()335     virtual void pageDestroyed() { }
336 
shouldDeleteRange(Range *)337     virtual bool shouldDeleteRange(Range*) { return false; }
shouldShowDeleteInterface(HTMLElement *)338     virtual bool shouldShowDeleteInterface(HTMLElement*) { return false; }
smartInsertDeleteEnabled()339     virtual bool smartInsertDeleteEnabled() { return false; }
isSelectTrailingWhitespaceEnabled()340     virtual bool isSelectTrailingWhitespaceEnabled() { return false; }
isContinuousSpellCheckingEnabled()341     virtual bool isContinuousSpellCheckingEnabled() { return false; }
toggleContinuousSpellChecking()342     virtual void toggleContinuousSpellChecking() { }
isGrammarCheckingEnabled()343     virtual bool isGrammarCheckingEnabled() { return false; }
toggleGrammarChecking()344     virtual void toggleGrammarChecking() { }
spellCheckerDocumentTag()345     virtual int spellCheckerDocumentTag() { return -1; }
346 
selectWordBeforeMenuEvent()347     virtual bool selectWordBeforeMenuEvent() { return false; }
isEditable()348     virtual bool isEditable() { return false; }
349 
shouldBeginEditing(Range *)350     virtual bool shouldBeginEditing(Range*) { return false; }
shouldEndEditing(Range *)351     virtual bool shouldEndEditing(Range*) { return false; }
shouldInsertNode(Node *,Range *,EditorInsertAction)352     virtual bool shouldInsertNode(Node*, Range*, EditorInsertAction) { return false; }
353     //  virtual bool shouldInsertNode(Node*, Range* replacingRange, WebViewInsertAction) { return false; }
shouldInsertText(const String &,Range *,EditorInsertAction)354     virtual bool shouldInsertText(const String&, Range*, EditorInsertAction) { return false; }
shouldChangeSelectedRange(Range *,Range *,EAffinity,bool)355     virtual bool shouldChangeSelectedRange(Range*, Range*, EAffinity, bool) { return false; }
356 
shouldApplyStyle(CSSStyleDeclaration *,Range *)357     virtual bool shouldApplyStyle(CSSStyleDeclaration*, Range*) { return false; }
shouldMoveRangeAfterDelete(Range *,Range *)358     virtual bool shouldMoveRangeAfterDelete(Range*, Range*) { return false; }
359     //  virtual bool shouldChangeTypingStyle(CSSStyleDeclaration* fromStyle, CSSStyleDeclaration* toStyle) { return false; }
360     //  virtual bool doCommandBySelector(SEL selector) { return false; }
361     //
didBeginEditing()362     virtual void didBeginEditing() { }
respondToChangedContents()363     virtual void respondToChangedContents() { }
respondToChangedSelection()364     virtual void respondToChangedSelection() { }
didEndEditing()365     virtual void didEndEditing() { }
didWriteSelectionToPasteboard()366     virtual void didWriteSelectionToPasteboard() { }
didSetSelectionTypesForPasteboard()367     virtual void didSetSelectionTypesForPasteboard() { }
368     //  virtual void webViewDidChangeTypingStyle:(NSNotification *)notification { }
369     //  virtual void webViewDidChangeSelection:(NSNotification *)notification { }
370     //  virtual NSUndoManager* undoManagerForWebView:(WebView *)webView { return 0; }
371 
registerCommandForUndo(PassRefPtr<EditCommand>)372     virtual void registerCommandForUndo(PassRefPtr<EditCommand>) { }
registerCommandForRedo(PassRefPtr<EditCommand>)373     virtual void registerCommandForRedo(PassRefPtr<EditCommand>) { }
clearUndoRedoOperations()374     virtual void clearUndoRedoOperations() { }
375 
canUndo()376     virtual bool canUndo() const { return false; }
canRedo()377     virtual bool canRedo() const { return false; }
378 
undo()379     virtual void undo() { }
redo()380     virtual void redo() { }
381 
handleKeyboardEvent(KeyboardEvent *)382     virtual void handleKeyboardEvent(KeyboardEvent*) { }
handleInputMethodKeydown(KeyboardEvent *)383     virtual void handleInputMethodKeydown(KeyboardEvent*) { }
384 
textFieldDidBeginEditing(Element *)385     virtual void textFieldDidBeginEditing(Element*) { }
textFieldDidEndEditing(Element *)386     virtual void textFieldDidEndEditing(Element*) { }
textDidChangeInTextField(Element *)387     virtual void textDidChangeInTextField(Element*) { }
doTextFieldCommandFromEvent(Element *,KeyboardEvent *)388     virtual bool doTextFieldCommandFromEvent(Element*, KeyboardEvent*) { return false; }
textWillBeDeletedInTextField(Element *)389     virtual void textWillBeDeletedInTextField(Element*) { }
textDidChangeInTextArea(Element *)390     virtual void textDidChangeInTextArea(Element*) { }
391 
392 #if PLATFORM(MAC)
markedTextAbandoned(Frame *)393     virtual void markedTextAbandoned(Frame*) { }
394 
userVisibleString(NSURL *)395     virtual NSString* userVisibleString(NSURL*) { return 0; }
396 #ifdef BUILDING_ON_TIGER
pasteboardTypesForSelection(Frame *)397     virtual NSArray* pasteboardTypesForSelection(Frame*) { return 0; }
398 #endif
399 #endif
400 #if PLATFORM(MAC) && !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
uppercaseWord()401     virtual void uppercaseWord() { }
lowercaseWord()402     virtual void lowercaseWord() { }
capitalizeWord()403     virtual void capitalizeWord() { }
showSubstitutionsPanel(bool)404     virtual void showSubstitutionsPanel(bool) { }
substitutionsPanelIsShowing()405     virtual bool substitutionsPanelIsShowing() { return false; }
toggleSmartInsertDelete()406     virtual void toggleSmartInsertDelete() { }
isAutomaticQuoteSubstitutionEnabled()407     virtual bool isAutomaticQuoteSubstitutionEnabled() { return false; }
toggleAutomaticQuoteSubstitution()408     virtual void toggleAutomaticQuoteSubstitution() { }
isAutomaticLinkDetectionEnabled()409     virtual bool isAutomaticLinkDetectionEnabled() { return false; }
toggleAutomaticLinkDetection()410     virtual void toggleAutomaticLinkDetection() { }
isAutomaticDashSubstitutionEnabled()411     virtual bool isAutomaticDashSubstitutionEnabled() { return false; }
toggleAutomaticDashSubstitution()412     virtual void toggleAutomaticDashSubstitution() { }
isAutomaticTextReplacementEnabled()413     virtual bool isAutomaticTextReplacementEnabled() { return false; }
toggleAutomaticTextReplacement()414     virtual void toggleAutomaticTextReplacement() { }
isAutomaticSpellingCorrectionEnabled()415     virtual bool isAutomaticSpellingCorrectionEnabled() { return false; }
toggleAutomaticSpellingCorrection()416     virtual void toggleAutomaticSpellingCorrection() { }
417 #endif
ignoreWordInSpellDocument(const String &)418     virtual void ignoreWordInSpellDocument(const String&) { }
learnWord(const String &)419     virtual void learnWord(const String&) { }
checkSpellingOfString(const UChar *,int,int *,int *)420     virtual void checkSpellingOfString(const UChar*, int, int*, int*) { }
getAutoCorrectSuggestionForMisspelledWord(const String &)421     virtual String getAutoCorrectSuggestionForMisspelledWord(const String&) { return String(); }
checkGrammarOfString(const UChar *,int,Vector<GrammarDetail> &,int *,int *)422     virtual void checkGrammarOfString(const UChar*, int, Vector<GrammarDetail>&, int*, int*) { }
423 #if PLATFORM(MAC) && !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
checkTextOfParagraph(const UChar *,int,uint64_t,Vector<TextCheckingResult> &)424     virtual void checkTextOfParagraph(const UChar*, int, uint64_t, Vector<TextCheckingResult>&) { };
425 #endif
updateSpellingUIWithGrammarString(const String &,const GrammarDetail &)426     virtual void updateSpellingUIWithGrammarString(const String&, const GrammarDetail&) { }
updateSpellingUIWithMisspelledWord(const String &)427     virtual void updateSpellingUIWithMisspelledWord(const String&) { }
showSpellingUI(bool)428     virtual void showSpellingUI(bool) { }
spellingUIIsShowing()429     virtual bool spellingUIIsShowing() { return false; }
getGuessesForWord(const String &,Vector<String> &)430     virtual void getGuessesForWord(const String&, Vector<String>&) { }
setInputMethodState(bool)431     virtual void setInputMethodState(bool) { }
432 
433 
434 };
435 
436 #if ENABLE(CONTEXT_MENUS)
437 class EmptyContextMenuClient : public ContextMenuClient, public Noncopyable {
438 public:
~EmptyContextMenuClient()439     virtual ~EmptyContextMenuClient() {  }
contextMenuDestroyed()440     virtual void contextMenuDestroyed() { }
441 
getCustomMenuFromDefaultItems(ContextMenu *)442     virtual PlatformMenuDescription getCustomMenuFromDefaultItems(ContextMenu*) { return 0; }
contextMenuItemSelected(ContextMenuItem *,const ContextMenu *)443     virtual void contextMenuItemSelected(ContextMenuItem*, const ContextMenu*) { }
444 
downloadURL(const KURL &)445     virtual void downloadURL(const KURL&) { }
copyImageToClipboard(const HitTestResult &)446     virtual void copyImageToClipboard(const HitTestResult&) { }
searchWithGoogle(const Frame *)447     virtual void searchWithGoogle(const Frame*) { }
lookUpInDictionary(Frame *)448     virtual void lookUpInDictionary(Frame*) { }
isSpeaking()449     virtual bool isSpeaking() { return false; }
speak(const String &)450     virtual void speak(const String&) { }
stopSpeaking()451     virtual void stopSpeaking() { }
452 
453 #if PLATFORM(MAC)
searchWithSpotlight()454     virtual void searchWithSpotlight() { }
455 #endif
456 };
457 #endif // ENABLE(CONTEXT_MENUS)
458 
459 #if ENABLE(DRAG_SUPPORT)
460 class EmptyDragClient : public DragClient, public Noncopyable {
461 public:
~EmptyDragClient()462     virtual ~EmptyDragClient() {}
willPerformDragDestinationAction(DragDestinationAction,DragData *)463     virtual void willPerformDragDestinationAction(DragDestinationAction, DragData*) { }
willPerformDragSourceAction(DragSourceAction,const IntPoint &,Clipboard *)464     virtual void willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*) { }
actionMaskForDrag(DragData *)465     virtual DragDestinationAction actionMaskForDrag(DragData*) { return DragDestinationActionNone; }
dragSourceActionMaskForPoint(const IntPoint &)466     virtual DragSourceAction dragSourceActionMaskForPoint(const IntPoint&) { return DragSourceActionNone; }
startDrag(DragImageRef,const IntPoint &,const IntPoint &,Clipboard *,Frame *,bool)467     virtual void startDrag(DragImageRef, const IntPoint&, const IntPoint&, Clipboard*, Frame*, bool) { }
createDragImageForLink(KURL &,const String &,Frame *)468     virtual DragImageRef createDragImageForLink(KURL&, const String&, Frame*) { return 0; }
dragControllerDestroyed()469     virtual void dragControllerDestroyed() { }
470 };
471 #endif // ENABLE(DRAG_SUPPORT)
472 
473 class EmptyInspectorClient : public InspectorClient, public Noncopyable {
474 public:
~EmptyInspectorClient()475     virtual ~EmptyInspectorClient() { }
476 
inspectorDestroyed()477     virtual void inspectorDestroyed() { }
478 
createPage()479     virtual Page* createPage() { return 0; };
480 
localizedStringsURL()481     virtual String localizedStringsURL() { return String(); }
482 
hiddenPanels()483     virtual String hiddenPanels() { return String(); }
484 
showWindow()485     virtual void showWindow() { }
closeWindow()486     virtual void closeWindow() { }
487 
attachWindow()488     virtual void attachWindow() { }
detachWindow()489     virtual void detachWindow() { }
490 
setAttachedWindowHeight(unsigned)491     virtual void setAttachedWindowHeight(unsigned) { }
492 
highlight(Node *)493     virtual void highlight(Node*) { }
hideHighlight()494     virtual void hideHighlight() { }
inspectedURLChanged(const String &)495     virtual void inspectedURLChanged(const String&) { }
496 
populateSetting(const String &,String *)497     virtual void populateSetting(const String&, String*) { }
storeSetting(const String &,const String &)498     virtual void storeSetting(const String&, const String&) { }
499 
inspectorWindowObjectCleared()500     virtual void inspectorWindowObjectCleared() { }
501 };
502 
503 }
504 
505 #endif // EmptyClients_h
506 
507