18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, 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 <Cocoa/Cocoa.h>
308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#import <Foundation/NSURLRequest.h>
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#import <JavaScriptCore/WebKitAvailability.h>
328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4
348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define WebNSUInteger unsigned int
358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#else
368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define WebNSUInteger NSUInteger
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @enum WebMenuItemTag
418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion Each menu item in the default menu items array passed in
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    contextMenuItemsForElement:defaultMenuItems: has its tag set to one of the WebMenuItemTags.
438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    When iterating through the default menu items array, use the tag to differentiate between them.
448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectenum {
478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagOpenLinkInNewWindow=1,
488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagDownloadLinkToDisk,
498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagCopyLinkToClipboard,
508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagOpenImageInNewWindow,
518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagDownloadImageToDisk,
528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagCopyImageToClipboard,
538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagOpenFrameInNewWindow,
548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagCopy,
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagGoBack,
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagGoForward,
578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagStop,
588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagReload,
598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagCut,
608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagPaste,
618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagSpellingGuess,
628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagNoGuessesFound,
638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagIgnoreSpelling,
648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagLearnSpelling,
658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagOther,
668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagSearchInSpotlight,
678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagSearchWeb,
688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagLookUpInDictionary,
698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemTagOpenWithDefaultApplication,
708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemPDFActualSize,
718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemPDFZoomIn,
728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemPDFZoomOut,
738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemPDFAutoSize,
748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemPDFSinglePage,
758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemPDFFacingPages,
768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemPDFContinuous,
778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemPDFNextPage,
788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebMenuItemPDFPreviousPage,
798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @enum WebDragDestinationAction
838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Actions that the destination of a drag can perform.
848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @constant WebDragDestinationActionNone No action
858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @constant WebDragDestinationActionDHTML Allows DHTML (such as JavaScript) to handle the drag
868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @constant WebDragDestinationActionEdit Allows editable documents to be edited from the drag
878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @constant WebDragDestinationActionLoad Allows a location change from the drag
888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @constant WebDragDestinationActionAny Allows any of the above to occur
898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum {
918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebDragDestinationActionNone    = 0,
928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebDragDestinationActionDHTML   = 1,
938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebDragDestinationActionEdit    = 2,
948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebDragDestinationActionLoad    = 4,
958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebDragDestinationActionAny     = UINT_MAX
968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} WebDragDestinationAction;
978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @enum WebDragSourceAction
1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Actions that the source of a drag can perform.
1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @constant WebDragSourceActionNone No action
1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @constant WebDragSourceActionDHTML Allows DHTML (such as JavaScript) to start a drag
1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @constant WebDragSourceActionImage Allows an image drag to occur
1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @constant WebDragSourceActionLink Allows a link drag to occur
1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @constant WebDragSourceActionSelection Allows a selection drag to occur
1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @constant WebDragSourceActionAny Allows any of the above to occur
1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum {
1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebDragSourceActionNone         = 0,
1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebDragSourceActionDHTML        = 1,
1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebDragSourceActionImage        = 2,
1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebDragSourceActionLink         = 4,
1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebDragSourceActionSelection    = 8,
1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebDragSourceActionAny          = UINT_MAX
1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} WebDragSourceAction;
1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @protocol WebOpenPanelResultListener
1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This protocol is used to call back with the results of
1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    the file open panel requested by runOpenPanelForFileButtonWithResultListener:
1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@protocol WebOpenPanelResultListener <NSObject>
1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method chooseFilename:
1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Call this method to return a filename from the file open panel.
1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param fileName
1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)chooseFilename:(NSString *)fileName;
1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method chooseFilenames:
1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Call this method to return an array of filenames from the file open panel.
1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param fileNames
1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
136563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark- (void)chooseFilenames:(NSArray *)fileNames WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_IN_WEBKIT_VERSION_4_0);
1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method cancel
1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Call this method to indicate that the file open panel was cancelled.
1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)cancel;
1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@end
1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class WebView;
1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @category WebUIDelegate
1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion A class that implements WebUIDelegate provides
1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    window-related methods that may be used by Javascript, plugins and
1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    other aspects of web pages. These methods are used to open new
1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    windows and control aspects of existing windows.
1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@interface NSObject (WebUIDelegate)
1568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:createWebViewWithRequest:
1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Create a new window and begin to load the specified request.
1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion The newly created window is hidden, and the window operations delegate on the
1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    new WebViews will get a webViewShow: call.
1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param request The request to load.
1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @result The WebView for the new window.
1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (WebView *)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request;
1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webViewShow:
1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Show the window that contains the top level view of the WebView,
1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ordering it frontmost.
1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This will only be called just after createWindowWithRequest:
1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    is used to create a new window.
1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webViewShow:(WebView *)sender;
1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:createWebViewModalDialogWithRequest:
1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Create a new window and begin to load the specified request.
1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion The newly created window is hidden, and the window operations delegate on the
1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    new WebViews will get a webViewShow: call.
1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param request The request to load.
1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @result The WebView for the new window.
1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (WebView *)webView:(WebView *)sender createWebViewModalDialogWithRequest:(NSURLRequest *)request;
1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webViewRunModal:
1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Show the window that contains the top level view of the WebView,
1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ordering it frontmost. The window should be run modal in the application.
1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This will only be called just after createWebViewModalDialogWithRequest:
1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    is used to create a new window.
1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webViewRunModal:(WebView *)sender;
1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webViewClose:
2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Close the current window.
2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion Clients showing multiple views in one window may
2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    choose to close only the one corresponding to this
2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebView. Other clients may choose to ignore this method
2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    entirely.
2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webViewClose:(WebView *)sender;
2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webViewFocus:
2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Focus the current window (i.e. makeKeyAndOrderFront:).
2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param The WebView sending the delegate method.
2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion Clients showing multiple views in one window may want to
2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    also do something to focus the one corresponding to this WebView.
2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
2178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webViewFocus:(WebView *)sender;
2188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
2208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webViewUnfocus:
2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Unfocus the current window.
2228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
2238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion Clients showing multiple views in one window may want to
2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    also do something to unfocus the one corresponding to this WebView.
2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webViewUnfocus:(WebView *)sender;
2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webViewFirstResponder:
2308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Get the first responder for this window.
2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
2328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This method should return the focused control in the
2338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebView's view, if any. If the view is out of the window
2348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    hierarchy, this might return something than calling firstResponder
2358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    on the real NSWindow would. It's OK to return either nil or the
2368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    real first responder if some control not in the window has focus.
2378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSResponder *)webViewFirstResponder:(WebView *)sender;
2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:makeFirstResponder:
2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Set the first responder for this window.
2438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param responder The responder to make first (will always be a view)
2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion responder will always be a view that is in the view
2468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    subhierarchy of the top-level web view for this WebView. If the
2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebView's top level view is currently out of the view
2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    hierarchy, it may be desirable to save the first responder
2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    elsewhere, or possibly ignore this call.
2508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
2518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender makeFirstResponder:(NSResponder *)responder;
2528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
2548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:setStatusText:
2558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Set the window's status display, if any, to the specified string.
2568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
2578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param text The status text to set
2588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
2598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender setStatusText:(NSString *)text;
2608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
2628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webViewStatusText:
2638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Get the currently displayed status text.
2648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
2658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @result The status text
2668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
2678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSString *)webViewStatusText:(WebView *)sender;
2688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
2708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webViewAreToolbarsVisible:
2718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Determine whether the window's toolbars are currently visible
2728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
2738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This method should return YES if the window has any
2748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    toolbars that are currently on, besides the status bar. If the app
2758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    has more than one toolbar per window, for example a regular
2768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    command toolbar and a favorites bar, it should return YES from
2778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    this method if at least one is on.
2788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @result YES if at least one toolbar is visible, otherwise NO.
2798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
2808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (BOOL)webViewAreToolbarsVisible:(WebView *)sender;
2818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
2838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:setToolbarsVisible:
2848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
2858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Set whether the window's toolbars are currently visible.
2868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param visible New value for toolbar visibility
2878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion Setting this to YES should turn on all toolbars
2888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    (except for a possible status bar). Setting it to NO should turn
2898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    off all toolbars (with the same exception).
2908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
2918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender setToolbarsVisible:(BOOL)visible;
2928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
2948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webViewIsStatusBarVisible:
2958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Determine whether the status bar is visible.
2968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
2978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @result YES if the status bar is visible, otherwise NO.
2988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
2998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (BOOL)webViewIsStatusBarVisible:(WebView *)sender;
3008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
3028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:setStatusBarVisible:
3038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Set whether the status bar is currently visible.
3048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param visible The new visibility value
3058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion Setting this to YES should show the status bar,
3068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    setting it to NO should hide it.
3078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
3088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender setStatusBarVisible:(BOOL)visible;
3098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
3118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webViewIsResizable:
3128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Determine whether the window is resizable or not.
3138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
3148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @result YES if resizable, NO if not.
3158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion If there are multiple views in the same window, they
3168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    have have their own separate resize controls and this may need to
3178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    be handled specially.
3188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
3198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (BOOL)webViewIsResizable:(WebView *)sender;
3208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
3228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:setResizable:
3238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Set the window to resizable or not
3248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
3258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param resizable YES if the window should be made resizable, NO if not.
3268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion If there are multiple views in the same window, they
3278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    have have their own separate resize controls and this may need to
3288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    be handled specially.
3298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
3308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender setResizable:(BOOL)resizable;
3318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
3338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:setFrame:
3348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Set the window's frame rect
3358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
3368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param frame The new window frame size
3378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion Even though a caller could set the frame directly using the NSWindow,
3388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    this method is provided so implementors of this protocol can do special
3398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    things on programmatic move/resize, like avoiding autosaving of the size.
3408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
3418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender setFrame:(NSRect)frame;
3428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
3448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webViewFrame:
3458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
3468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract REturn the window's frame rect
3478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion
3488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
3498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSRect)webViewFrame:(WebView *)sender;
3508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
3528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:
3538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Display a JavaScript alert panel.
3548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
3558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param message The message to display.
3568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param frame The WebFrame whose JavaScript initiated this call.
3578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion Clients should visually indicate that this panel comes
3588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    from JavaScript initiated by the specified frame. The panel should have
3598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    a single OK button.
3608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
3618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
3628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
3648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:
3658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Display a JavaScript confirm panel.
3668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
3678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param message The message to display.
3688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param frame The WebFrame whose JavaScript initiated this call.
3698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @result YES if the user hit OK, NO if the user chose Cancel.
3708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion Clients should visually indicate that this panel comes
3718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    from JavaScript initiated by the specified frame. The panel should have
3728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    two buttons, e.g. "OK" and "Cancel".
3738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
3748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (BOOL)webView:(WebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
3758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
3778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:
3788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Display a JavaScript text input panel.
3798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
3808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param message The message to display.
3818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param defaultText The initial text for the text entry area.
3828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param frame The WebFrame whose JavaScript initiated this call.
3838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @result The typed text if the user hit OK, otherwise nil.
3848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion Clients should visually indicate that this panel comes
3858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    from JavaScript initiated by the specified frame. The panel should have
3868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    two buttons, e.g. "OK" and "Cancel", and an area to type text.
3878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
3888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSString *)webView:(WebView *)sender runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)defaultText initiatedByFrame:(WebFrame *)frame;
3898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
3918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
3928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Display a confirm panel by an "before unload" event handler.
3938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
3948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param message The message to display.
3958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param frame The WebFrame whose JavaScript initiated this call.
3968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @result YES if the user hit OK, NO if the user chose Cancel.
3978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion Clients should include a message in addition to the one
3988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    supplied by the web page that indicates. The panel should have
3998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    two buttons, e.g. "OK" and "Cancel".
4008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
4018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (BOOL)webView:(WebView *)sender runBeforeUnloadConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
4028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
4048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:runOpenPanelForFileButtonWithResultListener:
4058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Display a file open panel for a file input control.
4068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
4078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param resultListener The object to call back with the results.
4088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This method is passed a callback object instead of giving a return
4098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    value so that it can be handled with a sheet.
4108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
4118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender runOpenPanelForFileButtonWithResultListener:(id<WebOpenPanelResultListener>)resultListener;
4128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
4148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles
4158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Display a file open panel for a file input control that may allow multiple files to be selected.
4168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
4178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param resultListener The object to call back with the results.
4188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param allowMultipleFiles YES if the open panel should allow myltiple files to be selected, NO if not.
4198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This method is passed a callback object instead of giving a return
4208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    value so that it can be handled with a sheet.
4218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
422563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark- (void)webView:(WebView *)sender runOpenPanelForFileButtonWithResultListener:(id<WebOpenPanelResultListener>)resultListener allowMultipleFiles:(BOOL)allowMultipleFiles WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_IN_WEBKIT_VERSION_4_0);
4238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
4258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:mouseDidMoveOverElement:modifierFlags:
4268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Update the window's feedback for mousing over links to reflect a new item the mouse is over
4278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    or new modifier flags.
4288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
4298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param elementInformation Dictionary that describes the element that the mouse is over, or nil.
4308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param modifierFlags The modifier flags as in NSEvent.
4318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
4328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender mouseDidMoveOverElement:(NSDictionary *)elementInformation modifierFlags:(WebNSUInteger)modifierFlags;
4338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
4358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:contextMenuItemsForElement:defaultMenuItems:
4368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Returns the menu items to display in an element's contextual menu.
4378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The WebView sending the delegate method.
4388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param element A dictionary representation of the clicked element.
4398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param defaultMenuItems An array of default NSMenuItems to include in all contextual menus.
4408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @result An array of NSMenuItems to include in the contextual menu.
4418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
4428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSArray *)webView:(WebView *)sender contextMenuItemsForElement:(NSDictionary *)element defaultMenuItems:(NSArray *)defaultMenuItems;
4438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
4458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:validateUserInterfaceItem:defaultValidation:
4468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Controls UI validation
4478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param webView The WebView sending the delegate method
4488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param item The user interface item being validated
4498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @pararm defaultValidation Whether or not the WebView thinks the item is valid
4508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This method allows the UI delegate to control WebView's validation of user interface items.
4518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    See WebView.h to see the methods to that WebView can currently validate. See NSUserInterfaceValidations and
4528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    NSValidatedUserInterfaceItem for information about UI validation.
4538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
4548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (BOOL)webView:(WebView *)webView validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item defaultValidation:(BOOL)defaultValidation;
4558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
4578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:shouldPerformAction:fromSender:
4588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Controls actions
4598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param webView The WebView sending the delegate method
4608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param action The action being sent
4618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param sender The sender of the action
4628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This method allows the UI delegate to control WebView's behavior when an action is being sent.
4638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    For example, if the action is copy:, the delegate can return YES to allow WebView to perform its default
4648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    copy behavior or return NO and perform copy: in some other way. See WebView.h to see the actions that
4658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebView can perform.
4668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
4678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (BOOL)webView:(WebView *)webView shouldPerformAction:(SEL)action fromSender:(id)sender;
4688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
4708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:dragDestinationActionMaskForDraggingInfo:
4718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Controls behavior when dragging to a WebView
4728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param webView The WebView sending the delegate method
4738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param draggingInfo The dragging info of the drag
4748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This method is called periodically as something is dragged over a WebView. The UI delegate can return a mask
4758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    indicating which drag destination actions can occur, WebDragDestinationActionAny to allow any kind of action or
4768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebDragDestinationActionNone to not accept the drag.
4778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
4788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (WebNSUInteger)webView:(WebView *)webView dragDestinationActionMaskForDraggingInfo:(id <NSDraggingInfo>)draggingInfo;
4798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
4818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:willPerformDragDestinationAction:forDraggingInfo:
4828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Informs that WebView will perform a drag destination action
4838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param webView The WebView sending the delegate method
4848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param action The drag destination action
4858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param draggingInfo The dragging info of the drag
4868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This method is called after the last call to webView:dragDestinationActionMaskForDraggingInfo: after something is dropped on a WebView.
4878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    This method informs the UI delegate of the drag destination action that WebView will perform.
4888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
4898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)webView willPerformDragDestinationAction:(WebDragDestinationAction)action forDraggingInfo:(id <NSDraggingInfo>)draggingInfo;
4908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
4928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:dragSourceActionMaskForPoint:
4938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Controls behavior when dragging from a WebView
4948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param webView The WebView sending the delegate method
4958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param point The point where the drag started in the coordinates of the WebView
4968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This method is called after the user has begun a drag from a WebView. The UI delegate can return a mask indicating
4978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    which drag source actions can occur, WebDragSourceActionAny to allow any kind of action or WebDragSourceActionNone to not begin a drag.
4988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
4998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (WebNSUInteger)webView:(WebView *)webView dragSourceActionMaskForPoint:(NSPoint)point;
5008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
5028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:willPerformDragSourceAction:fromPoint:withPasteboard:
5038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Informs that a drag a has begun from a WebView
5048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param webView The WebView sending the delegate method
5058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param action The drag source action
5068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param point The point where the drag started in the coordinates of the WebView
5078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param pasteboard The drag pasteboard
5088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This method is called after webView:dragSourceActionMaskForPoint: is called after the user has begun a drag from a WebView.
5098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    This method informs the UI delegate of the drag source action that will be performed and gives the delegate an opportunity to modify
5108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    the contents of the dragging pasteboard.
5118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
5128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)webView willPerformDragSourceAction:(WebDragSourceAction)action fromPoint:(NSPoint)point withPasteboard:(NSPasteboard *)pasteboard;
5138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
5158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:printFrameView:
5168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Informs that a WebFrameView needs to be printed
5178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param webView The WebView sending the delegate method
5188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param frameView The WebFrameView needing to be printed
5198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion This method is called when a script or user requests the page to be printed.
5208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    In this method the delegate can prepare the WebFrameView to be printed. Some content that WebKit
5218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    displays can be printed directly by the WebFrameView, other content will need to be handled by
5228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    the delegate. To determine if the WebFrameView can handle printing the delegate should check
5238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebFrameView's documentViewShouldHandlePrint, if YES then the delegate can call printDocumentView
5248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    on the WebFrameView. Otherwise the delegate will need to request a NSPrintOperation from
5258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    the WebFrameView's printOperationWithPrintInfo to handle the printing.
5268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
5278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender printFrameView:(WebFrameView *)frameView;
5288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
5308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webViewHeaderHeight:
5318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param webView The WebView sending the delegate method
5328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Reserve a height for the printed page header.
5338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @result The height to reserve for the printed page header, return 0.0 to not reserve any space for a header.
5348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion The height returned will be used to calculate the rect passed to webView:drawHeaderInRect:.
5358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
5368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (float)webViewHeaderHeight:(WebView *)sender;
5378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
5398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webViewFooterHeight:
5408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param webView The WebView sending the delegate method
5418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract Reserve a height for the printed page footer.
5428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @result The height to reserve for the printed page footer, return 0.0 to not reserve any space for a footer.
5438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @discussion The height returned will be used to calculate the rect passed to webView:drawFooterInRect:.
5448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
5458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (float)webViewFooterHeight:(WebView *)sender;
5468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
5488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:drawHeaderInRect:
5498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param webView The WebView sending the delegate method
5508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param rect The NSRect reserved for the header of the page
5518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract The delegate should draw a header for the sender in the supplied rect.
5528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
5538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender drawHeaderInRect:(NSRect)rect;
5548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*!
5568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @method webView:drawFooterInRect:
5578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param webView The WebView sending the delegate method
5588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @param rect The NSRect reserved for the footer of the page
5598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    @abstract The delegate should draw a footer for the sender in the supplied rect.
5608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
5618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender drawFooterInRect:(NSRect)rect;
5628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// The following delegate methods are deprecated in favor of the ones above that specify
5648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// the WebFrame whose JavaScript initiated this call.
5658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0);
5668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (BOOL)webView:(WebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0);
5678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSString *)webView:(WebView *)sender runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)defaultText WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0);
5688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// The following delegate methods are deprecated. Content rect calculations are now done automatically.
5708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webView:(WebView *)sender setContentRect:(NSRect)frame WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0);
5718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSRect)webViewContentRect:(WebView *)sender WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0);
5728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@end
5748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#undef WebNSUInteger
576