2 * Copyright (C) 2005-2013 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
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.
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.
29 // This header contains WebView declarations that can be used anywhere in WebKit, but are neither SPI nor API.
31 #import "WebTypesInternal.h"
32 #import <JavaScriptCore/JSBase.h>
36 struct WebResourceDelegateImplementationCache {
37 IMP didCancelAuthenticationChallengeFunc;
38 IMP didReceiveAuthenticationChallengeFunc;
39 #if USE(PROTECTION_SPACE_AUTH_CALLBACK)
40 IMP canAuthenticateAgainstProtectionSpaceFunc;
42 IMP identifierForRequestFunc;
43 IMP willSendRequestFunc;
44 IMP didReceiveResponseFunc;
45 IMP didReceiveContentLengthFunc;
46 IMP didFinishLoadingFromDataSourceFunc;
47 IMP didFailLoadingWithErrorFromDataSourceFunc;
48 IMP didLoadResourceFromMemoryCacheFunc;
49 IMP willCacheResponseFunc;
50 IMP plugInFailedWithErrorFunc;
51 IMP shouldUseCredentialStorageFunc;
52 IMP shouldPaintBrokenImageForURLFunc;
55 struct WebFrameLoadDelegateImplementationCache {
56 #if JSC_OBJC_API_ENABLED
57 IMP didCreateJavaScriptContextForFrameFunc;
59 IMP didClearWindowObjectForFrameFunc;
60 IMP didClearWindowObjectForFrameInScriptWorldFunc;
61 IMP didClearInspectorWindowObjectForFrameFunc;
62 IMP windowScriptObjectAvailableFunc;
63 IMP didHandleOnloadEventsForFrameFunc;
64 IMP didReceiveServerRedirectForProvisionalLoadForFrameFunc;
65 IMP didCancelClientRedirectForFrameFunc;
66 IMP willPerformClientRedirectToURLDelayFireDateForFrameFunc;
67 IMP didChangeLocationWithinPageForFrameFunc;
68 IMP didPushStateWithinPageForFrameFunc;
69 IMP didReplaceStateWithinPageForFrameFunc;
70 IMP didPopStateWithinPageForFrameFunc;
71 IMP willCloseFrameFunc;
72 IMP didStartProvisionalLoadForFrameFunc;
73 IMP didReceiveTitleForFrameFunc;
74 IMP didCommitLoadForFrameFunc;
75 IMP didFailProvisionalLoadWithErrorForFrameFunc;
76 IMP didFailLoadWithErrorForFrameFunc;
77 IMP didFinishLoadForFrameFunc;
78 IMP didFirstLayoutInFrameFunc;
79 IMP didFirstVisuallyNonEmptyLayoutInFrameFunc;
81 IMP didReceiveIconForFrameFunc;
82 IMP didFinishDocumentLoadForFrameFunc;
83 IMP didDisplayInsecureContentFunc;
84 IMP didRunInsecureContentFunc;
86 IMP didRemoveFrameFromHierarchyFunc;
89 struct WebScriptDebugDelegateImplementationCache {
90 BOOL didParseSourceExpectsBaseLineNumber;
91 BOOL exceptionWasRaisedExpectsHasHandlerFlag;
92 IMP didParseSourceFunc;
93 IMP failedToParseSourceFunc;
94 IMP exceptionWasRaisedFunc;
97 struct WebHistoryDelegateImplementationCache {
99 IMP clientRedirectFunc;
100 IMP serverRedirectFunc;
101 IMP deprecatedSetTitleFunc;
103 IMP populateVisitedLinksFunc;
106 WebResourceDelegateImplementationCache* WebViewGetResourceLoadDelegateImplementations(WebView *);
107 WebFrameLoadDelegateImplementationCache* WebViewGetFrameLoadDelegateImplementations(WebView *);
108 WebScriptDebugDelegateImplementationCache* WebViewGetScriptDebugDelegateImplementations(WebView *);
109 WebHistoryDelegateImplementationCache* WebViewGetHistoryDelegateImplementations(WebView *webView);
111 id CallFormDelegate(WebView *, SEL, id, id);
112 id CallFormDelegate(WebView *, SEL, id, id, id);
113 id CallFormDelegate(WebView *self, SEL selector, id object1, id object2, id object3, id object4, id object5);
114 BOOL CallFormDelegateReturningBoolean(BOOL, WebView *, SEL, id, SEL, id);
116 id CallUIDelegate(WebView *, SEL);
117 id CallUIDelegate(WebView *, SEL, id);
118 id CallUIDelegate(WebView *, SEL, NSRect);
119 id CallUIDelegate(WebView *, SEL, id, id);
120 id CallUIDelegate(WebView *, SEL, id, BOOL);
121 id CallUIDelegate(WebView *, SEL, id, id, id);
122 id CallUIDelegate(WebView *, SEL, id, NSUInteger);
123 float CallUIDelegateReturningFloat(WebView *, SEL);
124 BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL);
125 BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id);
126 BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, id);
127 BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, BOOL);
128 BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, BOOL, id);
130 id CallFrameLoadDelegate(IMP, WebView *, SEL);
131 id CallFrameLoadDelegate(IMP, WebView *, SEL, NSUInteger);
132 id CallFrameLoadDelegate(IMP, WebView *, SEL, id);
133 id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id);
134 id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id, id);
135 id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id, id, id);
136 id CallFrameLoadDelegate(IMP, WebView *, SEL, id, NSTimeInterval, id, id);
138 BOOL CallFrameLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL);
140 id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id);
141 id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, id);
142 id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, id, id);
143 id CallResourceLoadDelegate(IMP, WebView *, SEL, id, NSInteger, id);
144 id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, NSInteger, id);
146 BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id);
147 BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id, id);
148 BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id, id, id);
150 id CallScriptDebugDelegate(IMP, WebView *, SEL, id, id, NSInteger, id);
151 id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, id, NSInteger, id);
152 id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, id, id, id);
153 id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, int, id);
154 id CallScriptDebugDelegate(IMP, WebView *, SEL, id, BOOL, NSInteger, int, id);
156 id CallHistoryDelegate(IMP, WebView *, SEL);
157 id CallHistoryDelegate(IMP, WebView *, SEL, id, id);
158 id CallHistoryDelegate(IMP, WebView *, SEL, id, id, id);