Remove unused WebProcessPool::setCanHandleHTTPSServerTrustEvaluation
[WebKit-https.git] / Tools / WebKitTestRunner / InjectedBundle / Bindings / TestRunner.idl
1 /*
2  * Copyright (C) 2010-2017 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 interface TestRunner {
27     readonly attribute boolean isWebKit2;
28     readonly attribute boolean isIOSFamily;
29
30     // The basics.
31     void dumpAsText(boolean dumpPixels);
32     void dumpChildFramesAsText();
33     void waitForPolicyDelegate();
34     void waitUntilDone();
35     void notifyDone();
36     double preciseTime(); // seconds since the epoch
37     readonly attribute double timeout; // milliseconds
38
39     // Downloads.
40     void waitUntilDownloadFinished();
41     void setShouldLogDownloadCallbacks(boolean value);
42
43     const unsigned short RENDER_TREE_SHOW_ALL_LAYERS            = 1;
44     const unsigned short RENDER_TREE_SHOW_LAYER_NESTING         = 2;
45     const unsigned short RENDER_TREE_SHOW_COMPOSITED_LAYERS     = 4;
46     const unsigned short RENDER_TREE_SHOW_OVERFLOW              = 8;
47     const unsigned short RENDER_TREE_SHOW_SVG_GEOMETRY          = 16;
48     const unsigned short RENDER_TREE_SHOW_LAYER_FRAGMENTS       = 32;
49     void setRenderTreeDumpOptions(unsigned short options);
50
51     // Other dumping.
52     void dumpBackForwardList();
53     void dumpChildFrameScrollPositions();
54     void dumpEditingCallbacks();
55     void dumpSelectionRect();
56     void dumpStatusCallbacks();
57     void dumpTitleChanges();
58     void dumpFullScreenCallbacks();
59     void dumpFrameLoadCallbacks();
60     void dumpProgressFinishedCallback();
61     void dumpResourceLoadCallbacks();
62     void dumpResourceResponseMIMETypes();
63     void dumpWillCacheResponse();
64     void dumpApplicationCacheDelegateCallbacks();
65     void dumpDatabaseCallbacks();
66     void dumpDOMAsWebArchive();
67     void dumpPolicyDelegateCallbacks();
68     void dumpResourceLoadStatistics();
69     void dumpAdClickAttribution();
70
71     void clearDOMCaches();
72     void clearDOMCache(DOMString origin);
73     boolean hasDOMCache(DOMString origin);
74     unsigned long domCacheSize(DOMString origin);
75     void setAllowStorageQuotaIncrease(boolean value);
76
77     // Special options.
78     void keepWebHistory();
79     void setAcceptsEditing(boolean value);
80     void setCanOpenWindows();
81     void setCloseRemainingWindowsWhenComplete(boolean value);
82     void setXSSAuditorEnabled(boolean value);
83     void setAllowUniversalAccessFromFileURLs(boolean value);
84     void setAllowFileAccessFromFileURLs(boolean value);
85     void setNeedsStorageAccessFromFileURLsQuirk(boolean value);
86     void setPluginsEnabled(boolean value);
87     void setJavaScriptCanAccessClipboard(boolean value);
88     void setPopupBlockingEnabled(boolean value);
89     void setAuthorAndUserStylesEnabled(boolean value);
90     void setCustomPolicyDelegate(boolean enabled, boolean permissive);
91     void addOriginAccessWhitelistEntry(DOMString sourceOrigin, DOMString destinationProtocol, DOMString destinationHost, boolean allowDestinationSubdomains);
92     void removeOriginAccessWhitelistEntry(DOMString sourceOrigin, DOMString destinationProtocol, DOMString destinationHost, boolean allowDestinationSubdomains);
93     void setUserStyleSheetEnabled(boolean value);
94     void setUserStyleSheetLocation(DOMString location);
95     void setSpatialNavigationEnabled(boolean value);
96     void setTabKeyCyclesThroughElements(boolean enabled);
97     void setSerializeHTTPLoads();
98     void dispatchPendingLoadRequests();
99     void setCacheModel(long model);
100     void setAsynchronousSpellCheckingEnabled(boolean value);
101     void setPrinting();
102     void setShouldDecideNavigationPolicyAfterDelay(boolean value);
103     void setShouldDecideResponsePolicyAfterDelay(boolean value);
104     void setNavigationGesturesEnabled(boolean value);
105     void setIgnoresViewportScaleLimits(boolean value);
106     void setShouldDownloadUndisplayableMIMETypes(boolean value);
107
108     // Special DOM functions.
109     void clearBackForwardList();
110     void execCommand(DOMString name, DOMString showUI, DOMString value);
111     boolean isCommandEnabled(DOMString name);
112     unsigned long windowCount();
113
114     // Device Orientation Motion.
115     void setShouldAllowDeviceOrientationAndMotionAccess(boolean value);
116
117     // Special DOM variables.
118     attribute boolean globalFlag;
119
120     // Repaint testing.
121     void testRepaint();
122     void repaintSweepHorizontally();
123     void display();
124     void displayAndTrackRepaints();
125
126     // Failed load condition testing
127     void forceImmediateCompletion();
128
129     // Printing
130     boolean isPageBoxVisible(long pageIndex);
131
132     void dumpAllHTTPRedirectedResponseHeaders();
133
134     [PassContext] void setValueForUser(object element, DOMString value);
135
136     // UserContent testing.
137     void addUserScript(DOMString source, boolean runAtStart, boolean allFrames);
138     void addUserStyleSheet(DOMString source, boolean allFrames);
139
140     // Local storage API
141     void clearAllDatabases();
142     void setDatabaseQuota(unsigned long long quota);
143     DOMString pathToLocalResource(DOMString url);
144     void syncLocalStorage();
145
146     attribute double databaseDefaultQuota;
147     attribute double databaseMaxQuota;
148
149     // Application Cache API
150     void clearAllApplicationCaches();
151     void setAppCacheMaximumSize(unsigned long long size);
152     long long applicationCacheDiskUsageForOrigin(DOMString origin);
153     void clearApplicationCacheForOrigin(DOMString name);
154     void disallowIncreaseForApplicationCacheQuota();
155     object originsWithApplicationCache();
156
157     // Text search testing.
158     boolean findString(DOMString target, object optionsArray);
159     void findStringMatchesInPage(DOMString target, object optionsArray);
160     void replaceFindMatchesAtIndices(object matchIndicesArray, DOMString replacementText, boolean selectionOnly);
161
162     // Evaluating script in a special context.
163     [PassContext] void evaluateScriptInIsolatedWorld(unsigned long worldID, DOMString script);
164
165     // For Web Inspector tests
166     void showWebInspector();
167     void closeWebInspector();
168     void evaluateInWebInspector(DOMString script);
169     readonly attribute DOMString inspectorTestStubURL;
170
171     void setPOSIXLocale(DOMString locale);
172
173     void setTextDirection(DOMString direction);
174
175     void setWillSendRequestReturnsNull(boolean flag);
176     void setWillSendRequestReturnsNullOnRedirect(boolean flag);
177     void setWillSendRequestAddsHTTPBody(DOMString body);
178     
179     void setShouldStayOnPageAfterHandlingBeforeUnload(boolean flag);
180
181     void setStopProvisionalFrameLoads();
182
183     readonly attribute boolean didReceiveServerRedirectForProvisionalNavigation;
184     void clearDidReceiveServerRedirectForProvisionalNavigation();
185
186     // Focus testing.
187     void addChromeInputField(object callback);
188     void removeChromeInputField(object callback);
189     void focusWebView(object callback);
190
191     // Window/view state
192     void setBackingScaleFactor(double backingScaleFactor, object callback);
193
194     void setWindowIsKey(boolean isKey);
195     void setViewSize(double width, double height);
196
197     // Cookies testing
198     void setAlwaysAcceptCookies(boolean accept);
199     void setOnlyAcceptFirstPartyCookies(boolean accept);
200
201     void overridePreference(DOMString preference, DOMString value);
202
203     // Page Visibility API
204     void setPageVisibility(DOMString state);
205     void resetPageVisibility();
206
207     // Control full screen behavior.
208     void setHasCustomFullScreenBehavior(boolean value);
209
210     // Web notifications support
211     void grantWebNotificationPermission(DOMString origin);
212     void denyWebNotificationPermission(DOMString origin);
213     void removeAllWebNotificationPermissions();
214     void simulateWebNotificationClick(object notification);
215
216     // Geolocation
217     void setGeolocationPermission(boolean value);
218     void setMockGeolocationPosition(double latitude, double longitude, double accuracy, optional object altitude, optional object altitudeAccuracy, optional object heading, optional object speed, optional object floorLevel);
219     void setMockGeolocationPositionUnavailableError(DOMString errorMessage);
220     boolean isGeolocationProviderActive();
221
222     // MediaStream
223     void setUserMediaPermission(boolean value);
224     void resetUserMediaPermission();
225     void setUserMediaPersistentPermissionForOrigin(boolean permission, DOMString origin, DOMString parentOrigin);
226     unsigned long userMediaPermissionRequestCountForOrigin(DOMString origin, DOMString parentOrigin);
227     void resetUserMediaPermissionRequestCountForOrigin(DOMString origin, DOMString parentOrigin);
228     readonly attribute boolean isDoingMediaCapture;
229
230     // Audio testing.
231     [PassContext] void setAudioResult(object data);
232
233     boolean callShouldCloseOnWebView();
234
235     // Work queue.
236     void queueBackNavigation(unsigned long howFarBackward);
237     void queueForwardNavigation(unsigned long howFarForward);
238     void queueLoad(DOMString url, DOMString target, optional boolean shouldOpenExternalURLs);
239     void queueLoadHTMLString(DOMString content, optional DOMString baseURL, optional DOMString unreachableURL);
240     void queueReload();
241     void queueLoadingScript(DOMString script);
242     void queueNonLoadingScript(DOMString script);
243
244     // Authentication
245     void setRejectsProtectionSpaceAndContinueForAuthenticationChallenges(boolean value);
246     void setHandlesAuthenticationChallenges(boolean value);
247     void setShouldLogCanAuthenticateAgainstProtectionSpace(boolean value);
248     void setAuthenticationUsername(DOMString username);
249     void setAuthenticationPassword(DOMString password);
250
251     void setAllowsAnySSLCertificate(boolean value);
252
253     void setShouldSwapToEphemeralSessionOnNextNavigation(boolean value);
254     void setShouldSwapToDefaultSessionOnNextNavigation(boolean value);
255
256     // Secure text input mode (Mac only)
257     readonly attribute boolean secureEventInputIsEnabled;
258     
259     // Override plugin load policy.
260     void setBlockAllPlugins(boolean shouldBlock);
261     void setPluginSupportedMode(DOMString mode);
262
263     // Hooks to the JSC compiler.
264     object failNextNewCodeBlock();
265     object numberOfDFGCompiles(object function);
266     object neverInlineFunction(object function);
267
268     // Swipe gestures
269     void installDidBeginSwipeCallback(object callback);
270     void installWillEndSwipeCallback(object callback);
271     void installDidEndSwipeCallback(object callback);
272     void installDidRemoveSwipeSnapshotCallback(object callback);
273
274     unsigned long imageCountInGeneralPasteboard();
275
276     // UI Process Testing
277     void runUIScript(DOMString script, object callback);
278
279     void clearTestRunnerCallbacks();
280
281     void accummulateLogsForChannel(DOMString channel);
282
283     // Contextual menu actions
284     void setAllowedMenuActions(object actions);
285     void installCustomMenuAction(DOMString name, boolean dismissesAutomatically, object callback);
286
287     // Gamepad
288     void setMockGamepadDetails(unsigned long index, DOMString id, unsigned long axisCount, unsigned long buttonCount);
289     void setMockGamepadAxisValue(unsigned long index, unsigned long axisIndex, double value);
290     void setMockGamepadButtonValue(unsigned long index, unsigned long buttonIndex, double value);
291     void connectMockGamepad(unsigned long index);
292     void disconnectMockGamepad(unsigned long index);
293
294     // Resource Load Statistics
295     void installStatisticsDidModifyDataRecordsCallback(object callback);
296     void installStatisticsDidScanDataRecordsCallback(object callback);
297     void installStatisticsDidRunTelemetryCallback(object callback);
298     void setStatisticsDebugMode(boolean value, object completionHandler);
299     void setStatisticsPrevalentResourceForDebugMode(DOMString hostName, object completionHandler);
300     void setStatisticsLastSeen(DOMString hostName, double seconds, object completionHandler);
301     void setStatisticsPrevalentResource(DOMString hostName, boolean value, object completionHandler);
302     void setStatisticsVeryPrevalentResource(DOMString hostName, boolean value, object completionHandler);
303     boolean isStatisticsPrevalentResource(DOMString hostName);
304     boolean isStatisticsVeryPrevalentResource(DOMString hostName);
305     boolean isStatisticsRegisteredAsSubresourceUnder(DOMString subresourceHost, DOMString topFrameHost);
306     boolean isStatisticsRegisteredAsSubFrameUnder(DOMString subFrameHost, DOMString topFrameHost);
307     boolean isStatisticsRegisteredAsRedirectingTo(DOMString hostRedirectedFrom, DOMString hostRedirectedTo);
308     void setStatisticsHasHadUserInteraction(DOMString hostName, boolean value, object completionHandler);
309     boolean isStatisticsHasHadUserInteraction(DOMString hostName);
310     void setStatisticsGrandfathered(DOMString hostName, boolean value);
311     boolean isStatisticsGrandfathered(DOMString hostName);
312     void setUseITPDatabase(boolean value);
313     void setStatisticsSubframeUnderTopFrameOrigin(DOMString hostName, DOMString topFrameHostName);
314     void setStatisticsSubresourceUnderTopFrameOrigin(DOMString hostName, DOMString topFrameHostName);
315     void setStatisticsSubresourceUniqueRedirectTo(DOMString hostName, DOMString hostNameRedirectedTo);
316     void setStatisticsSubresourceUniqueRedirectFrom(DOMString hostName, DOMString hostNameRedirectedTo);
317     void setStatisticsTopFrameUniqueRedirectTo(DOMString hostName, DOMString hostNameRedirectedTo);
318     void setStatisticsTopFrameUniqueRedirectFrom(DOMString hostName, DOMString hostNameRedirectedTo);
319     void setStatisticsCrossSiteLoadWithLinkDecoration(DOMString fromHost, DOMString toHost);
320     void setStatisticsTimeToLiveUserInteraction(double seconds);
321     boolean statisticsNotifyObserver();
322     void statisticsProcessStatisticsAndDataRecords();
323     void statisticsUpdateCookieBlocking(object completionHandler);
324     void statisticsSubmitTelemetry();
325     void setStatisticsNotifyPagesWhenDataRecordsWereScanned(boolean value);
326     void setStatisticsIsRunningTest(boolean value);
327     void setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval(boolean value);
328     void setStatisticsNotifyPagesWhenTelemetryWasCaptured(boolean value);
329     void setStatisticsMinimumTimeBetweenDataRecordsRemoval(double seconds);
330     void setStatisticsGrandfatheringTime(double seconds);
331     void setStatisticsMaxStatisticsEntries(unsigned long entries);
332     void setStatisticsPruneEntriesDownTo(unsigned long entries);
333     void statisticsClearInMemoryAndPersistentStore(object callback);
334     void statisticsClearInMemoryAndPersistentStoreModifiedSinceHours(unsigned long hours, object callback);
335     void statisticsClearThroughWebsiteDataRemoval(object callback);
336     void statisticsDeleteCookiesForHost(DOMString hostName, boolean includeHttpOnlyCookies);
337     boolean isStatisticsHasLocalStorage(DOMString hostName);
338     void setStatisticsCacheMaxAgeCap(double seconds);
339     void statisticsResetToConsistentState(object completionHandler);
340     boolean hasStatisticsIsolatedSession(DOMString hostName);
341     void setStatisticsShouldDowngradeReferrer(boolean value, object callback);
342
343     // Injected bundle form client.
344     void installTextDidChangeInTextFieldCallback(object callback);
345     void installTextFieldDidBeginEditingCallback(object callback);
346     void installTextFieldDidEndEditingCallback(object callback);
347
348     // Storage Access API
349     void setStorageAccessAPIEnabled(boolean enabled);
350     void getAllStorageAccessEntries(object callback);
351
352     // Open panel
353     void setOpenPanelFiles(object filesArray);
354     void setOpenPanelFilesMediaIcon(object mediaIcon);
355
356     // Modal alerts
357     void setShouldDismissJavaScriptAlertsAsynchronously(boolean value);
358     void abortModal();
359
360     void setWebRTCMDNSICECandidatesEnabled(boolean value);
361     void setWebRTCUnifiedPlanEnabled(boolean value);
362     void setCustomUserAgent(DOMString userAgent);
363
364     void setWebAPIStatisticsEnabled(boolean value);
365
366     void terminateNetworkProcess();
367     void terminateServiceWorkerProcess();
368
369     readonly attribute unsigned long serverTrustEvaluationCallbackCallsCount;
370
371     readonly attribute boolean didCancelClientRedirect;
372
373     void removeAllSessionCredentials(object callback);
374
375     void getApplicationManifestThen(object callback);
376
377     void installFakeHelvetica(DOMString configuration);
378
379     void addMockCameraDevice(DOMString persistentId, DOMString label);
380     void addMockMicrophoneDevice(DOMString persistentId, DOMString label);
381     void addMockScreenDevice(DOMString persistentId, DOMString label);
382     void clearMockMediaDevices();
383     void removeMockMediaDevice(DOMString persistentId);
384     void resetMockMediaDevices();
385
386     void injectUserScript(DOMString string);
387     readonly attribute unsigned long userScriptInjectedCount;
388
389     void sendDisplayConfigurationChangedMessageForTesting();
390
391     // WebAuthN
392     void setWebAuthenticationMockConfiguration(object configuration);
393     void addTestKeyToKeychain(DOMString privateKeyBase64, DOMString attrLabel, DOMString applicationTagBase64);
394     void cleanUpKeychain(DOMString attrLabel, optional DOMString applicationTagBase64);
395     boolean keyExistsInKeychain(DOMString attrLabel, DOMString applicationTagBase64);
396
397     // Ad Click Attribution
398     void clearAdClickAttribution();
399     void clearAdClickAttributionsThroughWebsiteDataRemoval();
400     void setAdClickAttributionOverrideTimerForTesting(boolean value);
401     void setAdClickAttributionConversionURLForTesting(DOMString url);
402     void markAdClickAttributionsAsExpiredForTesting();
403 };