[mac] WebKit1 clients can’t tell when a frame has been removed from the hierarchy
[WebKit-https.git] / Source / WebKit / mac / WebView / WebDelegateImplementationCaching.h
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
35 struct WebResourceDelegateImplementationCache {
36     IMP didCancelAuthenticationChallengeFunc;
37     IMP didReceiveAuthenticationChallengeFunc;
38 #if USE(PROTECTION_SPACE_AUTH_CALLBACK)
39     IMP canAuthenticateAgainstProtectionSpaceFunc;
40 #endif
41     IMP identifierForRequestFunc;
42     IMP willSendRequestFunc;
43     IMP didReceiveResponseFunc;
44     IMP didReceiveContentLengthFunc;
45     IMP didFinishLoadingFromDataSourceFunc;
46     IMP didFailLoadingWithErrorFromDataSourceFunc;
47     IMP didLoadResourceFromMemoryCacheFunc;
48     IMP willCacheResponseFunc;
49     IMP plugInFailedWithErrorFunc;
50     IMP shouldUseCredentialStorageFunc;
51     IMP shouldPaintBrokenImageForURLFunc;
52 };
53
54 struct WebFrameLoadDelegateImplementationCache {
55     IMP didClearWindowObjectForFrameFunc;
56     IMP didClearWindowObjectForFrameInScriptWorldFunc;
57     IMP didClearInspectorWindowObjectForFrameFunc;
58     IMP windowScriptObjectAvailableFunc;
59     IMP didHandleOnloadEventsForFrameFunc;
60     IMP didReceiveServerRedirectForProvisionalLoadForFrameFunc;
61     IMP didCancelClientRedirectForFrameFunc;
62     IMP willPerformClientRedirectToURLDelayFireDateForFrameFunc;
63     IMP didChangeLocationWithinPageForFrameFunc;
64     IMP didPushStateWithinPageForFrameFunc;
65     IMP didReplaceStateWithinPageForFrameFunc;
66     IMP didPopStateWithinPageForFrameFunc;
67     IMP willCloseFrameFunc;
68     IMP didStartProvisionalLoadForFrameFunc;
69     IMP didReceiveTitleForFrameFunc;
70     IMP didCommitLoadForFrameFunc;
71     IMP didFailProvisionalLoadWithErrorForFrameFunc;
72     IMP didFailLoadWithErrorForFrameFunc;
73     IMP didFinishLoadForFrameFunc;
74     IMP didFirstLayoutInFrameFunc;
75     IMP didFirstVisuallyNonEmptyLayoutInFrameFunc;
76     IMP didLayoutFunc;
77     IMP didReceiveIconForFrameFunc;
78     IMP didFinishDocumentLoadForFrameFunc;
79     IMP didDisplayInsecureContentFunc;
80     IMP didRunInsecureContentFunc;
81     IMP didDetectXSSFunc;
82     IMP didRemoveFrameFromHierarchyFunc;
83 };
84
85 struct WebScriptDebugDelegateImplementationCache {
86     BOOL didParseSourceExpectsBaseLineNumber;
87     BOOL exceptionWasRaisedExpectsHasHandlerFlag;
88     IMP didParseSourceFunc;
89     IMP failedToParseSourceFunc;
90     IMP didEnterCallFrameFunc;
91     IMP willExecuteStatementFunc;
92     IMP willLeaveCallFrameFunc;
93     IMP exceptionWasRaisedFunc;
94 };
95
96 struct WebHistoryDelegateImplementationCache {
97     IMP navigatedFunc;
98     IMP clientRedirectFunc;
99     IMP serverRedirectFunc;
100     IMP setTitleFunc;
101     IMP populateVisitedLinksFunc;
102 };
103
104 WebResourceDelegateImplementationCache* WebViewGetResourceLoadDelegateImplementations(WebView *);
105 WebFrameLoadDelegateImplementationCache* WebViewGetFrameLoadDelegateImplementations(WebView *);
106 WebScriptDebugDelegateImplementationCache* WebViewGetScriptDebugDelegateImplementations(WebView *);
107 WebHistoryDelegateImplementationCache* WebViewGetHistoryDelegateImplementations(WebView *webView);
108
109 id CallFormDelegate(WebView *, SEL, id, id);
110 id CallFormDelegate(WebView *self, SEL selector, id object1, id object2, id object3, id object4, id object5);
111 BOOL CallFormDelegateReturningBoolean(BOOL, WebView *, SEL, id, SEL, id);
112
113 id CallUIDelegate(WebView *, SEL);
114 id CallUIDelegate(WebView *, SEL, id);
115 id CallUIDelegate(WebView *, SEL, NSRect);
116 id CallUIDelegate(WebView *, SEL, id, id);
117 id CallUIDelegate(WebView *, SEL, id, BOOL);
118 id CallUIDelegate(WebView *, SEL, id, id, id);
119 id CallUIDelegate(WebView *, SEL, id, NSUInteger);
120 float CallUIDelegateReturningFloat(WebView *, SEL);
121 BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL);
122 BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id);
123 BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, id);
124 BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, BOOL);
125 BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, BOOL, id);
126
127 id CallFrameLoadDelegate(IMP, WebView *, SEL);
128 id CallFrameLoadDelegate(IMP, WebView *, SEL, NSUInteger);
129 id CallFrameLoadDelegate(IMP, WebView *, SEL, id);
130 id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id);
131 id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id, id);
132 id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id, id, id);
133 id CallFrameLoadDelegate(IMP, WebView *, SEL, id, NSTimeInterval, id, id);
134
135 BOOL CallFrameLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL);
136
137 id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id);
138 id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, id);
139 id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, id, id);
140 id CallResourceLoadDelegate(IMP, WebView *, SEL, id, NSInteger, id);
141 id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, NSInteger, id);
142
143 BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id);
144 BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id, id);
145 BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id, id, id);
146
147 id CallScriptDebugDelegate(IMP, WebView *, SEL, id, id, NSInteger, id);
148 id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, id, NSInteger, id);
149 id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, id, id, id);
150 id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, int, id);
151 id CallScriptDebugDelegate(IMP, WebView *, SEL, id, BOOL, NSInteger, int, id);
152
153 id CallHistoryDelegate(IMP, WebView *, SEL);
154 id CallHistoryDelegate(IMP, WebView *, SEL, id, id);
155 id CallHistoryDelegate(IMP, WebView *, SEL, id, id, id);