18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 20bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2006, 2007, 2008, 2009 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 * 1. Redistributions of source code must retain the above copyright 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer. 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer in the 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation and/or other materials provided with the distribution. 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef DO_NO_IMPORTS 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectimport "oaidl.idl"; 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectimport "ocidl.idl"; 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectimport "IWebScriptObject.idl"; 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectimport "IWebView.idl"; 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectimport "IWebFrame.idl"; 32643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockimport "JavaScriptCoreAPITypes.idl"; 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectinterface IWebError; 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectinterface IWebFrame; 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectinterface IWebScriptObject; 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectinterface IWebView; 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*! 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @category WebFrameLoadDelegate 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion A WebView's WebFrameLoadDelegate tracks the loading progress of its frames. 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project When a data source of a frame starts to load, the data source is considered "provisional". 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Once at least one byte is received, the data source is considered "committed". This is done 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project so the contents of the frame will not be lost if the new data source fails to successfully load. 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @interface NSObject (WebFrameLoadDelegate) 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project[ 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project object, 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project oleautomation, 520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch uuid(3354665B-84BA-4fdf-B35E-BF5CF9D96026), 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project pointer_default(unique) 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project] 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectinterface IWebFrameLoadDelegate : IUnknown 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /*! 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method webView:didStartProvisionalLoadForFrame: 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Notifies the delegate that the provisional load of a frame has started 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param webView The WebView sending the message 618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param frame The frame for which the provisional load has started 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion This method is called after the provisional data source of a frame 638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project has started to load. 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame; 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT didStartProvisionalLoadForFrame([in] IWebView* webView, [in] IWebFrame* frame); 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /*! 698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method webView:didReceiveServerRedirectForProvisionalLoadForFrame: 708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Notifies the delegate that a server redirect occurred during the provisional load 718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param webView The WebView sending the message 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param frame The frame for which the redirect occurred 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)webView:(WebView *)sender didReceiveServerRedirectForProvisionalLoadForFrame:(WebFrame *)frame; 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT didReceiveServerRedirectForProvisionalLoadForFrame([in] IWebView* webView, [in] IWebFrame* frame); 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /*! 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method webView:didFailProvisionalLoadWithError:forFrame: 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Notifies the delegate that the provisional load has failed 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param webView The WebView sending the message 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param error The error that occurred 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param frame The frame for which the error occurred 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion This method is called after the provisional data source has failed to load. 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project The frame will continue to display the contents of the committed data source if there is one. 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)webView:(WebView *)sender didFailProvisionalLoadWithError:(NSError *)error forFrame:(WebFrame *)frame; 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT didFailProvisionalLoadWithError([in] IWebView* webView, [in] IWebError* error, [in] IWebFrame* frame); 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /*! 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method webView:didCommitLoadForFrame: 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Notifies the delegate that the load has changed from provisional to committed 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param webView The WebView sending the message 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param frame The frame for which the load has committed 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion This method is called after the provisional data source has become the 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project committed data source. 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project In some cases, a single load may be committed more than once. This happens 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project in the case of multipart/x-mixed-replace, also known as "server push". In this case, 998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project a single location change leads to multiple documents that are loaded in sequence. When 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project this happens, a new commit will be sent for each document. 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)webView:(WebView *)sender didCommitLoadForFrame:(WebFrame *)frame; 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT didCommitLoadForFrame([in] IWebView* webView, [in] IWebFrame* frame); 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /*! 1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method webView:didReceiveTitle:forFrame: 1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Notifies the delegate that the page title for a frame has been received 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param webView The WebView sending the message 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param title The new page title 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param frame The frame for which the title has been received 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion The title may update during loading; clients should be prepared for this. 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)webView:(WebView *)sender didReceiveTitle:(NSString *)title forFrame:(WebFrame *)frame; 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT didReceiveTitle([in] IWebView* webView, [in] BSTR title, [in] IWebFrame* frame); 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /*! 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method webView:didReceiveIcon:forFrame: 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Notifies the delegate that a page icon image for a frame has been received 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param webView The WebView sending the message 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param image The icon image. Also known as a "favicon". 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param frame The frame for which a page icon has been received 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)webView:(WebView *)sender didReceiveIcon:(NSImage *)image forFrame:(WebFrame *)frame; 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT didReceiveIcon([in] IWebView* webView, [in] OLE_HANDLE hBitmap, [in] IWebFrame* frame); 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /*! 1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method webView:didFinishLoadForFrame: 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Notifies the delegate that the committed load of a frame has completed 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param webView The WebView sending the message 1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param frame The frame that finished loading 1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion This method is called after the committed data source of a frame has successfully loaded 1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project and will only be called when all subresources such as images and stylesheets are done loading. 1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Plug-In content and JavaScript-requested loads may occur after this method is called. 1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame; 1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT didFinishLoadForFrame([in] IWebView* webView, [in] IWebFrame* frame); 1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /*! 1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method webView:didFailLoadWithError:forFrame: 1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Notifies the delegate that the committed load of a frame has failed 1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param webView The WebView sending the message 1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param error The error that occurred 1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param frame The frame that failed to load 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion This method is called after a data source has committed but failed to completely load. 1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)webView:(WebView *)sender didFailLoadWithError:(NSError *)error forFrame:(WebFrame *)frame; 1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT didFailLoadWithError([in] IWebView* webView, [in] IWebError* error, [in] IWebFrame* forFrame); 1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /*! 1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method webView:didChangeLocationWithinPageForFrame: 1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Notifies the delegate that the scroll position in a frame has changed 1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param webView The WebView sending the message 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param frame The frame that scrolled 1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion This method is called when anchors within a page have been clicked. 1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)webView:(WebView *)sender didChangeLocationWithinPageForFrame:(WebFrame *)frame; 1568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT didChangeLocationWithinPageForFrame([in] IWebView* webView, [in] IWebFrame* frame); 1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /*! 1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method webView:willPerformClientRedirectToURL:delay:fireDate:forFrame: 1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Notifies the delegate that a frame will perform a client-side redirect 1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param webView The WebView sending the message 1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param URL The URL to be redirected to 1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param seconds Seconds in which the redirect will happen 1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param date The fire date 1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param frame The frame on which the redirect will occur 1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion This method can be used to continue progress feedback while a client-side 1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project redirect is pending. 1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)webView:(WebView *)sender willPerformClientRedirectToURL:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date forFrame:(WebFrame *)frame; 1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT willPerformClientRedirectToURL([in] IWebView* webView, [in] BSTR url, [in] double delaySeconds, [in] DATE fireDate, [in] IWebFrame* frame); 1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /*! 1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method webView:didCancelClientRedirectForFrame: 1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Notifies the delegate that a pending client-side redirect has been cancelled 1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param webView The WebView sending the message 1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param frame The frame for which the pending redirect was cancelled 1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion A client-side redirect can be cancelled if a frame changes location before the timeout. 1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)webView:(WebView *)sender didCancelClientRedirectForFrame:(WebFrame *)frame; 1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT didCancelClientRedirectForFrame([in] IWebView* webView, [in] IWebFrame* frame); 1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /*! 1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method webView:willCloseFrame: 1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Notifies the delegate that a frame will be closed 1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param webView The WebView sending the message 1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param frame The frame that will be closed 1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @discussion This method is called right before WebKit is done with the frame 1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project and the objects that it contains. 1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)webView:(WebView *)sender willCloseFrame:(WebFrame *)frame; 1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT willCloseFrame([in] IWebView* webView, [in] IWebFrame* frame); 1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /*! 1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @method webView:windowScriptObjectAvailable: 1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @abstract Notifies the delegate that the scripting object for a page is available. This is called 1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project before the page is loaded. It may be useful to allow delegates to bind native objects to the window. 1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param webView The webView sending the message. 1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @param windowScriptObject The WebScriptObject for the window in the scripting environment. 2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)webView:(WebView *)webView windowScriptObjectAvailable:(WebScriptObject *)windowScriptObject; 2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project [local] HRESULT windowScriptObjectAvailable([in] IWebView* webView, [in] JSContextRef context, [in] JSObjectRef windowScriptObject); 2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project [local] HRESULT didClearWindowObject([in] IWebView* webView, [in] JSContextRef context, [in] JSObjectRef windowScriptObject, [in] IWebFrame* frame); 2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 206