Animations and Transitions should not start when globally suspended
[WebKit-https.git] / Source / WebCore / testing / Internals.idl
1 /*
2  * Copyright (C) 2012 Google Inc. All rights reserved.
3  * Copyright (C) 2013 Apple Inc. All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * 1.  Redistributions of source code must retain the above copyright
10  *     notice, this list of conditions and the following disclaimer.
11  * 2.  Redistributions in binary form must reproduce the above copyright
12  *     notice, this list of conditions and the following disclaimer in the
13  *     documentation and/or other materials provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
16  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18  * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
19  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25  */
26
27 [
28     OmitConstructor
29 ] interface Internals {
30     DOMString address(Node node);
31
32     DOMString elementRenderTreeAsText(Element element) raises(DOMException);
33     boolean isPreloaded(DOMString url);
34     boolean isLoadingFromMemoryCache(DOMString url);
35
36     unsigned long numberOfScopedHTMLStyleChildren(Node scope) raises(DOMException);
37     CSSStyleDeclaration computedStyleIncludingVisitedInfo(Node node) raises(DOMException);
38
39 #if defined(ENABLE_SHADOW_DOM) && ENABLE_SHADOW_DOM
40     ShadowRoot ensureShadowRoot(Element host) raises (DOMException);
41     ShadowRoot createShadowRoot(Element host) raises (DOMException);
42     ShadowRoot shadowRoot(Element host) raises (DOMException);
43 #else
44     Node ensureShadowRoot(Element host) raises (DOMException);
45     Node createShadowRoot(Element host) raises (DOMException);
46     Node shadowRoot(Element host) raises (DOMException);
47 #endif
48     DOMString shadowRootType(Node root) raises (DOMException);
49     boolean hasShadowInsertionPoint(Node root) raises (DOMException);
50     boolean hasContentElement(Node root) raises (DOMException);
51     unsigned long countElementShadow(Node Root) raises (DOMException);
52     Element includerFor(Node node) raises (DOMException);
53     DOMString shadowPseudoId(Element element) raises (DOMException);
54     void setShadowPseudoId(Element element, DOMString id) raises (DOMException);
55     Element createContentElement() raises(DOMException);
56     boolean isValidContentSelect(Element contentElement) raises(DOMException);
57     Node treeScopeRootNode(Node node) raises (DOMException);
58     Node parentTreeScope(Node node) raises (DOMException);
59     boolean hasSelectorForIdInShadow(Element host, DOMString id) raises (DOMException);
60     boolean hasSelectorForClassInShadow(Element host, DOMString className) raises (DOMException);
61     boolean hasSelectorForAttributeInShadow(Element host, DOMString attributeName) raises (DOMException);
62     boolean hasSelectorForPseudoClassInShadow(Element host, DOMString pseudoClass) raises (DOMException);
63
64     // CSS Animation testing.
65     unsigned long numberOfActiveAnimations();
66     void suspendAnimations(Document document) raises (DOMException);
67     void resumeAnimations(Document document) raises (DOMException);
68     boolean animationsAreSuspended(in Document document) raises (DOMException);
69     boolean pauseAnimationAtTimeOnElement(DOMString animationName, double pauseTime, Element element) raises (DOMException);
70     boolean pauseAnimationAtTimeOnPseudoElement(DOMString animationName, double pauseTime, Element element, DOMString pseudoId) raises (DOMException);
71
72     // CSS Transition testing.
73     boolean pauseTransitionAtTimeOnElement(DOMString propertyName, double pauseTime, Element element) raises (DOMException);
74     boolean pauseTransitionAtTimeOnPseudoElement(DOMString property, double pauseTime, Element element, DOMString pseudoId) raises (DOMException);
75
76     Node nextSiblingByWalker(Node node) raises(DOMException);
77     Node firstChildByWalker(Node node) raises(DOMException);
78     Node lastChildByWalker(Node node) raises(DOMException);
79     Node nextNodeByWalker(Node node) raises(DOMException);
80     Node previousNodeByWalker(Node node) raises(DOMException);
81
82     boolean attached(Node node) raises(DOMException);
83
84     DOMString visiblePlaceholder(Element element);
85 #if defined(ENABLE_INPUT_TYPE_COLOR) && ENABLE_INPUT_TYPE_COLOR
86     void selectColorInColorChooser(Element element, DOMString colorValue);
87 #endif
88     DOMString[] formControlStateOfPreviousHistoryItem() raises(DOMException);
89     void setFormControlStateOfPreviousHistoryItem(sequence<DOMString> values) raises(DOMException);
90     void setEnableMockPagePopup(boolean enabled) raises(DOMException);
91 #if defined(ENABLE_PAGE_POPUP) && ENABLE_PAGE_POPUP
92     readonly attribute PagePopupController pagePopupController;
93 #endif
94
95     ClientRect absoluteCaretBounds() raises(DOMException);
96
97     ClientRect boundingBox(Element element) raises(DOMException);
98
99     ClientRectList inspectorHighlightRects(Document document) raises (DOMException);
100
101     unsigned long markerCountForNode(Node node, DOMString markerType) raises(DOMException);
102     Range markerRangeForNode(Node node, DOMString markerType, unsigned long index) raises(DOMException);
103     DOMString markerDescriptionForNode(Node node, DOMString markerType, unsigned long index) raises(DOMException);
104     void addTextMatchMarker(Range range, boolean isActive);
105
106     void setScrollViewPosition(Document document, long x, long y) raises(DOMException);
107
108     void setPagination(Document document, DOMString mode, long gap, optional long pageLength) raises(DOMException);
109
110     DOMString configurationForViewport(Document document,
111                                        float devicePixelRatio,
112                                        long deviceWidth,
113                                        long deviceHeight,
114                                        long availableWidth,
115                                        long availableHeight) raises(DOMException);
116
117     boolean wasLastChangeUserEdit(Element textField) raises (DOMException);
118     boolean elementShouldAutoComplete(Element inputElement) raises (DOMException);
119     DOMString suggestedValue(Element inputElement) raises (DOMException);
120     void setSuggestedValue(Element inputElement, DOMString value) raises (DOMException);
121     void setEditingValue(Element inputElement, DOMString value) raises (DOMException);
122     void setAutofilled(Element inputElement, boolean enabled) raises(DOMException);
123
124     void paintControlTints(Document document) raises (DOMException);
125
126     void scrollElementToRect(Element element, long x, long y, long w, long h) raises (DOMException);
127
128     Range rangeFromLocationAndLength(Element scope, long rangeLocation, long rangeLength) raises (DOMException);
129     unsigned long locationFromRange(Element scope, Range range) raises (DOMException);
130     unsigned long lengthFromRange(Element scope, Range range) raises (DOMException);
131     DOMString rangeAsText(Range range) raises (DOMException);
132
133     void setDelegatesScrolling(boolean enabled, Document document) raises (DOMException);
134 #if defined(ENABLE_TOUCH_ADJUSTMENT) && ENABLE_TOUCH_ADJUSTMENT
135     WebKitPoint touchPositionAdjustedToBestClickableNode(long x, long y, long width, long height, Document document) raises (DOMException);
136     Node touchNodeAdjustedToBestClickableNode(long x, long y, long width, long height, Document document) raises (DOMException);
137     WebKitPoint touchPositionAdjustedToBestContextMenuNode(long x, long y, long width, long height, Document document) raises (DOMException);
138     Node touchNodeAdjustedToBestContextMenuNode(long x, long y, long width, long height, Document document) raises (DOMException);
139     ClientRect bestZoomableAreaForTouchPoint(long x, long y, long width, long height, Document document) raises (DOMException);
140 #endif
141
142     long lastSpellCheckRequestSequence(Document document) raises (DOMException);
143     long lastSpellCheckProcessedSequence(Document document) raises (DOMException);
144
145     sequence<DOMString> userPreferredLanguages();
146     void setUserPreferredLanguages(sequence<DOMString> languages);
147
148     unsigned long wheelEventHandlerCount(Document document) raises (DOMException);
149     unsigned long touchEventHandlerCount(Document document) raises (DOMException);
150 #if defined(ENABLE_TOUCH_EVENT_TRACKING) && ENABLE_TOUCH_EVENT_TRACKING
151     ClientRectList touchEventTargetClientRects(Document document) raises (DOMException);
152 #endif
153
154     NodeList nodesFromRect(Document document, long x, long y,
155         unsigned long topPadding, unsigned long rightPadding, unsigned long bottomPadding, unsigned long leftPadding,
156         boolean ignoreClipping, boolean allowShadowContent, boolean allowChildFrameContent) raises (DOMException);
157
158     void emitInspectorDidBeginFrame();
159     void emitInspectorDidCancelFrame();
160
161     boolean hasSpellingMarker(Document document, long from, long length) raises (DOMException);
162     boolean hasGrammarMarker(Document document, long from, long length) raises (DOMException);
163     boolean hasAutocorrectedMarker(Document document, long from, long length) raises (DOMException);
164     void setContinuousSpellCheckingEnabled(boolean enabled) raises (DOMException);
165     void setAutomaticQuoteSubstitutionEnabled(boolean enabled) raises (DOMException);
166     void setAutomaticLinkDetectionEnabled(boolean enabled) raises (DOMException);
167     void setAutomaticDashSubstitutionEnabled(boolean enabled) raises (DOMException);
168     void setAutomaticTextReplacementEnabled(boolean enabled) raises (DOMException);
169     void setAutomaticSpellingCorrectionEnabled(boolean enabled) raises (DOMException);
170
171     boolean isOverwriteModeEnabled(Document document) raises (DOMException);
172     void toggleOverwriteModeEnabled(Document document) raises (DOMException);
173
174     unsigned long numberOfScrollableAreas(Document document) raises (DOMException);
175
176     boolean isPageBoxVisible(Document document, long pageNumber) raises (DOMException);
177
178     readonly attribute InternalSettings settings;
179     readonly attribute unsigned long workerThreadCount;
180
181     // Flags for layerTreeAsText.
182     const unsigned short LAYER_TREE_INCLUDES_VISIBLE_RECTS = 1;
183     const unsigned short LAYER_TREE_INCLUDES_TILE_CACHES = 2;
184     const unsigned short LAYER_TREE_INCLUDES_REPAINT_RECTS = 4;
185     const unsigned short LAYER_TREE_INCLUDES_PAINTING_PHASES = 8;
186     DOMString layerTreeAsText(Document document, optional unsigned short flags) raises (DOMException);
187
188     DOMString scrollingStateTreeAsText(Document document) raises (DOMException);
189     DOMString mainThreadScrollingReasons(Document document) raises (DOMException);
190     ClientRectList nonFastScrollableRects(Document document) raises (DOMException);
191
192     DOMString repaintRectsAsText(Document document) raises (DOMException);
193
194     void garbageCollectDocumentResources(Document document) raises (DOMException);
195
196     void allowRoundingHacks();
197
198     void insertAuthorCSS(Document document, DOMString css);
199     void insertUserCSS(Document document, DOMString css);
200
201 #if defined(ENABLE_BATTERY_STATUS) && ENABLE_BATTERY_STATUS
202     void setBatteryStatus(Document document, DOMString eventType, boolean charging, double chargingTime, double dischargingTime, double level) raises (DOMException);
203 #endif
204
205 #if defined(ENABLE_NETWORK_INFO) && ENABLE_NETWORK_INFO
206     void setNetworkInformation(Document document, DOMString eventType, double bandwidth, boolean metered) raises (DOMException);
207 #endif
208
209 #if defined(ENABLE_PROXIMITY_EVENTS) && ENABLE_PROXIMITY_EVENTS
210     void setDeviceProximity(Document document, DOMString eventType, double value, double min, double max) raises (DOMException);
211 #endif
212
213     [Conditional=INSPECTOR] unsigned long numberOfLiveNodes();
214     [Conditional=INSPECTOR] unsigned long numberOfLiveDocuments();
215     [Conditional=INSPECTOR] sequence<DOMString> consoleMessageArgumentCounts(Document document);
216     [Conditional=INSPECTOR] DOMWindow openDummyInspectorFrontend(DOMString url);
217     [Conditional=INSPECTOR] void closeDummyInspectorFrontend();
218     [Conditional=INSPECTOR] void setInspectorResourcesDataSizeLimits(long maximumResourcesContentSize, long maximumSingleResourceContentSize) raises(DOMException);
219     [Conditional=INSPECTOR] void setJavaScriptProfilingEnabled(boolean creates) raises(DOMException);
220
221     DOMString counterValue(Element element);
222     long pageNumber(Element element, optional float pageWidth, optional float pageHeight);
223     DOMString[] shortcutIconURLs(Document document);
224     DOMString[] allIconURLs(Document document);
225     long numberOfPages(optional double pageWidthInPixels, optional double pageHeightInPixels);
226     DOMString pageProperty(DOMString propertyName, long pageNumber) raises (DOMException);
227     DOMString pageSizeAndMarginsInPixels(long pageIndex, long width, long height, long marginTop, long marginRight, long marginBottom, long marginLeft) raises (DOMException);
228
229     void setPageScaleFactor(float scaleFactor, long x, long y) raises(DOMException);
230
231     void setHeaderHeight(Document document, float height);
232     void setFooterHeight(Document document, float height);
233
234 #if defined(ENABLE_FULLSCREEN_API) && ENABLE_FULLSCREEN_API
235     void webkitWillEnterFullScreenForElement(Document document, Element element);
236     void webkitDidEnterFullScreenForElement(Document document, Element element);
237     void webkitWillExitFullScreenForElement(Document document, Element element);
238     void webkitDidExitFullScreenForElement(Document document, Element element);
239 #endif
240
241     void registerURLSchemeAsBypassingContentSecurityPolicy(DOMString scheme);
242     void removeURLSchemeRegisteredAsBypassingContentSecurityPolicy(DOMString scheme);
243
244     MallocStatistics mallocStatistics();
245     TypeConversions typeConversions();
246
247     DOMString[] getReferencedFilePaths();
248
249     // These functions both reset the tracked repaint rects. They are inteded to be used in the following order:
250     //  startTrackingRepaints, repaintRectsAsText, stopTrackingRepaints.
251     void startTrackingRepaints(Document document) raises (DOMException);
252     void stopTrackingRepaints(Document document) raises (DOMException);
253
254     // Returns a string with information about the mouse cursor used at the specified client location.
255     DOMString getCurrentCursorInfo(Document document) raises (DOMException);
256
257     DOMString markerTextForListItem(Element element) raises (DOMException);
258
259     SerializedScriptValue deserializeBuffer(ArrayBuffer buffer);
260     ArrayBuffer serializeObject(SerializedScriptValue obj);
261
262     void setUsesOverlayScrollbars(boolean enabled);
263
264     void forceReload(boolean endToEnd);
265
266     [Conditional=VIDEO] void simulateAudioInterruption(Node node);
267
268     [Conditional=ENCRYPTED_MEDIA_V2] void initializeMockCDM();
269
270     [Conditional=SPEECH_SYNTHESIS] void enableMockSpeechSynthesizer();
271
272     DOMString getImageSourceURL(Element element) raises(DOMException);
273
274     [Conditional=VIDEO_TRACK] DOMString captionsStyleSheetOverride() raises (DOMException);
275     [Conditional=VIDEO_TRACK] void setCaptionsStyleSheetOverride(DOMString override) raises (DOMException);
276     [Conditional=VIDEO_TRACK] void setPrimaryAudioTrackLanguageOverride(DOMString language) raises(DOMException);
277     [Conditional=VIDEO_TRACK] void setCaptionDisplayMode(DOMString mode) raises (DOMException);
278
279     [Conditional=VIDEO] TimeRanges createTimeRanges(Float32Array startTimes, Float32Array
280      endTimes);
281     [Conditional=VIDEO] double closestTimeToTimeRanges(double time, TimeRanges ranges);
282
283     boolean isSelectPopupVisible(Node node);
284
285     ClientRect selectionBounds() raises(DOMException);
286 };