WebFrameLoaderClient.h revision 2fc2651226baac27029e38c9d6ef883fa32084db
18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2006, 2007, 2008 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 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void dispatchDecidePolicyForMIMEType(WebCore::FramePolicyFunction, 118dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const WTF::String& MIMEType, 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; 154ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch virtual void dispatchDidAddBackForwardItem(WebCore::HistoryItem*) const; 155ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch virtual void dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const; 156ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch virtual void dispatchDidChangeBackForwardIndex() const; 1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 158231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual void didDisplayInsecureContent(); 1592fc2651226baac27029e38c9d6ef883fa32084dbSteve Block virtual void didRunInsecureContent(WebCore::SecurityOrigin*, const WebCore::KURL&); 160231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError cancelledError(const WebCore::ResourceRequest&); 1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&); 1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError cannotShowURLError(const WebCore::ResourceRequest&); 1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError interruptForPolicyChangeError(const WebCore::ResourceRequest&); 1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError cannotShowMIMETypeError(const WebCore::ResourceResponse&); 1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError fileDoesNotExistError(const WebCore::ResourceResponse&); 1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual WebCore::ResourceError pluginWillHandleLoadError(const WebCore::ResourceResponse&); 1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool shouldFallBack(const WebCore::ResourceError&); 1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 172dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual WTF::String userAgent(const WebCore::KURL&); 1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 174635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*); 175635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*); 1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void transitionToCommittedForNewPage(); 1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 178cad810f21b803229eb11403f9209855525a25d57Steve Block virtual void didSaveToPageCache(); 179cad810f21b803229eb11403f9209855525a25d57Steve Block virtual void didRestoreFromPageCache(); 180cad810f21b803229eb11403f9209855525a25d57Steve Block 181e14391e94c850b8bd03680c23b38978db68687a8John Reck virtual void dispatchDidBecomeFrameset(bool); 182e14391e94c850b8bd03680c23b38978db68687a8John Reck 1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool canHandleRequest(const WebCore::ResourceRequest&) const; 184dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual bool canShowMIMEType(const WTF::String& MIMEType) const; 18568513a70bcd92384395513322f1b801e7bf9c729Steve Block virtual bool canShowMIMETypeAsHTML(const WTF::String& MIMEType) const; 186dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual bool representationExistsForURLScheme(const WTF::String& URLScheme) const; 187dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual WTF::String generatedMIMETypeForURLScheme(const WTF::String& URLScheme) const; 1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void frameLoadCompleted(); 1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void saveViewStateToItem(WebCore::HistoryItem*); 1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void restoreViewState(); 1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void provisionalLoadStarted(); 1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void didFinishLoad(); 1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void prepareForDataSourceReplacement(); 1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual PassRefPtr<WebCore::DocumentLoader> createDocumentLoader(const WebCore::ResourceRequest&, const WebCore::SubstituteData&); 1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 197dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual void setTitle(const WTF::String& title, const WebCore::KURL&); 1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 199dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement*, 200dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight); 201bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen virtual void didTransferChildFrameToNewDocument(WebCore::Page* oldPage); 202e14391e94c850b8bd03680c23b38978db68687a8John Reck virtual void transferLoadingResourceFromPage(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&, WebCore::Page* oldPage); 203dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const Vector<WTF::String>&, 204dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const Vector<WTF::String>&, const WTF::String&, bool); 2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget); 2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2070bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual PassRefPtr<WebCore::Widget> createJavaAppletWidget(const WebCore::IntSize&, WebCore::HTMLAppletElement*, const WebCore::KURL& baseURL, 208dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const Vector<WTF::String>& paramNames, const Vector<WTF::String>& paramValues); 2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 210967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch#if ENABLE(PLUGIN_PROXY_FOR_VIDEO) 211967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch virtual PassRefPtr<WebCore::Widget> createMediaPlayerProxyPlugin(const WebCore::IntSize&, WebCore::HTMLMediaElement*, const WebCore::KURL&, 212dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const Vector<WTF::String>&, const Vector<WTF::String>&, const WTF::String&); 213967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch virtual void hideMediaPlayerProxyPlugin(WebCore::Widget*); 214967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch virtual void showMediaPlayerProxyPlugin(WebCore::Widget*); 215967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch#endif 216967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch 217dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual WebCore::ObjectContentType objectContentType(const WebCore::KURL& url, const WTF::String& mimeType); 218dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual WTF::String overrideMediaType() const; 2198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 220643ca7872b450ea4efacab6188849e5aac2ba161Steve Block virtual void dispatchDidClearWindowObjectInWorld(WebCore::DOMWrapperWorld*); 221563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark virtual void documentElementAvailable(); 2228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void didPerformFirstNavigation() const; 2238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void registerForIconNotification(bool listen); 2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 22621939df44de1705786c545cd1bf519d47250322dBen Murdoch#if ENABLE(JAVA_BRIDGE) 2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual jobject javaApplet(NSView*); 2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 230cad810f21b803229eb11403f9209855525a25d57Steve Block#if PLATFORM(MAC) 231cad810f21b803229eb11403f9209855525a25d57Steve Block virtual RemoteAXObjectRef accessibilityRemoteObject() { return 0; } 232cad810f21b803229eb11403f9209855525a25d57Steve Block#endif 233cad810f21b803229eb11403f9209855525a25d57Steve Block 2348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setOriginalURLForDownload(WebDownload *, const WebCore::ResourceRequest&) const; 2358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RetainPtr<WebFramePolicyListener> setUpPolicyListener(WebCore::FramePolicyFunction); 2378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NSDictionary *actionDictionary(const WebCore::NavigationAction&, PassRefPtr<WebCore::FormState>) const; 2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool canCachePage() const; 241231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 2425abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext(); 2435abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick 2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RetainPtr<WebFrame> m_webFrame; 2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RetainPtr<WebFramePolicyListener> m_policyListener; 2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project WebCore::FramePolicyFunction m_policyFunction; 2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}; 249