#import <WebKitLegacy/WebView.h>
#import <WebKitLegacy/WebFramePrivate.h>
#import <JavaScriptCore/JSBase.h>
#if TARGET_OS_IPHONE
#import <CoreGraphics/CGColor.h>
#endif
#if !defined(ENABLE_DASHBOARD_SUPPORT)
#if TARGET_OS_IPHONE
#define ENABLE_DASHBOARD_SUPPORT 0
#else
#define ENABLE_DASHBOARD_SUPPORT 1
#endif
#endif
#if !defined(ENABLE_REMOTE_INSPECTOR)
#define ENABLE_REMOTE_INSPECTOR 1
#endif
#if !defined(ENABLE_TOUCH_EVENTS)
#if TARGET_OS_IPHONE
#define ENABLE_TOUCH_EVENTS 1
#else
#define ENABLE_TOUCH_EVENTS 0
#endif
#endif
@class UIColor;
@class UIImage;
@class NSError;
@class WebFrame;
@class WebDeviceOrientation;
@class WebGeolocationPosition;
@class WebInspector;
@class WebNotification;
@class WebPreferences;
@class WebScriptWorld;
@class WebSecurityOrigin;
@class WebTextIterator;
#if TARGET_OS_IPHONE
@class CALayer;
@class WebFixedPositionContent;
@protocol WebCaretChangeListener;
#endif
@protocol WebDeviceOrientationProvider;
@protocol WebFormDelegate;
#if !TARGET_OS_IPHONE
extern NSString *_WebCanGoBackKey;
extern NSString *_WebCanGoForwardKey;
extern NSString *_WebEstimatedProgressKey;
extern NSString *_WebIsLoadingKey;
extern NSString *_WebMainFrameIconKey;
extern NSString *_WebMainFrameTitleKey;
extern NSString *_WebMainFrameURLKey;
extern NSString *_WebMainFrameDocumentKey;
#endif
#if TARGET_OS_IPHONE
extern NSString * const WebViewProgressEstimatedProgressKey;
extern NSString * const WebViewProgressBackgroundColorKey;
#endif
extern NSString *WebElementTitleKey; extern NSString *WebElementSpellingToolTipKey; extern NSString *WebElementIsContentEditableKey; extern NSString *WebElementMediaURLKey;
extern NSString *WebElementLinkIsLiveKey; extern NSString *WebElementIsInScrollBarKey;
extern NSString *_WebViewDidStartAcceleratedCompositingNotification;
#if ENABLE_REMOTE_INSPECTOR
extern NSString *_WebViewRemoteInspectorHasSessionChangedNotification;
#endif
#if TARGET_OS_IPHONE
extern NSString *WebQuickLookFileNameKey;
extern NSString *WebQuickLookUTIKey;
#endif
#if TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000
@protocol UIDropSession;
#endif
extern NSString * const WebViewWillCloseNotification;
#if ENABLE_DASHBOARD_SUPPORT
typedef enum {
WebDashboardBehaviorAlwaysSendMouseEventsToAllWindows,
WebDashboardBehaviorAlwaysSendActiveNullEventsToPlugIns,
WebDashboardBehaviorAlwaysAcceptsFirstMouse,
WebDashboardBehaviorAllowWheelScrolling,
WebDashboardBehaviorUseBackwardCompatibilityMode
} WebDashboardBehavior;
#endif
typedef enum {
WebInjectAtDocumentStart,
WebInjectAtDocumentEnd,
} WebUserScriptInjectionTime;
typedef enum {
WebInjectInAllFrames,
WebInjectInTopFrameOnly
} WebUserContentInjectedFrames;
enum {
WebFindOptionsCaseInsensitive = 1 << 0,
WebFindOptionsAtWordStarts = 1 << 1,
WebFindOptionsTreatMedialCapitalAsWordStart = 1 << 2,
WebFindOptionsBackwards = 1 << 3,
WebFindOptionsWrapAround = 1 << 4,
WebFindOptionsStartInSelection = 1 << 5
};
typedef NSUInteger WebFindOptions;
typedef enum {
WebPaginationModeUnpaginated,
WebPaginationModeLeftToRight,
WebPaginationModeRightToLeft,
WebPaginationModeTopToBottom,
WebPaginationModeBottomToTop,
#if TARGET_OS_IPHONE
WebPaginationModeHorizontal = WebPaginationModeLeftToRight,
WebPaginationModeVertical = WebPaginationModeTopToBottom,
#endif
} WebPaginationMode;
enum {
WebDidFirstLayout = 1 << 0,
WebDidFirstVisuallyNonEmptyLayout = 1 << 1,
WebDidHitRelevantRepaintedObjectsAreaThreshold = 1 << 2
};
typedef NSUInteger WebLayoutMilestones;
typedef enum {
WebPageVisibilityStateVisible,
WebPageVisibilityStateHidden,
WebPageVisibilityStatePrerender
} WebPageVisibilityState;
typedef enum {
WebNotificationPermissionAllowed,
WebNotificationPermissionNotAllowed,
WebNotificationPermissionDenied
} WebNotificationPermission;
@interface WebUITextIndicatorData : NSObject
@property (nonatomic, retain) UIImage *dataInteractionImage;
@property (nonatomic, assign) CGRect selectionRectInRootViewCoordinates;
@property (nonatomic, assign) CGRect textBoundingRectInRootViewCoordinates;
@property (nonatomic, retain) NSArray<NSValue *> *textRectsInBoundingRectCoordinates; @property (nonatomic, assign) CGFloat contentImageScaleFactor;
@property (nonatomic, retain) UIImage *contentImageWithHighlight;
@property (nonatomic, retain) UIImage *contentImage;
@property (nonatomic, retain) UIImage *contentImageWithoutSelection;
@property (nonatomic, assign) CGRect contentImageWithoutSelectionRectInRootViewCoordinates;
@property (nonatomic, retain) UIColor *estimatedBackgroundColor;
@end
#if !TARGET_OS_IPHONE
@interface WebController : NSTreeController {
IBOutlet WebView *webView;
}
- (WebView *)webView;
- (void)setWebView:(WebView *)newWebView;
@end
#endif
@interface WebView (WebViewEditingActionsPendingPublic)
- (void)outdent:(id)sender;
- (NSDictionary *)typingAttributes;
@end
@interface WebView (WebPendingPublic)
- (void)scheduleInRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode;
- (void)unscheduleFromRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode;
- (BOOL)findString:(NSString *)string options:(WebFindOptions)options;
- (DOMRange *)DOMRangeOfString:(NSString *)string relativeTo:(DOMRange *)previousRange options:(WebFindOptions)options;
- (void)setMainFrameDocumentReady:(BOOL)mainFrameDocumentReady;
- (void)setTabKeyCyclesThroughElements:(BOOL)cyclesElements;
- (BOOL)tabKeyCyclesThroughElements;
- (void)scrollDOMRangeToVisible:(DOMRange *)range;
#if TARGET_OS_IPHONE
- (void)scrollDOMRangeToVisible:(DOMRange *)range withInset:(CGFloat)inset;
#endif
- (void)setScriptDebugDelegate:(id)delegate;
- (id)scriptDebugDelegate;
- (void)setHistoryDelegate:(id)delegate;
- (id)historyDelegate;
- (BOOL)shouldClose;
#if !TARGET_OS_IPHONE
- (NSAppleEventDescriptor *)aeDescByEvaluatingJavaScriptFromString:(NSString *)script;
#endif
- (BOOL)canMarkAllTextMatches;
- (NSUInteger)countMatchesForText:(NSString *)string options:(WebFindOptions)options highlight:(BOOL)highlight limit:(NSUInteger)limit markMatches:(BOOL)markMatches;
- (NSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options highlight:(BOOL)highlight limit:(NSUInteger)limit markMatches:(BOOL)markMatches;
- (void)unmarkAllTextMatches;
- (NSArray *)rectsForTextMatches;
- (BOOL)allowsUndo;
- (void)setAllowsUndo:(BOOL)flag;
- (void)setPageSizeMultiplier:(float)multiplier;
- (float)pageSizeMultiplier;
- (BOOL)canZoomPageIn;
- (IBAction)zoomPageIn:(id)sender;
- (BOOL)canZoomPageOut;
- (IBAction)zoomPageOut:(id)sender;
- (BOOL)canResetPageZoom;
- (IBAction)resetPageZoom:(id)sender;
- (void)setMediaVolume:(float)volume;
- (float)mediaVolume;
- (void)addVisitedLinks:(NSArray *)visitedLinks;
#if TARGET_OS_IPHONE
- (void)removeVisitedLink:(NSURL *)url;
#endif
@end
@interface WebView (WebPrivate)
+ (void)_setIconLoadingEnabled:(BOOL)enabled;
+ (BOOL)_isIconLoadingEnabled;
- (WebInspector *)inspector;
#if ENABLE_REMOTE_INSPECTOR
+ (void)_enableRemoteInspector;
+ (void)_disableRemoteInspector;
+ (void)_disableAutoStartRemoteInspector;
+ (BOOL)_isRemoteInspectorEnabled;
+ (BOOL)_hasRemoteInspectorSession;
- (BOOL)allowsRemoteInspection;
- (void)setAllowsRemoteInspection:(BOOL)allow;
- (void)setShowingInspectorIndication:(BOOL)enabled;
#if TARGET_OS_IPHONE
- (void)_setHostApplicationProcessIdentifier:(pid_t)pid auditToken:(audit_token_t)auditToken;
#endif
#endif // ENABLE_REMOTE_INSPECTOR
#if !TARGET_OS_IPHONE
- (void)setBackgroundColor:(NSColor *)backgroundColor;
- (NSColor *)backgroundColor;
#else
- (void)setBackgroundColor:(CGColorRef)backgroundColor;
- (CGColorRef)backgroundColor;
#endif
- (void)_loadBackForwardListFromOtherView:(WebView *)otherView;
+ (void)_reportException:(JSValueRef)exception inContext:(JSContextRef)context;
- (void)_dispatchPendingLoadRequests;
#if !TARGET_OS_IPHONE
+ (NSArray *)_supportedFileExtensions;
#endif
+ (BOOL)canShowFile:(NSString *)path;
#if !TARGET_OS_IPHONE
+ (NSString *)suggestedFileExtensionForMIMEType: (NSString *)MIMEType;
#endif
+ (NSString *)_standardUserAgentWithApplicationName:(NSString *)applicationName;
#if TARGET_OS_IPHONE
- (void)_setBrowserUserAgentProductVersion:(NSString *)productVersion buildVersion:(NSString *)buildVersion bundleVersion:(NSString *)bundleVersion;
- (void)_setUIWebViewUserAgentWithBuildVersion:(NSString *)buildVersion;
#endif
+ (BOOL)canCloseAllWebViews;
#if TARGET_OS_IPHONE
- (id)initSimpleHTMLDocumentWithStyle:(NSString *)style frame:(CGRect)frame preferences:(WebPreferences *)preferences groupName:(NSString *)groupName;
- (id)_formDelegateForwarder;
- (id)_formDelegateForSelector:(SEL)selector;
- (id)_webMailDelegate;
- (void)setWebMailDelegate:(id)delegate;
- (id <WebCaretChangeListener>)caretChangeListener;
- (void)setCaretChangeListener:(id <WebCaretChangeListener>)listener;
- (NSSet *)caretChangeListeners;
- (void)addCaretChangeListener:(id <WebCaretChangeListener>)listener;
- (void)removeCaretChangeListener:(id <WebCaretChangeListener>)listener;
- (void)removeAllCaretChangeListeners;
- (void)caretChanged;
- (void)_dispatchUnloadEvent;
- (DOMCSSStyleDeclaration *)styleAtSelectionStart;
- (NSUInteger)_renderTreeSize;
- (void)_setResourceLoadSchedulerSuspended:(BOOL)suspend;
+ (void)_setTileCacheLayerPoolCapacity:(unsigned)capacity;
+ (void)_releaseMemoryNow;
- (void)_replaceCurrentHistoryItem:(WebHistoryItem *)item;
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000
- (BOOL)_requestStartDataInteraction:(CGPoint)clientPosition globalPosition:(CGPoint)globalPosition;
- (WebUITextIndicatorData *)_getDataInteractionData;
@property (nonatomic, readonly, strong, getter=_dataOperationTextIndicator) WebUITextIndicatorData *dataOperationTextIndicator;
@property (nonatomic, readonly) NSUInteger _dragSourceAction;
@property (nonatomic, strong, readonly) NSString *_draggedLinkTitle;
@property (nonatomic, strong, readonly) NSURL *_draggedLinkURL;
@property (nonatomic, readonly) CGRect _draggedElementBounds;
- (uint64_t)_enteredDataInteraction:(id <UIDropSession>)session client:(CGPoint)clientPosition global:(CGPoint)globalPosition operation:(uint64_t)operation;
- (uint64_t)_updatedDataInteraction:(id <UIDropSession>)session client:(CGPoint)clientPosition global:(CGPoint)globalPosition operation:(uint64_t)operation;
- (void)_exitedDataInteraction:(id <UIDropSession>)session client:(CGPoint)clientPosition global:(CGPoint)globalPosition operation:(uint64_t)operation;
- (void)_performDataInteraction:(id <UIDropSession>)session client:(CGPoint)clientPosition global:(CGPoint)globalPosition operation:(uint64_t)operation;
- (BOOL)_tryToPerformDataInteraction:(id <UIDropSession>)session client:(CGPoint)clientPosition global:(CGPoint)globalPosition operation:(uint64_t)operation;
- (void)_endedDataInteraction:(CGPoint)clientPosition global:(CGPoint)globalPosition;
@property (nonatomic, readonly, getter=_dataInteractionCaretRect) CGRect dataInteractionCaretRect;
#endif
- (NSDictionary *)quickLookContentForURL:(NSURL *)url;
#endif
- (void)_setFormDelegate:(id<WebFormDelegate>)delegate;
- (id<WebFormDelegate>)_formDelegate;
- (BOOL)_isClosed;
- (void)_close;
- (BOOL)_isProcessingUserGesture;
- (BOOL)_isViewVisible;
- (void)_updateVisibilityState;
- (void)_updateActiveState;
- (void)_didScrollDocumentInFrameView:(WebFrameView *)frameView;
+ (void)_registerViewClass:(Class)viewClass representationClass:(Class)representationClass forURLScheme:(NSString *)URLScheme;
+ (void)_unregisterViewClassAndRepresentationClassForMIMEType:(NSString *)MIMEType;
+ (BOOL)_canHandleRequest:(NSURLRequest *)request;
+ (NSString *)_decodeData:(NSData *)data;
+ (void)_setAlwaysUsesComplexTextCodePath:(BOOL)f;
#if !TARGET_OS_IPHONE
- (NSCachedURLResponse *)_cachedResponseForURL:(NSURL *)URL;
#endif
#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;
#if !TARGET_OS_IPHONE
+ (void)_setUsesTestModeFocusRingColor:(BOOL)f;
+ (BOOL)_usesTestModeFocusRingColor;
#endif
#if TARGET_OS_IPHONE
- (void)_setUIKitDelegate:(id)delegate;
- (id)_UIKitDelegate;
- (void)_clearDelegates;
- (NSURL *)_displayURL;
+ (NSArray *)_productivityDocumentMIMETypes;
- (void)_setAllowsMessaging:(BOOL)aFlag;
- (BOOL)_allowsMessaging;
- (void)_setCustomFixedPositionLayoutRectInWebThread:(CGRect)rect synchronize:(BOOL)synchronize;
- (void)_setCustomFixedPositionLayoutRect:(CGRect)rect;
- (WebFixedPositionContent*)_fixedPositionContent;
- (void)_viewGeometryDidChange;
- (void)_overflowScrollPositionChangedTo:(CGPoint)offset forNode:(DOMNode *)node isUserScroll:(BOOL)userScroll;
#if ENABLE_TOUCH_EVENTS
- (NSArray *)_touchEventRegions;
#endif
+ (void)_doNotStartObservingNetworkReachability;
#endif
#if !TARGET_OS_IPHONE
- (void)setAlwaysShowVerticalScroller:(BOOL)flag;
- (BOOL)alwaysShowVerticalScroller;
- (void)setAlwaysShowHorizontalScroller:(BOOL)flag;
- (BOOL)alwaysShowHorizontalScroller;
- (void)setProhibitsMainFrameScrolling:(BOOL)prohibits;
- (void)_setAdditionalWebPlugInPaths:(NSArray *)newPaths;
#endif
#if TARGET_OS_IPHONE
- (BOOL)_pluginsAreRunning;
- (void)_destroyAllPlugIns;
- (void)_startAllPlugIns;
- (void)_stopAllPlugIns;
- (void)_stopAllPlugInsForPageCache;
- (void)_restorePlugInsFromCache;
- (BOOL)_setMediaLayer:(CALayer*)layer forPluginView:(NSView*)pluginView;
- (BOOL)_wantsTelephoneNumberParsing;
- (void)_setWantsTelephoneNumberParsing:(BOOL)flag;
- (void)_setNeedsUnrestrictedGetMatchedCSSRules:(BOOL)flag;
#endif
- (void)_attachScriptDebuggerToAllFrames;
- (void)_detachScriptDebuggerFromAllFrames;
- (BOOL)defersCallbacks; - (void)setDefersCallbacks:(BOOL)defer;
- (BOOL)usesPageCache;
- (void)setUsesPageCache:(BOOL)usesPageCache;
- (WebHistoryItem *)_globalHistoryItem;
- (WebTextIterator *)textIteratorForRect:(NSRect)rect;
#if !TARGET_OS_IPHONE
- (void)_clearUndoRedoOperations;
#endif
- (BOOL)_inFastImageScalingMode;
- (void)_setUseFastImageScalingMode:(BOOL)flag;
- (BOOL)_cookieEnabled;
- (void)_setCookieEnabled:(BOOL)enable;
- (void)_executeCoreCommandByName:(NSString *)name value:(NSString *)value;
- (void)_clearMainFrameName;
- (void)setSelectTrailingWhitespaceEnabled:(BOOL)flag;
- (BOOL)isSelectTrailingWhitespaceEnabled;
- (void)setMemoryCacheDelegateCallsEnabled:(BOOL)suspend;
- (BOOL)areMemoryCacheDelegateCallsEnabled;
- (BOOL)_postsAcceleratedCompositingNotifications;
- (void)_setPostsAcceleratedCompositingNotifications:(BOOL)flag;
- (BOOL)_isUsingAcceleratedCompositing;
- (void)_setBaseCTM:(CGAffineTransform)transform forContext:(CGContextRef)context;
- (BOOL)interactiveFormValidationEnabled;
- (void)setInteractiveFormValidationEnabled:(BOOL)enabled;
- (int)validationMessageTimerMagnification;
- (void)setValidationMessageTimerMagnification:(int)newValue;
- (NSDictionary *)_contentsOfUserInterfaceItem:(NSString *)userInterfaceItem;
- (BOOL)_isSoftwareRenderable;
- (void)setTracksRepaints:(BOOL)flag;
- (BOOL)isTrackingRepaints;
- (void)resetTrackedRepaints;
- (NSArray*)trackedRepaintRects;
#if !TARGET_OS_IPHONE
- (NSPasteboard *)_insertionPasteboard;
#endif
+ (void)_addOriginAccessWhitelistEntryWithSourceOrigin:(NSString *)sourceOrigin destinationProtocol:(NSString *)destinationProtocol destinationHost:(NSString *)destinationHost allowDestinationSubdomains:(BOOL)allowDestinationSubdomains;
+ (void)_removeOriginAccessWhitelistEntryWithSourceOrigin:(NSString *)sourceOrigin destinationProtocol:(NSString *)destinationProtocol destinationHost:(NSString *)destinationHost allowDestinationSubdomains:(BOOL)allowDestinationSubdomains;
+ (void)_resetOriginAccessWhitelists;
+ (void)_addUserScriptToGroup:(NSString *)groupName world:(WebScriptWorld *)world source:(NSString *)source url:(NSURL *)url whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist injectionTime:(WebUserScriptInjectionTime)injectionTime;
+ (void)_addUserStyleSheetToGroup:(NSString *)groupName world:(WebScriptWorld *)world source:(NSString *)source url:(NSURL *)url whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist;
+ (void)_addUserScriptToGroup:(NSString *)groupName world:(WebScriptWorld *)world source:(NSString *)source url:(NSURL *)url whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist injectionTime:(WebUserScriptInjectionTime)injectionTime injectedFrames:(WebUserContentInjectedFrames)injectedFrames;
+ (void)_addUserStyleSheetToGroup:(NSString *)groupName world:(WebScriptWorld *)world source:(NSString *)source url:(NSURL *)url whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist injectedFrames:(WebUserContentInjectedFrames)injectedFrames;
+ (void)_removeUserScriptFromGroup:(NSString *)groupName world:(WebScriptWorld *)world url:(NSURL *)url;
+ (void)_removeUserStyleSheetFromGroup:(NSString *)groupName world:(WebScriptWorld *)world url:(NSURL *)url;
+ (void)_removeUserScriptsFromGroup:(NSString *)groupName world:(WebScriptWorld *)world;
+ (void)_removeUserStyleSheetsFromGroup:(NSString *)groupName world:(WebScriptWorld *)world;
+ (void)_removeAllUserContentFromGroup:(NSString *)groupName;
+ (void)_setLoadResourcesSerially:(BOOL)serialize;
- (BOOL)cssAnimationsSuspended;
- (void)setCSSAnimationsSuspended:(BOOL)suspended;
- (BOOL)allowsNewCSSAnimationsWhileSuspended;
- (void)setAllowsNewCSSAnimationsWhileSuspended:(BOOL)allowed;
+ (void)_setDomainRelaxationForbidden:(BOOL)forbidden forURLScheme:(NSString *)scheme;
+ (void)_registerURLSchemeAsSecure:(NSString *)scheme;
+ (void)_registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing:(NSString *)scheme;
+ (void)_registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing:(NSString *)scheme;
- (void)_scaleWebView:(float)scale atOrigin:(NSPoint)origin;
- (float)_viewScaleFactor;
- (void)_setUseFixedLayout:(BOOL)fixed;
- (void)_setFixedLayoutSize:(NSSize)size;
- (BOOL)_useFixedLayout;
- (NSSize)_fixedLayoutSize;
- (void)_setPaginationMode:(WebPaginationMode)paginationMode;
- (WebPaginationMode)_paginationMode;
- (void)_listenForLayoutMilestones:(WebLayoutMilestones)layoutMilestones;
- (WebLayoutMilestones)_layoutMilestones;
- (WebPageVisibilityState)_visibilityState;
- (void)_setVisibilityState:(WebPageVisibilityState)visibilityState isInitialState:(BOOL)isInitialState;
- (void)_setPaginationBehavesLikeColumns:(BOOL)behavesLikeColumns;
- (BOOL)_paginationBehavesLikeColumns;
- (void)_setPageLength:(CGFloat)pageLength;
- (CGFloat)_pageLength;
- (void)_setGapBetweenPages:(CGFloat)pageGap;
- (CGFloat)_gapBetweenPages;
- (NSUInteger)_pageCount;
- (void)_setPaginationLineGridEnabled:(BOOL)lineGridEnabled;
- (BOOL)_paginationLineGridEnabled;
#if !TARGET_OS_IPHONE
- (void)_setCustomBackingScaleFactor:(CGFloat)overrideScaleFactor;
- (CGFloat)_backingScaleFactor;
#endif
- (NSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)limit;
- (NSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)limit markMatches:(BOOL)markMatches;
- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection;
+ (BOOL)_HTTPPipeliningEnabled;
+ (void)_setHTTPPipeliningEnabled:(BOOL)enabled;
@property (nonatomic, copy, getter=_sourceApplicationAuditData, setter=_setSourceApplicationAuditData:) NSData *sourceApplicationAuditData;
- (void)_setFontFallbackPrefersPictographs:(BOOL)flag;
- (void)showCandidates:(NSArray *)candidates forString:(NSString *)string inRect:(NSRect)rectOfTypedString forSelectedRange:(NSRange)range view:(NSView *)view completionHandler:(void (^)(NSTextCheckingResult *acceptedCandidate))completionBlock;
- (void)forceRequestCandidatesForTesting;
- (BOOL)shouldRequestCandidates;
typedef struct WebEdgeInsets {
CGFloat top;
CGFloat left;
CGFloat bottom;
CGFloat right;
} WebEdgeInsets;
@property (nonatomic, assign, setter=_setUnobscuredSafeAreaInsets:) WebEdgeInsets _unobscuredSafeAreaInsets;
@property (nonatomic, assign, setter=_setUseSystemAppearance:) BOOL _useSystemAppearance;
@end
#if !TARGET_OS_IPHONE
@interface WebView (WebViewPrintingPrivate)
- (void)_adjustPrintingMarginsForHeaderAndFooter;
- (void)_drawHeaderAndFooter;
@end
@interface WebView (WebViewGrammarChecking)
- (BOOL)isGrammarCheckingEnabled;
- (void)setGrammarCheckingEnabled:(BOOL)flag;
- (void)toggleGrammarChecking:(id)sender;
@end
@interface WebView (WebViewTextChecking)
- (BOOL)isAutomaticQuoteSubstitutionEnabled;
- (BOOL)isAutomaticLinkDetectionEnabled;
- (BOOL)isAutomaticDashSubstitutionEnabled;
- (BOOL)isAutomaticTextReplacementEnabled;
- (BOOL)isAutomaticSpellingCorrectionEnabled;
- (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;
@end
#endif
@interface WebView (WebViewEditingInMail)
- (void)_insertNewlineInQuotedContent;
- (void)_replaceSelectionWithNode:(DOMNode *)node matchStyle:(BOOL)matchStyle;
- (BOOL)_selectionIsCaret;
- (BOOL)_selectionIsAll;
- (void)_simplifyMarkup:(DOMNode *)startNode endNode:(DOMNode *)endNode;
@end
@interface WebView (WebViewDeviceOrientation)
- (void)_setDeviceOrientationProvider:(id<WebDeviceOrientationProvider>)deviceOrientationProvider;
- (id<WebDeviceOrientationProvider>)_deviceOrientationProvider;
@end
#if TARGET_OS_IPHONE
@protocol WebGeolocationProvider;
@protocol WebGeolocationProviderInitializationListener <NSObject>
- (void)initializationAllowedWebView:(WebView *)webView;
- (void)initializationDeniedWebView:(WebView *)webView;
@end
#endif
@protocol WebGeolocationProvider <NSObject>
- (void)registerWebView:(WebView *)webView;
- (void)unregisterWebView:(WebView *)webView;
- (WebGeolocationPosition *)lastPosition;
#if TARGET_OS_IPHONE
- (void)setEnableHighAccuracy:(BOOL)enableHighAccuracy;
- (void)initializeGeolocationForWebView:(WebView *)webView listener:(id<WebGeolocationProviderInitializationListener>)listener;
- (void)stopTrackingWebView:(WebView *)webView;
#endif
@end
@protocol WebNotificationProvider
- (void)registerWebView:(WebView *)webView;
- (void)unregisterWebView:(WebView *)webView;
- (void)showNotification:(WebNotification *)notification fromWebView:(WebView *)webView;
- (void)cancelNotification:(WebNotification *)notification;
- (void)notificationDestroyed:(WebNotification *)notification;
- (void)clearNotifications:(NSArray *)notificationIDs;
- (WebNotificationPermission)policyForOrigin:(WebSecurityOrigin *)origin;
- (void)webView:(WebView *)webView didShowNotification:(uint64_t)notificationID;
- (void)webView:(WebView *)webView didClickNotification:(uint64_t)notificationID;
- (void)webView:(WebView *)webView didCloseNotifications:(NSArray *)notificationIDs;
@end
@interface WebView (WebViewGeolocation)
- (void)_setGeolocationProvider:(id<WebGeolocationProvider>)locationProvider;
- (id<WebGeolocationProvider>)_geolocationProvider;
- (void)_geolocationDidChangePosition:(WebGeolocationPosition *)position;
- (void)_geolocationDidFailWithMessage:(NSString *)errorMessage;
#if TARGET_OS_IPHONE
- (void)_resetAllGeolocationPermission;
#endif
@end
@interface WebView (WebViewNotification)
- (void)_setNotificationProvider:(id<WebNotificationProvider>)notificationProvider;
- (id<WebNotificationProvider>)_notificationProvider;
- (void)_notificationDidShow:(uint64_t)notificationID;
- (void)_notificationDidClick:(uint64_t)notificationID;
- (void)_notificationsDidClose:(NSArray *)notificationIDs;
- (uint64_t)_notificationIDForTesting:(JSValueRef)jsNotification;
@end
@interface WebView (WebViewFontSelection)
+ (void)_setFontWhitelist:(NSArray *)whitelist;
@end
#if TARGET_OS_IPHONE
@interface WebView (WebViewIOSPDF)
+ (Class)_getPDFRepresentationClass;
+ (void)_setPDFRepresentationClass:(Class)pdfRepresentationClass;
+ (Class)_getPDFViewClass;
+ (void)_setPDFViewClass:(Class)pdfViewClass;
@end
#endif
@interface NSObject (WebViewFrameLoadDelegatePrivate)
- (void)webView:(WebView *)sender didFirstLayoutInFrame:(WebFrame *)frame;
- (void)webView:(WebView *)sender didFinishDocumentLoadForFrame:(WebFrame *)frame;
- (void)webView:(WebView *)sender didHandleOnloadEventsForFrame:(WebFrame *)frame;
- (void)webView:(WebView *)sender didFirstVisuallyNonEmptyLayoutInFrame:(WebFrame *)frame;
- (void)webView:(WebView *)sender didLayout:(WebLayoutMilestones)milestones;
- (void)webView:(WebView *)webView didClearInspectorWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame;
@end
@interface NSObject (WebViewResourceLoadDelegatePrivate)
- (NSCachedURLResponse *)webView:(WebView *)sender resource:(id)identifier willCacheResponse:(NSCachedURLResponse *)response fromDataSource:(WebDataSource *)dataSource;
@end
#ifdef __cplusplus
extern "C" {
#endif
void WebInstallMemoryPressureHandler(void);
#ifdef __cplusplus
}
#endif