10bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch/* 20bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2006 Zack Rusin <zack@kde.org> 32bde8e466a4451c7319e3a072d118917957d6554Steve Block * Copyright (C) 2006, 2011 Apple Inc. All rights reserved. 40bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2007 Ryan Leavengood <leavengood@gmail.com> All rights reserved. 50bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 60bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 70bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Redistribution and use in source and binary forms, with or without 80bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * modification, are permitted provided that the following conditions 90bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * are met: 100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 1. Redistributions of source code must retain the above copyright 110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * notice, this list of conditions and the following disclaimer. 120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 2. Redistributions in binary form must reproduce the above copyright 130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * notice, this list of conditions and the following disclaimer in the 140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * documentation and/or other materials provided with the distribution. 150bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch */ 280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#ifndef FrameLoaderClientHaiku_h 300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#define FrameLoaderClientHaiku_h 310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "FrameLoader.h" 330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "FrameLoaderClient.h" 340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "KURL.h" 350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "ResourceResponse.h" 36dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#include <wtf/Forward.h> 370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochclass BMessenger; 390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochclass WebView; 400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochnamespace WebCore { 420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch class AuthenticationChallenge; 430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch class DocumentLoader; 440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch class Element; 450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch class FormState; 460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch class NavigationAction; 470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch class ResourceLoader; 480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch struct LoadErrorResetToken; 500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch class FrameLoaderClientHaiku : public FrameLoaderClient { 520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch public: 530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch FrameLoaderClientHaiku(); 540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch ~FrameLoaderClientHaiku() { } 550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void setFrame(Frame*); 560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void setWebView(WebView*); 570bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void detachFrameLoader(); 580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual bool hasWebView() const; 600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual bool hasBackForwardList() const; 620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void resetBackForwardList(); 630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual bool provisionalItemIsTarget() const; 650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void makeRepresentation(DocumentLoader*); 670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void forceLayout(); 680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void forceLayoutForNonHTML(); 690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void updateHistoryForCommit(); 710bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void updateHistoryForBackForwardNavigation(); 730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void updateHistoryForReload(); 740bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void updateHistoryForStandardLoad(); 750bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void updateHistoryForInternalLoad(); 760bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 770bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void updateHistoryAfterClientRedirect(); 780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void setCopiesOnScroll(); 800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual LoadErrorResetToken* tokenForLoadErrorReset(); 820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void resetAfterLoadError(LoadErrorResetToken*); 830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void doNotResetAfterLoadError(LoadErrorResetToken*); 840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void willCloseDocument(); 860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void detachedFromParent2(); 880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void detachedFromParent3(); 890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void frameLoaderDestroyed(); 910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual bool canHandleRequest(const ResourceRequest&) const; 930bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidHandleOnloadEvents(); 950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidReceiveServerRedirectForProvisionalLoad(); 960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidCancelClientRedirect(); 97643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void dispatchWillPerformClientRedirect(const KURL&, double interval, double fireDate); 980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidChangeLocationWithinPage(); 99643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void dispatchDidPushStateWithinPage(); 100643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void dispatchDidReplaceStateWithinPage(); 101643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void dispatchDidPopStateWithinPage(); 1020bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchWillClose(); 1030bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidReceiveIcon(); 1040bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidStartProvisionalLoad(); 1052daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void dispatchDidReceiveTitle(const StringWithDirection& title); 1060bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidCommitLoad(); 1070bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidFinishDocumentLoad(); 1080bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidFinishLoad(); 1090bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidFirstLayout(); 1100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidFirstVisuallyNonEmptyLayout(); 1110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchShow(); 1130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void cancelPolicyCheck(); 1140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 11521939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual void dispatchWillSendSubmitEvent(HTMLFormElement*) { } 1160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchWillSubmitForm(FramePolicyFunction, PassRefPtr<FormState>); 1170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidLoadMainResource(DocumentLoader*); 1190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void revertToProvisionalState(DocumentLoader*); 1200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void postProgressStartedNotification(); 1220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void postProgressEstimateChangedNotification(); 1230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void postProgressFinishedNotification(); 1240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void progressStarted(); 1260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void progressCompleted(); 1270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void setMainFrameDocumentReady(bool); 1280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void willChangeTitle(DocumentLoader*); 1290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void didChangeTitle(DocumentLoader*); 1300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void finishedLoading(DocumentLoader*); 1310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual bool canShowMIMEType(const String& MIMEType) const; 13368513a70bcd92384395513322f1b801e7bf9c729Steve Block virtual bool canShowMIMETypeAsHTML(const String& MIMEType) const; 1340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual bool representationExistsForURLScheme(const String& URLScheme) const; 1350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual String generatedMIMETypeForURLScheme(const String& URLScheme) const; 1360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void frameLoadCompleted(); 1380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void saveViewStateToItem(HistoryItem*); 1390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void restoreViewState(); 1400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void restoreScrollPositionAndViewState(); 1410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void provisionalLoadStarted(); 1420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual bool shouldTreatURLAsSameAsCurrent(const KURL&) const; 1430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void addHistoryItemForFragmentScroll(); 1440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void didFinishLoad(); 1450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void prepareForDataSourceReplacement(); 1462daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void setTitle(const StringWithDirection&, const KURL&); 1470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual String userAgent(const KURL&); 1490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*); 1510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*); 1520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void transitionToCommittedForNewPage(); 1530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 154cad810f21b803229eb11403f9209855525a25d57Steve Block virtual void didSaveToPageCache(); 155cad810f21b803229eb11403f9209855525a25d57Steve Block virtual void didRestoreFromPageCache(); 156cad810f21b803229eb11403f9209855525a25d57Steve Block 157e14391e94c850b8bd03680c23b38978db68687a8John Reck virtual void dispatchDidBecomeFrameset(bool); 158e14391e94c850b8bd03680c23b38978db68687a8John Reck 1590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void updateGlobalHistory(); 1600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void updateGlobalHistoryRedirectLinks(); 1610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual bool shouldGoToHistoryItem(HistoryItem*) const; 16281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual bool shouldStopLoadingForHistoryItem(HistoryItem*) const; 163ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch virtual void dispatchDidAddBackForwardItem(HistoryItem*) const; 164ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch virtual void dispatchDidRemoveBackForwardItem(HistoryItem*) const; 165ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch virtual void dispatchDidChangeBackForwardIndex() const; 1660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void saveScrollPositionAndViewStateToItem(HistoryItem*); 1670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual bool canCachePage() const; 1680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void setMainDocumentError(DocumentLoader*, const ResourceError&); 1700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void committedLoad(DocumentLoader*, const char*, int); 1710bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual ResourceError cancelledError(const ResourceRequest&); 1720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual ResourceError blockedError(const ResourceRequest&); 1730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual ResourceError cannotShowURLError(const ResourceRequest&); 1740bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual ResourceError interruptForPolicyChangeError(const ResourceRequest&); 1750bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual ResourceError cannotShowMIMETypeError(const ResourceResponse&); 1760bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual ResourceError fileDoesNotExistError(const ResourceResponse&); 1770bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual bool shouldFallBack(const ResourceError&); 1780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual WTF::PassRefPtr<DocumentLoader> createDocumentLoader(const ResourceRequest&, 1790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const SubstituteData&); 1800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void download(ResourceHandle*, const ResourceRequest&, const ResourceRequest&, 1810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const ResourceResponse&); 1820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void assignIdentifierToInitialRequest(unsigned long identifier, 1840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch DocumentLoader*, 1850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const ResourceRequest&); 1860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchWillSendRequest(DocumentLoader*, unsigned long, ResourceRequest&, 1880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const ResourceResponse&); 1890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual bool shouldUseCredentialStorage(DocumentLoader*, unsigned long identifier); 1900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, 1910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch unsigned long identifier, 1920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const AuthenticationChallenge&); 1930bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidCancelAuthenticationChallenge(DocumentLoader*, 1940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch unsigned long identifier, 1950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const AuthenticationChallenge&); 1960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidReceiveResponse(DocumentLoader*, unsigned long, 1970bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const ResourceResponse&); 1980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidReceiveContentLength(DocumentLoader*, unsigned long, int); 1990bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidFinishLoading(DocumentLoader*, unsigned long); 2000bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidFailLoading(DocumentLoader*, unsigned long, 2010bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const ResourceError&); 2020bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, 2030bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const ResourceRequest&, 2040bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const ResourceResponse&, int); 2050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2060bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidFailProvisionalLoad(const ResourceError&); 2070bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDidFailLoad(const ResourceError&); 208e14391e94c850b8bd03680c23b38978db68687a8John Reck virtual Frame* dispatchCreatePage(const NavigationAction&); 20981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual void dispatchDecidePolicyForResponse(FramePolicyFunction, 21081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch const ResourceResponse&, 2110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const ResourceRequest&); 2120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDecidePolicyForNewWindowAction(FramePolicyFunction, 2130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const NavigationAction&, 2140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const ResourceRequest&, 2150bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch PassRefPtr<FormState>, const String&); 2160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchDecidePolicyForNavigationAction(FramePolicyFunction, 2170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const NavigationAction&, 2180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const ResourceRequest&, 2190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch PassRefPtr<FormState>); 2200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void dispatchUnableToImplementPolicy(const ResourceError&); 2210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void startDownload(const ResourceRequest&); 2230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch // FIXME: This should probably not be here, but it's needed for the tests currently. 2250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void partClearedInBegin(); 2260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual PassRefPtr<Frame> createFrame(const KURL& url, const String& name, 2280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch HTMLFrameOwnerElement*, const String& referrer, 2290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch bool allowsScrolling, int marginWidth, int marginHeight); 230bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen virtual void didTransferChildFrameToNewDocument(WebCore::Page*); 231e14391e94c850b8bd03680c23b38978db68687a8John Reck virtual void transferLoadingResourceFromPage(unsigned long, WebCore::DocumentLoader*, const ResourceRequest&, WebCore::Page*); 2320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, 2330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const Vector<String>&, const Vector<String>&, const String&, 2340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch bool loadManually); 2350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void redirectDataToPlugin(Widget* pluginWidget); 2360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual ResourceError pluginWillHandleLoadError(const ResourceResponse&); 2370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, 2390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const KURL& baseURL, const Vector<String>& paramNames, 2400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch const Vector<String>& paramValues); 2410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2422bde8e466a4451c7319e3a072d118917957d6554Steve Block virtual ObjectContentType objectContentType(const KURL&, const String& mimeType, bool shouldPreferPlugInsForImages); 2430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual String overrideMediaType() const; 2440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 245643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void dispatchDidClearWindowObjectInWorld(DOMWrapperWorld*); 2460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void documentElementAvailable(); 2470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void didPerformFirstNavigation() const; 2490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual void registerForIconNotification(bool listen = true); 2510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch private: 2530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch Frame* m_frame; 2540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch WebView* m_webView; 2550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch BMessenger* m_messenger; 2560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch ResourceResponse m_response; 2570bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch bool m_firstData; 2580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch }; 2590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} // namespace WebCore 2600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 2610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#endif // FrameLoaderClientHaiku_h 262