WebKit/wx/WebKitSupport/FrameLoaderClientWx.h
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     1 /*
       
     2  * Copyright (C) 2007 Kevin Ollivier <kevino@theolliviers.com>
       
     3  *
       
     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 #ifndef FrameLoaderClientWx_H
       
    29 #define FrameLoaderClientWx_H
       
    30 
       
    31 #include "FrameLoaderClient.h"
       
    32 #include "FrameLoader.h"
       
    33 #include "KURL.h"
       
    34 #include "PluginView.h"
       
    35 #include "ResourceResponse.h"
       
    36 #include "HTMLPlugInElement.h"
       
    37 
       
    38 class wxWebFrame;
       
    39 class wxWebView;
       
    40 
       
    41 namespace WebCore {
       
    42 
       
    43     class AuthenticationChallenge;
       
    44     class DocumentLoader;
       
    45     class Element;
       
    46     class FormState;
       
    47     class NavigationAction;
       
    48     class String;
       
    49     class ResourceLoader;
       
    50 
       
    51     struct LoadErrorResetToken;
       
    52 
       
    53     class FrameLoaderClientWx : public FrameLoaderClient {
       
    54     public:
       
    55         FrameLoaderClientWx();
       
    56         ~FrameLoaderClientWx();
       
    57         void setFrame(wxWebFrame *frame);
       
    58         void setWebView(wxWebView *webview);
       
    59 
       
    60         virtual bool hasWebView() const; // mainly for assertions
       
    61 
       
    62         virtual bool hasBackForwardList() const;
       
    63         virtual void resetBackForwardList();
       
    64 
       
    65         virtual bool provisionalItemIsTarget() const;
       
    66 
       
    67         virtual void makeRepresentation(DocumentLoader*);
       
    68         virtual void forceLayout();
       
    69         virtual void forceLayoutForNonHTML();
       
    70 
       
    71         virtual void updateHistoryForCommit();
       
    72 
       
    73         virtual void updateHistoryForBackForwardNavigation();
       
    74         virtual void updateHistoryForReload();
       
    75         virtual void updateHistoryForStandardLoad();
       
    76         virtual void updateHistoryForInternalLoad();
       
    77 
       
    78         virtual void updateHistoryAfterClientRedirect();
       
    79 
       
    80         virtual void setCopiesOnScroll();
       
    81 
       
    82         virtual LoadErrorResetToken* tokenForLoadErrorReset();
       
    83         virtual void resetAfterLoadError(LoadErrorResetToken*);
       
    84         virtual void doNotResetAfterLoadError(LoadErrorResetToken*);
       
    85 
       
    86         virtual void willCloseDocument();
       
    87 
       
    88         virtual void detachedFromParent2();
       
    89         virtual void detachedFromParent3();
       
    90 
       
    91         virtual void frameLoaderDestroyed();
       
    92         virtual bool canHandleRequest(const ResourceRequest&) const;
       
    93 
       
    94         virtual void dispatchDidHandleOnloadEvents();
       
    95         virtual void dispatchDidReceiveServerRedirectForProvisionalLoad();
       
    96         virtual void dispatchDidCancelClientRedirect();
       
    97         virtual void dispatchWillPerformClientRedirect(const KURL&, double interval, double fireDate);
       
    98         virtual void dispatchDidChangeLocationWithinPage();
       
    99         virtual void dispatchDidPushStateWithinPage();
       
   100         virtual void dispatchDidReplaceStateWithinPage();
       
   101         virtual void dispatchDidPopStateWithinPage();
       
   102         virtual void dispatchWillClose();
       
   103         virtual void dispatchDidReceiveIcon();
       
   104         virtual void dispatchDidStartProvisionalLoad();
       
   105         virtual void dispatchDidReceiveTitle(const String& title);
       
   106         virtual void dispatchDidCommitLoad();
       
   107         virtual void dispatchDidFinishDocumentLoad();
       
   108         virtual void dispatchDidFinishLoad();
       
   109         virtual void dispatchDidFirstLayout();
       
   110         virtual void dispatchDidFirstVisuallyNonEmptyLayout();
       
   111         virtual void dispatchDidChangeIcons();
       
   112 
       
   113         virtual void dispatchShow();
       
   114         virtual void cancelPolicyCheck();
       
   115 
       
   116         virtual void dispatchWillSendSubmitEvent(HTMLFormElement*) { }
       
   117         virtual void dispatchWillSubmitForm(FramePolicyFunction, PassRefPtr<FormState>);
       
   118 
       
   119         virtual void dispatchDidLoadMainResource(DocumentLoader*);
       
   120         virtual void revertToProvisionalState(DocumentLoader*);
       
   121 
       
   122         virtual void postProgressStartedNotification();
       
   123         virtual void postProgressEstimateChangedNotification();
       
   124         virtual void postProgressFinishedNotification();
       
   125 
       
   126         virtual void progressStarted();
       
   127         virtual void progressCompleted();
       
   128         virtual void setMainFrameDocumentReady(bool);
       
   129         virtual void willChangeTitle(DocumentLoader*);
       
   130         virtual void didChangeTitle(DocumentLoader*);
       
   131         virtual void finishedLoading(DocumentLoader*);
       
   132 
       
   133         virtual bool canShowMIMEType(const String& MIMEType) const;
       
   134         virtual bool representationExistsForURLScheme(const String& URLScheme) const;
       
   135         virtual String generatedMIMETypeForURLScheme(const String& URLScheme) const;
       
   136 
       
   137         virtual void frameLoadCompleted();
       
   138         virtual void saveViewStateToItem(HistoryItem*);
       
   139         virtual void restoreViewState();
       
   140         virtual void restoreScrollPositionAndViewState();
       
   141         virtual void provisionalLoadStarted();
       
   142         virtual bool shouldTreatURLAsSameAsCurrent(const KURL&) const;
       
   143         virtual void addHistoryItemForFragmentScroll();
       
   144         virtual void didFinishLoad();
       
   145         virtual void prepareForDataSourceReplacement();
       
   146         virtual void setTitle(const String& title, const KURL&);
       
   147 
       
   148         virtual String userAgent(const KURL&);
       
   149 
       
   150         virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*);
       
   151         virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
       
   152         virtual void transitionToCommittedForNewPage();
       
   153         
       
   154         virtual void updateGlobalHistory();
       
   155         virtual void updateGlobalHistoryRedirectLinks();
       
   156         virtual bool shouldGoToHistoryItem(HistoryItem*) const;
       
   157         virtual void dispatchDidAddBackForwardItem(HistoryItem*) const;
       
   158         virtual void dispatchDidRemoveBackForwardItem(HistoryItem*) const;
       
   159         virtual void dispatchDidChangeBackForwardIndex() const;
       
   160         virtual void saveScrollPositionAndViewStateToItem(HistoryItem*);
       
   161         virtual bool canCachePage() const;
       
   162         
       
   163         virtual void didDisplayInsecureContent();
       
   164         virtual void didRunInsecureContent(SecurityOrigin*);
       
   165 
       
   166         virtual void setMainDocumentError(DocumentLoader*, const ResourceError&);
       
   167         virtual void committedLoad(DocumentLoader*, const char*, int);
       
   168         virtual ResourceError cancelledError(const ResourceRequest&);
       
   169         virtual ResourceError blockedError(const ResourceRequest&);
       
   170         virtual ResourceError cannotShowURLError(const ResourceRequest&);
       
   171         virtual ResourceError interruptForPolicyChangeError(const ResourceRequest&);
       
   172         virtual ResourceError cannotShowMIMETypeError(const ResourceResponse&);
       
   173         virtual ResourceError fileDoesNotExistError(const ResourceResponse&);
       
   174         virtual bool shouldFallBack(const ResourceError&);
       
   175         virtual WTF::PassRefPtr<DocumentLoader> createDocumentLoader(const ResourceRequest&, const SubstituteData&);
       
   176         virtual void download(ResourceHandle*, const ResourceRequest&, const ResourceRequest&, const ResourceResponse&);
       
   177 
       
   178         virtual void assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader*, const ResourceRequest&);
       
   179         
       
   180         virtual void dispatchWillSendRequest(DocumentLoader*, unsigned long, ResourceRequest&, const ResourceResponse&);
       
   181         virtual bool shouldUseCredentialStorage(DocumentLoader*, unsigned long identifier);
       
   182         virtual void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&);
       
   183         virtual void dispatchDidCancelAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&);
       
   184         virtual void dispatchDidReceiveResponse(DocumentLoader*, unsigned long, const ResourceResponse&);
       
   185         virtual void dispatchDidReceiveContentLength(DocumentLoader*, unsigned long, int);
       
   186         virtual void dispatchDidFinishLoading(DocumentLoader*, unsigned long);
       
   187         virtual void dispatchDidFailLoading(DocumentLoader*, unsigned long, const ResourceError&);
       
   188         virtual bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int);
       
   189 
       
   190         virtual void dispatchDidFailProvisionalLoad(const ResourceError&);
       
   191         virtual void dispatchDidFailLoad(const ResourceError&);
       
   192         virtual Frame* dispatchCreatePage();
       
   193         virtual void dispatchDecidePolicyForMIMEType(FramePolicyFunction function, const String&, const ResourceRequest&);
       
   194         virtual void dispatchDecidePolicyForNewWindowAction(FramePolicyFunction function, const NavigationAction&, const ResourceRequest&, PassRefPtr<FormState>, const String&);
       
   195         virtual void dispatchDecidePolicyForNavigationAction(FramePolicyFunction function, const NavigationAction&, const ResourceRequest&, PassRefPtr<FormState>);
       
   196         virtual void dispatchUnableToImplementPolicy(const ResourceError&);
       
   197 
       
   198         virtual void startDownload(const ResourceRequest&);
       
   199         
       
   200         // FIXME: This should probably not be here, but it's needed for the tests currently
       
   201         virtual void partClearedInBegin();
       
   202 
       
   203         virtual PassRefPtr<Frame> createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
       
   204                                    const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
       
   205         virtual void didTransferChildFrameToNewDocument();
       
   206         virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually) ;
       
   207         virtual void redirectDataToPlugin(Widget* pluginWidget);
       
   208         virtual ResourceError pluginWillHandleLoadError(const ResourceResponse&);
       
   209         
       
   210         virtual PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL& baseURL, const Vector<String>& paramNames, const Vector<String>& paramValues);
       
   211 
       
   212         virtual ObjectContentType objectContentType(const KURL& url, const String& mimeType);
       
   213         virtual String overrideMediaType() const;
       
   214 
       
   215         virtual void dispatchDidClearWindowObjectInWorld(DOMWrapperWorld*);
       
   216         virtual void documentElementAvailable();
       
   217         
       
   218         virtual void didPerformFirstNavigation() const;
       
   219         
       
   220         virtual void registerForIconNotification(bool listen = true);
       
   221         
       
   222         virtual bool shouldUsePluginDocument(const String &mimeType) const;
       
   223 
       
   224     private:
       
   225         wxWebFrame *m_webFrame;
       
   226         Frame* m_frame;
       
   227         wxWebView *m_webView;
       
   228         PluginView* m_pluginView;
       
   229         bool m_hasSentResponseToPlugin;
       
   230         ResourceResponse m_response;
       
   231         bool m_firstData;
       
   232     };
       
   233 
       
   234 }
       
   235 
       
   236 #endif