| /* |
| * 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 <WebKit/WebView.h> |
| #import <WebKit/WebFramePrivate.h> |
| |
| #if !defined(ENABLE_DASHBOARD_SUPPORT) |
| #define ENABLE_DASHBOARD_SUPPORT 1 |
| #endif |
| |
| #if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4 |
| #define WebNSInteger int |
| #define WebNSUInteger unsigned int |
| #else |
| #define WebNSInteger NSInteger |
| #define WebNSUInteger NSUInteger |
| #endif |
| |
| @class NSError; |
| @class WebFrame; |
| @class WebInspector; |
| @class WebPreferences; |
| @class WebTextIterator; |
| |
| @protocol WebFormDelegate; |
| |
| extern NSString *_WebCanGoBackKey; |
| extern NSString *_WebCanGoForwardKey; |
| extern NSString *_WebEstimatedProgressKey; |
| extern NSString *_WebIsLoadingKey; |
| extern NSString *_WebMainFrameIconKey; |
| extern NSString *_WebMainFrameTitleKey; |
| extern NSString *_WebMainFrameURLKey; |
| extern NSString *_WebMainFrameDocumentKey; |
| |
| // pending public WebElementDictionary keys |
| extern NSString *WebElementTitleKey; // NSString of the title of the element (used by Safari) |
| extern NSString *WebElementSpellingToolTipKey; // NSString of a tooltip representing misspelling or bad grammar (used internally) |
| extern NSString *WebElementIsContentEditableKey; // NSNumber indicating whether the inner non-shared node is content editable (used internally) |
| |
| // other WebElementDictionary keys |
| extern NSString *WebElementLinkIsLiveKey; // NSNumber of BOOL indictating whether the link is live or not |
| |
| #if ENABLE_DASHBOARD_SUPPORT |
| typedef enum { |
| WebDashboardBehaviorAlwaysSendMouseEventsToAllWindows, |
| WebDashboardBehaviorAlwaysSendActiveNullEventsToPlugIns, |
| WebDashboardBehaviorAlwaysAcceptsFirstMouse, |
| WebDashboardBehaviorAllowWheelScrolling, |
| WebDashboardBehaviorUseBackwardCompatibilityMode |
| } WebDashboardBehavior; |
| #endif |
| |
| typedef enum { |
| WebInjectAtDocumentStart, |
| WebInjectAtDocumentEnd, |
| } WebUserScriptInjectionTime; |
| |
| @interface WebController : NSTreeController { |
| IBOutlet WebView *webView; |
| } |
| - (WebView *)webView; |
| - (void)setWebView:(WebView *)newWebView; |
| @end |
| |
| @interface WebView (WebViewEditingActionsPendingPublic) |
| |
| - (void)outdent:(id)sender; |
| |
| @end |
| |
| @interface WebView (WebPendingPublic) |
| |
| - (void)scheduleInRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode; |
| - (void)unscheduleFromRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode; |
| |
| /*! |
| @method searchFor:direction:caseSensitive:wrap:startInSelection: |
| @abstract Searches a document view for a string and highlights the string if it is found. |
| Starts the search from the current selection. Will search across all frames. |
| @param string The string to search for. |
| @param forward YES to search forward, NO to seach backwards. |
| @param caseFlag YES to for case-sensitive search, NO for case-insensitive search. |
| @param wrapFlag YES to wrap around, NO to avoid wrapping. |
| @param startInSelection YES to begin search in the selected text (useful for incremental searching), NO to begin search after the selected text. |
| @result YES if found, NO if not found. |
| */ |
| - (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection; |
| |
| - (void)setMainFrameDocumentReady:(BOOL)mainFrameDocumentReady; |
| |
| - (void)setTabKeyCyclesThroughElements:(BOOL)cyclesElements; |
| - (BOOL)tabKeyCyclesThroughElements; |
| |
| - (void)scrollDOMRangeToVisible:(DOMRange *)range; |
| |
| // setHoverFeedbackSuspended: can be called by clients that want to temporarily prevent the webView |
| // from displaying feedback about mouse position. Each WebDocumentView class that displays feedback |
| // about mouse position should honor this setting. |
| - (void)setHoverFeedbackSuspended:(BOOL)newValue; |
| - (BOOL)isHoverFeedbackSuspended; |
| |
| /*! |
| @method setScriptDebugDelegate: |
| @abstract Set the WebView's WebScriptDebugDelegate delegate. |
| @param delegate The WebScriptDebugDelegate to set as the delegate. |
| */ |
| - (void)setScriptDebugDelegate:(id)delegate; |
| |
| /*! |
| @method scriptDebugDelegate |
| @abstract Return the WebView's WebScriptDebugDelegate. |
| @result The WebView's WebScriptDebugDelegate. |
| */ |
| - (id)scriptDebugDelegate; |
| |
| /*! |
| @method setHistoryDelegate: |
| @abstract Set the WebView's WebHistoryDelegate delegate. |
| @param delegate The WebHistoryDelegate to set as the delegate. |
| */ |
| - (void)setHistoryDelegate:(id)delegate; |
| |
| /*! |
| @method historyDelegate |
| @abstract Return the WebView's WebHistoryDelegate delegate. |
| @result The WebView's WebHistoryDelegate delegate. |
| */ |
| - (id)historyDelegate; |
| |
| - (BOOL)shouldClose; |
| |
| /*! |
| @method aeDescByEvaluatingJavaScriptFromString: |
| @param script The text of the JavaScript. |
| @result The result of the script, converted to an NSAppleEventDescriptor, or nil for failure. |
| */ |
| - (NSAppleEventDescriptor *)aeDescByEvaluatingJavaScriptFromString:(NSString *)script; |
| |
| // Support for displaying multiple text matches. |
| // These methods might end up moving into a protocol, so different document types can specify |
| // whether or not they implement the protocol. For now we'll just deal with HTML. |
| // These methods are still in flux; don't rely on them yet. |
| - (BOOL)canMarkAllTextMatches; |
| - (WebNSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(WebNSUInteger)limit; |
| - (void)unmarkAllTextMatches; |
| - (NSArray *)rectsForTextMatches; |
| |
| // Support for disabling registration with the undo manager. This is equivalent to the methods with the same names on NSTextView. |
| - (BOOL)allowsUndo; |
| - (void)setAllowsUndo:(BOOL)flag; |
| |
| /*! |
| @method setPageSizeMultiplier: |
| @abstract Change the zoom factor of the page in views managed by this webView. |
| @param multiplier A fractional percentage value, 1.0 is 100%. |
| */ |
| - (void)setPageSizeMultiplier:(float)multiplier; |
| |
| /*! |
| @method pageSizeMultiplier |
| @result The page size multipler. |
| */ |
| - (float)pageSizeMultiplier; |
| |
| // Commands for doing page zoom. Will end up in WebView (WebIBActions) <NSUserInterfaceValidations> |
| - (BOOL)canZoomPageIn; |
| - (IBAction)zoomPageIn:(id)sender; |
| - (BOOL)canZoomPageOut; |
| - (IBAction)zoomPageOut:(id)sender; |
| - (BOOL)canResetPageZoom; |
| - (IBAction)resetPageZoom:(id)sender; |
| |
| // Sets a master volume control for all media elements in the WebView. Valid values are 0..1. |
| - (void)setMediaVolume:(float)volume; |
| - (float)mediaVolume; |
| |
| // Add visited links |
| - (void)addVisitedLinks:(NSArray *)visitedLinks; |
| |
| @end |
| |
| @interface WebView (WebPrivate) |
| |
| - (WebInspector *)inspector; |
| |
| /*! |
| @method setBackgroundColor: |
| @param backgroundColor Color to use as the default background. |
| @abstract Sets what color the receiver draws under transparent page background colors and images. |
| This color is also used when no page is loaded. A color with alpha should only be used when the receiver is |
| in a non-opaque window, since the color is drawn using NSCompositeCopy. |
| */ |
| - (void)setBackgroundColor:(NSColor *)backgroundColor; |
| |
| /*! |
| @method backgroundColor |
| @result Returns the background color drawn under transparent page background colors and images. |
| This color is also used when no page is loaded. A color with alpha should only be used when the receiver is |
| in a non-opaque window, since the color is drawn using NSCompositeCopy. |
| */ |
| - (NSColor *)backgroundColor; |
| |
| /*! |
| Could be worth adding to the API. |
| @method _loadBackForwardListFromOtherView: |
| @abstract Loads the view with the contents of the other view, including its backforward list. |
| @param otherView The WebView from which to copy contents. |
| */ |
| - (void)_loadBackForwardListFromOtherView:(WebView *)otherView; |
| |
| |
| /*! |
| @method _dispatchPendingLoadRequests: |
| @abstract Dispatches any pending load requests that have been scheduled because of recent DOM additions or style changes. |
| @discussion You only need to call this method if you require synchronous notification of loads through the resource load delegate. |
| Otherwise the resource load delegate will be notified about loads during a future run loop iteration. |
| */ |
| - (void)_dispatchPendingLoadRequests; |
| |
| + (NSArray *)_supportedFileExtensions; |
| |
| /*! |
| @method canShowFile: |
| @abstract Checks if the WebKit can show the content of the file at the specified path. |
| @param path The path of the file to check |
| @result YES if the WebKit can show the content of the file at the specified path. |
| */ |
| + (BOOL)canShowFile:(NSString *)path; |
| |
| /*! |
| @method suggestedFileExtensionForMIMEType: |
| @param MIMEType The MIME type to check. |
| @result The extension based on the MIME type |
| */ |
| + (NSString *)suggestedFileExtensionForMIMEType: (NSString *)MIMEType; |
| |
| + (NSString *)_standardUserAgentWithApplicationName:(NSString *)applicationName; |
| |
| /*! |
| @method canCloseAllWebViews |
| @abstract Checks if all the open WebViews can be closed (by dispatching the beforeUnload event to the pages). |
| @result YES if all the WebViews can be closed. |
| */ |
| + (BOOL)canCloseAllWebViews; |
| |
| // May well become public |
| - (void)_setFormDelegate:(id<WebFormDelegate>)delegate; |
| - (id<WebFormDelegate>)_formDelegate; |
| |
| - (BOOL)_isClosed; |
| |
| // _close is now replaced by public method -close. It remains here only for backward compatibility |
| // until callers can be weaned off of it. |
| - (void)_close; |
| |
| // Indicates if the WebView is in the midst of a user gesture. |
| - (BOOL)_isProcessingUserGesture; |
| |
| // SPI for DumpRenderTree |
| - (void)_updateActiveState; |
| |
| /*! |
| @method _registerViewClass:representationClass:forURLScheme: |
| @discussion Register classes that implement WebDocumentView and WebDocumentRepresentation respectively. |
| @param viewClass The WebDocumentView class to use to render data for a given MIME type. |
| @param representationClass The WebDocumentRepresentation class to use to represent data of the given MIME type. |
| @param scheme The URL scheme to represent with an object of the given class. |
| */ |
| + (void)_registerViewClass:(Class)viewClass representationClass:(Class)representationClass forURLScheme:(NSString *)URLScheme; |
| |
| + (void)_unregisterViewClassAndRepresentationClassForMIMEType:(NSString *)MIMEType; |
| |
| /*! |
| @method _canHandleRequest: |
| @abstract Performs a "preflight" operation that performs some |
| speculative checks to see if a request can be used to create |
| a WebDocumentView and WebDocumentRepresentation. |
| @discussion The result of this method is valid only as long as no |
| protocols or schemes are registered or unregistered, and as long as |
| the request is not mutated (if the request is mutable). Hence, clients |
| should be prepared to handle failures even if they have performed request |
| preflighting by caling this method. |
| @param request The request to preflight. |
| @result YES if it is likely that a WebDocumentView and WebDocumentRepresentation |
| can be created for the request, NO otherwise. |
| */ |
| + (BOOL)_canHandleRequest:(NSURLRequest *)request; |
| |
| + (NSString *)_decodeData:(NSData *)data; |
| |
| + (void)_setAlwaysUsesComplexTextCodePath:(BOOL)f; |
| // This is the old name of the above method. Needed for Safari versions that call it. |
| + (void)_setAlwaysUseATSU:(BOOL)f; |
| |
| - (NSCachedURLResponse *)_cachedResponseForURL:(NSURL *)URL; |
| |
| #if ENABLE_DASHBOARD_SUPPORT |
| - (void)_addScrollerDashboardRegions:(NSMutableDictionary *)regions; |
| - (NSDictionary *)_dashboardRegions; |
| |
| - (void)_setDashboardBehavior:(WebDashboardBehavior)behavior to:(BOOL)flag; |
| - (BOOL)_dashboardBehavior:(WebDashboardBehavior)behavior; |
| #endif |
| |
| + (void)_setShouldUseFontSmoothing:(BOOL)f; |
| + (BOOL)_shouldUseFontSmoothing; |
| |
| - (void)_setCatchesDelegateExceptions:(BOOL)f; |
| - (BOOL)_catchesDelegateExceptions; |
| |
| // These two methods are useful for a test harness that needs a consistent appearance for the focus rings |
| // regardless of OS X version. |
| + (void)_setUsesTestModeFocusRingColor:(BOOL)f; |
| + (BOOL)_usesTestModeFocusRingColor; |
| |
| /*! |
| @method setAlwaysShowVerticalScroller: |
| @result Forces the vertical scroller to be visible if flag is YES, otherwise |
| if flag is NO the scroller with automatically show and hide as needed. |
| */ |
| - (void)setAlwaysShowVerticalScroller:(BOOL)flag; |
| |
| /*! |
| @method alwaysShowVerticalScroller |
| @result YES if the vertical scroller is always shown |
| */ |
| - (BOOL)alwaysShowVerticalScroller; |
| |
| /*! |
| @method setAlwaysShowHorizontalScroller: |
| @result Forces the horizontal scroller to be visible if flag is YES, otherwise |
| if flag is NO the scroller with automatically show and hide as needed. |
| */ |
| - (void)setAlwaysShowHorizontalScroller:(BOOL)flag; |
| |
| /*! |
| @method alwaysShowHorizontalScroller |
| @result YES if the horizontal scroller is always shown |
| */ |
| - (BOOL)alwaysShowHorizontalScroller; |
| |
| /*! |
| @method setProhibitsMainFrameScrolling: |
| @abstract Prohibits scrolling in the WebView's main frame. Used to "lock" a WebView |
| to a specific scroll position. |
| */ |
| - (void)setProhibitsMainFrameScrolling:(BOOL)prohibits; |
| |
| /*! |
| @method _setAdditionalWebPlugInPaths: |
| @abstract Sets additional plugin search paths for a specific WebView. |
| */ |
| - (void)_setAdditionalWebPlugInPaths:(NSArray *)newPaths; |
| |
| /*! |
| @method _setInViewSourceMode: |
| @abstract Used to place a WebView into a special source-viewing mode. |
| */ |
| - (void)_setInViewSourceMode:(BOOL)flag; |
| |
| /*! |
| @method _inViewSourceMode; |
| @abstract Whether or not the WebView is in source-view mode for HTML. |
| */ |
| - (BOOL)_inViewSourceMode; |
| |
| /*! |
| @method _attachScriptDebuggerToAllFrames |
| @abstract Attaches a script debugger to all frames belonging to the receiver. |
| */ |
| - (void)_attachScriptDebuggerToAllFrames; |
| |
| /*! |
| @method _detachScriptDebuggerFromAllFrames |
| @abstract Detaches any script debuggers from all frames belonging to the receiver. |
| */ |
| - (void)_detachScriptDebuggerFromAllFrames; |
| |
| - (BOOL)defersCallbacks; // called by QuickTime plug-in |
| - (void)setDefersCallbacks:(BOOL)defer; // called by QuickTime plug-in |
| |
| - (BOOL)usesPageCache; |
| - (void)setUsesPageCache:(BOOL)usesPageCache; |
| |
| - (WebHistoryItem *)_globalHistoryItem; |
| |
| /*! |
| @method textIteratorForRect: |
| @param rect The rectangle of the document that we're interested in text from. |
| @result WebTextIterator object, initialized with a range that corresponds to |
| the passed-in rectangle. |
| @abstract This method gives the text for the approximate range of the document |
| corresponding to the rectangle. The range is determined by using hit testing at |
| the top left and bottom right of the rectangle. Because of that, there can be |
| text visible in the rectangle that is not included in the iterator. If you need |
| a guarantee of iterating all text that is visible, then you need to instead make |
| a WebTextIterator with a DOMRange that covers the entire document. |
| */ |
| - (WebTextIterator *)textIteratorForRect:(NSRect)rect; |
| |
| #if ENABLE_DASHBOARD_SUPPORT |
| // <rdar://problem/5217124> Clients other than Dashboard, don't use this. |
| // As of this writing, Dashboard uses this on Tiger, but not on Leopard or newer. |
| - (void)handleAuthenticationForResource:(id)identifier challenge:(NSURLAuthenticationChallenge *)challenge fromDataSource:(WebDataSource *)dataSource; |
| #endif |
| |
| - (void)_clearUndoRedoOperations; |
| |
| /* Used to do fast (lower quality) scaling of images so that window resize can be quick. */ |
| - (BOOL)_inFastImageScalingMode; |
| - (void)_setUseFastImageScalingMode:(BOOL)flag; |
| |
| - (BOOL)_cookieEnabled; |
| - (void)_setCookieEnabled:(BOOL)enable; |
| |
| // SPI for DumpRenderTree |
| - (void)_executeCoreCommandByName:(NSString *)name value:(NSString *)value; |
| - (void)_clearMainFrameName; |
| |
| - (void)_setCustomHTMLTokenizerTimeDelay:(double)timeDelay; |
| - (void)_setCustomHTMLTokenizerChunkSize:(int)chunkSize; |
| |
| - (id)_initWithFrame:(NSRect)f frameName:(NSString *)frameName groupName:(NSString *)groupName usesDocumentViews:(BOOL)usesDocumentViews; |
| - (BOOL)_usesDocumentViews; |
| |
| - (void)setSelectTrailingWhitespaceEnabled:(BOOL)flag; |
| - (BOOL)isSelectTrailingWhitespaceEnabled; |
| |
| - (void)setMemoryCacheDelegateCallsEnabled:(BOOL)suspend; |
| - (BOOL)areMemoryCacheDelegateCallsEnabled; |
| |
| - (void)_setJavaScriptURLsAreAllowed:(BOOL)setJavaScriptURLsAreAllowed; |
| |
| + (NSCursor *)_pointingHandCursor; |
| |
| // SPI for DumpRenderTree |
| - (BOOL)_isUsingAcceleratedCompositing; |
| |
| // SPI for PluginHalter |
| + (BOOL)_isNodeHaltedPlugin:(DOMNode *)node; |
| + (BOOL)_hasPluginForNodeBeenHalted:(DOMNode *)node; |
| + (void)_restartHaltedPluginForNode:(DOMNode *)node; |
| |
| // Which pasteboard text is coming from in editing delegate methods such as shouldInsertNode. |
| - (NSPasteboard *)_insertionPasteboard; |
| |
| // Whitelists access from an origin (sourceOrigin) to a set of one or more origins described by the parameters: |
| // - destinationProtocol: The protocol to grant access to. |
| // - destinationHost: The host to grant access to. |
| // - allowDestinationSubdomains: If host is a domain, setting this to YES will whitelist host and all its subdomains, recursively. |
| + (void)_whiteListAccessFromOrigin:(NSString *)sourceOrigin destinationProtocol:(NSString *)destinationProtocol destinationHost:(NSString *)destinationHost allowDestinationSubdomains:(BOOL)allowDestinationSubdomains; |
| |
| // Removes all white list entries created with _whiteListAccessFromOrigin. |
| + (void)_resetOriginAccessWhiteLists; |
| |
| + (void)_addUserScriptToGroup:(NSString *)groupName worldID:(unsigned)worldID source:(NSString *)source url:(NSURL *)url whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist injectionTime:(WebUserScriptInjectionTime)injectionTime; |
| + (void)_addUserStyleSheetToGroup:(NSString *)groupName worldID:(unsigned)worldID source:(NSString *)source url:(NSURL *)url whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist; |
| + (void)_removeUserScriptFromGroup:(NSString *)groupName worldID:(unsigned)worldID url:(NSURL *)url; |
| + (void)_removeUserStyleSheetFromGroup:(NSString *)groupName worldID:(unsigned)worldID url:(NSURL *)url; |
| + (void)_removeUserScriptsFromGroup:(NSString *)groupName worldID:(unsigned)worldID; |
| + (void)_removeUserStyleSheetsFromGroup:(NSString *)groupName worldID:(unsigned)worldID; |
| + (void)_removeAllUserContentFromGroup:(NSString *)groupName; |
| |
| /*! |
| @method cssAnimationsSuspended |
| @abstract Returns whether or not CSS Animations are suspended. |
| @result YES if CSS Animations are suspended. |
| */ |
| - (BOOL)cssAnimationsSuspended; |
| |
| /*! |
| @method setCSSAnimationsSuspended |
| @param paused YES to suspend animations, NO to resume animations. |
| @discussion Suspends or resumes all running animations and transitions in the page. |
| */ |
| - (void)setCSSAnimationsSuspended:(BOOL)suspended; |
| |
| @end |
| |
| @interface WebView (WebViewPrintingPrivate) |
| /*! |
| @method _adjustPrintingMarginsForHeaderAndFooter: |
| @abstract Increase the top and bottom margins for the current print operation to |
| account for the header and footer height. |
| @discussion Called by <WebDocument> implementors once when a print job begins. If the |
| <WebDocument> implementor implements knowsPageRange:, this should be called from there. |
| Otherwise this should be called from beginDocument. The <WebDocument> implementors need |
| to also call _drawHeaderAndFooter. |
| */ |
| - (void)_adjustPrintingMarginsForHeaderAndFooter; |
| |
| /*! |
| @method _drawHeaderAndFooter |
| @abstract Gives the WebView's UIDelegate a chance to draw a header and footer on the |
| printed page. |
| @discussion This should be called by <WebDocument> implementors from an override of |
| drawPageBorderWithSize:. |
| */ |
| - (void)_drawHeaderAndFooter; |
| @end |
| |
| @interface WebView (WebViewGrammarChecking) |
| |
| // FIXME: These two methods should be merged into WebViewEditing when we're not in API freeze |
| - (BOOL)isGrammarCheckingEnabled; |
| #ifndef BUILDING_ON_TIGER |
| - (void)setGrammarCheckingEnabled:(BOOL)flag; |
| |
| // FIXME: This method should be merged into WebIBActions when we're not in API freeze |
| - (void)toggleGrammarChecking:(id)sender; |
| #endif |
| |
| @end |
| |
| @interface WebView (WebViewTextChecking) |
| |
| - (BOOL)isAutomaticQuoteSubstitutionEnabled; |
| - (BOOL)isAutomaticLinkDetectionEnabled; |
| - (BOOL)isAutomaticDashSubstitutionEnabled; |
| - (BOOL)isAutomaticTextReplacementEnabled; |
| - (BOOL)isAutomaticSpellingCorrectionEnabled; |
| #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) |
| - (void)setAutomaticQuoteSubstitutionEnabled:(BOOL)flag; |
| - (void)toggleAutomaticQuoteSubstitution:(id)sender; |
| - (void)setAutomaticLinkDetectionEnabled:(BOOL)flag; |
| - (void)toggleAutomaticLinkDetection:(id)sender; |
| - (void)setAutomaticDashSubstitutionEnabled:(BOOL)flag; |
| - (void)toggleAutomaticDashSubstitution:(id)sender; |
| - (void)setAutomaticTextReplacementEnabled:(BOOL)flag; |
| - (void)toggleAutomaticTextReplacement:(id)sender; |
| - (void)setAutomaticSpellingCorrectionEnabled:(BOOL)flag; |
| - (void)toggleAutomaticSpellingCorrection:(id)sender; |
| #endif |
| |
| @end |
| |
| @interface WebView (WebViewEditingInMail) |
| - (void)_insertNewlineInQuotedContent; |
| - (void)_replaceSelectionWithNode:(DOMNode *)node matchStyle:(BOOL)matchStyle; |
| - (BOOL)_selectionIsCaret; |
| - (BOOL)_selectionIsAll; |
| @end |
| |
| @interface NSObject (WebFrameLoadDelegatePrivate) |
| - (void)webView:(WebView *)sender didFirstLayoutInFrame:(WebFrame *)frame; |
| |
| // didFinishDocumentLoadForFrame is sent when the document has finished loading, though not necessarily all |
| // of its subresources. |
| // FIXME 5259339: Currently this callback is not sent for (some?) pages loaded entirely from the cache. |
| - (void)webView:(WebView *)sender didFinishDocumentLoadForFrame:(WebFrame *)frame; |
| |
| // Addresses 4192534. SPI for now. |
| - (void)webView:(WebView *)sender didHandleOnloadEventsForFrame:(WebFrame *)frame; |
| |
| - (void)webView:(WebView *)sender didFirstVisuallyNonEmptyLayoutInFrame:(WebFrame *)frame; |
| |
| // For implementing the WebInspector's test harness |
| - (void)webView:(WebView *)webView didClearInspectorWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame; |
| |
| @end |
| |
| @interface NSObject (WebResourceLoadDelegatePrivate) |
| // Addresses <rdar://problem/5008925> - SPI for now |
| - (NSCachedURLResponse *)webView:(WebView *)sender resource:(id)identifier willCacheResponse:(NSCachedURLResponse *)response fromDataSource:(WebDataSource *)dataSource; |
| @end |
| |
| #undef WebNSInteger |
| #undef WebNSUInteger |