diff -r 000000000000 -r 4f2f89ce4247 WebKit/mac/WebView/WebUIDelegatePrivate.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WebKit/mac/WebView/WebUIDelegatePrivate.h Fri Sep 17 09:02:29 2010 +0300 @@ -0,0 +1,157 @@ +/* + * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import + +#if !defined(ENABLE_DASHBOARD_SUPPORT) +#define ENABLE_DASHBOARD_SUPPORT 1 +#endif + +// Mail on Tiger expects the old value for WebMenuItemTagSearchInGoogle +#define WebMenuItemTagSearchInGoogle OldWebMenuItemTagSearchWeb + +#define WEBMENUITEMTAG_WEBKIT_3_0_SPI_START 2000 +enum { + // The next three values were used in WebKit 2.0 for SPI. In WebKit 3.0 these are API, with different values. + OldWebMenuItemTagSearchInSpotlight = 1000, + OldWebMenuItemTagSearchWeb, + OldWebMenuItemTagLookUpInDictionary, + // FIXME: These should move to WebUIDelegate.h as part of the WebMenuItemTag enum there, when we're not in API freeze + // Note that these values must be kept aligned with values in WebCore/ContextMenuItem.h + WebMenuItemTagOpenLink = WEBMENUITEMTAG_WEBKIT_3_0_SPI_START, + WebMenuItemTagIgnoreGrammar, + WebMenuItemTagSpellingMenu, + WebMenuItemTagShowSpellingPanel, + WebMenuItemTagCheckSpelling, + WebMenuItemTagCheckSpellingWhileTyping, + WebMenuItemTagCheckGrammarWithSpelling, + WebMenuItemTagFontMenu, + WebMenuItemTagShowFonts, + WebMenuItemTagBold, + WebMenuItemTagItalic, + WebMenuItemTagUnderline, + WebMenuItemTagOutline, + WebMenuItemTagStyles, + WebMenuItemTagShowColors, + WebMenuItemTagSpeechMenu, + WebMenuItemTagStartSpeaking, + WebMenuItemTagStopSpeaking, + WebMenuItemTagWritingDirectionMenu, + WebMenuItemTagDefaultDirection, + WebMenuItemTagLeftToRight, + WebMenuItemTagRightToLeft, + WebMenuItemPDFSinglePageScrolling, + WebMenuItemPDFFacingPagesScrolling, + WebMenuItemTagInspectElement, + WebMenuItemTagTextDirectionMenu, + WebMenuItemTagTextDirectionDefault, + WebMenuItemTagTextDirectionLeftToRight, + WebMenuItemTagTextDirectionRightToLeft, + WebMenuItemTagCorrectSpellingAutomatically, + WebMenuItemTagSubstitutionsMenu, + WebMenuItemTagShowSubstitutions, + WebMenuItemTagSmartCopyPaste, + WebMenuItemTagSmartQuotes, + WebMenuItemTagSmartDashes, + WebMenuItemTagSmartLinks, + WebMenuItemTagTextReplacement, + WebMenuItemTagTransformationsMenu, + WebMenuItemTagMakeUpperCase, + WebMenuItemTagMakeLowerCase, + WebMenuItemTagCapitalize, + WebMenuItemTagChangeBack, + WebMenuItemTagBaseApplication = 10000 +}; + +@class WebSecurityOrigin; + +@protocol WebGeolocationPolicyListener +- (void)allow; +- (void)deny; +@end + +@interface NSObject (WebUIDelegatePrivate) + +- (void)webView:(WebView *)webView addMessageToConsole:(NSDictionary *)message; + +- (NSView *)webView:(WebView *)webView plugInViewWithArguments:(NSDictionary *)arguments; + +#if ENABLE_DASHBOARD_SUPPORT +// regions is an dictionary whose keys are regions label and values are arrays of WebDashboardRegions. +- (void)webView:(WebView *)webView dashboardRegionsChanged:(NSDictionary *)regions; +#endif + +- (void)webView:(WebView *)sender dragImage:(NSImage *)anImage at:(NSPoint)viewLocation offset:(NSSize)initialOffset event:(NSEvent *)event pasteboard:(NSPasteboard *)pboard source:(id)sourceObj slideBack:(BOOL)slideFlag forView:(NSView *)view; +- (void)webView:(WebView *)sender didDrawRect:(NSRect)rect; +- (void)webView:(WebView *)sender didScrollDocumentInFrameView:(WebFrameView *)frameView; +// FIXME: If we ever make this method public, it should include a WebFrame parameter. +- (BOOL)webViewShouldInterruptJavaScript:(WebView *)sender; +- (void)webView:(WebView *)sender willPopupMenu:(NSMenu *)menu; +- (void)webView:(WebView *)sender contextMenuItemSelected:(NSMenuItem *)item forElement:(NSDictionary *)element; +- (void)webView:(WebView *)sender saveFrameView:(WebFrameView *)frameView showingPanel:(BOOL)showingPanel; +- (BOOL)webView:(WebView *)sender shouldHaltPlugin:(DOMNode *)pluginNode isWindowed:(BOOL)isWindowed pluginName:(NSString *)pluginName; +- (BOOL)webView:(WebView *)sender didPressMissingPluginButton:(DOMElement *)element; +/*! + @method webView:frame:exceededDatabaseQuotaForSecurityOrigin:database: + @param sender The WebView sending the delegate method. + @param frame The WebFrame whose JavaScript initiated this call. + @param origin The security origin that needs a larger quota. + @param databaseIdentifier The identifier of the database involved. +*/ +- (void)webView:(WebView *)sender frame:(WebFrame *)frame exceededDatabaseQuotaForSecurityOrigin:(WebSecurityOrigin *)origin database:(NSString *)databaseIdentifier; + +- (WebView *)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request windowFeatures:(NSDictionary *)features; + +- (BOOL)webView:(WebView *)sender shouldReplaceUploadFile:(NSString *)path usingGeneratedFilename:(NSString **)filename; +- (NSString *)webView:(WebView *)sender generateReplacementFile:(NSString *)path; + +/*! + @method webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener: + @abstract + @param webView The WebView sending the delegate method. + @param origin The security origin that would like to use Geolocation. + @param frame The WebFrame whose JavaScript initiated this call. + @param listener The object to call when the decision is made +*/ +- (void)webView:(WebView *)webView decidePolicyForGeolocationRequestFromOrigin:(WebSecurityOrigin *)origin + frame:(WebFrame *)frame + listener:(id)listener; + +- (void)webView:(WebView *)sender formDidFocusNode:(DOMNode *)node; +- (void)webView:(WebView *)sender formDidBlurNode:(DOMNode *)node; + +/*! + @method webView:printFrame: + @abstract Informs that a WebFrame needs to be printed + @param webView The WebView sending the delegate method + @param frameView The WebFrame needing to be printed + @discussion This method is called when a script or user requests the page to be printed. +*/ +- (void)webView:(WebView *)sender printFrame:(WebFrame *)frame; + +@end