WebFrameLoaderClient.h revision 2daae5fd11344eaa88a0d92b0f6d65f8d2255c00
18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 22bde8e466a4451c7319e3a072d118917957d6554Steve Block * Copyright (C) 2010, 2011 Apple Inc. All rights reserved. 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met: 765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 1. Redistributions of source code must retain the above copyright 865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * notice, this list of conditions and the following disclaimer. 965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * 2. Redistributions in binary form must reproduce the above copyright 1065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * notice, this list of conditions and the following disclaimer in the 1165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * documentation and/or other materials provided with the distribution. 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' 1465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 1565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 1665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS 1765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 1865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 1965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 2365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch * THE POSSIBILITY OF SUCH DAMAGE. 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#ifndef WebFrameLoaderClient_h 2765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#define WebFrameLoaderClient_h 2865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 2965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <WebCore/FrameLoaderClient.h> 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 3165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochnamespace WebKit { 3265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 3365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass PluginView; 3465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdochclass WebFrame; 3565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass WebFrameLoaderClient : public WebCore::FrameLoaderClient { 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpublic: 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project WebFrameLoaderClient(WebFrame*); 3965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch ~WebFrameLoaderClient(); 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 4165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebFrame* webFrame() const { return m_frame; } 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 4365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool frameHasCustomRepresentation() const { return m_frameHasCustomRepresentation; } 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectprivate: 4665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void frameLoaderDestroyed(); 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool hasHTMLView() const; 4965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual bool hasWebView() const; 5065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 5165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void makeRepresentation(WebCore::DocumentLoader*); 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void forceLayout(); 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void forceLayoutForNonHTML(); 5465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void setCopiesOnScroll(); 5665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void detachedFromParent2(); 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void detachedFromParent3(); 5965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&); 6165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse); 63635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long identifier); 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&); 6565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void dispatchDidCancelAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&); 6621939df44de1705786c545cd1bf519d47250322dBen Murdoch#if USE(PROTECTION_SPACE_AUTH_CALLBACK) 6721939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual bool canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ProtectionSpace&); 6821939df44de1705786c545cd1bf519d47250322dBen Murdoch#endif 698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&); 702daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int dataLength); 718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier); 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&); 7365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int length); 7465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void dispatchDidLoadResourceByXMLHttpRequest(unsigned long identifier, const WTF::String&); 7565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidHandleOnloadEvents(); 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidReceiveServerRedirectForProvisionalLoad(); 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidCancelClientRedirect(); 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchWillPerformClientRedirect(const WebCore::KURL&, double interval, double fireDate); 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidChangeLocationWithinPage(); 81643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void dispatchDidPushStateWithinPage(); 82643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void dispatchDidReplaceStateWithinPage(); 83643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void dispatchDidPopStateWithinPage(); 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchWillClose(); 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidReceiveIcon(); 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidStartProvisionalLoad(); 872daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void dispatchDidReceiveTitle(const WebCore::StringWithDirection&); 8821939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual void dispatchDidChangeIcons(); 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidCommitLoad(); 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFailProvisionalLoad(const WebCore::ResourceError&); 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFailLoad(const WebCore::ResourceError&); 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFinishDocumentLoad(); 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFinishLoad(); 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFirstLayout(); 95635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual void dispatchDidFirstVisuallyNonEmptyLayout(); 9665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 97e14391e94c850b8bd03680c23b38978db68687a8John Reck virtual WebCore::Frame* dispatchCreatePage(const WebCore::NavigationAction&); 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchShow(); 9965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 10081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual void dispatchDecidePolicyForResponse(WebCore::FramePolicyFunction, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&); 10165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void dispatchDecidePolicyForNewWindowAction(WebCore::FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<WebCore::FormState>, const String& frameName); 10265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void dispatchDecidePolicyForNavigationAction(WebCore::FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<WebCore::FormState>); 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void cancelPolicyCheck(); 10465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchUnableToImplementPolicy(const WebCore::ResourceError&); 10665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 10721939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual void dispatchWillSendSubmitEvent(WebCore::HTMLFormElement*) { } 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchWillSubmitForm(WebCore::FramePolicyFunction, PassRefPtr<WebCore::FormState>); 10965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidLoadMainResource(WebCore::DocumentLoader*); 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void revertToProvisionalState(WebCore::DocumentLoader*); 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void setMainDocumentError(WebCore::DocumentLoader*, const WebCore::ResourceError&); 11365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 11465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch // Maybe these should go into a ProgressTrackerClient some day 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void willChangeEstimatedProgress(); 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void didChangeEstimatedProgress(); 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void postProgressStartedNotification(); 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void postProgressEstimateChangedNotification(); 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void postProgressFinishedNotification(); 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void setMainFrameDocumentReady(bool); 12265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void startDownload(const WebCore::ResourceRequest&); 12465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void willChangeTitle(WebCore::DocumentLoader*); 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void didChangeTitle(WebCore::DocumentLoader*); 12765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void committedLoad(WebCore::DocumentLoader*, const char*, int); 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void finishedLoading(WebCore::DocumentLoader*); 13065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 131635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual void updateGlobalHistory(); 132563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark virtual void updateGlobalHistoryRedirectLinks(); 13365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const; 13581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual bool shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const; 136ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch virtual void dispatchDidAddBackForwardItem(WebCore::HistoryItem*) const; 137ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch virtual void dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const; 138ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch virtual void dispatchDidChangeBackForwardIndex() const; 1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 140231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual void didDisplayInsecureContent(); 1412fc2651226baac27029e38c9d6ef883fa32084dbSteve Block virtual void didRunInsecureContent(WebCore::SecurityOrigin*, const WebCore::KURL&); 142231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError cancelledError(const WebCore::ResourceRequest&); 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&); 1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError cannotShowURLError(const WebCore::ResourceRequest&); 1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError interruptForPolicyChangeError(const WebCore::ResourceRequest&); 14765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError cannotShowMIMETypeError(const WebCore::ResourceResponse&); 1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError fileDoesNotExistError(const WebCore::ResourceResponse&); 1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError pluginWillHandleLoadError(const WebCore::ResourceResponse&); 15165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool shouldFallBack(const WebCore::ResourceError&); 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool canHandleRequest(const WebCore::ResourceRequest&) const; 15565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual bool canShowMIMEType(const String& MIMEType) const; 15665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual bool canShowMIMETypeAsHTML(const String& MIMEType) const; 15765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual bool representationExistsForURLScheme(const String& URLScheme) const; 15865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual String generatedMIMETypeForURLScheme(const String& URLScheme) const; 15965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void frameLoadCompleted(); 1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void saveViewStateToItem(WebCore::HistoryItem*); 1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void restoreViewState(); 1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void provisionalLoadStarted(); 1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void didFinishLoad(); 1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void prepareForDataSourceReplacement(); 16665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual PassRefPtr<WebCore::DocumentLoader> createDocumentLoader(const WebCore::ResourceRequest&, const WebCore::SubstituteData&); 1682daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void setTitle(const WebCore::StringWithDirection&, const WebCore::KURL&); 16965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 17065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual String userAgent(const WebCore::KURL&); 17165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 17265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*); 17365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*); 17465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void transitionToCommittedForNewPage(); 17565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 17665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void didSaveToPageCache(); 17765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void didRestoreFromPageCache(); 1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 17965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void dispatchDidBecomeFrameset(bool); 1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 18165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual bool canCachePage() const; 18265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void download(WebCore::ResourceHandle*, const WebCore::ResourceRequest&, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&); 1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 18465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const String& name, WebCore::HTMLFrameOwnerElement* ownerElement, 18565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight); 18665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void didTransferChildFrameToNewDocument(WebCore::Page*); 18765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void transferLoadingResourceFromPage(unsigned long, WebCore::DocumentLoader*, const WebCore::ResourceRequest&, WebCore::Page*); 1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 18965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually); 19065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget); 191967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch 19265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual PassRefPtr<WebCore::Widget> createJavaAppletWidget(const WebCore::IntSize&, WebCore::HTMLAppletElement*, const WebCore::KURL& baseURL, const Vector<String>& paramNames, const Vector<String>& paramValues); 1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1942bde8e466a4451c7319e3a072d118917957d6554Steve Block virtual WebCore::ObjectContentType objectContentType(const WebCore::KURL&, const String& mimeType, bool shouldPreferPlugInsForImages); 19565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual String overrideMediaType() const; 1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 19765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void dispatchDidClearWindowObjectInWorld(WebCore::DOMWrapperWorld*); 1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 19965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void documentElementAvailable(); 20065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void didPerformFirstNavigation() const; // "Navigation" here means a transition from one page to another that ends up in the back/forward list. 20165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 20265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual void registerForIconNotification(bool listen = true); 20365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 20465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if PLATFORM(MAC) 20565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual RemoteAXObjectRef accessibilityRemoteObject(); 20665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 20765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if ENABLE(MAC_JAVA_BRIDGE) 2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual jobject javaApplet(NSView*); 2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 21065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual NSCachedURLResponse* willCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, NSCachedURLResponse*) const; 21165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif 21265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#if USE(CFNETWORK) 21365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual bool shouldCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&, const unsigned char* data, unsigned long long length); 214cad810f21b803229eb11403f9209855525a25d57Steve Block#endif 215cad810f21b803229eb11403f9209855525a25d57Steve Block 21665f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch virtual bool shouldUsePluginDocument(const String& /*mimeType*/) const; 21781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 21881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual void didChangeScrollOffset(); 21981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 2205abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext(); 2215abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick 22265f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch WebFrame* m_frame; 22365f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch RefPtr<PluginView> m_pluginView; 22465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool m_hasSentResponseToPluginView; 22565f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch bool m_frameHasCustomRepresentation; 2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}; 22765f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 22865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch} // namespace WebKit 22965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 23065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif // WebFrameLoaderClient_h 231