Crash when following a Google search link to Twitter with Limit Adult Content enabled
[WebKit-https.git] / Tools / WebKitTestRunner / InjectedBundle / Bindings / TestRunner.idl
1 /*
2  * Copyright (C) 2010, 2011, 2012 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     // The basics.
28     void dumpAsText(boolean dumpPixels);
29     void dumpChildFramesAsText();
30     void waitForPolicyDelegate();
31     void waitUntilDone();
32     void notifyDone();
33     double preciseTime();
34
35     // Other dumping.
36     void dumpBackForwardList();
37     void dumpChildFrameScrollPositions();
38     void dumpEditingCallbacks();
39     void dumpSelectionRect();
40     void dumpStatusCallbacks();
41     void dumpTitleChanges();
42     void dumpFullScreenCallbacks();
43     void dumpFrameLoadCallbacks();
44     void dumpProgressFinishedCallback();
45     void dumpResourceLoadCallbacks();
46     void dumpResourceResponseMIMETypes();
47     void dumpWillCacheResponse();
48     void dumpApplicationCacheDelegateCallbacks();
49     void dumpDatabaseCallbacks();
50     void dumpDOMAsWebArchive();
51     void dumpPolicyDelegateCallbacks();
52
53     // Special options.
54     void keepWebHistory();
55     void setAcceptsEditing(boolean value);
56     void setCanOpenWindows(boolean value);
57     void setCloseRemainingWindowsWhenComplete(boolean value);
58     void setXSSAuditorEnabled(boolean value);
59     void setAllowUniversalAccessFromFileURLs(boolean value);
60     void setAllowFileAccessFromFileURLs(boolean value);
61     void setPluginsEnabled(boolean value);
62     void setJavaScriptCanAccessClipboard(boolean value);
63     void setPrivateBrowsingEnabled(boolean value);
64     void setPopupBlockingEnabled(boolean value);
65     void setAuthorAndUserStylesEnabled(boolean value);
66     void setCustomPolicyDelegate(boolean enabled, boolean permissive);
67     void addOriginAccessWhitelistEntry(DOMString sourceOrigin, DOMString destinationProtocol, DOMString destinationHost, boolean allowDestinationSubdomains);
68     void removeOriginAccessWhitelistEntry(DOMString sourceOrigin, DOMString destinationProtocol, DOMString destinationHost, boolean allowDestinationSubdomains);
69     void setUserStyleSheetEnabled(boolean value);
70     void setUserStyleSheetLocation(DOMString location);
71     void setSpatialNavigationEnabled(boolean value);
72     void setTabKeyCyclesThroughElements(boolean enabled);
73     void setSerializeHTTPLoads();
74     void dispatchPendingLoadRequests();
75     void setCacheModel(int model);
76     void setAsynchronousSpellCheckingEnabled(boolean value);
77     void setPrinting();
78     void setShouldDecideNavigationPolicyAfterDelay(boolean value);
79
80     // Special DOM functions.
81     void clearBackForwardList();
82     void execCommand(DOMString name, DOMString argument);
83     boolean isCommandEnabled(DOMString name);
84     unsigned long windowCount();
85
86     // Special DOM variables.
87     attribute boolean globalFlag;
88
89     // Repaint testing.
90     void testRepaint();
91     void repaintSweepHorizontally();
92     void display();
93
94     // Printing
95     boolean isPageBoxVisible(int pageIndex);
96
97     [PassContext] void setValueForUser(object element, DOMString value);
98
99     // UserContent testing.
100     void addUserScript(DOMString source, boolean runAtStart, boolean allFrames);
101     void addUserStyleSheet(DOMString source, boolean allFrames);
102
103     // Local storage API
104     void clearAllDatabases();
105     void setDatabaseQuota(unsigned long long quota);
106     DOMString pathToLocalResource(DOMString url);
107
108     attribute double databaseDefaultQuota;
109     attribute double databaseMaxQuota;
110
111     // Application Cache API
112     void clearAllApplicationCaches();
113     void setAppCacheMaximumSize(unsigned long long size);
114     long long applicationCacheDiskUsageForOrigin(DOMString origin);
115     void clearApplicationCacheForOrigin(DOMString name);
116     void disallowIncreaseForApplicationCacheQuota();
117     object originsWithApplicationCache();
118
119     // Text search testing.
120     boolean findString(DOMString target, object optionsArray);
121
122     // Evaluating script in a special context.
123     [PassContext] void evaluateScriptInIsolatedWorld(unsigned long worldID, DOMString script);
124
125     // For Web Inspector tests
126     void showWebInspector();
127     void closeWebInspector();
128     void evaluateInWebInspector(DOMString script);
129     readonly attribute DOMString inspectorTestStubURL;
130
131     void setPOSIXLocale(DOMString locale);
132
133     void setTextDirection(DOMString direction);
134
135     void setWillSendRequestReturnsNull(boolean flag);
136     void setWillSendRequestReturnsNullOnRedirect(boolean flag);
137     
138     void setShouldStayOnPageAfterHandlingBeforeUnload(boolean flag);
139
140     void setDefersLoading(boolean flag);
141     void setStopProvisionalFrameLoads();
142
143     // Focus testing.
144     void addChromeInputField(object callback);
145     void removeChromeInputField(object callback);
146     void focusWebView(object callback);
147
148     void setBackingScaleFactor(double backingScaleFactor, object callback);
149
150     void setWindowIsKey(boolean isKey);
151
152     // Cookies testing
153     void setAlwaysAcceptCookies(boolean accept);
154
155     void overridePreference(DOMString preference, DOMString value);
156
157     // Page Visibility API
158     void setPageVisibility(DOMString state);
159     void resetPageVisibility();
160
161     // Control full screen behavior.
162     void setHasCustomFullScreenBehavior(boolean value);
163
164     // Web notifications support
165     void grantWebNotificationPermission(DOMString origin);
166     void denyWebNotificationPermission(DOMString origin);
167     void removeAllWebNotificationPermissions();
168     void simulateWebNotificationClick(object notification);
169
170     // Geolocation
171     void setGeolocationPermission(boolean value);
172     void setMockGeolocationPosition(double latitude, double longitude, double accuracy, [Default=Undefined] optional object altitude, optional object altitudeAccuracy, optional object heading, optional object speed);
173     void setMockGeolocationPositionUnavailableError(DOMString errorMessage);
174     boolean isGeolocationProviderActive();
175
176     // MediaStream
177     void setUserMediaPermission(boolean value);
178
179     // Audio testing.
180     [PassContext] void setAudioResult(object data);
181
182     boolean callShouldCloseOnWebView();
183
184     // Work queue.
185     void queueBackNavigation(unsigned long howFarBackward);
186     void queueForwardNavigation(unsigned long howFarForward);
187     void queueLoad(DOMString url, DOMString target, optional boolean shouldOpenExternalURLs);
188     void queueLoadHTMLString(DOMString content, optional DOMString baseURL, optional DOMString unreachableURL);
189     void queueReload();
190     void queueLoadingScript(DOMString script);
191     void queueNonLoadingScript(DOMString script);
192
193     // Authentication
194     void setHandlesAuthenticationChallenges(boolean value);
195     void setAuthenticationUsername(DOMString username);
196     void setAuthenticationPassword(DOMString password);
197
198     // Secure text input mode (Mac only)
199     readonly attribute boolean secureEventInputIsEnabled;
200     
201     // Override plugin load policy.
202     void setBlockAllPlugins(boolean shouldBlock);
203     
204     // Hooks to the JSC compiler.
205     object numberOfDFGCompiles(object function);
206     object neverInlineFunction(object function);
207 };
208