• Skip to content
  • Skip to link menu
KDE 4.3 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KHTML

SVGImageEmptyClients.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2006 Eric Seidel (eric@webkit.org)
00003  *
00004  * Redistribution and use in source and binary forms, with or without
00005  * modification, are permitted provided that the following conditions
00006  * are met:
00007  * 1. Redistributions of source code must retain the above copyright
00008  *    notice, this list of conditions and the following disclaimer.
00009  * 2. Redistributions in binary form must reproduce the above copyright
00010  *    notice, this list of conditions and the following disclaimer in the
00011  *    documentation and/or other materials provided with the distribution.
00012  *
00013  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
00014  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00015  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00016  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
00017  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00018  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00019  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00020  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00021  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00022  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00023  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
00024  */
00025 
00026 #ifndef SVGImageEmptyClients_h
00027 #define SVGImageEmptyClients_h
00028 
00029 #if ENABLE(SVG)
00030 
00031 #include "ChromeClient.h"
00032 #include "ContextMenuClient.h"
00033 #include "DragClient.h"
00034 #include "EditorClient.h"
00035 #include "FocusDirection.h"
00036 #include "FrameLoaderClient.h"
00037 #include "InspectorClient.h"
00038 #include "SharedBuffer.h"
00039 
00040 /*
00041  This file holds empty Client stubs for use by SVGImage.
00042  SVGImage needs to create a dummy Page->Frame->FrameView tree for use in parsing an SVGDocument.
00043  This tree depends heavily on Clients (usually provided by WebKit classes).
00044  
00045  SVGImage has no way to access the current Page (nor should it, since Images are not tied to a page).
00046  See http://bugs.webkit.org/show_bug.cgi?id=5971 for more discussion on this issue.
00047  
00048  Ideally, whenever you change a Client class, you should add a stub here.
00049  Brittle, yes.  Unfortunate, yes.  Hopefully temporary.
00050 */
00051 
00052 namespace WebCore {
00053 
00054 class SVGEmptyChromeClient : public ChromeClient {
00055 public:
00056     virtual ~SVGEmptyChromeClient() { }
00057     virtual void chromeDestroyed() { }
00058     
00059     virtual void setWindowRect(const FloatRect&) { }
00060     virtual FloatRect windowRect() { return FloatRect(); }
00061     
00062     virtual FloatRect pageRect() { return FloatRect(); }
00063     
00064     virtual float scaleFactor() { return 1.f; }
00065     
00066     virtual void focus() { }
00067     virtual void unfocus() { }
00068     
00069     virtual bool canTakeFocus(FocusDirection) { return false; }
00070     virtual void takeFocus(FocusDirection) { }
00071     
00072     virtual Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&) { return 0; }
00073     virtual void show() { }
00074     
00075     virtual bool canRunModal() { return false; }
00076     virtual void runModal() { }
00077     
00078     virtual void setToolbarsVisible(bool) { }
00079     virtual bool toolbarsVisible() { return false; }
00080     
00081     virtual void setStatusbarVisible(bool) { }
00082     virtual bool statusbarVisible() { return false; }
00083     
00084     virtual void setScrollbarsVisible(bool) { }
00085     virtual bool scrollbarsVisible() { return false; }
00086     
00087     virtual void setMenubarVisible(bool) { }
00088     virtual bool menubarVisible() { return false; }
00089     
00090     virtual void setResizable(bool) { }
00091     
00092     virtual void addMessageToConsole(const String& message, unsigned int lineNumber, const String& sourceID) { }
00093     
00094     virtual bool canRunBeforeUnloadConfirmPanel() { return false; }
00095     virtual bool runBeforeUnloadConfirmPanel(const String& message, Frame* frame) { return true; }
00096     
00097     virtual void closeWindowSoon() { }
00098     
00099     virtual void runJavaScriptAlert(Frame*, const String&) { }
00100     virtual bool runJavaScriptConfirm(Frame*, const String&) { return false; }
00101     virtual bool runJavaScriptPrompt(Frame*, const String& message, const String& defaultValue, String& result) { return false; }
00102     virtual bool shouldInterruptJavaScript() { return false; }
00103     
00104     virtual void setStatusbarText(const String&) { }
00105     
00106     virtual bool tabsToLinks() const { return false; }
00107     
00108     virtual IntRect windowResizerRect() const { return IntRect(); }
00109     virtual void addToDirtyRegion(const IntRect&) { }
00110     virtual void scrollBackingStore(int dx, int dy, const IntRect& scrollViewRect, const IntRect& clipRect) { }
00111     virtual void updateBackingStore() { }
00112 
00113     virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags) { }
00114     
00115     virtual void setToolTip(const String&) { }
00116 
00117     virtual void print(Frame*) { }
00118 
00119     virtual void exceededDatabaseQuota(Frame*, const String&) { }
00120 };
00121 
00122 class SVGEmptyFrameLoaderClient : public FrameLoaderClient {
00123 public:
00124     virtual ~SVGEmptyFrameLoaderClient() {  }
00125     virtual void frameLoaderDestroyed() { }
00126     
00127     virtual bool hasWebView() const { return true; } // mainly for assertions
00128     virtual bool hasFrameView() const { return true; } // ditto
00129     
00130     virtual void makeRepresentation(DocumentLoader*) { }
00131     virtual void forceLayout() { }
00132     virtual void forceLayoutForNonHTML() { }
00133     
00134     virtual void updateHistoryForCommit() { }
00135     
00136     virtual void updateHistoryForBackForwardNavigation() { }
00137     virtual void updateHistoryForReload() { }
00138     virtual void updateHistoryForStandardLoad() { }
00139     virtual void updateHistoryForInternalLoad() { }
00140     
00141     virtual void updateHistoryAfterClientRedirect() { }
00142     
00143     virtual void setCopiesOnScroll() { }
00144         
00145     virtual void detachedFromParent2() { }
00146     virtual void detachedFromParent3() { }
00147     virtual void detachedFromParent4() { }
00148     
00149     virtual void download(ResourceHandle*, const ResourceRequest&, const ResourceRequest&, const ResourceResponse&) { }
00150     
00151     virtual void assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader*, const ResourceRequest&) { }
00152     virtual void dispatchWillSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest&, const ResourceResponse& redirectResponse) { }
00153     virtual void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&) { }
00154     virtual void dispatchDidCancelAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&) { }
00155     virtual void dispatchDidReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&) { }
00156     virtual void dispatchDidReceiveContentLength(DocumentLoader*, unsigned long identifier, int lengthReceived) { }
00157     virtual void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier) { }
00158     virtual void dispatchDidFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError&) { }
00159     virtual bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int length) { return false; }
00160     
00161     virtual void dispatchDidHandleOnloadEvents() { }
00162     virtual void dispatchDidReceiveServerRedirectForProvisionalLoad() { }
00163     virtual void dispatchDidCancelClientRedirect() { }
00164     virtual void dispatchWillPerformClientRedirect(const KURL&, double interval, double fireDate) { }
00165     virtual void dispatchDidChangeLocationWithinPage() { }
00166     virtual void dispatchWillClose() { }
00167     virtual void dispatchDidReceiveIcon() { }
00168     virtual void dispatchDidStartProvisionalLoad() { }
00169     virtual void dispatchDidReceiveTitle(const String& title) { }
00170     virtual void dispatchDidCommitLoad() { }
00171     virtual void dispatchDidFailProvisionalLoad(const ResourceError&) { }
00172     virtual void dispatchDidFailLoad(const ResourceError&) { }
00173     virtual void dispatchDidFinishDocumentLoad() { }
00174     virtual void dispatchDidFinishLoad() { }
00175     virtual void dispatchDidFirstLayout() { }
00176     
00177     virtual Frame* dispatchCreatePage() { return 0; }
00178     virtual void dispatchShow() { }
00179     
00180     virtual void dispatchDecidePolicyForMIMEType(FramePolicyFunction, const String& MIMEType, const ResourceRequest&) { }
00181     virtual void dispatchDecidePolicyForNewWindowAction(FramePolicyFunction, const NavigationAction&, const ResourceRequest&, const String& frameName) { }
00182     virtual void dispatchDecidePolicyForNavigationAction(FramePolicyFunction, const NavigationAction&, const ResourceRequest&) { }
00183     virtual void cancelPolicyCheck() { }
00184     
00185     virtual void dispatchUnableToImplementPolicy(const ResourceError&) { }
00186 
00187     virtual void dispatchWillSubmitForm(FramePolicyFunction, PassRefPtr<FormState>) { }
00188     
00189     virtual void dispatchDidLoadMainResource(DocumentLoader*) { }
00190     virtual void revertToProvisionalState(DocumentLoader*) { }
00191     virtual void setMainDocumentError(DocumentLoader*, const ResourceError&) { }
00192     
00193     virtual void willChangeEstimatedProgress() { }
00194     virtual void didChangeEstimatedProgress() { }
00195     virtual void postProgressStartedNotification() { }
00196     virtual void postProgressEstimateChangedNotification() { }
00197     virtual void postProgressFinishedNotification() { }
00198     
00199     virtual void setMainFrameDocumentReady(bool) { }
00200     
00201     virtual void startDownload(const ResourceRequest&) { }
00202     
00203     virtual void willChangeTitle(DocumentLoader*) { }
00204     virtual void didChangeTitle(DocumentLoader*) { }
00205     
00206     virtual void committedLoad(DocumentLoader*, const char*, int) { }
00207     virtual void finishedLoading(DocumentLoader*) { }
00208     
00209     virtual ResourceError cancelledError(const ResourceRequest&) { return ResourceError(); }
00210     virtual ResourceError blockedError(const ResourceRequest&) { return ResourceError(); }
00211     virtual ResourceError cannotShowURLError(const ResourceRequest&) { return ResourceError(); }
00212     virtual ResourceError interruptForPolicyChangeError(const ResourceRequest&) { return ResourceError(); }
00213     
00214     virtual ResourceError cannotShowMIMETypeError(const ResourceResponse&) { return ResourceError(); }
00215     virtual ResourceError fileDoesNotExistError(const ResourceResponse&) { return ResourceError(); }
00216     
00217     virtual bool shouldFallBack(const ResourceError&) { return false; }
00218         
00219     virtual bool canHandleRequest(const ResourceRequest&) const { return false; }
00220     virtual bool canShowMIMEType(const String& MIMEType) const { return false; }
00221     virtual bool representationExistsForURLScheme(const String& URLScheme) const { return false; }
00222     virtual String generatedMIMETypeForURLScheme(const String& URLScheme) const { return ""; }
00223     
00224     virtual void frameLoadCompleted() { }
00225     virtual void restoreViewState() { }
00226     virtual void provisionalLoadStarted() { }
00227     virtual bool shouldTreatURLAsSameAsCurrent(const KURL&) const { return false; }
00228     virtual void addHistoryItemForFragmentScroll() { }
00229     virtual void didFinishLoad() { }
00230     virtual void prepareForDataSourceReplacement() { }
00231     
00232     virtual PassRefPtr<DocumentLoader> createDocumentLoader(const ResourceRequest& request, const SubstituteData& substituteData) { return new DocumentLoader(request, substituteData); }
00233     virtual void setTitle(const String& title, const KURL&) { }
00234     
00235     virtual String userAgent(const KURL&) { return ""; }
00236 
00237     virtual void savePlatformDataToCachedPage(CachedPage*) { }
00238     virtual void transitionToCommittedFromCachedPage(CachedPage*) { }
00239     virtual void transitionToCommittedForNewPage() { }    
00240 
00241     virtual void updateGlobalHistory(const KURL&) { }
00242     virtual bool shouldGoToHistoryItem(HistoryItem*) const { return false; }
00243     virtual void saveViewStateToItem(HistoryItem*) { }
00244     virtual bool canCachePage() const { return false; }
00245 
00246     virtual PassRefPtr<Frame> createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
00247                                const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) { return 0; }
00248     virtual Widget* createPlugin(const IntSize&,Element*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool) { return 0; }
00249     virtual Widget* createJavaAppletWidget(const IntSize&, Element*, const KURL&, const Vector<String>&, const Vector<String>&) { return 0; }
00250     
00251     virtual ObjectContentType objectContentType(const KURL& url, const String& mimeType) { return ObjectContentType(); }
00252     virtual String overrideMediaType() const { return String(); }
00253 
00254     virtual void redirectDataToPlugin(Widget*) {}
00255     virtual void windowObjectCleared() {}
00256     virtual void didPerformFirstNavigation() const {}
00257 
00258     virtual void registerForIconNotification(bool listen) {}
00259 
00260 #if PLATFORM(MAC)
00261     virtual NSCachedURLResponse* willCacheResponse(DocumentLoader*, unsigned long identifier, NSCachedURLResponse* response) const { return response; }
00262 #endif
00263 
00264 };
00265 
00266 class SVGEmptyEditorClient : public EditorClient {
00267 public:
00268     virtual ~SVGEmptyEditorClient() { }
00269     virtual void pageDestroyed() { }
00270     
00271     virtual bool shouldDeleteRange(Range*) { return false; }
00272     virtual bool shouldShowDeleteInterface(HTMLElement*) { return false; }
00273     virtual bool smartInsertDeleteEnabled() { return false; } 
00274     virtual bool isContinuousSpellCheckingEnabled() { return false; }
00275     virtual void toggleContinuousSpellChecking() { }
00276     virtual bool isGrammarCheckingEnabled() { return false; }
00277     virtual void toggleGrammarChecking() { }
00278     virtual int spellCheckerDocumentTag() { return -1; }
00279     
00280     virtual bool selectWordBeforeMenuEvent() { return false; }
00281     virtual bool isEditable() { return false; }
00282     
00283     virtual bool shouldBeginEditing(Range*) { return false; }
00284     virtual bool shouldEndEditing(Range*) { return false; }
00285     virtual bool shouldInsertNode(Node*, Range*, EditorInsertAction) { return false; }
00286     //  virtual bool shouldInsertNode(Node*, Range* replacingRange, WebViewInsertAction) { return false; }
00287     virtual bool shouldInsertText(const String&, Range*, EditorInsertAction) { return false; }
00288     virtual bool shouldChangeSelectedRange(Range* fromRange, Range* toRange, EAffinity, bool stillSelecting) { return false; }
00289 
00290     virtual bool shouldApplyStyle(CSSStyleDeclaration*, Range*) { return false; }
00291     virtual bool shouldMoveRangeAfterDelete(Range*, Range*) { return false; }
00292     //  virtual bool shouldChangeTypingStyle(CSSStyleDeclaration* fromStyle, CSSStyleDeclaration* toStyle) { return false; }
00293     //  virtual bool doCommandBySelector(SEL selector) { return false; }
00294     //
00295     virtual void didBeginEditing() { }
00296     virtual void respondToChangedContents() { }
00297     virtual void respondToChangedSelection() { }
00298     virtual void didEndEditing() { }
00299     virtual void didWriteSelectionToPasteboard() { }
00300     virtual void didSetSelectionTypesForPasteboard() { }
00301     //  virtual void webViewDidChangeTypingStyle:(NSNotification *)notification { }
00302     //  virtual void webViewDidChangeSelection:(NSNotification *)notification { }
00303     //  virtual NSUndoManager* undoManagerForWebView:(WebView *)webView { return 0; }
00304     
00305     virtual void registerCommandForUndo(PassRefPtr<EditCommand>) { }
00306     virtual void registerCommandForRedo(PassRefPtr<EditCommand>) { }
00307     virtual void clearUndoRedoOperations() { }
00308     
00309     virtual bool canUndo() const { return false; }
00310     virtual bool canRedo() const { return false; }
00311     
00312     virtual void undo() { }
00313     virtual void redo() { }
00314 
00315     virtual void handleKeyboardEvent(KeyboardEvent*) { }
00316     virtual void handleInputMethodKeydown(KeyboardEvent*) { }
00317 
00318     virtual void textFieldDidBeginEditing(Element*) { }
00319     virtual void textFieldDidEndEditing(Element*) { }
00320     virtual void textDidChangeInTextField(Element*) { }
00321     virtual bool doTextFieldCommandFromEvent(Element*, KeyboardEvent*) { return false; }
00322     virtual void textWillBeDeletedInTextField(Element*) { }
00323     virtual void textDidChangeInTextArea(Element*) { }
00324     
00325 #if PLATFORM(MAC)
00326     virtual void markedTextAbandoned(Frame*) { }
00327     
00328     virtual NSString* userVisibleString(NSURL*) { return 0; }
00329 #ifdef BUILDING_ON_TIGER
00330     virtual NSArray* pasteboardTypesForSelection(Frame*) { return 0; }
00331 #endif
00332 #endif
00333     virtual void ignoreWordInSpellDocument(const String&) { }
00334     virtual void learnWord(const String&) { }
00335     virtual void checkSpellingOfString(const UChar*, int length, int* misspellingLocation, int* misspellingLength) { }
00336     virtual void checkGrammarOfString(const UChar*, int length, Vector<GrammarDetail>&, int* badGrammarLocation, int* badGrammarLength) { }
00337     virtual void updateSpellingUIWithGrammarString(const String&, const GrammarDetail&) { }
00338     virtual void updateSpellingUIWithMisspelledWord(const String&) { }
00339     virtual void showSpellingUI(bool show) { }
00340     virtual bool spellingUIIsShowing() { return false; }
00341     virtual void getGuessesForWord(const String&, Vector<String>& guesses) { }
00342     virtual void setInputMethodState(bool enabled) { }
00343   
00344     
00345 };
00346 
00347 class SVGEmptyContextMenuClient : public ContextMenuClient {
00348 public:
00349     virtual ~SVGEmptyContextMenuClient() {  }
00350     virtual void contextMenuDestroyed() { }
00351     
00352     virtual PlatformMenuDescription getCustomMenuFromDefaultItems(ContextMenu*) { return 0; }
00353     virtual void contextMenuItemSelected(ContextMenuItem*, const ContextMenu*) { }
00354     
00355     virtual void downloadURL(const KURL& url) { }
00356     virtual void copyImageToClipboard(const HitTestResult&) { }
00357     virtual void searchWithGoogle(const Frame*) { }
00358     virtual void lookUpInDictionary(Frame*) { }
00359     virtual void speak(const String&) { }
00360     virtual void stopSpeaking() { }
00361 
00362 #if PLATFORM(MAC)
00363     virtual void searchWithSpotlight() { }
00364 #endif
00365 };
00366 
00367 class SVGEmptyDragClient : public DragClient {
00368 public:
00369     virtual ~SVGEmptyDragClient() {}
00370     virtual void willPerformDragDestinationAction(DragDestinationAction, DragData*) { }
00371     virtual void willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*) { }
00372     virtual DragDestinationAction actionMaskForDrag(DragData*) { return DragDestinationActionNone; }
00373     virtual DragSourceAction dragSourceActionMaskForPoint(const IntPoint&) { return DragSourceActionNone; }
00374     virtual void startDrag(DragImageRef, const IntPoint&, const IntPoint&, Clipboard*, Frame*, bool) { }
00375     virtual DragImageRef createDragImageForLink(KURL&, const String& label, Frame*) { return 0; } 
00376     virtual void dragControllerDestroyed() { }
00377 };
00378 
00379 class SVGEmptyInspectorClient : public InspectorClient {
00380 public:
00381     virtual ~SVGEmptyInspectorClient() {}
00382 
00383     virtual void inspectorDestroyed() {};
00384 
00385     virtual Page* createPage() { return 0; };
00386 
00387     virtual String localizedStringsURL() { return String(); };
00388 
00389     virtual void showWindow() {};
00390     virtual void closeWindow() {};
00391 
00392     virtual void attachWindow() {};
00393     virtual void detachWindow() {};
00394 
00395     virtual void highlight(Node*) {};
00396     virtual void hideHighlight() {};
00397     virtual void inspectedURLChanged(const String& newURL) {};
00398 };
00399     
00400 }
00401 
00402 #endif // ENABLE(SVG)
00403 
00404 #endif // SVGImageEmptyClients_h
00405 

KHTML

Skip menu "KHTML"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal