2 * Copyright (C) 2006 Apple Inc. All rights reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23 * THE POSSIBILITY OF SUCH DAMAGE.
28 #import "WebDefaultUIKitDelegate.h"
30 #import "WebUIDelegate.h"
32 static WebDefaultUIKitDelegate *sharedDelegate = nil;
34 @implementation WebDefaultUIKitDelegate
36 + (WebDefaultUIKitDelegate *)sharedUIKitDelegate
38 if (!sharedDelegate) {
39 sharedDelegate = [[WebDefaultUIKitDelegate alloc] init];
41 return sharedDelegate;
44 - (CGPoint)contentsPointForWebView:(WebView *)aWebView
49 - (CGRect)documentVisibleRectForWebView:(WebView *)aWebView
54 - (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame
59 - (void)webView:(WebView *)sender didCommitLoadForFrame:(WebFrame *)frame
64 - (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
69 - (void)webView:(WebView *)webView saveStateToHistoryItem:(WebHistoryItem *)item forFrame:(WebFrame *)frame
74 - (void)webView:(WebView *)webView restoreStateFromHistoryItem:(WebHistoryItem *)item forFrame:(WebFrame *)frame force:(BOOL)force
79 - (void)webView:(WebView *)aWebView didReceiveViewportArguments:(NSDictionary *)arguments
84 - (void)webView:(WebView *)aWebView needsScrollNotifications:(NSNumber *)aNumber forFrame:(WebFrame *)aFrame
89 - (void)webView:(WebView *)aWebView didObserveDeferredContentChange:(WKContentChange)aChange forFrame:(WebFrame *)frame
94 - (void)webViewDidPreventDefaultForEvent:(WebView *)webView
98 - (BOOL)webView:(WebView *)webView shouldScrollToPoint:(CGPoint)point forFrame:(WebFrame *)frame
103 - (void)webView:(WebView *)webView willCloseFrame:(WebFrame *)frame
108 - (void)webView:(WebView *)webView didFinishDocumentLoadForFrame:(WebFrame *)frame
113 - (void)webView:(WebView *)sender didFailLoadWithError:(NSError *)error forFrame:(WebFrame *)frame
117 - (void)webView:(WebView *)sender didChangeLocationWithinPageForFrame:(WebFrame *)frame
121 - (void)webView:(WebView *)webView didFirstLayoutInFrame:(WebFrame *)frame
126 - (void)webView:(WebView *)webView didFirstVisuallyNonEmptyLayoutInFrame:(WebFrame *)frame
130 - (void)webView:(WebView *)webView elementDidFocusNode:(DOMNode *)node
134 - (void)webView:(WebView *)webView elementDidBlurNode:(DOMNode *)node
138 - (void)webViewDidRestoreFromPageCache:(WebView *)webView
142 - (void)webViewDidReceiveMobileDocType:(WebView *)webView
147 - (NSView *)webView:(WebView *)webView plugInViewWithArguments:(NSDictionary *)arguments fromPlugInPackage:(WebPluginPackage *)package
152 - (void)webView:(WebView *)webView willShowFullScreenForPlugInView:(id)plugInView
156 - (void)webView:(WebView *)webView didHideFullScreenForPlugInView:(id)plugInView
160 - (void)webView:(WebView *)aWebView didReceiveMessage:(NSDictionary *)aMessage
164 // FIXME: to be removed when UIKit implements the new one below.
165 - (void)addInputString:(NSString *)str fromVariantKey:(BOOL)isPopupVariant
169 - (void)addInputString:(NSString *)str withFlags:(NSUInteger)flags
173 - (void)deleteFromInput
177 - (void)_webthread_webView:(WebView *)sender attachRootLayer:(id)layer
181 - (void)webViewDidCommitCompositingLayerChanges:(WebView*)webView
185 - (void)webView:(WebView*)webView didCreateOrUpdateScrollingLayer:(id)layer withContentsLayer:(id)contentsLayer scrollSize:(NSValue*)sizeValue forNode:(DOMNode *)node
186 allowHorizontalScrollbar:(BOOL)allowHorizontalScrollbar allowVerticalScrollbar:(BOOL)allowVerticalScrollbar
190 - (void)webView:(WebView*)webView willRemoveScrollingLayer:(id)layer withContentsLayer:(id)contentsLayer forNode:(DOMNode *)node
194 - (void)revealedSelectionByScrollingWebFrame:(WebFrame *)webFrame
198 - (void)webViewDidLayout:(WebView *)webView
202 - (void)webViewDidStartOverflowScroll:(WebView *)webView
206 - (void)webViewDidEndOverflowScroll:(WebView *)webView
210 - (void)webView:(WebView *)webView runOpenPanelForFileButtonWithResultListener:(id<WebOpenPanelResultListener>)resultListener allowMultipleFiles:(BOOL)allowMultipleFiles acceptMIMETypes:(NSArray *)mimeTypes
212 [resultListener cancel];
215 - (NSArray *)checkSpellingOfString:(NSString *)stringToCheck
220 - (void)writeDataToPasteboard:(NSDictionary *)representations
224 - (NSArray*)readDataFromPasteboard:(NSString*)type withIndex:(NSInteger)index
229 - (NSInteger)getPasteboardItemsCount
234 - (NSArray*)supportedPasteboardTypesForCurrentSelection
239 - (CGPoint)interactionLocation
244 - (void)showPlaybackTargetPicker:(BOOL)hasVideo fromRect:(CGRect)elementRect
248 - (BOOL)hasRichlyEditableSelection
253 - (BOOL)performsTwoStepPaste:(DOMDocumentFragment*)fragment
258 - (NSInteger)getPasteboardChangeCount
263 - (BOOL)isUnperturbedDictationResultMarker:(id)metadataForMarker
268 - (void)webView:(WebView *)webView willAddPlugInView:(id)plugInView
272 - (void)webViewDidDrawTiles:(WebView *)webView
276 - (void)webView:(WebView *)webView addMessageToConsole:(NSDictionary *)message withSource:(NSString *)source
281 #endif // PLATFORM(IOS)