1/*
2 * Copyright (C) 2013 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 * 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.
12 *
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.
24 */
25
26#ifndef WKBundlePageLoaderClient_h
27#define WKBundlePageLoaderClient_h
28
29#include <WebKit/WKBase.h>
30#include <WebKit/WKPageLoadTypes.h>
31
32typedef void (*WKBundlePageDidStartProvisionalLoadForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
33typedef void (*WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
34typedef void (*WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKErrorRef error, WKTypeRef* userData, const void *clientInfo);
35typedef void (*WKBundlePageDidCommitLoadForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
36typedef void (*WKBundlePageDidDocumentFinishLoadForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
37typedef void (*WKBundlePageDidFinishLoadForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
38typedef void (*WKBundlePageDidFinishDocumentLoadForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
39typedef void (*WKBundlePageDidFinishProgressCallback)(WKBundlePageRef page, const void *clientInfo);
40typedef void (*WKBundlePageDidFailLoadWithErrorForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKErrorRef error, WKTypeRef* userData, const void *clientInfo);
41typedef void (*WKBundlePageDidSameDocumentNavigationForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKSameDocumentNavigationType type, WKTypeRef* userData, const void *clientInfo);
42typedef void (*WKBundlePageDidReceiveTitleForFrameCallback)(WKBundlePageRef page, WKStringRef title, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
43typedef void (*WKBundlePageDidRemoveFrameFromHierarchyCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
44typedef void (*WKBundlePageDidDisplayInsecureContentForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
45typedef void (*WKBundlePageDidRunInsecureContentForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
46typedef void (*WKBundlePageDidDetectXSSForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
47typedef void (*WKBundlePageDidFirstLayoutForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
48typedef void (*WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKTypeRef* userData, const void *clientInfo);
49typedef void (*WKBundlePageDidLayoutForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, const void* clientInfo);
50typedef void (*WKBundlePageDidClearWindowObjectForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKBundleScriptWorldRef world, const void *clientInfo);
51typedef void (*WKBundlePageDidCancelClientRedirectForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, const void *clientInfo);
52typedef void (*WKBundlePageWillPerformClientRedirectForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKURLRef url, double delay, double date, const void *clientInfo);
53typedef void (*WKBundlePageDidHandleOnloadEventsForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef frame, const void *clientInfo);
54typedef bool (*WKBundlePageShouldGoToBackForwardListItemCallback)(WKBundlePageRef page, WKBundleBackForwardListItemRef item, WKTypeRef* userData, const void *clientInfo);
55typedef void (*WKBundlePageGlobalObjectIsAvailableForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef, WKBundleScriptWorldRef, const void* clientInfo);
56typedef void (*WKBundlePageWillInjectUserScriptForFrameCallback)(WKBundlePageRef page, WKBundleFrameRef, WKBundleScriptWorldRef, const void* clientInfo);
57typedef void (*WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback)(WKBundlePageRef page, WKBundleDOMWindowExtensionRef, const void* clientInfo);
58typedef void (*WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback)(WKBundlePageRef page, WKBundleDOMWindowExtensionRef, const void* clientInfo);
59typedef void (*WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback)(WKBundlePageRef page, WKBundleDOMWindowExtensionRef, const void* clientInfo);
60typedef bool (*WKBundlePageShouldForceUniversalAccessFromLocalURLCallback)(WKBundlePageRef, WKStringRef url, const void* clientInfo);
61typedef void (*WKBundlePageDidLayoutCallback)(WKBundlePageRef page, WKLayoutMilestones milestones, WKTypeRef* userData, const void *clientInfo);
62typedef void (*WKBundlePageFeaturesUsedInPageCallback)(WKBundlePageRef page, WKArrayRef featureStrings, const void *clientInfo);
63typedef void (*WKBundlePageWillLoadURLRequestCallback)(WKBundlePageRef page, WKURLRequestRef request, WKTypeRef userData, const void *clientInfo);
64typedef void (*WKBundlePageWillLoadDataRequestCallback)(WKBundlePageRef page, WKURLRequestRef request, WKDataRef data, WKStringRef MIMEType, WKStringRef encodingName, WKURLRef unreachableURL, WKTypeRef userData, const void *clientInfo);
65typedef WKLayoutMilestones (*WKBundlePageLayoutMilestonesCallback)(const void* clientInfo);
66
67typedef struct WKBundlePageLoaderClientBase {
68 int version;
69 const void * clientInfo;
70} WKBundlePageLoaderClientBase;
71
72typedef struct WKBundlePageLoaderClientV0 {
73 WKBundlePageLoaderClientBase base;
74
75 // Version 0.
76 WKBundlePageDidStartProvisionalLoadForFrameCallback didStartProvisionalLoadForFrame;
77 WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback didReceiveServerRedirectForProvisionalLoadForFrame;
78 WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback didFailProvisionalLoadWithErrorForFrame;
79 WKBundlePageDidCommitLoadForFrameCallback didCommitLoadForFrame;
80 WKBundlePageDidFinishDocumentLoadForFrameCallback didFinishDocumentLoadForFrame;
81 WKBundlePageDidFinishLoadForFrameCallback didFinishLoadForFrame;
82 WKBundlePageDidFailLoadWithErrorForFrameCallback didFailLoadWithErrorForFrame;
83 WKBundlePageDidSameDocumentNavigationForFrameCallback didSameDocumentNavigationForFrame;
84 WKBundlePageDidReceiveTitleForFrameCallback didReceiveTitleForFrame;
85 WKBundlePageDidFirstLayoutForFrameCallback didFirstLayoutForFrame;
86 WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback didFirstVisuallyNonEmptyLayoutForFrame;
87 WKBundlePageDidRemoveFrameFromHierarchyCallback didRemoveFrameFromHierarchy;
88 WKBundlePageDidDisplayInsecureContentForFrameCallback didDisplayInsecureContentForFrame;
89 WKBundlePageDidRunInsecureContentForFrameCallback didRunInsecureContentForFrame;
90 WKBundlePageDidClearWindowObjectForFrameCallback didClearWindowObjectForFrame;
91 WKBundlePageDidCancelClientRedirectForFrameCallback didCancelClientRedirectForFrame;
92 WKBundlePageWillPerformClientRedirectForFrameCallback willPerformClientRedirectForFrame;
93 WKBundlePageDidHandleOnloadEventsForFrameCallback didHandleOnloadEventsForFrame;
94} WKBundlePageLoaderClientV0;
95
96typedef struct WKBundlePageLoaderClientV1 {
97 WKBundlePageLoaderClientBase base;
98
99 // Version 0.
100 WKBundlePageDidStartProvisionalLoadForFrameCallback didStartProvisionalLoadForFrame;
101 WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback didReceiveServerRedirectForProvisionalLoadForFrame;
102 WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback didFailProvisionalLoadWithErrorForFrame;
103 WKBundlePageDidCommitLoadForFrameCallback didCommitLoadForFrame;
104 WKBundlePageDidFinishDocumentLoadForFrameCallback didFinishDocumentLoadForFrame;
105 WKBundlePageDidFinishLoadForFrameCallback didFinishLoadForFrame;
106 WKBundlePageDidFailLoadWithErrorForFrameCallback didFailLoadWithErrorForFrame;
107 WKBundlePageDidSameDocumentNavigationForFrameCallback didSameDocumentNavigationForFrame;
108 WKBundlePageDidReceiveTitleForFrameCallback didReceiveTitleForFrame;
109 WKBundlePageDidFirstLayoutForFrameCallback didFirstLayoutForFrame;
110 WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback didFirstVisuallyNonEmptyLayoutForFrame;
111 WKBundlePageDidRemoveFrameFromHierarchyCallback didRemoveFrameFromHierarchy;
112 WKBundlePageDidDisplayInsecureContentForFrameCallback didDisplayInsecureContentForFrame;
113 WKBundlePageDidRunInsecureContentForFrameCallback didRunInsecureContentForFrame;
114 WKBundlePageDidClearWindowObjectForFrameCallback didClearWindowObjectForFrame;
115 WKBundlePageDidCancelClientRedirectForFrameCallback didCancelClientRedirectForFrame;
116 WKBundlePageWillPerformClientRedirectForFrameCallback willPerformClientRedirectForFrame;
117 WKBundlePageDidHandleOnloadEventsForFrameCallback didHandleOnloadEventsForFrame;
118
119 // Version 1.
120 WKBundlePageDidLayoutForFrameCallback didLayoutForFrame;
121 void * didNewFirstVisuallyNonEmptyLayout_unavailable;
122 WKBundlePageDidDetectXSSForFrameCallback didDetectXSSForFrame;
123 WKBundlePageShouldGoToBackForwardListItemCallback shouldGoToBackForwardListItem;
124 WKBundlePageGlobalObjectIsAvailableForFrameCallback globalObjectIsAvailableForFrame;
125 WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback willDisconnectDOMWindowExtensionFromGlobalObject;
126 WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback didReconnectDOMWindowExtensionToGlobalObject;
127 WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback willDestroyGlobalObjectForDOMWindowExtension;
128} WKBundlePageLoaderClientV1;
129
130typedef struct WKBundlePageLoaderClientV2 {
131 WKBundlePageLoaderClientBase base;
132
133 // Version 0.
134 WKBundlePageDidStartProvisionalLoadForFrameCallback didStartProvisionalLoadForFrame;
135 WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback didReceiveServerRedirectForProvisionalLoadForFrame;
136 WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback didFailProvisionalLoadWithErrorForFrame;
137 WKBundlePageDidCommitLoadForFrameCallback didCommitLoadForFrame;
138 WKBundlePageDidFinishDocumentLoadForFrameCallback didFinishDocumentLoadForFrame;
139 WKBundlePageDidFinishLoadForFrameCallback didFinishLoadForFrame;
140 WKBundlePageDidFailLoadWithErrorForFrameCallback didFailLoadWithErrorForFrame;
141 WKBundlePageDidSameDocumentNavigationForFrameCallback didSameDocumentNavigationForFrame;
142 WKBundlePageDidReceiveTitleForFrameCallback didReceiveTitleForFrame;
143 WKBundlePageDidFirstLayoutForFrameCallback didFirstLayoutForFrame;
144 WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback didFirstVisuallyNonEmptyLayoutForFrame;
145 WKBundlePageDidRemoveFrameFromHierarchyCallback didRemoveFrameFromHierarchy;
146 WKBundlePageDidDisplayInsecureContentForFrameCallback didDisplayInsecureContentForFrame;
147 WKBundlePageDidRunInsecureContentForFrameCallback didRunInsecureContentForFrame;
148 WKBundlePageDidClearWindowObjectForFrameCallback didClearWindowObjectForFrame;
149 WKBundlePageDidCancelClientRedirectForFrameCallback didCancelClientRedirectForFrame;
150 WKBundlePageWillPerformClientRedirectForFrameCallback willPerformClientRedirectForFrame;
151 WKBundlePageDidHandleOnloadEventsForFrameCallback didHandleOnloadEventsForFrame;
152
153 // Version 1.
154 WKBundlePageDidLayoutForFrameCallback didLayoutForFrame;
155 void * didNewFirstVisuallyNonEmptyLayout_unavailable;
156 WKBundlePageDidDetectXSSForFrameCallback didDetectXSSForFrame;
157 WKBundlePageShouldGoToBackForwardListItemCallback shouldGoToBackForwardListItem;
158 WKBundlePageGlobalObjectIsAvailableForFrameCallback globalObjectIsAvailableForFrame;
159 WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback willDisconnectDOMWindowExtensionFromGlobalObject;
160 WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback didReconnectDOMWindowExtensionToGlobalObject;
161 WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback willDestroyGlobalObjectForDOMWindowExtension;
162
163 // Version 2
164 WKBundlePageDidFinishProgressCallback didFinishProgress;
165 WKBundlePageShouldForceUniversalAccessFromLocalURLCallback shouldForceUniversalAccessFromLocalURL;
166} WKBundlePageLoaderClientV2;
167
168typedef struct WKBundlePageLoaderClientV3 {
169 WKBundlePageLoaderClientBase base;
170
171 // Version 0.
172 WKBundlePageDidStartProvisionalLoadForFrameCallback didStartProvisionalLoadForFrame;
173 WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback didReceiveServerRedirectForProvisionalLoadForFrame;
174 WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback didFailProvisionalLoadWithErrorForFrame;
175 WKBundlePageDidCommitLoadForFrameCallback didCommitLoadForFrame;
176 WKBundlePageDidFinishDocumentLoadForFrameCallback didFinishDocumentLoadForFrame;
177 WKBundlePageDidFinishLoadForFrameCallback didFinishLoadForFrame;
178 WKBundlePageDidFailLoadWithErrorForFrameCallback didFailLoadWithErrorForFrame;
179 WKBundlePageDidSameDocumentNavigationForFrameCallback didSameDocumentNavigationForFrame;
180 WKBundlePageDidReceiveTitleForFrameCallback didReceiveTitleForFrame;
181 WKBundlePageDidFirstLayoutForFrameCallback didFirstLayoutForFrame;
182 WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback didFirstVisuallyNonEmptyLayoutForFrame;
183 WKBundlePageDidRemoveFrameFromHierarchyCallback didRemoveFrameFromHierarchy;
184 WKBundlePageDidDisplayInsecureContentForFrameCallback didDisplayInsecureContentForFrame;
185 WKBundlePageDidRunInsecureContentForFrameCallback didRunInsecureContentForFrame;
186 WKBundlePageDidClearWindowObjectForFrameCallback didClearWindowObjectForFrame;
187 WKBundlePageDidCancelClientRedirectForFrameCallback didCancelClientRedirectForFrame;
188 WKBundlePageWillPerformClientRedirectForFrameCallback willPerformClientRedirectForFrame;
189 WKBundlePageDidHandleOnloadEventsForFrameCallback didHandleOnloadEventsForFrame;
190
191 // Version 1.
192 WKBundlePageDidLayoutForFrameCallback didLayoutForFrame;
193 void * didNewFirstVisuallyNonEmptyLayout_unavailable;
194 WKBundlePageDidDetectXSSForFrameCallback didDetectXSSForFrame;
195 WKBundlePageShouldGoToBackForwardListItemCallback shouldGoToBackForwardListItem;
196 WKBundlePageGlobalObjectIsAvailableForFrameCallback globalObjectIsAvailableForFrame;
197 WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback willDisconnectDOMWindowExtensionFromGlobalObject;
198 WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback didReconnectDOMWindowExtensionToGlobalObject;
199 WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback willDestroyGlobalObjectForDOMWindowExtension;
200
201 // Version 2
202 WKBundlePageDidFinishProgressCallback didFinishProgress;
203 WKBundlePageShouldForceUniversalAccessFromLocalURLCallback shouldForceUniversalAccessFromLocalURL;
204
205 // Version 3
206 void * didReceiveIntentForFrame_unavailable;
207 void * registerIntentServiceForFrame_unavailable;
208} WKBundlePageLoaderClientV3;
209
210typedef struct WKBundlePageLoaderClientV4 {
211 WKBundlePageLoaderClientBase base;
212
213 // Version 0.
214 WKBundlePageDidStartProvisionalLoadForFrameCallback didStartProvisionalLoadForFrame;
215 WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback didReceiveServerRedirectForProvisionalLoadForFrame;
216 WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback didFailProvisionalLoadWithErrorForFrame;
217 WKBundlePageDidCommitLoadForFrameCallback didCommitLoadForFrame;
218 WKBundlePageDidFinishDocumentLoadForFrameCallback didFinishDocumentLoadForFrame;
219 WKBundlePageDidFinishLoadForFrameCallback didFinishLoadForFrame;
220 WKBundlePageDidFailLoadWithErrorForFrameCallback didFailLoadWithErrorForFrame;
221 WKBundlePageDidSameDocumentNavigationForFrameCallback didSameDocumentNavigationForFrame;
222 WKBundlePageDidReceiveTitleForFrameCallback didReceiveTitleForFrame;
223 WKBundlePageDidFirstLayoutForFrameCallback didFirstLayoutForFrame;
224 WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback didFirstVisuallyNonEmptyLayoutForFrame;
225 WKBundlePageDidRemoveFrameFromHierarchyCallback didRemoveFrameFromHierarchy;
226 WKBundlePageDidDisplayInsecureContentForFrameCallback didDisplayInsecureContentForFrame;
227 WKBundlePageDidRunInsecureContentForFrameCallback didRunInsecureContentForFrame;
228 WKBundlePageDidClearWindowObjectForFrameCallback didClearWindowObjectForFrame;
229 WKBundlePageDidCancelClientRedirectForFrameCallback didCancelClientRedirectForFrame;
230 WKBundlePageWillPerformClientRedirectForFrameCallback willPerformClientRedirectForFrame;
231 WKBundlePageDidHandleOnloadEventsForFrameCallback didHandleOnloadEventsForFrame;
232
233 // Version 1.
234 WKBundlePageDidLayoutForFrameCallback didLayoutForFrame;
235 void * didNewFirstVisuallyNonEmptyLayout_unavailable;
236 WKBundlePageDidDetectXSSForFrameCallback didDetectXSSForFrame;
237 WKBundlePageShouldGoToBackForwardListItemCallback shouldGoToBackForwardListItem;
238 WKBundlePageGlobalObjectIsAvailableForFrameCallback globalObjectIsAvailableForFrame;
239 WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback willDisconnectDOMWindowExtensionFromGlobalObject;
240 WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback didReconnectDOMWindowExtensionToGlobalObject;
241 WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback willDestroyGlobalObjectForDOMWindowExtension;
242
243 // Version 2
244 WKBundlePageDidFinishProgressCallback didFinishProgress;
245 WKBundlePageShouldForceUniversalAccessFromLocalURLCallback shouldForceUniversalAccessFromLocalURL;
246
247 // Version 3
248 void * didReceiveIntentForFrame_unavailable;
249 void * registerIntentServiceForFrame_unavailable;
250
251 // Version 4
252 WKBundlePageDidLayoutCallback didLayout;
253} WKBundlePageLoaderClientV4;
254
255typedef struct WKBundlePageLoaderClientV5 {
256 WKBundlePageLoaderClientBase base;
257
258 // Version 0.
259 WKBundlePageDidStartProvisionalLoadForFrameCallback didStartProvisionalLoadForFrame;
260 WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback didReceiveServerRedirectForProvisionalLoadForFrame;
261 WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback didFailProvisionalLoadWithErrorForFrame;
262 WKBundlePageDidCommitLoadForFrameCallback didCommitLoadForFrame;
263 WKBundlePageDidFinishDocumentLoadForFrameCallback didFinishDocumentLoadForFrame;
264 WKBundlePageDidFinishLoadForFrameCallback didFinishLoadForFrame;
265 WKBundlePageDidFailLoadWithErrorForFrameCallback didFailLoadWithErrorForFrame;
266 WKBundlePageDidSameDocumentNavigationForFrameCallback didSameDocumentNavigationForFrame;
267 WKBundlePageDidReceiveTitleForFrameCallback didReceiveTitleForFrame;
268 WKBundlePageDidFirstLayoutForFrameCallback didFirstLayoutForFrame;
269 WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback didFirstVisuallyNonEmptyLayoutForFrame;
270 WKBundlePageDidRemoveFrameFromHierarchyCallback didRemoveFrameFromHierarchy;
271 WKBundlePageDidDisplayInsecureContentForFrameCallback didDisplayInsecureContentForFrame;
272 WKBundlePageDidRunInsecureContentForFrameCallback didRunInsecureContentForFrame;
273 WKBundlePageDidClearWindowObjectForFrameCallback didClearWindowObjectForFrame;
274 WKBundlePageDidCancelClientRedirectForFrameCallback didCancelClientRedirectForFrame;
275 WKBundlePageWillPerformClientRedirectForFrameCallback willPerformClientRedirectForFrame;
276 WKBundlePageDidHandleOnloadEventsForFrameCallback didHandleOnloadEventsForFrame;
277
278 // Version 1.
279 WKBundlePageDidLayoutForFrameCallback didLayoutForFrame;
280 void * didNewFirstVisuallyNonEmptyLayout_unavailable;
281 WKBundlePageDidDetectXSSForFrameCallback didDetectXSSForFrame;
282 WKBundlePageShouldGoToBackForwardListItemCallback shouldGoToBackForwardListItem;
283 WKBundlePageGlobalObjectIsAvailableForFrameCallback globalObjectIsAvailableForFrame;
284 WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback willDisconnectDOMWindowExtensionFromGlobalObject;
285 WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback didReconnectDOMWindowExtensionToGlobalObject;
286 WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback willDestroyGlobalObjectForDOMWindowExtension;
287
288 // Version 2
289 WKBundlePageDidFinishProgressCallback didFinishProgress;
290 WKBundlePageShouldForceUniversalAccessFromLocalURLCallback shouldForceUniversalAccessFromLocalURL;
291
292 // Version 3
293 void * didReceiveIntentForFrame_unavailable;
294 void * registerIntentServiceForFrame_unavailable;
295
296 // Version 4
297 WKBundlePageDidLayoutCallback didLayout;
298
299 // Version 5
300 WKBundlePageFeaturesUsedInPageCallback featuresUsedInPage;
301} WKBundlePageLoaderClientV5;
302
303typedef struct WKBundlePageLoaderClientV6 {
304 WKBundlePageLoaderClientBase base;
305
306 // Version 0.
307 WKBundlePageDidStartProvisionalLoadForFrameCallback didStartProvisionalLoadForFrame;
308 WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback didReceiveServerRedirectForProvisionalLoadForFrame;
309 WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback didFailProvisionalLoadWithErrorForFrame;
310 WKBundlePageDidCommitLoadForFrameCallback didCommitLoadForFrame;
311 WKBundlePageDidFinishDocumentLoadForFrameCallback didFinishDocumentLoadForFrame;
312 WKBundlePageDidFinishLoadForFrameCallback didFinishLoadForFrame;
313 WKBundlePageDidFailLoadWithErrorForFrameCallback didFailLoadWithErrorForFrame;
314 WKBundlePageDidSameDocumentNavigationForFrameCallback didSameDocumentNavigationForFrame;
315 WKBundlePageDidReceiveTitleForFrameCallback didReceiveTitleForFrame;
316 WKBundlePageDidFirstLayoutForFrameCallback didFirstLayoutForFrame;
317 WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback didFirstVisuallyNonEmptyLayoutForFrame;
318 WKBundlePageDidRemoveFrameFromHierarchyCallback didRemoveFrameFromHierarchy;
319 WKBundlePageDidDisplayInsecureContentForFrameCallback didDisplayInsecureContentForFrame;
320 WKBundlePageDidRunInsecureContentForFrameCallback didRunInsecureContentForFrame;
321 WKBundlePageDidClearWindowObjectForFrameCallback didClearWindowObjectForFrame;
322 WKBundlePageDidCancelClientRedirectForFrameCallback didCancelClientRedirectForFrame;
323 WKBundlePageWillPerformClientRedirectForFrameCallback willPerformClientRedirectForFrame;
324 WKBundlePageDidHandleOnloadEventsForFrameCallback didHandleOnloadEventsForFrame;
325
326 // Version 1.
327 WKBundlePageDidLayoutForFrameCallback didLayoutForFrame;
328 void * didNewFirstVisuallyNonEmptyLayout_unavailable;
329 WKBundlePageDidDetectXSSForFrameCallback didDetectXSSForFrame;
330 WKBundlePageShouldGoToBackForwardListItemCallback shouldGoToBackForwardListItem;
331 WKBundlePageGlobalObjectIsAvailableForFrameCallback globalObjectIsAvailableForFrame;
332 WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback willDisconnectDOMWindowExtensionFromGlobalObject;
333 WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback didReconnectDOMWindowExtensionToGlobalObject;
334 WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback willDestroyGlobalObjectForDOMWindowExtension;
335
336 // Version 2
337 WKBundlePageDidFinishProgressCallback didFinishProgress;
338 WKBundlePageShouldForceUniversalAccessFromLocalURLCallback shouldForceUniversalAccessFromLocalURL;
339
340 // Version 3
341 void * didReceiveIntentForFrame_unavailable;
342 void * registerIntentServiceForFrame_unavailable;
343
344 // Version 4
345 WKBundlePageDidLayoutCallback didLayout;
346
347 // Version 5
348 WKBundlePageFeaturesUsedInPageCallback featuresUsedInPage;
349
350 // Version 6
351 WKBundlePageWillLoadURLRequestCallback willLoadURLRequest;
352 WKBundlePageWillLoadDataRequestCallback willLoadDataRequest;
353} WKBundlePageLoaderClientV6;
354
355typedef struct WKBundlePageLoaderClientV7 {
356 WKBundlePageLoaderClientBase base;
357
358 // Version 0.
359 WKBundlePageDidStartProvisionalLoadForFrameCallback didStartProvisionalLoadForFrame;
360 WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback didReceiveServerRedirectForProvisionalLoadForFrame;
361 WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback didFailProvisionalLoadWithErrorForFrame;
362 WKBundlePageDidCommitLoadForFrameCallback didCommitLoadForFrame;
363 WKBundlePageDidFinishDocumentLoadForFrameCallback didFinishDocumentLoadForFrame;
364 WKBundlePageDidFinishLoadForFrameCallback didFinishLoadForFrame;
365 WKBundlePageDidFailLoadWithErrorForFrameCallback didFailLoadWithErrorForFrame;
366 WKBundlePageDidSameDocumentNavigationForFrameCallback didSameDocumentNavigationForFrame;
367 WKBundlePageDidReceiveTitleForFrameCallback didReceiveTitleForFrame;
368 WKBundlePageDidFirstLayoutForFrameCallback didFirstLayoutForFrame;
369 WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback didFirstVisuallyNonEmptyLayoutForFrame;
370 WKBundlePageDidRemoveFrameFromHierarchyCallback didRemoveFrameFromHierarchy;
371 WKBundlePageDidDisplayInsecureContentForFrameCallback didDisplayInsecureContentForFrame;
372 WKBundlePageDidRunInsecureContentForFrameCallback didRunInsecureContentForFrame;
373 WKBundlePageDidClearWindowObjectForFrameCallback didClearWindowObjectForFrame;
374 WKBundlePageDidCancelClientRedirectForFrameCallback didCancelClientRedirectForFrame;
375 WKBundlePageWillPerformClientRedirectForFrameCallback willPerformClientRedirectForFrame;
376 WKBundlePageDidHandleOnloadEventsForFrameCallback didHandleOnloadEventsForFrame;
377
378 // Version 1.
379 WKBundlePageDidLayoutForFrameCallback didLayoutForFrame;
380 void * didNewFirstVisuallyNonEmptyLayout_unavailable;
381 WKBundlePageDidDetectXSSForFrameCallback didDetectXSSForFrame;
382 WKBundlePageShouldGoToBackForwardListItemCallback shouldGoToBackForwardListItem;
383 WKBundlePageGlobalObjectIsAvailableForFrameCallback globalObjectIsAvailableForFrame;
384 WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback willDisconnectDOMWindowExtensionFromGlobalObject;
385 WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback didReconnectDOMWindowExtensionToGlobalObject;
386 WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback willDestroyGlobalObjectForDOMWindowExtension;
387
388 // Version 2
389 WKBundlePageDidFinishProgressCallback didFinishProgress;
390 WKBundlePageShouldForceUniversalAccessFromLocalURLCallback shouldForceUniversalAccessFromLocalURL;
391
392 // Version 3
393 void * didReceiveIntentForFrame_unavailable;
394 void * registerIntentServiceForFrame_unavailable;
395
396 // Version 4
397 WKBundlePageDidLayoutCallback didLayout;
398
399 // Version 5
400 WKBundlePageFeaturesUsedInPageCallback featuresUsedInPage;
401
402 // Version 6
403 WKBundlePageWillLoadURLRequestCallback willLoadURLRequest;
404 WKBundlePageWillLoadDataRequestCallback willLoadDataRequest;
405
406 // Version 7
407 void * willDestroyFrame_unavailable;
408} WKBundlePageLoaderClientV7;
409
410typedef struct WKBundlePageLoaderClientV8 {
411 WKBundlePageLoaderClientBase base;
412
413 // Version 0.
414 WKBundlePageDidStartProvisionalLoadForFrameCallback didStartProvisionalLoadForFrame;
415 WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback didReceiveServerRedirectForProvisionalLoadForFrame;
416 WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback didFailProvisionalLoadWithErrorForFrame;
417 WKBundlePageDidCommitLoadForFrameCallback didCommitLoadForFrame;
418 WKBundlePageDidFinishDocumentLoadForFrameCallback didFinishDocumentLoadForFrame;
419 WKBundlePageDidFinishLoadForFrameCallback didFinishLoadForFrame;
420 WKBundlePageDidFailLoadWithErrorForFrameCallback didFailLoadWithErrorForFrame;
421 WKBundlePageDidSameDocumentNavigationForFrameCallback didSameDocumentNavigationForFrame;
422 WKBundlePageDidReceiveTitleForFrameCallback didReceiveTitleForFrame;
423 WKBundlePageDidFirstLayoutForFrameCallback didFirstLayoutForFrame;
424 WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback didFirstVisuallyNonEmptyLayoutForFrame;
425 WKBundlePageDidRemoveFrameFromHierarchyCallback didRemoveFrameFromHierarchy;
426 WKBundlePageDidDisplayInsecureContentForFrameCallback didDisplayInsecureContentForFrame;
427 WKBundlePageDidRunInsecureContentForFrameCallback didRunInsecureContentForFrame;
428 WKBundlePageDidClearWindowObjectForFrameCallback didClearWindowObjectForFrame;
429 WKBundlePageDidCancelClientRedirectForFrameCallback didCancelClientRedirectForFrame;
430 WKBundlePageWillPerformClientRedirectForFrameCallback willPerformClientRedirectForFrame;
431 WKBundlePageDidHandleOnloadEventsForFrameCallback didHandleOnloadEventsForFrame;
432
433 // Version 1.
434 WKBundlePageDidLayoutForFrameCallback didLayoutForFrame;
435 void * didNewFirstVisuallyNonEmptyLayout_unavailable;
436 WKBundlePageDidDetectXSSForFrameCallback didDetectXSSForFrame;
437 WKBundlePageShouldGoToBackForwardListItemCallback shouldGoToBackForwardListItem;
438 WKBundlePageGlobalObjectIsAvailableForFrameCallback globalObjectIsAvailableForFrame;
439 WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback willDisconnectDOMWindowExtensionFromGlobalObject;
440 WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback didReconnectDOMWindowExtensionToGlobalObject;
441 WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback willDestroyGlobalObjectForDOMWindowExtension;
442
443 // Version 2
444 WKBundlePageDidFinishProgressCallback didFinishProgress;
445 WKBundlePageShouldForceUniversalAccessFromLocalURLCallback shouldForceUniversalAccessFromLocalURL;
446
447 // Version 3
448 void * didReceiveIntentForFrame_unavailable;
449 void * registerIntentServiceForFrame_unavailable;
450
451 // Version 4
452 WKBundlePageDidLayoutCallback didLayout;
453
454 // Version 5
455 WKBundlePageFeaturesUsedInPageCallback featuresUsedInPage;
456
457 // Version 6
458 WKBundlePageWillLoadURLRequestCallback willLoadURLRequest;
459 WKBundlePageWillLoadDataRequestCallback willLoadDataRequest;
460
461 // Version 7
462 void * willDestroyFrame_unavailable;
463
464 // Version 8
465 void* userAgentForURL_unavailable;
466} WKBundlePageLoaderClientV8;
467
468typedef struct WKBundlePageLoaderClientV9 {
469 WKBundlePageLoaderClientBase base;
470
471 // Version 0.
472 WKBundlePageDidStartProvisionalLoadForFrameCallback didStartProvisionalLoadForFrame;
473 WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback didReceiveServerRedirectForProvisionalLoadForFrame;
474 WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback didFailProvisionalLoadWithErrorForFrame;
475 WKBundlePageDidCommitLoadForFrameCallback didCommitLoadForFrame;
476 WKBundlePageDidFinishDocumentLoadForFrameCallback didFinishDocumentLoadForFrame;
477 WKBundlePageDidFinishLoadForFrameCallback didFinishLoadForFrame;
478 WKBundlePageDidFailLoadWithErrorForFrameCallback didFailLoadWithErrorForFrame;
479 WKBundlePageDidSameDocumentNavigationForFrameCallback didSameDocumentNavigationForFrame;
480 WKBundlePageDidReceiveTitleForFrameCallback didReceiveTitleForFrame;
481 WKBundlePageDidFirstLayoutForFrameCallback didFirstLayoutForFrame;
482 WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback didFirstVisuallyNonEmptyLayoutForFrame;
483 WKBundlePageDidRemoveFrameFromHierarchyCallback didRemoveFrameFromHierarchy;
484 WKBundlePageDidDisplayInsecureContentForFrameCallback didDisplayInsecureContentForFrame;
485 WKBundlePageDidRunInsecureContentForFrameCallback didRunInsecureContentForFrame;
486 WKBundlePageDidClearWindowObjectForFrameCallback didClearWindowObjectForFrame;
487 WKBundlePageDidCancelClientRedirectForFrameCallback didCancelClientRedirectForFrame;
488 WKBundlePageWillPerformClientRedirectForFrameCallback willPerformClientRedirectForFrame;
489 WKBundlePageDidHandleOnloadEventsForFrameCallback didHandleOnloadEventsForFrame;
490
491 // Version 1.
492 WKBundlePageDidLayoutForFrameCallback didLayoutForFrame;
493 void * didNewFirstVisuallyNonEmptyLayout_unavailable;
494 WKBundlePageDidDetectXSSForFrameCallback didDetectXSSForFrame;
495 WKBundlePageShouldGoToBackForwardListItemCallback shouldGoToBackForwardListItem;
496 WKBundlePageGlobalObjectIsAvailableForFrameCallback globalObjectIsAvailableForFrame;
497 WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback willDisconnectDOMWindowExtensionFromGlobalObject;
498 WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback didReconnectDOMWindowExtensionToGlobalObject;
499 WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback willDestroyGlobalObjectForDOMWindowExtension;
500
501 // Version 2
502 WKBundlePageDidFinishProgressCallback didFinishProgress;
503 WKBundlePageShouldForceUniversalAccessFromLocalURLCallback shouldForceUniversalAccessFromLocalURL;
504
505 // Version 3
506 void * didReceiveIntentForFrame_unavailable;
507 void * registerIntentServiceForFrame_unavailable;
508
509 // Version 4
510 WKBundlePageDidLayoutCallback didLayout;
511
512 // Version 5
513 WKBundlePageFeaturesUsedInPageCallback featuresUsedInPage;
514
515 // Version 6
516 WKBundlePageWillLoadURLRequestCallback willLoadURLRequest;
517 WKBundlePageWillLoadDataRequestCallback willLoadDataRequest;
518
519 // Version 7
520 void * willDestroyFrame_unavailable;
521
522 // Version 8
523 void* userAgentForURL_unavailable;
524
525 // Version 9
526 WKBundlePageWillInjectUserScriptForFrameCallback willInjectUserScriptForFrame;
527} WKBundlePageLoaderClientV9;
528
529typedef struct WKBundlePageLoaderClientV10 {
530 WKBundlePageLoaderClientBase base;
531
532 // Version 0.
533 WKBundlePageDidStartProvisionalLoadForFrameCallback didStartProvisionalLoadForFrame;
534 WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback didReceiveServerRedirectForProvisionalLoadForFrame;
535 WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback didFailProvisionalLoadWithErrorForFrame;
536 WKBundlePageDidCommitLoadForFrameCallback didCommitLoadForFrame;
537 WKBundlePageDidFinishDocumentLoadForFrameCallback didFinishDocumentLoadForFrame;
538 WKBundlePageDidFinishLoadForFrameCallback didFinishLoadForFrame;
539 WKBundlePageDidFailLoadWithErrorForFrameCallback didFailLoadWithErrorForFrame;
540 WKBundlePageDidSameDocumentNavigationForFrameCallback didSameDocumentNavigationForFrame;
541 WKBundlePageDidReceiveTitleForFrameCallback didReceiveTitleForFrame;
542 WKBundlePageDidFirstLayoutForFrameCallback didFirstLayoutForFrame;
543 WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback didFirstVisuallyNonEmptyLayoutForFrame;
544 WKBundlePageDidRemoveFrameFromHierarchyCallback didRemoveFrameFromHierarchy;
545 WKBundlePageDidDisplayInsecureContentForFrameCallback didDisplayInsecureContentForFrame;
546 WKBundlePageDidRunInsecureContentForFrameCallback didRunInsecureContentForFrame;
547 WKBundlePageDidClearWindowObjectForFrameCallback didClearWindowObjectForFrame;
548 WKBundlePageDidCancelClientRedirectForFrameCallback didCancelClientRedirectForFrame;
549 WKBundlePageWillPerformClientRedirectForFrameCallback willPerformClientRedirectForFrame;
550 WKBundlePageDidHandleOnloadEventsForFrameCallback didHandleOnloadEventsForFrame;
551
552 // Version 1.
553 WKBundlePageDidLayoutForFrameCallback didLayoutForFrame;
554 void * didNewFirstVisuallyNonEmptyLayout_unavailable;
555 WKBundlePageDidDetectXSSForFrameCallback didDetectXSSForFrame;
556 WKBundlePageShouldGoToBackForwardListItemCallback shouldGoToBackForwardListItem;
557 WKBundlePageGlobalObjectIsAvailableForFrameCallback globalObjectIsAvailableForFrame;
558 WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback willDisconnectDOMWindowExtensionFromGlobalObject;
559 WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback didReconnectDOMWindowExtensionToGlobalObject;
560 WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback willDestroyGlobalObjectForDOMWindowExtension;
561
562 // Version 2
563 WKBundlePageDidFinishProgressCallback didFinishProgress;
564 WKBundlePageShouldForceUniversalAccessFromLocalURLCallback shouldForceUniversalAccessFromLocalURL;
565
566 // Version 3
567 void * didReceiveIntentForFrame_unavailable;
568 void * registerIntentServiceForFrame_unavailable;
569
570 // Version 4
571 WKBundlePageDidLayoutCallback didLayout;
572
573 // Version 5
574 WKBundlePageFeaturesUsedInPageCallback featuresUsedInPage;
575
576 // Version 6
577 WKBundlePageWillLoadURLRequestCallback willLoadURLRequest;
578 WKBundlePageWillLoadDataRequestCallback willLoadDataRequest;
579
580 // Version 7
581 void * willDestroyFrame_unavailable;
582
583 // Version 8
584 void* userAgentForURL_unavailable;
585
586 // Version 9
587 WKBundlePageWillInjectUserScriptForFrameCallback willInjectUserScriptForFrame;
588
589 // Version 10
590 WKBundlePageLayoutMilestonesCallback layoutMilestones;
591} WKBundlePageLoaderClientV10;
592
593#endif // WKBundlePageLoaderClient_h
594