1/* 2 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of 14 * its contributors may be used to endorse or promote products derived 15 * from this software without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 18 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 21 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29// This header contains WebView declarations that can be used anywhere in WebKit, but are neither SPI nor API. 30 31#import "WebTypesInternal.h" 32 33@class WebView; 34 35struct WebResourceDelegateImplementationCache { 36 IMP didCancelAuthenticationChallengeFunc; 37 IMP didReceiveAuthenticationChallengeFunc; 38 IMP identifierForRequestFunc; 39 IMP willSendRequestFunc; 40 IMP didReceiveResponseFunc; 41 IMP didReceiveContentLengthFunc; 42 IMP didFinishLoadingFromDataSourceFunc; 43 IMP didFailLoadingWithErrorFromDataSourceFunc; 44 IMP didLoadResourceFromMemoryCacheFunc; 45 IMP willCacheResponseFunc; 46 IMP plugInFailedWithErrorFunc; 47 IMP shouldUseCredentialStorageFunc; 48}; 49 50struct WebFrameLoadDelegateImplementationCache { 51 IMP didClearWindowObjectForFrameFunc; 52 IMP didClearWindowObjectForFrameInScriptWorldFunc; 53 IMP didClearInspectorWindowObjectForFrameFunc; 54 IMP windowScriptObjectAvailableFunc; 55 IMP didHandleOnloadEventsForFrameFunc; 56 IMP didReceiveServerRedirectForProvisionalLoadForFrameFunc; 57 IMP didCancelClientRedirectForFrameFunc; 58 IMP willPerformClientRedirectToURLDelayFireDateForFrameFunc; 59 IMP didChangeLocationWithinPageForFrameFunc; 60 IMP didPushStateWithinPageForFrameFunc; 61 IMP didReplaceStateWithinPageForFrameFunc; 62 IMP didPopStateWithinPageForFrameFunc; 63 IMP willCloseFrameFunc; 64 IMP didStartProvisionalLoadForFrameFunc; 65 IMP didReceiveTitleForFrameFunc; 66 IMP didCommitLoadForFrameFunc; 67 IMP didFailProvisionalLoadWithErrorForFrameFunc; 68 IMP didFailLoadWithErrorForFrameFunc; 69 IMP didFinishLoadForFrameFunc; 70 IMP didFirstLayoutInFrameFunc; 71 IMP didFirstVisuallyNonEmptyLayoutInFrameFunc; 72 IMP didReceiveIconForFrameFunc; 73 IMP didFinishDocumentLoadForFrameFunc; 74 IMP didDisplayInsecureContentFunc; 75 IMP didRunInsecureContentFunc; 76}; 77 78struct WebScriptDebugDelegateImplementationCache { 79 BOOL didParseSourceExpectsBaseLineNumber; 80 IMP didParseSourceFunc; 81 IMP failedToParseSourceFunc; 82 IMP didEnterCallFrameFunc; 83 IMP willExecuteStatementFunc; 84 IMP willLeaveCallFrameFunc; 85 IMP exceptionWasRaisedFunc; 86}; 87 88struct WebHistoryDelegateImplementationCache { 89 IMP navigatedFunc; 90 IMP clientRedirectFunc; 91 IMP serverRedirectFunc; 92 IMP setTitleFunc; 93 IMP populateVisitedLinksFunc; 94}; 95 96WebResourceDelegateImplementationCache* WebViewGetResourceLoadDelegateImplementations(WebView *); 97WebFrameLoadDelegateImplementationCache* WebViewGetFrameLoadDelegateImplementations(WebView *); 98WebScriptDebugDelegateImplementationCache* WebViewGetScriptDebugDelegateImplementations(WebView *); 99WebHistoryDelegateImplementationCache* WebViewGetHistoryDelegateImplementations(WebView *webView); 100 101id CallFormDelegate(WebView *, SEL, id, id); 102id CallFormDelegate(WebView *self, SEL selector, id object1, id object2, id object3, id object4, id object5); 103BOOL CallFormDelegateReturningBoolean(BOOL, WebView *, SEL, id, SEL, id); 104 105id CallUIDelegate(WebView *, SEL); 106id CallUIDelegate(WebView *, SEL, id); 107id CallUIDelegate(WebView *, SEL, NSRect); 108id CallUIDelegate(WebView *, SEL, id, id); 109id CallUIDelegate(WebView *, SEL, id, BOOL); 110id CallUIDelegate(WebView *, SEL, id, id, id); 111id CallUIDelegate(WebView *, SEL, id, NSUInteger); 112float CallUIDelegateReturningFloat(WebView *, SEL); 113BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL); 114BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id); 115BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, id); 116BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, BOOL); 117BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, BOOL, id); 118 119id CallFrameLoadDelegate(IMP, WebView *, SEL); 120id CallFrameLoadDelegate(IMP, WebView *, SEL, id); 121id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id); 122id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id, id); 123id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id, id, id); 124id CallFrameLoadDelegate(IMP, WebView *, SEL, id, NSTimeInterval, id, id); 125 126id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id); 127id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, id); 128id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, id, id); 129id CallResourceLoadDelegate(IMP, WebView *, SEL, id, NSInteger, id); 130id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, NSInteger, id); 131 132BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id, id); 133 134id CallScriptDebugDelegate(IMP, WebView *, SEL, id, id, NSInteger, id); 135id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, id, NSInteger, id); 136id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, id, id, id); 137id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, NSInteger, id); 138 139id CallHistoryDelegate(IMP, WebView *, SEL); 140id CallHistoryDelegate(IMP, WebView *, SEL, id, id); 141id CallHistoryDelegate(IMP, WebView *, SEL, id, id, id); 142