/
TestRunner.idl
463 lines (383 loc) · 22.8 KB
/
TestRunner.idl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
/*
* Copyright (C) 2010-2022 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
interface TestRunner {
readonly attribute boolean isWebKit2;
readonly attribute boolean isIOSFamily;
readonly attribute boolean isMac;
readonly attribute boolean isKeyboardImmediatelyAvailable;
// The basics.
undefined dumpAsText(boolean dumpPixels);
undefined dumpChildFramesAsText();
undefined waitForPolicyDelegate();
undefined waitUntilDone();
undefined notifyDone();
double preciseTime(); // seconds since the epoch
readonly attribute double timeout; // milliseconds
// Downloads.
undefined waitUntilDownloadFinished();
undefined setShouldLogDownloadCallbacks(boolean value);
undefined setShouldLogDownloadSize(boolean value);
undefined setShouldLogDownloadExpectedSize(boolean value);
undefined setShouldDownloadContentDispositionAttachments(boolean value);
const unsigned short RENDER_TREE_SHOW_ALL_LAYERS = 1;
const unsigned short RENDER_TREE_SHOW_LAYER_NESTING = 2;
const unsigned short RENDER_TREE_SHOW_COMPOSITED_LAYERS = 4;
const unsigned short RENDER_TREE_SHOW_OVERFLOW = 8;
const unsigned short RENDER_TREE_SHOW_SVG_GEOMETRY = 16;
const unsigned short RENDER_TREE_SHOW_LAYER_FRAGMENTS = 32;
undefined setRenderTreeDumpOptions(unsigned short options);
// Other dumping.
undefined dumpBackForwardList();
undefined dumpChildFrameScrollPositions();
undefined dumpEditingCallbacks();
undefined dumpSelectionRect();
undefined dumpStatusCallbacks();
undefined dumpTitleChanges();
undefined dumpFullScreenCallbacks();
undefined dumpFrameLoadCallbacks();
undefined dumpProgressFinishedCallback();
undefined dumpResourceLoadCallbacks();
undefined dumpResourceResponseMIMETypes();
undefined dumpWillCacheResponse();
undefined dumpApplicationCacheDelegateCallbacks();
undefined dumpDatabaseCallbacks();
undefined dumpDOMAsWebArchive();
undefined dumpPolicyDelegateCallbacks();
undefined dumpResourceLoadStatistics();
undefined dumpPrivateClickMeasurement();
undefined clearDOMCaches();
undefined clearDOMCache(DOMString origin);
boolean hasDOMCache(DOMString origin);
unsigned long domCacheSize(DOMString origin);
undefined setAllowStorageQuotaIncrease(boolean value);
undefined setQuota(unsigned long long quota);
undefined setOriginQuotaRatioEnabled(boolean value);
// Special options.
undefined keepWebHistory();
undefined setAcceptsEditing(boolean value);
undefined preventPopupWindows();
undefined setCustomPolicyDelegate(boolean enabled, boolean permissive);
undefined skipPolicyDelegateNotifyDone();
undefined addOriginAccessAllowListEntry(DOMString sourceOrigin, DOMString destinationProtocol, DOMString destinationHost, boolean allowDestinationSubdomains);
undefined removeOriginAccessAllowListEntry(DOMString sourceOrigin, DOMString destinationProtocol, DOMString destinationHost, boolean allowDestinationSubdomains);
undefined setUserStyleSheetEnabled(boolean value);
undefined setUserStyleSheetLocation(DOMString location);
undefined setTabKeyCyclesThroughElements(boolean enabled);
undefined setSerializeHTTPLoads();
undefined dispatchPendingLoadRequests();
undefined setCacheModel(long model);
undefined setAsynchronousSpellCheckingEnabled(boolean value);
undefined setPrinting();
undefined setShouldDecideNavigationPolicyAfterDelay(boolean value);
undefined setShouldDecideResponsePolicyAfterDelay(boolean value);
undefined setNavigationGesturesEnabled(boolean value);
undefined setIgnoresViewportScaleLimits(boolean value);
undefined setShouldDownloadUndisplayableMIMETypes(boolean value);
undefined stopLoading();
// Special DOM functions.
undefined clearBackForwardList();
undefined execCommand(DOMString name, DOMString showUI, DOMString value);
boolean isCommandEnabled(DOMString name);
unsigned long windowCount();
// Device Orientation Motion.
undefined setShouldAllowDeviceOrientationAndMotionAccess(boolean value);
// Special DOM variables.
attribute boolean globalFlag;
// Repaint testing.
undefined testRepaint();
undefined repaintSweepHorizontally();
undefined display();
undefined displayAndTrackRepaints();
undefined displayOnLoadFinish();
undefined dontForceRepaint();
// Failed load condition testing
undefined forceImmediateCompletion();
// Printing
boolean isPageBoxVisible(long pageIndex);
undefined dumpAllHTTPRedirectedResponseHeaders();
undefined setValueForUser(object element, DOMString value);
// UserContent testing.
undefined addUserScript(DOMString source, boolean runAtStart, boolean allFrames);
undefined addUserStyleSheet(DOMString source, boolean allFrames);
// Local storage API
undefined clearAllDatabases();
undefined setDatabaseQuota(unsigned long long quota);
DOMString pathToLocalResource(DOMString url);
undefined syncLocalStorage();
attribute double databaseDefaultQuota;
attribute double databaseMaxQuota;
// Text search testing.
boolean findString(DOMString target, object optionsArray);
undefined findStringMatchesInPage(DOMString target, object optionsArray);
undefined replaceFindMatchesAtIndices(object matchIndicesArray, DOMString replacementText, boolean selectionOnly);
// Evaluating script in a special context.
undefined evaluateScriptInIsolatedWorld(unsigned long worldID, DOMString script);
// For Web Inspector tests
undefined showWebInspector();
undefined closeWebInspector();
undefined evaluateInWebInspector(DOMString script);
readonly attribute DOMString inspectorTestStubURL;
undefined setPOSIXLocale(DOMString locale);
undefined setTextDirection(DOMString direction);
undefined setWillSendRequestReturnsNull(boolean flag);
undefined setWillSendRequestReturnsNullOnRedirect(boolean flag);
undefined setWillSendRequestAddsHTTPBody(DOMString body);
undefined setShouldStayOnPageAfterHandlingBeforeUnload(boolean flag);
undefined setStopProvisionalFrameLoads();
readonly attribute boolean didReceiveServerRedirectForProvisionalNavigation;
undefined clearDidReceiveServerRedirectForProvisionalNavigation();
// Focus testing.
undefined addChromeInputField(object callback);
undefined removeChromeInputField(object callback);
undefined focusWebView(object callback);
undefined setTextInChromeInputField(DOMString text, object callback);
undefined getSelectedTextInChromeInputField(object callback);
undefined selectChromeInputField(object callback);
// Window/view state
undefined setBackingScaleFactor(double backingScaleFactor, object callback);
undefined setWindowIsKey(boolean isKey);
undefined setViewSize(double width, double height);
// Cookies testing
undefined setAlwaysAcceptCookies(boolean accept);
undefined setOnlyAcceptFirstPartyCookies(boolean accept);
undefined removeAllCookies(object callback);
// Page Visibility API
undefined setPageVisibility(DOMString state);
undefined resetPageVisibility();
// Control full screen behavior.
undefined setHasCustomFullScreenBehavior(boolean value);
undefined setEnterFullscreenForElementCallback(object callback);
undefined setExitFullscreenForElementCallback(object callback);
// Web notifications support
undefined grantWebNotificationPermission(DOMString origin);
undefined denyWebNotificationPermission(DOMString origin);
undefined denyWebNotificationPermissionOnPrompt(DOMString origin);
undefined removeAllWebNotificationPermissions();
undefined simulateWebNotificationClick(object notification);
undefined simulateWebNotificationClickForServiceWorkerNotifications();
// Background fech support
DOMString getBackgroundFetchIdentifier();
undefined abortBackgroundFetch(DOMString identifier);
undefined pauseBackgroundFetch(DOMString identifier);
undefined resumeBackgroundFetch(DOMString identifier);
undefined simulateClickBackgroundFetch(DOMString identifier);
undefined setBackgroundFetchPermission(boolean value);
DOMString lastAddedBackgroundFetchIdentifier();
DOMString lastRemovedBackgroundFetchIdentifier();
DOMString lastUpdatedBackgroundFetchIdentifier();
DOMString backgroundFetchState(DOMString identifier);
// Geolocation
undefined setGeolocationPermission(boolean value);
undefined setMockGeolocationPosition(double latitude, double longitude, double accuracy, optional double? altitude, optional double? altitudeAccuracy, optional double? heading, optional double? speed, optional double? floorLevel);
undefined setMockGeolocationPositionUnavailableError(DOMString errorMessage);
boolean isGeolocationProviderActive();
// Screen Wake Lock
undefined setScreenWakeLockPermission(boolean value);
// MediaStream
undefined setCameraPermission(boolean value);
undefined setMicrophonePermission(boolean value);
undefined setUserMediaPermission(boolean value);
undefined resetUserMediaPermission();
undefined setUserMediaPersistentPermissionForOrigin(boolean permission, DOMString origin, DOMString parentOrigin);
unsigned long userMediaPermissionRequestCountForOrigin(DOMString origin, DOMString parentOrigin);
undefined resetUserMediaPermissionRequestCountForOrigin(DOMString origin, DOMString parentOrigin);
readonly attribute boolean isDoingMediaCapture;
// Audio testing.
undefined setAudioResult(object data);
boolean callShouldCloseOnWebView();
// Work queue.
undefined queueBackNavigation(unsigned long howFarBackward);
undefined queueForwardNavigation(unsigned long howFarForward);
undefined queueLoad(DOMString url, DOMString target, optional boolean shouldOpenExternalURLs);
undefined queueLoadHTMLString(DOMString content, optional DOMString baseURL, optional DOMString unreachableURL);
undefined queueReload();
undefined queueLoadingScript(DOMString script);
undefined queueNonLoadingScript(DOMString script);
// Authentication
undefined setRejectsProtectionSpaceAndContinueForAuthenticationChallenges(boolean value);
undefined setHandlesAuthenticationChallenges(boolean value);
undefined setShouldLogCanAuthenticateAgainstProtectionSpace(boolean value);
undefined setAuthenticationUsername(DOMString username);
undefined setAuthenticationPassword(DOMString password);
undefined setAllowsAnySSLCertificate(boolean value);
undefined setShouldSwapToEphemeralSessionOnNextNavigation(boolean value);
undefined setShouldSwapToDefaultSessionOnNextNavigation(boolean value);
// Secure text input mode (Mac only)
readonly attribute boolean secureEventInputIsEnabled;
// Override plugin load policy.
undefined setBlockAllPlugins(boolean shouldBlock);
undefined setPluginSupportedMode(DOMString mode);
// Hooks to the JSC compiler.
object failNextNewCodeBlock();
object numberOfDFGCompiles(object function);
object neverInlineFunction(object function);
// Swipe gestures
undefined installDidBeginSwipeCallback(object callback);
undefined installWillEndSwipeCallback(object callback);
undefined installDidEndSwipeCallback(object callback);
undefined installDidRemoveSwipeSnapshotCallback(object callback);
unsigned long imageCountInGeneralPasteboard();
// UI Process Testing
undefined runUIScript(DOMString script, object callback);
undefined runUIScriptImmediately(DOMString script, object callback);
undefined clearTestRunnerCallbacks();
undefined accummulateLogsForChannel(DOMString channel);
// Contextual menu actions
undefined setAllowedMenuActions(object actions);
// Gamepad
undefined setMockGamepadDetails(unsigned long index, DOMString id, DOMString mapping, unsigned long axisCount, unsigned long buttonCount, boolean supportsDualRumble);
undefined setMockGamepadAxisValue(unsigned long index, unsigned long axisIndex, double value);
undefined setMockGamepadButtonValue(unsigned long index, unsigned long buttonIndex, double value);
undefined connectMockGamepad(unsigned long index);
undefined disconnectMockGamepad(unsigned long index);
// Resource Load Statistics
undefined clearStatisticsDataForDomain(DOMString domain);
boolean doesStatisticsDomainIDExistInDatabase(unsigned long domainID);
undefined setStatisticsEnabled(boolean value);
boolean isStatisticsEphemeral();
undefined installStatisticsDidModifyDataRecordsCallback(object callback);
undefined installStatisticsDidScanDataRecordsCallback(object callback);
undefined setStatisticsDebugMode(boolean value, object completionHandler);
undefined setStatisticsPrevalentResourceForDebugMode(DOMString hostName, object completionHandler);
Promise<undefined> setStatisticsLastSeen(DOMString hostName, double seconds);
undefined setStatisticsMergeStatistic(DOMString hostName, DOMString topFrameDomain1, DOMString topFrameDomain2, double lastSeen, boolean hadUserInteraction, double mostRecentUserInteraction, boolean isGrandfathered, boolean isPrevalent, boolean isVeryPrevalent, unsigned long dataRecordsRemoved, object completionHandler);
undefined setStatisticsExpiredStatistic(DOMString hostName, unsigned long numberOfOperatingDaysPassed, boolean hadUserInteraction, boolean isScheduledForAllButCookieDataRemoval, boolean isPrevalent, object completionHandler);
undefined setStatisticsPrevalentResource(DOMString hostName, boolean value, object completionHandler);
undefined setStatisticsVeryPrevalentResource(DOMString hostName, boolean value, object completionHandler);
boolean isStatisticsPrevalentResource(DOMString hostName);
boolean isStatisticsVeryPrevalentResource(DOMString hostName);
boolean isStatisticsRegisteredAsSubresourceUnder(DOMString subresourceHost, DOMString topFrameHost);
boolean isStatisticsRegisteredAsSubFrameUnder(DOMString subFrameHost, DOMString topFrameHost);
boolean isStatisticsRegisteredAsRedirectingTo(DOMString hostRedirectedFrom, DOMString hostRedirectedTo);
undefined setStatisticsHasHadUserInteraction(DOMString hostName, boolean value, object completionHandler);
boolean isStatisticsHasHadUserInteraction(DOMString hostName);
boolean isStatisticsOnlyInDatabaseOnce(DOMString subHost, DOMString topHost);
undefined setStatisticsGrandfathered(DOMString hostName, boolean value);
boolean isStatisticsGrandfathered(DOMString hostName);
undefined setStatisticsSubframeUnderTopFrameOrigin(DOMString hostName, DOMString topFrameHostName);
undefined setStatisticsSubresourceUnderTopFrameOrigin(DOMString hostName, DOMString topFrameHostName);
undefined setStatisticsSubresourceUniqueRedirectTo(DOMString hostName, DOMString hostNameRedirectedTo);
undefined setStatisticsSubresourceUniqueRedirectFrom(DOMString hostName, DOMString hostNameRedirectedTo);
undefined setStatisticsTopFrameUniqueRedirectTo(DOMString hostName, DOMString hostNameRedirectedTo);
undefined setStatisticsTopFrameUniqueRedirectFrom(DOMString hostName, DOMString hostNameRedirectedTo);
undefined setStatisticsCrossSiteLoadWithLinkDecoration(DOMString fromHost, DOMString toHost, boolean wasFiltered);
undefined setStatisticsTimeToLiveUserInteraction(double seconds);
boolean statisticsNotifyObserver();
undefined statisticsProcessStatisticsAndDataRecords();
undefined statisticsUpdateCookieBlocking(object completionHandler);
undefined setStatisticsTimeAdvanceForTesting(double value);
undefined setStatisticsIsRunningTest(boolean value);
undefined setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval(boolean value);
undefined setStatisticsMinimumTimeBetweenDataRecordsRemoval(double seconds);
undefined setStatisticsGrandfatheringTime(double seconds);
undefined setStatisticsMaxStatisticsEntries(unsigned long entries);
undefined setStatisticsPruneEntriesDownTo(unsigned long entries);
undefined statisticsClearInMemoryAndPersistentStore(object callback);
undefined statisticsClearInMemoryAndPersistentStoreModifiedSinceHours(unsigned long hours, object callback);
undefined statisticsClearThroughWebsiteDataRemoval(object callback);
undefined statisticsDeleteCookiesForHost(DOMString hostName, boolean includeHttpOnlyCookies);
boolean isStatisticsHasLocalStorage(DOMString hostName);
undefined setStatisticsCacheMaxAgeCap(double seconds);
undefined statisticsResetToConsistentState(object completionHandler);
boolean hasStatisticsIsolatedSession(DOMString hostName);
undefined setStatisticsShouldDowngradeReferrer(boolean value, object callback);
undefined setStatisticsShouldBlockThirdPartyCookies(boolean value, object callback, optional boolean onlyOnSitesWithoutUserInteraction);
undefined setStatisticsFirstPartyWebsiteDataRemovalMode(boolean value, object callback);
undefined statisticsSetToSameSiteStrictCookies(DOMString hostName, object callback);
undefined statisticsSetFirstPartyHostCNAMEDomain(DOMString firstPartyURLString, DOMString cnameURLString, object callback);
undefined statisticsSetThirdPartyCNAMEDomain(DOMString cnameURLString, object callback);
undefined loadedSubresourceDomains(object callback);
undefined reloadFromOrigin();
// Injected bundle form client.
undefined installTextDidChangeInTextFieldCallback(object callback);
undefined installTextFieldDidBeginEditingCallback(object callback);
undefined installTextFieldDidEndEditingCallback(object callback);
// Storage Access API
undefined getAllStorageAccessEntries(object callback);
undefined setRequestStorageAccessThrowsExceptionUntilReload(boolean enabled);
// Open panel
undefined setOpenPanelFiles(object filesArray);
undefined setOpenPanelFilesMediaIcon(object mediaIcon);
// Modal alerts
undefined setShouldDismissJavaScriptAlertsAsynchronously(boolean value);
undefined abortModal();
undefined setCustomUserAgent(DOMString userAgent);
undefined terminateGPUProcess();
undefined terminateNetworkProcess();
undefined terminateServiceWorkers();
undefined setUseSeparateServiceWorkerProcess(boolean value);
readonly attribute unsigned long serverTrustEvaluationCallbackCallsCount;
readonly attribute boolean didCancelClientRedirect;
undefined removeAllSessionCredentials(object callback);
undefined getApplicationManifestThen(object callback);
undefined installFakeHelvetica(DOMString configuration);
undefined addMockCameraDevice(DOMString persistentId, DOMString label, optional object properties);
undefined addMockMicrophoneDevice(DOMString persistentId, DOMString label, optional object properties);
undefined addMockScreenDevice(DOMString persistentId, DOMString label);
undefined clearMockMediaDevices();
undefined removeMockMediaDevice(DOMString persistentId);
undefined setMockMediaDeviceIsEphemeral(DOMString persistentId, boolean isEphemeral);
undefined resetMockMediaDevices();
undefined setMockCameraOrientation(unsigned long orientation);
boolean isMockRealtimeMediaSourceCenterEnabled();
undefined setMockCaptureDevicesInterrupted(boolean isCameraInterrupted, boolean isMicrophoneInterrupted);
undefined triggerMockCaptureConfigurationChange(boolean forMicrophone, boolean forDisplay);
boolean hasAppBoundSession();
undefined clearAppBoundSession();
undefined setAppBoundDomains(object originsArray, object callback);
boolean didLoadAppInitiatedRequest();
boolean didLoadNonAppInitiatedRequest();
undefined setManagedDomains(object originsArray, object callback);
undefined injectUserScript(DOMString string);
readonly attribute unsigned long userScriptInjectedCount;
undefined setServiceWorkerFetchTimeout(double seconds);
// WebAuthn
undefined addTestKeyToKeychain(DOMString privateKeyBase64, DOMString attrLabel, DOMString applicationTagBase64);
undefined cleanUpKeychain(DOMString attrLabel, optional DOMString applicationLabelBase64);
boolean keyExistsInKeychain(DOMString attrLabel, DOMString applicationLabelBase64);
undefined clearMemoryCache();
// Private Click Measurement
undefined clearPrivateClickMeasurement();
undefined clearPrivateClickMeasurementsThroughWebsiteDataRemoval();
undefined setPrivateClickMeasurementOverrideTimerForTesting(boolean value);
undefined markAttributedPrivateClickMeasurementsAsExpiredForTesting();
undefined setPrivateClickMeasurementEphemeralMeasurementForTesting(boolean value);
undefined simulatePrivateClickMeasurementSessionRestart();
undefined setPrivateClickMeasurementTokenPublicKeyURLForTesting(DOMString url);
undefined setPrivateClickMeasurementTokenSignatureURLForTesting(DOMString url);
undefined setPrivateClickMeasurementAttributionReportURLsForTesting(DOMString sourceURLString, DOMString destinationURLString);
undefined markPrivateClickMeasurementsAsExpiredForTesting();
undefined setPrivateClickMeasurementFraudPreventionValuesForTesting(DOMString unlinkableToken, DOMString secretToken, DOMString signature, DOMString keyID);
undefined setPrivateClickMeasurementAppBundleIDForTesting(DOMString appBundleID);
// SpeechRecognition
undefined setIsSpeechRecognitionPermissionGranted(boolean value);
// MediaKeySystem
undefined setIsMediaKeySystemPermissionGranted(boolean value);
undefined takeViewPortSnapshot(object callback);
// Reporting API
undefined generateTestReport(DOMString message, DOMString group);
undefined getAndClearReportedWindowProxyAccessDomains(object callback);
Promise<undefined> flushConsoleLogs();
};