1/*
2 * Copyright (C) 2013-2018 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#pragma once
27
28#include <WebKit/WKBase.h>
29#include <WebKit/WKEvent.h>
30#include <WebKit/WKGeometry.h>
31#include <WebKit/WKNativeEvent.h>
32
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37enum {
38 kWKFocusDirectionBackward = 0,
39 kWKFocusDirectionForward = 1
40};
41typedef uint32_t WKFocusDirection;
42
43enum {
44 kWKPluginUnavailabilityReasonPluginMissing,
45 kWKPluginUnavailabilityReasonPluginCrashed,
46 kWKPluginUnavailabilityReasonInsecurePluginVersion
47};
48typedef uint32_t WKPluginUnavailabilityReason;
49
50enum {
51 kWKAutoplayEventDidPreventFromAutoplaying,
52 kWKAutoplayEventDidPlayMediaWithUserGesture,
53 kWKAutoplayEventDidAutoplayMediaPastThresholdWithoutUserInterference,
54 kWKAutoplayEventUserDidInterfereWithPlayback,
55};
56typedef uint32_t WKAutoplayEvent;
57
58enum {
59 kWKAutoplayEventFlagsNone = 0,
60 kWKAutoplayEventFlagsHasAudio = 1 << 0,
61 kWKAutoplayEventFlagsPlaybackWasPrevented = 1 << 1,
62 kWKAutoplayEventFlagsMediaIsMainContent = 1 << 2,
63};
64typedef uint32_t WKAutoplayEventFlags;
65
66enum {
67 kWKResourceLimitMemory,
68 kWKResourceLimitCPU,
69};
70typedef uint32_t WKResourceLimit;
71
72WK_EXPORT WKTypeID WKPageRunBeforeUnloadConfirmPanelResultListenerGetTypeID();
73WK_EXPORT void WKPageRunBeforeUnloadConfirmPanelResultListenerCall(WKPageRunBeforeUnloadConfirmPanelResultListenerRef listener, bool result);
74
75WK_EXPORT WKTypeID WKPageRunJavaScriptAlertResultListenerGetTypeID();
76WK_EXPORT void WKPageRunJavaScriptAlertResultListenerCall(WKPageRunJavaScriptAlertResultListenerRef listener);
77
78WK_EXPORT WKTypeID WKPageRunJavaScriptConfirmResultListenerGetTypeID();
79WK_EXPORT void WKPageRunJavaScriptConfirmResultListenerCall(WKPageRunJavaScriptConfirmResultListenerRef listener, bool result);
80
81WK_EXPORT WKTypeID WKPageRunJavaScriptPromptResultListenerGetTypeID();
82WK_EXPORT void WKPageRunJavaScriptPromptResultListenerCall(WKPageRunJavaScriptPromptResultListenerRef listener, WKStringRef result);
83
84WK_EXPORT WKTypeID WKPageRequestStorageAccessConfirmResultListenerGetTypeID();
85WK_EXPORT void WKPageRequestStorageAccessConfirmResultListenerCall(WKPageRequestStorageAccessConfirmResultListenerRef listener, bool result);
86
87typedef void (*WKPageUIClientCallback)(WKPageRef page, const void* clientInfo);
88typedef WKPageRef (*WKPageCreateNewPageCallback)(WKPageRef page, WKPageConfigurationRef configuration, WKNavigationActionRef navigationAction, WKWindowFeaturesRef windowFeatures, const void *clientInfo);
89typedef void (*WKPageRunBeforeUnloadConfirmPanelCallback)(WKPageRef page, WKStringRef message, WKFrameRef frame, WKPageRunBeforeUnloadConfirmPanelResultListenerRef listener, const void *clientInfo);
90typedef void (*WKPageRunJavaScriptAlertCallback)(WKPageRef page, WKStringRef alertText, WKFrameRef frame, WKSecurityOriginRef securityOrigin, WKPageRunJavaScriptAlertResultListenerRef listener, const void *clientInfo);
91typedef void (*WKPageRunJavaScriptConfirmCallback)(WKPageRef page, WKStringRef message, WKFrameRef frame, WKSecurityOriginRef securityOrigin, WKPageRunJavaScriptConfirmResultListenerRef listener, const void *clientInfo);
92typedef void (*WKPageRunJavaScriptPromptCallback)(WKPageRef page, WKStringRef message, WKStringRef defaultValue, WKFrameRef frame, WKSecurityOriginRef securityOrigin, WKPageRunJavaScriptPromptResultListenerRef listener, const void *clientInfo);
93typedef void (*WKPageRequestStorageAccessConfirmCallback)(WKPageRef page, WKFrameRef frame, WKStringRef requestingDomain, WKStringRef currentDomain, WKPageRequestStorageAccessConfirmResultListenerRef listener, const void *clientInfo);
94typedef void (*WKPageTakeFocusCallback)(WKPageRef page, WKFocusDirection direction, const void *clientInfo);
95typedef void (*WKPageFocusCallback)(WKPageRef page, const void *clientInfo);
96typedef void (*WKPageUnfocusCallback)(WKPageRef page, const void *clientInfo);
97typedef void (*WKPageSetStatusTextCallback)(WKPageRef page, WKStringRef text, const void *clientInfo);
98typedef void (*WKPageMouseDidMoveOverElementCallback)(WKPageRef page, WKHitTestResultRef hitTestResult, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo);
99typedef void (*WKPageDidNotHandleKeyEventCallback)(WKPageRef page, WKNativeEventPtr event, const void *clientInfo);
100typedef void (*WKPageDidNotHandleWheelEventCallback)(WKPageRef page, WKNativeEventPtr event, const void *clientInfo);
101typedef bool (*WKPageGetToolbarsAreVisibleCallback)(WKPageRef page, const void *clientInfo);
102typedef void (*WKPageSetToolbarsAreVisibleCallback)(WKPageRef page, bool toolbarsVisible, const void *clientInfo);
103typedef bool (*WKPageGetMenuBarIsVisibleCallback)(WKPageRef page, const void *clientInfo);
104typedef void (*WKPageSetMenuBarIsVisibleCallback)(WKPageRef page, bool menuBarVisible, const void *clientInfo);
105typedef bool (*WKPageGetStatusBarIsVisibleCallback)(WKPageRef page, const void *clientInfo);
106typedef void (*WKPageSetStatusBarIsVisibleCallback)(WKPageRef page, bool statusBarVisible, const void *clientInfo);
107typedef bool (*WKPageGetIsResizableCallback)(WKPageRef page, const void *clientInfo);
108typedef void (*WKPageSetIsResizableCallback)(WKPageRef page, bool resizable, const void *clientInfo);
109typedef WKRect (*WKPageGetWindowFrameCallback)(WKPageRef page, const void *clientInfo);
110typedef void (*WKPageSetWindowFrameCallback)(WKPageRef page, WKRect frame, const void *clientInfo);
111typedef unsigned long long (*WKPageExceededDatabaseQuotaCallback)(WKPageRef page, WKFrameRef frame, WKSecurityOriginRef origin, WKStringRef databaseName, WKStringRef displayName, unsigned long long currentQuota, unsigned long long currentOriginUsage, unsigned long long currentDatabaseUsage, unsigned long long expectedUsage, const void *clientInfo);
112typedef void (*WKPageRunOpenPanelCallback)(WKPageRef page, WKFrameRef frame, WKOpenPanelParametersRef parameters, WKOpenPanelResultListenerRef listener, const void *clientInfo);
113typedef void (*WKPageDecidePolicyForGeolocationPermissionRequestCallback)(WKPageRef page, WKFrameRef frame, WKSecurityOriginRef origin, WKGeolocationPermissionRequestRef permissionRequest, const void* clientInfo);
114typedef float (*WKPageHeaderHeightCallback)(WKPageRef page, WKFrameRef frame, const void* clientInfo);
115typedef float (*WKPageFooterHeightCallback)(WKPageRef page, WKFrameRef frame, const void* clientInfo);
116typedef void (*WKPageDrawHeaderCallback)(WKPageRef page, WKFrameRef frame, WKRect rect, const void* clientInfo);
117typedef void (*WKPageDrawFooterCallback)(WKPageRef page, WKFrameRef frame, WKRect rect, const void* clientInfo);
118typedef void (*WKPagePrintFrameCallback)(WKPageRef page, WKFrameRef frame, const void* clientInfo);
119typedef void (*WKPageSaveDataToFileInDownloadsFolderCallback)(WKPageRef page, WKStringRef suggestedFilename, WKStringRef mimeType, WKURLRef originatingURL, WKDataRef data, const void* clientInfo);
120typedef void (*WKPageDecidePolicyForNotificationPermissionRequestCallback)(WKPageRef page, WKSecurityOriginRef origin, WKNotificationPermissionRequestRef permissionRequest, const void *clientInfo);
121typedef void (*WKPageShowColorPickerCallback)(WKPageRef page, WKStringRef initialColor, WKColorPickerResultListenerRef listener, const void* clientInfo);
122typedef void (*WKPageHideColorPickerCallback)(WKPageRef page, const void* clientInfo);
123typedef void (*WKPageUnavailablePluginButtonClickedCallback)(WKPageRef page, WKPluginUnavailabilityReason pluginUnavailabilityReason, WKDictionaryRef pluginInfoDictionary, const void* clientInfo);
124typedef void (*WKPagePinnedStateDidChangeCallback)(WKPageRef page, const void* clientInfo);
125typedef void (*WKPageIsPlayingAudioDidChangeCallback)(WKPageRef page, const void* clientInfo);
126typedef void (*WKPageDecidePolicyForUserMediaPermissionRequestCallback)(WKPageRef page, WKFrameRef frame, WKSecurityOriginRef userMediaDocumentOrigin, WKSecurityOriginRef topLevelDocumentOrigin, WKUserMediaPermissionRequestRef permissionRequest, const void* clientInfo);
127typedef void (*WKCheckUserMediaPermissionCallback)(WKPageRef page, WKFrameRef frame, WKSecurityOriginRef userMediaDocumentOrigin, WKSecurityOriginRef topLevelDocumentOrigin, WKUserMediaPermissionCheckRef devicesRequest, const void *clientInfo);
128typedef void (*WKPageDidClickAutoFillButtonCallback)(WKPageRef page, WKTypeRef userData, const void *clientInfo);
129typedef void (*WKPageMediaSessionMetadataDidChangeCallback)(WKPageRef page, WKMediaSessionMetadataRef metadata, const void* clientInfo);
130typedef void (*WKHandleAutoplayEventCallback)(WKPageRef page, WKAutoplayEvent event, WKAutoplayEventFlags flags, const void* clientInfo);
131typedef void (*WKFullscreenMayReturnToInlineCallback)(WKPageRef page, const void* clientInfo);
132typedef void (*WKRequestPointerLockCallback)(WKPageRef page, const void* clientInfo);
133typedef void (*WKDidLosePointerLockCallback)(WKPageRef page, const void* clientInfo);
134typedef void (*WKHasVideoInPictureInPictureDidChangeCallback)(WKPageRef page, bool hasVideoInPictureInPicture, const void* clientInfo);
135typedef void (*WKDidExceedBackgroundResourceLimitWhileInForegroundCallback)(WKPageRef page, WKResourceLimit limit, const void* clientInfo);
136typedef void (*WKPageDidResignInputElementStrongPasswordAppearanceCallback)(WKPageRef page, WKTypeRef userData, const void *clientInfo);
137typedef bool (*WKPageShouldAllowDeviceOrientationAndMotionAccessCallback)(WKPageRef page, WKSecurityOriginRef securityOrigin, const void *clientInfo);
138
139// Deprecated
140typedef WKPageRef (*WKPageCreateNewPageCallback_deprecatedForUseWithV0)(WKPageRef page, WKDictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton mouseButton, const void *clientInfo);
141typedef void (*WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0)(WKPageRef page, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo);
142typedef void (*WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0)(WKPageRef page, WKStringRef mimeType, WKStringRef url, WKStringRef pluginsPageURL, const void* clientInfo);
143typedef void (*WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1)(WKPageRef page, WKPluginUnavailabilityReason pluginUnavailabilityReason, WKStringRef mimeType, WKStringRef url, WKStringRef pluginsPageURL, const void* clientInfo);
144typedef void (*WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0)(WKPageRef page, WKStringRef alertText, WKFrameRef frame, const void *clientInfo);
145typedef bool (*WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0)(WKPageRef page, WKStringRef message, WKFrameRef frame, const void *clientInfo);
146typedef WKStringRef (*WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0)(WKPageRef page, WKStringRef message, WKStringRef defaultValue, WKFrameRef frame, const void *clientInfo);
147typedef WKPageRef (*WKPageCreateNewPageCallback_deprecatedForUseWithV1)(WKPageRef page, WKURLRequestRef urlRequest, WKDictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton mouseButton, const void *clientInfo);
148typedef void (*WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV5)(WKPageRef page, WKStringRef alertText, WKFrameRef frame, WKSecurityOriginRef securityOrigin, const void *clientInfo);
149typedef bool (*WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5)(WKPageRef page, WKStringRef message, WKFrameRef frame, WKSecurityOriginRef securityOrigin, const void *clientInfo);
150typedef WKStringRef (*WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5)(WKPageRef page, WKStringRef message, WKStringRef defaultValue, WKFrameRef frame, WKSecurityOriginRef securityOrigin, const void *clientInfo);
151typedef bool (*WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6)(WKPageRef page, WKStringRef message, WKFrameRef frame, const void *clientInfo);
152
153typedef struct WKPageUIClientBase {
154 int version;
155 const void * clientInfo;
156} WKPageUIClientBase;
157
158typedef struct WKPageUIClientV0 {
159 WKPageUIClientBase base;
160
161 // Version 0.
162 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
163 WKPageUIClientCallback showPage;
164 WKPageUIClientCallback close;
165 WKPageTakeFocusCallback takeFocus;
166 WKPageFocusCallback focus;
167 WKPageUnfocusCallback unfocus;
168 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert;
169 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm;
170 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt;
171 WKPageSetStatusTextCallback setStatusText;
172 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
173 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
174 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
175 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
176 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
177 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
178 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
179 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
180 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
181 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
182 WKPageGetIsResizableCallback isResizable;
183 WKPageSetIsResizableCallback setIsResizable;
184 WKPageGetWindowFrameCallback getWindowFrame;
185 WKPageSetWindowFrameCallback setWindowFrame;
186 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel;
187 WKPageUIClientCallback didDraw;
188 WKPageUIClientCallback pageDidScroll;
189 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
190 WKPageRunOpenPanelCallback runOpenPanel;
191 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
192 WKPageHeaderHeightCallback headerHeight;
193 WKPageFooterHeightCallback footerHeight;
194 WKPageDrawHeaderCallback drawHeader;
195 WKPageDrawFooterCallback drawFooter;
196 WKPagePrintFrameCallback printFrame;
197 WKPageUIClientCallback runModal;
198 void* unused1; // Used to be didCompleteRubberBandForMainFrame
199 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
200 void* shouldInterruptJavaScript_unavailable;
201} WKPageUIClientV0;
202
203typedef struct WKPageUIClientV1 {
204 WKPageUIClientBase base;
205
206 // Version 0.
207 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
208 WKPageUIClientCallback showPage;
209 WKPageUIClientCallback close;
210 WKPageTakeFocusCallback takeFocus;
211 WKPageFocusCallback focus;
212 WKPageUnfocusCallback unfocus;
213 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert;
214 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm;
215 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt;
216 WKPageSetStatusTextCallback setStatusText;
217 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
218 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
219 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
220 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
221 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
222 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
223 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
224 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
225 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
226 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
227 WKPageGetIsResizableCallback isResizable;
228 WKPageSetIsResizableCallback setIsResizable;
229 WKPageGetWindowFrameCallback getWindowFrame;
230 WKPageSetWindowFrameCallback setWindowFrame;
231 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel;
232 WKPageUIClientCallback didDraw;
233 WKPageUIClientCallback pageDidScroll;
234 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
235 WKPageRunOpenPanelCallback runOpenPanel;
236 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
237 WKPageHeaderHeightCallback headerHeight;
238 WKPageFooterHeightCallback footerHeight;
239 WKPageDrawHeaderCallback drawHeader;
240 WKPageDrawFooterCallback drawFooter;
241 WKPagePrintFrameCallback printFrame;
242 WKPageUIClientCallback runModal;
243 void* unused1; // Used to be didCompleteRubberBandForMainFrame
244 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
245 void* shouldInterruptJavaScript_unavailable;
246
247 // Version 1.
248 WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage;
249 WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
250 WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
251 WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
252} WKPageUIClientV1;
253
254typedef struct WKPageUIClientV2 {
255 WKPageUIClientBase base;
256
257 // Version 0.
258 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
259 WKPageUIClientCallback showPage;
260 WKPageUIClientCallback close;
261 WKPageTakeFocusCallback takeFocus;
262 WKPageFocusCallback focus;
263 WKPageUnfocusCallback unfocus;
264 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert;
265 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm;
266 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt;
267 WKPageSetStatusTextCallback setStatusText;
268 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
269 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
270 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
271 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
272 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
273 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
274 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
275 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
276 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
277 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
278 WKPageGetIsResizableCallback isResizable;
279 WKPageSetIsResizableCallback setIsResizable;
280 WKPageGetWindowFrameCallback getWindowFrame;
281 WKPageSetWindowFrameCallback setWindowFrame;
282 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel;
283 WKPageUIClientCallback didDraw;
284 WKPageUIClientCallback pageDidScroll;
285 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
286 WKPageRunOpenPanelCallback runOpenPanel;
287 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
288 WKPageHeaderHeightCallback headerHeight;
289 WKPageFooterHeightCallback footerHeight;
290 WKPageDrawHeaderCallback drawHeader;
291 WKPageDrawFooterCallback drawFooter;
292 WKPagePrintFrameCallback printFrame;
293 WKPageUIClientCallback runModal;
294 void* unused1; // Used to be didCompleteRubberBandForMainFrame
295 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
296 void* shouldInterruptJavaScript_unavailable;
297
298 // Version 1.
299 WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage;
300 WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
301 WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
302 WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
303
304 // Version 2.
305 WKPageShowColorPickerCallback showColorPicker;
306 WKPageHideColorPickerCallback hideColorPicker;
307 WKPageUnavailablePluginButtonClickedCallback unavailablePluginButtonClicked;
308} WKPageUIClientV2;
309
310typedef struct WKPageUIClientV3 {
311 WKPageUIClientBase base;
312
313 // Version 0.
314 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
315 WKPageUIClientCallback showPage;
316 WKPageUIClientCallback close;
317 WKPageTakeFocusCallback takeFocus;
318 WKPageFocusCallback focus;
319 WKPageUnfocusCallback unfocus;
320 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert;
321 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm;
322 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt;
323 WKPageSetStatusTextCallback setStatusText;
324 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
325 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
326 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
327 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
328 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
329 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
330 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
331 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
332 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
333 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
334 WKPageGetIsResizableCallback isResizable;
335 WKPageSetIsResizableCallback setIsResizable;
336 WKPageGetWindowFrameCallback getWindowFrame;
337 WKPageSetWindowFrameCallback setWindowFrame;
338 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel;
339 WKPageUIClientCallback didDraw;
340 WKPageUIClientCallback pageDidScroll;
341 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
342 WKPageRunOpenPanelCallback runOpenPanel;
343 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
344 WKPageHeaderHeightCallback headerHeight;
345 WKPageFooterHeightCallback footerHeight;
346 WKPageDrawHeaderCallback drawHeader;
347 WKPageDrawFooterCallback drawFooter;
348 WKPagePrintFrameCallback printFrame;
349 WKPageUIClientCallback runModal;
350 void* unused1; // Used to be didCompleteRubberBandForMainFrame
351 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
352 void* shouldInterruptJavaScript_unavailable;
353
354 // Version 1.
355 WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage;
356 WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
357 WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
358 WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
359
360 // Version 2.
361 WKPageShowColorPickerCallback showColorPicker;
362 WKPageHideColorPickerCallback hideColorPicker;
363 WKPageUnavailablePluginButtonClickedCallback unavailablePluginButtonClicked;
364
365 // Version 3.
366 WKPagePinnedStateDidChangeCallback pinnedStateDidChange;
367} WKPageUIClientV3;
368
369typedef struct WKPageUIClientV4 {
370 WKPageUIClientBase base;
371
372 // Version 0.
373 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
374 WKPageUIClientCallback showPage;
375 WKPageUIClientCallback close;
376 WKPageTakeFocusCallback takeFocus;
377 WKPageFocusCallback focus;
378 WKPageUnfocusCallback unfocus;
379 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert;
380 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm;
381 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt;
382 WKPageSetStatusTextCallback setStatusText;
383 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
384 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
385 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
386 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
387 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
388 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
389 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
390 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
391 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
392 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
393 WKPageGetIsResizableCallback isResizable;
394 WKPageSetIsResizableCallback setIsResizable;
395 WKPageGetWindowFrameCallback getWindowFrame;
396 WKPageSetWindowFrameCallback setWindowFrame;
397 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel;
398 WKPageUIClientCallback didDraw;
399 WKPageUIClientCallback pageDidScroll;
400 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
401 WKPageRunOpenPanelCallback runOpenPanel;
402 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
403 WKPageHeaderHeightCallback headerHeight;
404 WKPageFooterHeightCallback footerHeight;
405 WKPageDrawHeaderCallback drawHeader;
406 WKPageDrawFooterCallback drawFooter;
407 WKPagePrintFrameCallback printFrame;
408 WKPageUIClientCallback runModal;
409 void* unused1; // Used to be didCompleteRubberBandForMainFrame.
410 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
411 void* shouldInterruptJavaScript_unavailable;
412
413 // Version 1.
414 WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage;
415 WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
416 WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
417 WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
418
419 // Version 2.
420 WKPageShowColorPickerCallback showColorPicker;
421 WKPageHideColorPickerCallback hideColorPicker;
422 WKPageUnavailablePluginButtonClickedCallback unavailablePluginButtonClicked;
423
424 // Version 3.
425 WKPagePinnedStateDidChangeCallback pinnedStateDidChange;
426
427 // Version 4.
428 void* unused2; // Used to be didBeginTrackingPotentialLongMousePress.
429 void* unused3; // Used to be didRecognizeLongMousePress.
430 void* unused4; // Used to be didCancelTrackingPotentialLongMousePress.
431 WKPageIsPlayingAudioDidChangeCallback isPlayingAudioDidChange;
432} WKPageUIClientV4;
433
434typedef struct WKPageUIClientV5 {
435 WKPageUIClientBase base;
436
437 // Version 0.
438 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
439 WKPageUIClientCallback showPage;
440 WKPageUIClientCallback close;
441 WKPageTakeFocusCallback takeFocus;
442 WKPageFocusCallback focus;
443 WKPageUnfocusCallback unfocus;
444 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert_deprecatedForUseWithV0;
445 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm_deprecatedForUseWithV0;
446 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt_deprecatedForUseWithV0;
447 WKPageSetStatusTextCallback setStatusText;
448 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
449 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
450 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
451 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
452 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
453 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
454 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
455 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
456 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
457 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
458 WKPageGetIsResizableCallback isResizable;
459 WKPageSetIsResizableCallback setIsResizable;
460 WKPageGetWindowFrameCallback getWindowFrame;
461 WKPageSetWindowFrameCallback setWindowFrame;
462 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel;
463 WKPageUIClientCallback didDraw;
464 WKPageUIClientCallback pageDidScroll;
465 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
466 WKPageRunOpenPanelCallback runOpenPanel;
467 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
468 WKPageHeaderHeightCallback headerHeight;
469 WKPageFooterHeightCallback footerHeight;
470 WKPageDrawHeaderCallback drawHeader;
471 WKPageDrawFooterCallback drawFooter;
472 WKPagePrintFrameCallback printFrame;
473 WKPageUIClientCallback runModal;
474 void* unused1; // Used to be didCompleteRubberBandForMainFrame
475 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
476 void* shouldInterruptJavaScript_unavailable;
477
478 // Version 1.
479 WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage;
480 WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
481 WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
482 WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
483
484 // Version 2.
485 WKPageShowColorPickerCallback showColorPicker;
486 WKPageHideColorPickerCallback hideColorPicker;
487 WKPageUnavailablePluginButtonClickedCallback unavailablePluginButtonClicked;
488
489 // Version 3.
490 WKPagePinnedStateDidChangeCallback pinnedStateDidChange;
491
492 // Version 4.
493 void* unused2; // Used to be didBeginTrackingPotentialLongMousePress.
494 void* unused3; // Used to be didRecognizeLongMousePress.
495 void* unused4; // Used to be didCancelTrackingPotentialLongMousePress.
496 WKPageIsPlayingAudioDidChangeCallback isPlayingAudioDidChange;
497
498 // Version 5.
499 WKPageDecidePolicyForUserMediaPermissionRequestCallback decidePolicyForUserMediaPermissionRequest;
500 WKPageDidClickAutoFillButtonCallback didClickAutoFillButton;
501 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV5 runJavaScriptAlert;
502 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm;
503 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt;
504 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;
505} WKPageUIClientV5;
506
507typedef struct WKPageUIClientV6 {
508 WKPageUIClientBase base;
509
510 // Version 0.
511 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
512 WKPageUIClientCallback showPage;
513 WKPageUIClientCallback close;
514 WKPageTakeFocusCallback takeFocus;
515 WKPageFocusCallback focus;
516 WKPageUnfocusCallback unfocus;
517 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert_deprecatedForUseWithV0;
518 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm_deprecatedForUseWithV0;
519 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt_deprecatedForUseWithV0;
520 WKPageSetStatusTextCallback setStatusText;
521 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
522 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
523 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
524 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
525 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
526 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
527 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
528 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
529 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
530 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
531 WKPageGetIsResizableCallback isResizable;
532 WKPageSetIsResizableCallback setIsResizable;
533 WKPageGetWindowFrameCallback getWindowFrame;
534 WKPageSetWindowFrameCallback setWindowFrame;
535 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel;
536 WKPageUIClientCallback didDraw;
537 WKPageUIClientCallback pageDidScroll;
538 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
539 WKPageRunOpenPanelCallback runOpenPanel;
540 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
541 WKPageHeaderHeightCallback headerHeight;
542 WKPageFooterHeightCallback footerHeight;
543 WKPageDrawHeaderCallback drawHeader;
544 WKPageDrawFooterCallback drawFooter;
545 WKPagePrintFrameCallback printFrame;
546 WKPageUIClientCallback runModal;
547 void* unused1; // Used to be didCompleteRubberBandForMainFrame
548 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
549 void* shouldInterruptJavaScript_unavailable;
550
551 // Version 1.
552 WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage_deprecatedForUseWithV1;
553 WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
554 WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
555 WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
556
557 // Version 2.
558 WKPageShowColorPickerCallback showColorPicker;
559 WKPageHideColorPickerCallback hideColorPicker;
560 WKPageUnavailablePluginButtonClickedCallback unavailablePluginButtonClicked;
561
562 // Version 3.
563 WKPagePinnedStateDidChangeCallback pinnedStateDidChange;
564
565 // Version 4.
566 void* unused2; // Used to be didBeginTrackingPotentialLongMousePress.
567 void* unused3; // Used to be didRecognizeLongMousePress.
568 void* unused4; // Used to be didCancelTrackingPotentialLongMousePress.
569 WKPageIsPlayingAudioDidChangeCallback isPlayingAudioDidChange;
570
571 // Version 5.
572 WKPageDecidePolicyForUserMediaPermissionRequestCallback decidePolicyForUserMediaPermissionRequest;
573 WKPageDidClickAutoFillButtonCallback didClickAutoFillButton;
574 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV5 runJavaScriptAlert_deprecatedForUseWithV5;
575 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5;
576 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5;
577 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;
578
579 // Version 6.
580 WKPageCreateNewPageCallback createNewPage;
581 WKPageRunJavaScriptAlertCallback runJavaScriptAlert;
582 WKPageRunJavaScriptConfirmCallback runJavaScriptConfirm;
583 WKPageRunJavaScriptPromptCallback runJavaScriptPrompt;
584 WKCheckUserMediaPermissionCallback checkUserMediaPermissionForOrigin;
585} WKPageUIClientV6;
586
587typedef struct WKPageUIClientV7 {
588 WKPageUIClientBase base;
589
590 // Version 0.
591 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
592 WKPageUIClientCallback showPage;
593 WKPageUIClientCallback close;
594 WKPageTakeFocusCallback takeFocus;
595 WKPageFocusCallback focus;
596 WKPageUnfocusCallback unfocus;
597 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert_deprecatedForUseWithV0;
598 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm_deprecatedForUseWithV0;
599 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt_deprecatedForUseWithV0;
600 WKPageSetStatusTextCallback setStatusText;
601 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
602 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
603 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
604 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
605 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
606 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
607 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
608 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
609 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
610 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
611 WKPageGetIsResizableCallback isResizable;
612 WKPageSetIsResizableCallback setIsResizable;
613 WKPageGetWindowFrameCallback getWindowFrame;
614 WKPageSetWindowFrameCallback setWindowFrame;
615 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel_deprecatedForUseWithV6;
616 WKPageUIClientCallback didDraw;
617 WKPageUIClientCallback pageDidScroll;
618 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
619 WKPageRunOpenPanelCallback runOpenPanel;
620 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
621 WKPageHeaderHeightCallback headerHeight;
622 WKPageFooterHeightCallback footerHeight;
623 WKPageDrawHeaderCallback drawHeader;
624 WKPageDrawFooterCallback drawFooter;
625 WKPagePrintFrameCallback printFrame;
626 WKPageUIClientCallback runModal;
627 void* unused1; // Used to be didCompleteRubberBandForMainFrame
628 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
629 void* shouldInterruptJavaScript_unavailable;
630
631 // Version 1.
632 WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage_deprecatedForUseWithV1;
633 WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
634 WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
635 WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
636
637 // Version 2.
638 WKPageShowColorPickerCallback showColorPicker;
639 WKPageHideColorPickerCallback hideColorPicker;
640 WKPageUnavailablePluginButtonClickedCallback unavailablePluginButtonClicked;
641
642 // Version 3.
643 WKPagePinnedStateDidChangeCallback pinnedStateDidChange;
644
645 // Version 4.
646 void* unused2; // Used to be didBeginTrackingPotentialLongMousePress.
647 void* unused3; // Used to be didRecognizeLongMousePress.
648 void* unused4; // Used to be didCancelTrackingPotentialLongMousePress.
649 WKPageIsPlayingAudioDidChangeCallback isPlayingAudioDidChange;
650
651 // Version 5.
652 WKPageDecidePolicyForUserMediaPermissionRequestCallback decidePolicyForUserMediaPermissionRequest;
653 WKPageDidClickAutoFillButtonCallback didClickAutoFillButton;
654 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV5 runJavaScriptAlert_deprecatedForUseWithV5;
655 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5;
656 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5;
657 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;
658
659 // Version 6.
660 WKPageCreateNewPageCallback createNewPage;
661 WKPageRunJavaScriptAlertCallback runJavaScriptAlert;
662 WKPageRunJavaScriptConfirmCallback runJavaScriptConfirm;
663 WKPageRunJavaScriptPromptCallback runJavaScriptPrompt;
664 WKCheckUserMediaPermissionCallback checkUserMediaPermissionForOrigin;
665
666 // Version 7.
667 WKPageRunBeforeUnloadConfirmPanelCallback runBeforeUnloadConfirmPanel;
668 WKFullscreenMayReturnToInlineCallback fullscreenMayReturnToInline;
669} WKPageUIClientV7;
670
671typedef struct WKPageUIClientV8 {
672 WKPageUIClientBase base;
673
674 // Version 0.
675 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
676 WKPageUIClientCallback showPage;
677 WKPageUIClientCallback close;
678 WKPageTakeFocusCallback takeFocus;
679 WKPageFocusCallback focus;
680 WKPageUnfocusCallback unfocus;
681 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert_deprecatedForUseWithV0;
682 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm_deprecatedForUseWithV0;
683 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt_deprecatedForUseWithV0;
684 WKPageSetStatusTextCallback setStatusText;
685 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
686 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
687 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
688 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
689 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
690 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
691 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
692 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
693 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
694 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
695 WKPageGetIsResizableCallback isResizable;
696 WKPageSetIsResizableCallback setIsResizable;
697 WKPageGetWindowFrameCallback getWindowFrame;
698 WKPageSetWindowFrameCallback setWindowFrame;
699 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel_deprecatedForUseWithV6;
700 WKPageUIClientCallback didDraw;
701 WKPageUIClientCallback pageDidScroll;
702 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
703 WKPageRunOpenPanelCallback runOpenPanel;
704 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
705 WKPageHeaderHeightCallback headerHeight;
706 WKPageFooterHeightCallback footerHeight;
707 WKPageDrawHeaderCallback drawHeader;
708 WKPageDrawFooterCallback drawFooter;
709 WKPagePrintFrameCallback printFrame;
710 WKPageUIClientCallback runModal;
711 void* unused1; // Used to be didCompleteRubberBandForMainFrame
712 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
713 void* shouldInterruptJavaScript_unavailable;
714
715 // Version 1.
716 WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage_deprecatedForUseWithV1;
717 WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
718 WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
719 WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
720
721 // Version 2.
722 WKPageShowColorPickerCallback showColorPicker;
723 WKPageHideColorPickerCallback hideColorPicker;
724 WKPageUnavailablePluginButtonClickedCallback unavailablePluginButtonClicked;
725
726 // Version 3.
727 WKPagePinnedStateDidChangeCallback pinnedStateDidChange;
728
729 // Version 4.
730 void* unused2; // Used to be didBeginTrackingPotentialLongMousePress.
731 void* unused3; // Used to be didRecognizeLongMousePress.
732 void* unused4; // Used to be didCancelTrackingPotentialLongMousePress.
733 WKPageIsPlayingAudioDidChangeCallback isPlayingAudioDidChange;
734
735 // Version 5.
736 WKPageDecidePolicyForUserMediaPermissionRequestCallback decidePolicyForUserMediaPermissionRequest;
737 WKPageDidClickAutoFillButtonCallback didClickAutoFillButton;
738 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV5 runJavaScriptAlert_deprecatedForUseWithV5;
739 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5;
740 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5;
741 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;
742
743 // Version 6.
744 WKPageCreateNewPageCallback createNewPage;
745 WKPageRunJavaScriptAlertCallback runJavaScriptAlert;
746 WKPageRunJavaScriptConfirmCallback runJavaScriptConfirm;
747 WKPageRunJavaScriptPromptCallback runJavaScriptPrompt;
748 WKCheckUserMediaPermissionCallback checkUserMediaPermissionForOrigin;
749
750 // Version 7.
751 WKPageRunBeforeUnloadConfirmPanelCallback runBeforeUnloadConfirmPanel;
752 WKFullscreenMayReturnToInlineCallback fullscreenMayReturnToInline;
753
754 // Version 8.
755 WKRequestPointerLockCallback requestPointerLock;
756 WKDidLosePointerLockCallback didLosePointerLock;
757} WKPageUIClientV8;
758
759typedef struct WKPageUIClientV9 {
760 WKPageUIClientBase base;
761
762 // Version 0.
763 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
764 WKPageUIClientCallback showPage;
765 WKPageUIClientCallback close;
766 WKPageTakeFocusCallback takeFocus;
767 WKPageFocusCallback focus;
768 WKPageUnfocusCallback unfocus;
769 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert_deprecatedForUseWithV0;
770 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm_deprecatedForUseWithV0;
771 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt_deprecatedForUseWithV0;
772 WKPageSetStatusTextCallback setStatusText;
773 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
774 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
775 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
776 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
777 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
778 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
779 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
780 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
781 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
782 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
783 WKPageGetIsResizableCallback isResizable;
784 WKPageSetIsResizableCallback setIsResizable;
785 WKPageGetWindowFrameCallback getWindowFrame;
786 WKPageSetWindowFrameCallback setWindowFrame;
787 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel_deprecatedForUseWithV6;
788 WKPageUIClientCallback didDraw;
789 WKPageUIClientCallback pageDidScroll;
790 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
791 WKPageRunOpenPanelCallback runOpenPanel;
792 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
793 WKPageHeaderHeightCallback headerHeight;
794 WKPageFooterHeightCallback footerHeight;
795 WKPageDrawHeaderCallback drawHeader;
796 WKPageDrawFooterCallback drawFooter;
797 WKPagePrintFrameCallback printFrame;
798 WKPageUIClientCallback runModal;
799 void* unused1; // Used to be didCompleteRubberBandForMainFrame
800 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
801 void* shouldInterruptJavaScript_unavailable;
802
803 // Version 1.
804 WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage_deprecatedForUseWithV1;
805 WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
806 WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
807 WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
808
809 // Version 2.
810 WKPageShowColorPickerCallback showColorPicker;
811 WKPageHideColorPickerCallback hideColorPicker;
812 WKPageUnavailablePluginButtonClickedCallback unavailablePluginButtonClicked;
813
814 // Version 3.
815 WKPagePinnedStateDidChangeCallback pinnedStateDidChange;
816
817 // Version 4.
818 void* unused2; // Used to be didBeginTrackingPotentialLongMousePress.
819 void* unused3; // Used to be didRecognizeLongMousePress.
820 void* unused4; // Used to be didCancelTrackingPotentialLongMousePress.
821 WKPageIsPlayingAudioDidChangeCallback isPlayingAudioDidChange;
822
823 // Version 5.
824 WKPageDecidePolicyForUserMediaPermissionRequestCallback decidePolicyForUserMediaPermissionRequest;
825 WKPageDidClickAutoFillButtonCallback didClickAutoFillButton;
826 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV5 runJavaScriptAlert_deprecatedForUseWithV5;
827 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5;
828 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5;
829 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;
830
831 // Version 6.
832 WKPageCreateNewPageCallback createNewPage;
833 WKPageRunJavaScriptAlertCallback runJavaScriptAlert;
834 WKPageRunJavaScriptConfirmCallback runJavaScriptConfirm;
835 WKPageRunJavaScriptPromptCallback runJavaScriptPrompt;
836 WKCheckUserMediaPermissionCallback checkUserMediaPermissionForOrigin;
837
838 // Version 7.
839 WKPageRunBeforeUnloadConfirmPanelCallback runBeforeUnloadConfirmPanel;
840 WKFullscreenMayReturnToInlineCallback fullscreenMayReturnToInline;
841
842 // Version 8.
843 WKRequestPointerLockCallback requestPointerLock;
844 WKDidLosePointerLockCallback didLosePointerLock;
845
846 // Version 9.
847 WKHandleAutoplayEventCallback handleAutoplayEvent;
848} WKPageUIClientV9;
849
850typedef struct WKPageUIClientV10 {
851 WKPageUIClientBase base;
852
853 // Version 0.
854 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
855 WKPageUIClientCallback showPage;
856 WKPageUIClientCallback close;
857 WKPageTakeFocusCallback takeFocus;
858 WKPageFocusCallback focus;
859 WKPageUnfocusCallback unfocus;
860 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert_deprecatedForUseWithV0;
861 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm_deprecatedForUseWithV0;
862 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt_deprecatedForUseWithV0;
863 WKPageSetStatusTextCallback setStatusText;
864 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
865 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
866 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
867 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
868 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
869 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
870 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
871 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
872 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
873 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
874 WKPageGetIsResizableCallback isResizable;
875 WKPageSetIsResizableCallback setIsResizable;
876 WKPageGetWindowFrameCallback getWindowFrame;
877 WKPageSetWindowFrameCallback setWindowFrame;
878 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel_deprecatedForUseWithV6;
879 WKPageUIClientCallback didDraw;
880 WKPageUIClientCallback pageDidScroll;
881 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
882 WKPageRunOpenPanelCallback runOpenPanel;
883 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
884 WKPageHeaderHeightCallback headerHeight;
885 WKPageFooterHeightCallback footerHeight;
886 WKPageDrawHeaderCallback drawHeader;
887 WKPageDrawFooterCallback drawFooter;
888 WKPagePrintFrameCallback printFrame;
889 WKPageUIClientCallback runModal;
890 void* unused1; // Used to be didCompleteRubberBandForMainFrame
891 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
892 void* shouldInterruptJavaScript_unavailable;
893
894 // Version 1.
895 WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage_deprecatedForUseWithV1;
896 WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
897 WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
898 WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
899
900 // Version 2.
901 WKPageShowColorPickerCallback showColorPicker;
902 WKPageHideColorPickerCallback hideColorPicker;
903 WKPageUnavailablePluginButtonClickedCallback unavailablePluginButtonClicked;
904
905 // Version 3.
906 WKPagePinnedStateDidChangeCallback pinnedStateDidChange;
907
908 // Version 4.
909 void* unused2; // Used to be didBeginTrackingPotentialLongMousePress.
910 void* unused3; // Used to be didRecognizeLongMousePress.
911 void* unused4; // Used to be didCancelTrackingPotentialLongMousePress.
912 WKPageIsPlayingAudioDidChangeCallback isPlayingAudioDidChange;
913
914 // Version 5.
915 WKPageDecidePolicyForUserMediaPermissionRequestCallback decidePolicyForUserMediaPermissionRequest;
916 WKPageDidClickAutoFillButtonCallback didClickAutoFillButton;
917 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV5 runJavaScriptAlert_deprecatedForUseWithV5;
918 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5;
919 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5;
920 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;
921
922 // Version 6.
923 WKPageCreateNewPageCallback createNewPage;
924 WKPageRunJavaScriptAlertCallback runJavaScriptAlert;
925 WKPageRunJavaScriptConfirmCallback runJavaScriptConfirm;
926 WKPageRunJavaScriptPromptCallback runJavaScriptPrompt;
927 WKCheckUserMediaPermissionCallback checkUserMediaPermissionForOrigin;
928
929 // Version 7.
930 WKPageRunBeforeUnloadConfirmPanelCallback runBeforeUnloadConfirmPanel;
931 WKFullscreenMayReturnToInlineCallback fullscreenMayReturnToInline;
932
933 // Version 8.
934 WKRequestPointerLockCallback requestPointerLock;
935 WKDidLosePointerLockCallback didLosePointerLock;
936
937 // Version 9.
938 WKHandleAutoplayEventCallback handleAutoplayEvent;
939
940 // Version 10.
941 WKHasVideoInPictureInPictureDidChangeCallback hasVideoInPictureInPictureDidChange;
942 WKDidExceedBackgroundResourceLimitWhileInForegroundCallback didExceedBackgroundResourceLimitWhileInForeground;
943} WKPageUIClientV10;
944
945typedef struct WKPageUIClientV11 {
946 WKPageUIClientBase base;
947
948 // Version 0.
949 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
950 WKPageUIClientCallback showPage;
951 WKPageUIClientCallback close;
952 WKPageTakeFocusCallback takeFocus;
953 WKPageFocusCallback focus;
954 WKPageUnfocusCallback unfocus;
955 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert_deprecatedForUseWithV0;
956 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm_deprecatedForUseWithV0;
957 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt_deprecatedForUseWithV0;
958 WKPageSetStatusTextCallback setStatusText;
959 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
960 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
961 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
962 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
963 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
964 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
965 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
966 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
967 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
968 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
969 WKPageGetIsResizableCallback isResizable;
970 WKPageSetIsResizableCallback setIsResizable;
971 WKPageGetWindowFrameCallback getWindowFrame;
972 WKPageSetWindowFrameCallback setWindowFrame;
973 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel_deprecatedForUseWithV6;
974 WKPageUIClientCallback didDraw;
975 WKPageUIClientCallback pageDidScroll;
976 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
977 WKPageRunOpenPanelCallback runOpenPanel;
978 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
979 WKPageHeaderHeightCallback headerHeight;
980 WKPageFooterHeightCallback footerHeight;
981 WKPageDrawHeaderCallback drawHeader;
982 WKPageDrawFooterCallback drawFooter;
983 WKPagePrintFrameCallback printFrame;
984 WKPageUIClientCallback runModal;
985 void* unused1; // Used to be didCompleteRubberBandForMainFrame
986 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
987 void* shouldInterruptJavaScript_unavailable;
988
989 // Version 1.
990 WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage_deprecatedForUseWithV1;
991 WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
992 WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
993 WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
994
995 // Version 2.
996 WKPageShowColorPickerCallback showColorPicker;
997 WKPageHideColorPickerCallback hideColorPicker;
998 WKPageUnavailablePluginButtonClickedCallback unavailablePluginButtonClicked;
999
1000 // Version 3.
1001 WKPagePinnedStateDidChangeCallback pinnedStateDidChange;
1002
1003 // Version 4.
1004 void* unused2; // Used to be didBeginTrackingPotentialLongMousePress.
1005 void* unused3; // Used to be didRecognizeLongMousePress.
1006 void* unused4; // Used to be didCancelTrackingPotentialLongMousePress.
1007 WKPageIsPlayingAudioDidChangeCallback isPlayingAudioDidChange;
1008
1009 // Version 5.
1010 WKPageDecidePolicyForUserMediaPermissionRequestCallback decidePolicyForUserMediaPermissionRequest;
1011 WKPageDidClickAutoFillButtonCallback didClickAutoFillButton;
1012 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV5 runJavaScriptAlert_deprecatedForUseWithV5;
1013 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5;
1014 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5;
1015 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;
1016
1017 // Version 6.
1018 WKPageCreateNewPageCallback createNewPage;
1019 WKPageRunJavaScriptAlertCallback runJavaScriptAlert;
1020 WKPageRunJavaScriptConfirmCallback runJavaScriptConfirm;
1021 WKPageRunJavaScriptPromptCallback runJavaScriptPrompt;
1022 WKCheckUserMediaPermissionCallback checkUserMediaPermissionForOrigin;
1023
1024 // Version 7.
1025 WKPageRunBeforeUnloadConfirmPanelCallback runBeforeUnloadConfirmPanel;
1026 WKFullscreenMayReturnToInlineCallback fullscreenMayReturnToInline;
1027
1028 // Version 8.
1029 WKRequestPointerLockCallback requestPointerLock;
1030 WKDidLosePointerLockCallback didLosePointerLock;
1031
1032 // Version 9.
1033 WKHandleAutoplayEventCallback handleAutoplayEvent;
1034
1035 // Version 10.
1036 WKHasVideoInPictureInPictureDidChangeCallback hasVideoInPictureInPictureDidChange;
1037 WKDidExceedBackgroundResourceLimitWhileInForegroundCallback didExceedBackgroundResourceLimitWhileInForeground;
1038
1039 // Version 11.
1040 WKPageDidResignInputElementStrongPasswordAppearanceCallback didResignInputElementStrongPasswordAppearance;
1041} WKPageUIClientV11;
1042
1043typedef struct WKPageUIClientV12 {
1044 WKPageUIClientBase base;
1045
1046 // Version 0.
1047 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
1048 WKPageUIClientCallback showPage;
1049 WKPageUIClientCallback close;
1050 WKPageTakeFocusCallback takeFocus;
1051 WKPageFocusCallback focus;
1052 WKPageUnfocusCallback unfocus;
1053 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert_deprecatedForUseWithV0;
1054 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm_deprecatedForUseWithV0;
1055 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt_deprecatedForUseWithV0;
1056 WKPageSetStatusTextCallback setStatusText;
1057 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
1058 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
1059 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
1060 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
1061 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
1062 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
1063 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
1064 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
1065 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
1066 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
1067 WKPageGetIsResizableCallback isResizable;
1068 WKPageSetIsResizableCallback setIsResizable;
1069 WKPageGetWindowFrameCallback getWindowFrame;
1070 WKPageSetWindowFrameCallback setWindowFrame;
1071 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel_deprecatedForUseWithV6;
1072 WKPageUIClientCallback didDraw;
1073 WKPageUIClientCallback pageDidScroll;
1074 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
1075 WKPageRunOpenPanelCallback runOpenPanel;
1076 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
1077 WKPageHeaderHeightCallback headerHeight;
1078 WKPageFooterHeightCallback footerHeight;
1079 WKPageDrawHeaderCallback drawHeader;
1080 WKPageDrawFooterCallback drawFooter;
1081 WKPagePrintFrameCallback printFrame;
1082 WKPageUIClientCallback runModal;
1083 void* unused1; // Used to be didCompleteRubberBandForMainFrame
1084 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
1085 void* shouldInterruptJavaScript_unavailable;
1086
1087 // Version 1.
1088 WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage_deprecatedForUseWithV1;
1089 WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
1090 WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
1091 WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
1092
1093 // Version 2.
1094 WKPageShowColorPickerCallback showColorPicker;
1095 WKPageHideColorPickerCallback hideColorPicker;
1096 WKPageUnavailablePluginButtonClickedCallback unavailablePluginButtonClicked;
1097
1098 // Version 3.
1099 WKPagePinnedStateDidChangeCallback pinnedStateDidChange;
1100
1101 // Version 4.
1102 void* unused2; // Used to be didBeginTrackingPotentialLongMousePress.
1103 void* unused3; // Used to be didRecognizeLongMousePress.
1104 void* unused4; // Used to be didCancelTrackingPotentialLongMousePress.
1105 WKPageIsPlayingAudioDidChangeCallback isPlayingAudioDidChange;
1106
1107 // Version 5.
1108 WKPageDecidePolicyForUserMediaPermissionRequestCallback decidePolicyForUserMediaPermissionRequest;
1109 WKPageDidClickAutoFillButtonCallback didClickAutoFillButton;
1110 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV5 runJavaScriptAlert_deprecatedForUseWithV5;
1111 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5;
1112 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5;
1113 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;
1114
1115 // Version 6.
1116 WKPageCreateNewPageCallback createNewPage;
1117 WKPageRunJavaScriptAlertCallback runJavaScriptAlert;
1118 WKPageRunJavaScriptConfirmCallback runJavaScriptConfirm;
1119 WKPageRunJavaScriptPromptCallback runJavaScriptPrompt;
1120 WKCheckUserMediaPermissionCallback checkUserMediaPermissionForOrigin;
1121
1122 // Version 7.
1123 WKPageRunBeforeUnloadConfirmPanelCallback runBeforeUnloadConfirmPanel;
1124 WKFullscreenMayReturnToInlineCallback fullscreenMayReturnToInline;
1125
1126 // Version 8.
1127 WKRequestPointerLockCallback requestPointerLock;
1128 WKDidLosePointerLockCallback didLosePointerLock;
1129
1130 // Version 9.
1131 WKHandleAutoplayEventCallback handleAutoplayEvent;
1132
1133 // Version 10.
1134 WKHasVideoInPictureInPictureDidChangeCallback hasVideoInPictureInPictureDidChange;
1135 WKDidExceedBackgroundResourceLimitWhileInForegroundCallback didExceedBackgroundResourceLimitWhileInForeground;
1136
1137 // Version 11.
1138 WKPageDidResignInputElementStrongPasswordAppearanceCallback didResignInputElementStrongPasswordAppearance;
1139
1140 // Version 12.
1141 WKPageRequestStorageAccessConfirmCallback requestStorageAccessConfirm;
1142} WKPageUIClientV12;
1143
1144typedef struct WKPageUIClientV13 {
1145 WKPageUIClientBase base;
1146
1147 // Version 0.
1148 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0;
1149 WKPageUIClientCallback showPage;
1150 WKPageUIClientCallback close;
1151 WKPageTakeFocusCallback takeFocus;
1152 WKPageFocusCallback focus;
1153 WKPageUnfocusCallback unfocus;
1154 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV0 runJavaScriptAlert_deprecatedForUseWithV0;
1155 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV0 runJavaScriptConfirm_deprecatedForUseWithV0;
1156 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV0 runJavaScriptPrompt_deprecatedForUseWithV0;
1157 WKPageSetStatusTextCallback setStatusText;
1158 WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0 mouseDidMoveOverElement_deprecatedForUseWithV0;
1159 WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0 missingPluginButtonClicked_deprecatedForUseWithV0;
1160 WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
1161 WKPageDidNotHandleWheelEventCallback didNotHandleWheelEvent;
1162 WKPageGetToolbarsAreVisibleCallback toolbarsAreVisible;
1163 WKPageSetToolbarsAreVisibleCallback setToolbarsAreVisible;
1164 WKPageGetMenuBarIsVisibleCallback menuBarIsVisible;
1165 WKPageSetMenuBarIsVisibleCallback setMenuBarIsVisible;
1166 WKPageGetStatusBarIsVisibleCallback statusBarIsVisible;
1167 WKPageSetStatusBarIsVisibleCallback setStatusBarIsVisible;
1168 WKPageGetIsResizableCallback isResizable;
1169 WKPageSetIsResizableCallback setIsResizable;
1170 WKPageGetWindowFrameCallback getWindowFrame;
1171 WKPageSetWindowFrameCallback setWindowFrame;
1172 WKPageRunBeforeUnloadConfirmPanelCallback_deprecatedForUseWithV6 runBeforeUnloadConfirmPanel_deprecatedForUseWithV6;
1173 WKPageUIClientCallback didDraw;
1174 WKPageUIClientCallback pageDidScroll;
1175 WKPageExceededDatabaseQuotaCallback exceededDatabaseQuota;
1176 WKPageRunOpenPanelCallback runOpenPanel;
1177 WKPageDecidePolicyForGeolocationPermissionRequestCallback decidePolicyForGeolocationPermissionRequest;
1178 WKPageHeaderHeightCallback headerHeight;
1179 WKPageFooterHeightCallback footerHeight;
1180 WKPageDrawHeaderCallback drawHeader;
1181 WKPageDrawFooterCallback drawFooter;
1182 WKPagePrintFrameCallback printFrame;
1183 WKPageUIClientCallback runModal;
1184 void* unused1; // Used to be didCompleteRubberBandForMainFrame
1185 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder;
1186 void* shouldInterruptJavaScript_unavailable;
1187
1188 // Version 1.
1189 WKPageCreateNewPageCallback_deprecatedForUseWithV1 createNewPage_deprecatedForUseWithV1;
1190 WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
1191 WKPageDecidePolicyForNotificationPermissionRequestCallback decidePolicyForNotificationPermissionRequest;
1192 WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
1193
1194 // Version 2.
1195 WKPageShowColorPickerCallback showColorPicker;
1196 WKPageHideColorPickerCallback hideColorPicker;
1197 WKPageUnavailablePluginButtonClickedCallback unavailablePluginButtonClicked;
1198
1199 // Version 3.
1200 WKPagePinnedStateDidChangeCallback pinnedStateDidChange;
1201
1202 // Version 4.
1203 void* unused2; // Used to be didBeginTrackingPotentialLongMousePress.
1204 void* unused3; // Used to be didRecognizeLongMousePress.
1205 void* unused4; // Used to be didCancelTrackingPotentialLongMousePress.
1206 WKPageIsPlayingAudioDidChangeCallback isPlayingAudioDidChange;
1207
1208 // Version 5.
1209 WKPageDecidePolicyForUserMediaPermissionRequestCallback decidePolicyForUserMediaPermissionRequest;
1210 WKPageDidClickAutoFillButtonCallback didClickAutoFillButton;
1211 WKPageRunJavaScriptAlertCallback_deprecatedForUseWithV5 runJavaScriptAlert_deprecatedForUseWithV5;
1212 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5;
1213 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5;
1214 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;
1215
1216 // Version 6.
1217 WKPageCreateNewPageCallback createNewPage;
1218 WKPageRunJavaScriptAlertCallback runJavaScriptAlert;
1219 WKPageRunJavaScriptConfirmCallback runJavaScriptConfirm;
1220 WKPageRunJavaScriptPromptCallback runJavaScriptPrompt;
1221 WKCheckUserMediaPermissionCallback checkUserMediaPermissionForOrigin;
1222
1223 // Version 7.
1224 WKPageRunBeforeUnloadConfirmPanelCallback runBeforeUnloadConfirmPanel;
1225 WKFullscreenMayReturnToInlineCallback fullscreenMayReturnToInline;
1226
1227 // Version 8.
1228 WKRequestPointerLockCallback requestPointerLock;
1229 WKDidLosePointerLockCallback didLosePointerLock;
1230
1231 // Version 9.
1232 WKHandleAutoplayEventCallback handleAutoplayEvent;
1233
1234 // Version 10.
1235 WKHasVideoInPictureInPictureDidChangeCallback hasVideoInPictureInPictureDidChange;
1236 WKDidExceedBackgroundResourceLimitWhileInForegroundCallback didExceedBackgroundResourceLimitWhileInForeground;
1237
1238 // Version 11.
1239 WKPageDidResignInputElementStrongPasswordAppearanceCallback didResignInputElementStrongPasswordAppearance;
1240
1241 // Version 12.
1242 WKPageRequestStorageAccessConfirmCallback requestStorageAccessConfirm;
1243
1244 // Version 13.
1245 WKPageShouldAllowDeviceOrientationAndMotionAccessCallback shouldAllowDeviceOrientationAndMotionAccess;
1246} WKPageUIClientV13;
1247
1248#ifdef __cplusplus
1249}
1250#endif
1251