WebFrameLoaderClient.h revision 2bde8e466a4451c7319e3a072d118917957d6554
18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 22bde8e466a4451c7319e3a072d118917957d6554Steve Block * Copyright (C) 2006, 2007, 2008, 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: 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer. 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer in the 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation and/or other materials provided with the distribution. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * its contributors may be used to endorse or promote products derived 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * from this software without specific prior written permission. 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#import <WebCore/FrameLoaderClient.h> 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#import <WebCore/Timer.h> 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#import <wtf/Forward.h> 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#import <wtf/HashMap.h> 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#import <wtf/RetainPtr.h> 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class WebDownload; 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class WebFrame; 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class WebFramePolicyListener; 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class WebHistoryItem; 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class WebResource; 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore { 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project class AuthenticationChallenge; 43635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project class CachedFrame; 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project class HistoryItem; 4521939df44de1705786c545cd1bf519d47250322dBen Murdoch class ProtectionSpace; 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project class ResourceLoader; 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project class ResourceRequest; 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef HashMap<RefPtr<WebCore::ResourceLoader>, RetainPtr<WebResource> > ResourceMap; 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass WebFrameLoaderClient : public WebCore::FrameLoaderClient { 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpublic: 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project WebFrameLoaderClient(WebFrame*); 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project WebFrame* webFrame() const { return m_webFrame.get(); } 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void frameLoaderDestroyed(); 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void receivedPolicyDecison(WebCore::PolicyAction); 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectprivate: 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool hasWebView() const; // mainly for assertions 638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void makeRepresentation(WebCore::DocumentLoader*); 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool hasHTMLView() const; 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void forceLayout(); 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void forceLayoutForNonHTML(); 688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void setCopiesOnScroll(); 708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void detachedFromParent2(); 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void detachedFromParent3(); 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void download(WebCore::ResourceHandle*, const WebCore::ResourceRequest&, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&); 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&); 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse); 79635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long identifier); 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&); 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidCancelAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&); 8221939df44de1705786c545cd1bf519d47250322dBen Murdoch#if USE(PROTECTION_SPACE_AUTH_CALLBACK) 8321939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual bool canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ProtectionSpace&); 8421939df44de1705786c545cd1bf519d47250322dBen Murdoch#endif 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&); 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int lengthReceived); 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier); 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&); 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual NSCachedURLResponse* willCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, NSCachedURLResponse*) const; 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidHandleOnloadEvents(); 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidReceiveServerRedirectForProvisionalLoad(); 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidCancelClientRedirect(); 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchWillPerformClientRedirect(const WebCore::KURL&, double interval, double fireDate); 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidChangeLocationWithinPage(); 97643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void dispatchDidPushStateWithinPage(); 98643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void dispatchDidReplaceStateWithinPage(); 99643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void dispatchDidPopStateWithinPage(); 100643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchWillClose(); 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidReceiveIcon(); 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidStartProvisionalLoad(); 104dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual void dispatchDidReceiveTitle(const WTF::String& title); 10521939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual void dispatchDidChangeIcons(); 1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidCommitLoad(); 1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFailProvisionalLoad(const WebCore::ResourceError&); 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFailLoad(const WebCore::ResourceError&); 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFinishDocumentLoad(); 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFinishLoad(); 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidFirstLayout(); 112635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual void dispatchDidFirstVisuallyNonEmptyLayout(); 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 114e14391e94c850b8bd03680c23b38978db68687a8John Reck virtual WebCore::Frame* dispatchCreatePage(const WebCore::NavigationAction&); 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchShow(); 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 11781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual void dispatchDecidePolicyForResponse(WebCore::FramePolicyFunction, 11881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch const WebCore::ResourceResponse&, const WebCore::ResourceRequest&); 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDecidePolicyForNewWindowAction(WebCore::FramePolicyFunction, 120dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<WebCore::FormState>, const WTF::String& frameName); 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDecidePolicyForNavigationAction(WebCore::FramePolicyFunction, 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<WebCore::FormState>); 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void cancelPolicyCheck(); 1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchUnableToImplementPolicy(const WebCore::ResourceError&); 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 12721939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual void dispatchWillSendSubmitEvent(WebCore::HTMLFormElement*) { } 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchWillSubmitForm(WebCore::FramePolicyFunction, PassRefPtr<WebCore::FormState>); 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDidLoadMainResource(WebCore::DocumentLoader*); 1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void revertToProvisionalState(WebCore::DocumentLoader*); 1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void setMainDocumentError(WebCore::DocumentLoader*, const WebCore::ResourceError&); 1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int length); 1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void willChangeEstimatedProgress(); 1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void didChangeEstimatedProgress(); 1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void postProgressStartedNotification(); 1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void postProgressEstimateChangedNotification(); 1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void postProgressFinishedNotification(); 1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void setMainFrameDocumentReady(bool); 1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void startDownload(const WebCore::ResourceRequest&); 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void willChangeTitle(WebCore::DocumentLoader*); 1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void didChangeTitle(WebCore::DocumentLoader*); 1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void committedLoad(WebCore::DocumentLoader*, const char*, int); 1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void finishedLoading(WebCore::DocumentLoader*); 150635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual void updateGlobalHistory(); 151563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark virtual void updateGlobalHistoryRedirectLinks(); 152635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const; 15481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual bool shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const; 155ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch virtual void dispatchDidAddBackForwardItem(WebCore::HistoryItem*) const; 156ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch virtual void dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const; 157ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch virtual void dispatchDidChangeBackForwardIndex() const; 15881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual void updateGlobalHistoryItemForPage(); 1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 160231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual void didDisplayInsecureContent(); 1612fc2651226baac27029e38c9d6ef883fa32084dbSteve Block virtual void didRunInsecureContent(WebCore::SecurityOrigin*, const WebCore::KURL&); 162231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError cancelledError(const WebCore::ResourceRequest&); 1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&); 1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError cannotShowURLError(const WebCore::ResourceRequest&); 1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError interruptForPolicyChangeError(const WebCore::ResourceRequest&); 1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError cannotShowMIMETypeError(const WebCore::ResourceResponse&); 1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError fileDoesNotExistError(const WebCore::ResourceResponse&); 1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError pluginWillHandleLoadError(const WebCore::ResourceResponse&); 1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool shouldFallBack(const WebCore::ResourceError&); 1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 174dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual WTF::String userAgent(const WebCore::KURL&); 1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 176635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*); 177635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*); 1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void transitionToCommittedForNewPage(); 1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 180cad810f21b803229eb11403f9209855525a25d57Steve Block virtual void didSaveToPageCache(); 181cad810f21b803229eb11403f9209855525a25d57Steve Block virtual void didRestoreFromPageCache(); 182cad810f21b803229eb11403f9209855525a25d57Steve Block 183e14391e94c850b8bd03680c23b38978db68687a8John Reck virtual void dispatchDidBecomeFrameset(bool); 184e14391e94c850b8bd03680c23b38978db68687a8John Reck 1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool canHandleRequest(const WebCore::ResourceRequest&) const; 186dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual bool canShowMIMEType(const WTF::String& MIMEType) const; 18768513a70bcd92384395513322f1b801e7bf9c729Steve Block virtual bool canShowMIMETypeAsHTML(const WTF::String& MIMEType) const; 188dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual bool representationExistsForURLScheme(const WTF::String& URLScheme) const; 189dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual WTF::String generatedMIMETypeForURLScheme(const WTF::String& URLScheme) const; 1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void frameLoadCompleted(); 1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void saveViewStateToItem(WebCore::HistoryItem*); 1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void restoreViewState(); 1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void provisionalLoadStarted(); 1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void didFinishLoad(); 1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void prepareForDataSourceReplacement(); 1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual PassRefPtr<WebCore::DocumentLoader> createDocumentLoader(const WebCore::ResourceRequest&, const WebCore::SubstituteData&); 1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 199dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual void setTitle(const WTF::String& title, const WebCore::KURL&); 2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 201dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement*, 202dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight); 203bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen virtual void didTransferChildFrameToNewDocument(WebCore::Page* oldPage); 204e14391e94c850b8bd03680c23b38978db68687a8John Reck virtual void transferLoadingResourceFromPage(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&, WebCore::Page* oldPage); 205dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const Vector<WTF::String>&, 206dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const Vector<WTF::String>&, const WTF::String&, bool); 2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget); 2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2090bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual PassRefPtr<WebCore::Widget> createJavaAppletWidget(const WebCore::IntSize&, WebCore::HTMLAppletElement*, const WebCore::KURL& baseURL, 210dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const Vector<WTF::String>& paramNames, const Vector<WTF::String>& paramValues); 2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 212967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch#if ENABLE(PLUGIN_PROXY_FOR_VIDEO) 213967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch virtual PassRefPtr<WebCore::Widget> createMediaPlayerProxyPlugin(const WebCore::IntSize&, WebCore::HTMLMediaElement*, const WebCore::KURL&, 214dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const Vector<WTF::String>&, const Vector<WTF::String>&, const WTF::String&); 215967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch virtual void hideMediaPlayerProxyPlugin(WebCore::Widget*); 216967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch virtual void showMediaPlayerProxyPlugin(WebCore::Widget*); 217967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch#endif 218967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch 2192bde8e466a4451c7319e3a072d118917957d6554Steve Block virtual WebCore::ObjectContentType objectContentType(const WebCore::KURL&, const WTF::String& mimeType, bool shouldPreferPlugInsForImages); 220dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual WTF::String overrideMediaType() const; 2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 222643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void dispatchDidClearWindowObjectInWorld(WebCore::DOMWrapperWorld*); 223563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark virtual void documentElementAvailable(); 2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void didPerformFirstNavigation() const; 2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void registerForIconNotification(bool listen); 2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 22821939df44de1705786c545cd1bf519d47250322dBen Murdoch#if ENABLE(JAVA_BRIDGE) 2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual jobject javaApplet(NSView*); 2308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 232cad810f21b803229eb11403f9209855525a25d57Steve Block#if PLATFORM(MAC) 233cad810f21b803229eb11403f9209855525a25d57Steve Block virtual RemoteAXObjectRef accessibilityRemoteObject() { return 0; } 234cad810f21b803229eb11403f9209855525a25d57Steve Block#endif 235cad810f21b803229eb11403f9209855525a25d57Steve Block 2368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setOriginalURLForDownload(WebDownload *, const WebCore::ResourceRequest&) const; 2378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RetainPtr<WebFramePolicyListener> setUpPolicyListener(WebCore::FramePolicyFunction); 2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NSDictionary *actionDictionary(const WebCore::NavigationAction&, PassRefPtr<WebCore::FormState>) const; 2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool canCachePage() const; 24381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 2445abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext(); 2455abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick 24681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual bool shouldPaintBrokenImage(const WebCore::KURL&) const; 24781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RetainPtr<WebFrame> m_webFrame; 2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RetainPtr<WebFramePolicyListener> m_policyListener; 2518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project WebCore::FramePolicyFunction m_policyFunction; 2528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}; 253