2011-04-20 Dominic Cooney <dominicc@chromium.org>
[WebKit-https.git] / Tools / WebKitTestRunner / InjectedBundle / Bindings / LayoutTestController.idl
1 /*
2  * Copyright (C) 2010 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 module WTR {
27
28     interface LayoutTestController {
29         // The basics.
30         void dumpAsText();
31         void dumpChildFramesAsText();
32         void waitUntilDone();
33         void notifyDone();
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
44         // Special options.
45         void keepWebHistory();
46         void setAcceptsEditing(in boolean value);
47         void setCanOpenWindows(in boolean value);
48         void setCloseRemainingWindowsWhenComplete(in boolean value);
49         void setXSSAuditorEnabled(in boolean value);
50         void setAllowUniversalAccessFromFileURLs(in boolean value);
51         void setAllowFileAccessFromFileURLs(in boolean value);
52
53         // Special DOM functions.
54         void clearBackForwardList();
55         object computedStyleIncludingVisitedInfo(in object element);
56         DOMString counterValueForElementById(in DOMString elementId);
57         void execCommand(in DOMString name, in DOMString argument);
58         boolean isCommandEnabled(in DOMString name);
59         DOMString markerTextForListItem(in object element);
60         unsigned long windowCount();
61
62         // Shadow DOM.
63         object shadowRoot(in object element);
64         object ensureShadowRoot(in object element);
65         void removeShadowRoot(in object element);
66
67         // Repaint testing.
68         void testRepaint();
69         void repaintSweepHorizontally();
70         void display();
71
72         // Printing
73         int numberOfPages(in double pageWidthInPixels, in double pageHeightInPixels);
74         int pageNumberForElementById(in DOMString id, in double pageWidthInPixels, in double pageHeightInPixels);
75         DOMString pageSizeAndMarginsInPixels(in int pageIndex, in int width, in int height, in int marginTop, in int marginRight, in int marginBottom, in int marginLeft);
76         boolean isPageBoxVisible(in int pageIndex);
77
78         // Animation testing.
79         int numberOfActiveAnimations();
80         boolean pauseAnimationAtTimeOnElementWithId(in DOMString animationName, in double time, in DOMString elementId);
81         void suspendAnimations();
82         void resumeAnimations();
83
84         // UserContent testing.
85         void addUserScript(in DOMString source, in boolean runAtStart, in boolean allFrames);
86         void addUserStyleSheet(in DOMString source, in boolean allFrames);
87
88         // Local storage API
89         void clearAllDatabases();
90         void setDatabaseQuota(in unsigned long long quota);
91         DOMString pathToLocalResource(in DOMString url);
92
93         // Compositing testing.
94         DOMString layerTreeAsText();
95
96         // Text search testing.
97         boolean findString(in DOMString target, in object optionsArray);
98
99         // Evaluating script in a special context.
100         [PassContext] void evaluateScriptInIsolatedWorld(in unsigned long worldID, in DOMString script);
101
102         // For Web Inspector tests
103         void showWebInspector();
104         void closeWebInspector();
105         void evaluateInWebInspector(in long callID, in DOMString script);
106         void setTimelineProfilingEnabled(in boolean enabled);
107
108         void setPOSIXLocale(in DOMString locale);
109
110         void setWillSendRequestReturnsNull(in boolean flag);
111     };
112
113 }