2010-08-09 Ilya Tikhonovsky <loislo@chromium.org>
[WebKit-https.git] / WebCore / inspector / Inspector.idl
1 /*
2  * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3  * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
4  * Copyright (C) 2009, 2010 Google Inc. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are
8  * met:
9  *
10  *     * Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  *     * Redistributions in binary form must reproduce the above
13  * copyright notice, this list of conditions and the following disclaimer
14  * in the documentation and/or other materials provided with the
15  * distribution.
16  *     * Neither the name of Google Inc. nor the names of its
17  * contributors may be used to endorse or promote products derived from
18  * this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32
33 module core {
34     interface [Conditional=INSPECTOR] Inspector {
35         [notify] void addConsoleMessage(out Object messageObj);
36         [notify] void addRecordToTimeline(out Object record);
37         [notify] void addNodesToSearchResult(out Array nodeIds);
38         [notify] void attributesUpdated(out long id, out Array attributes);
39         [notify] void bringToFront();
40         [notify] void childNodeCountUpdated(out long id, out int newValue);
41         [notify] void childNodeInserted(out long parentId, out long prevId, out Object node);
42         [notify] void childNodeRemoved(out long parentId, out long id);
43         [notify] void close();
44         [notify] void didCommitLoad();
45         [notify] void evaluateForTestInFrontend(out long testCallId, out String script);
46         [notify] void inspectedPageDestroyed();
47         [notify] void inspectedURLChanged(out String url);
48         [notify] void monitoringXHRWasEnabled();
49         [notify] void monitoringXHRWasDisabled();
50         [notify] void populateApplicationSettings(out String settings);
51         [notify] void populateInterface();
52         [notify] void populateSessionSettings(out String settings);
53         [notify] void removeResource(out unsigned long identifier);
54         [notify] void reset();
55         [notify] void resetProfilesPanel();
56         [notify] void resourceTrackingWasEnabled();
57         [notify] void resourceTrackingWasDisabled();
58         [notify] void searchingForNodeWasEnabled();
59         [notify] void searchingForNodeWasDisabled();
60         [notify] void setChildNodes(out long parentId, out Array nodes);
61         [notify] void setDetachedRoot(out Object root);
62         [notify] void setDocument(out Value root);
63         [notify] void showPanel(out String panel);
64         [notify] void timelineProfilerWasStarted();
65         [notify] void timelineProfilerWasStopped();
66         [notify] void updateConsoleMessageExpiredCount(out unsigned long count);
67         [notify] void updateConsoleMessageRepeatCount(out unsigned long count);
68         [notify] void updateFocusedNode(out long nodeId);
69         [notify] void updateResource(out Value resource);
70
71 #if defined(ENABLE_JAVASCRIPT_DEBUGGER) && ENABLE_JAVASCRIPT_DEBUGGER
72         [notify] void addProfileHeader(out Object header);
73         [notify] void attachDebuggerWhenShown();
74         [notify] void debuggerWasEnabled();
75         [notify] void debuggerWasDisabled();
76         [notify] void failedToParseScriptSource(out String url, out String data, out int firstLine, out int errorLine, out String errorMessage);
77         [notify] void parsedScriptSource(out String sourceID, out String url, out String data, out int firstLine, out int scriptWorldType);
78         [notify] void pausedScript(out Value callFrames);
79         [notify] void profilerWasEnabled();
80         [notify] void profilerWasDisabled();
81         [notify] void restoredBreakpoint(out String sourceID, out String url, out int line, out boolean enabled, out String condition);
82         [notify] void resumedScript();
83         [notify] void setRecordingProfile(out boolean isProfiling);
84         [notify] void updatePauseOnExceptionsState(out long state);
85 #endif
86 #if defined(ENABLE_DATABASE) && ENABLE_DATABASE
87         [notify] void addDatabase(out Object database);
88         [notify] void selectDatabase(out int databaseId);
89 #endif
90 #if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE
91         [notify] void addDOMStorage(out Object storage);
92         [notify] void updateDOMStorage(out int storageId);
93         [notify] void selectDOMStorage(out int storageId);
94 #endif
95 #if defined(ENABLE_OFFLINE_WEB_APPLICATIONS) && ENABLE_OFFLINE_WEB_APPLICATIONS
96         [notify] void updateApplicationCacheStatus(out int status);
97         [notify] void updateNetworkState(out boolean isNowOnline);
98 #endif
99 #if defined(ENABLE_WORKERS) && ENABLE_WORKERS
100         [notify] void didCreateWorker(out long id, out String url, out boolean isShared);
101         [notify] void didDestroyWorker(out long id);
102 #endif
103
104         [handler=Controller] void storeLastActivePanel(in String panelName);
105
106         [handler=Controller] void saveApplicationSettings(in String settings);
107         [handler=Controller] void saveSessionSettings(in String settings);
108
109         [handler=Controller] void enableSearchingForNode();
110         [handler=Controller] void disableSearchingForNode();
111
112         [handler=Controller] void enableMonitoringXHR();
113         [handler=Controller] void disableMonitoringXHR();
114
115         [handler=Controller] void enableResourceTracking(in boolean always);
116         [handler=Controller] void disableResourceTracking(in boolean always);
117         [handler=Controller] void getResourceContent(in long callId, in unsigned long identifier, out String content);
118         [handler=Controller] void reloadPage();
119
120         [handler=Controller] void startTimelineProfiler();
121         [handler=Controller] void stopTimelineProfiler();
122
123 #if defined(ENABLE_JAVASCRIPT_DEBUGGER) && ENABLE_JAVASCRIPT_DEBUGGER
124         [handler=Backend] void enableDebugger(in boolean always);
125         [handler=Controller] void disableDebugger(in boolean always);
126
127         [handler=Debug] void setBreakpoint(in long callId, in String sourceID, in unsigned int lineNumber, in boolean enabled, in String condition, out boolean success, out unsigned int actualLineNumber);
128         [handler=Debug] void removeBreakpoint(in String sourceID, in unsigned long lineNumber);
129         [handler=Debug] void activateBreakpoints();
130         [handler=Debug] void deactivateBreakpoints();
131
132         [handler=Debug] void pause();
133         [handler=Debug] void resume();
134
135         [handler=Debug] void stepOverStatement();
136         [handler=Debug] void stepIntoStatement();
137         [handler=Debug] void stepOutOfFunction();
138
139         [handler=Debug] void setPauseOnExceptionsState(in long pauseOnExceptionsState);
140
141         [handler=Debug] void editScriptSource(in long callId, in String sourceID, in String newContent, out boolean success, out String result, out Value newCallFrames);
142         [handler=Debug] void getScriptSource(in long callId, in String sourceID, out String scriptSource);
143
144         [handler=Controller] void enableProfiler(in boolean always);
145         [handler=Controller] void disableProfiler(in boolean always);
146
147         [handler=Controller] void startProfiling();
148         [handler=Controller] void stopProfiling();
149
150         [handler=Controller] void getProfileHeaders(in long callId, out Array headers);
151         [handler=Controller] void getProfile(in long callId, in unsigned long uid, out Object profile);
152
153         [handler=Controller] void removeProfile(in unsigned long uid);
154         [handler=Controller] void clearProfiles();
155
156         [handler=Backend] void takeHeapSnapshot();
157         [handler=Backend] void getProfilerLogLines(in long callId, in long inPosition, out long outPosition, out String log);
158 #endif
159         [handler=Backend] void setInjectedScriptSource(in String scriptSource);
160         [handler=Backend, async] void dispatchOnInjectedScript(in long callId, in long injectedScriptId, in String methodName, in String arguments, in boolean async, out Value result, out boolean isException);
161         [handler=Controller] void addScriptToEvaluateOnLoad(in String scriptSource);
162         [handler=Controller] void removeAllScriptsToEvaluateOnLoad();
163
164         [handler=DOM] void getChildNodes(in long callId, in long nodeId);
165         [handler=DOM] void setAttribute(in long callId, in long elementId, in String name, in String value, out boolean success);
166         [handler=DOM] void removeAttribute(in long callId, in long elementId, in String name, out boolean success);
167         [handler=DOM] void setTextNodeValue(in long callId, in long nodeId, in String value, out boolean success);
168         [handler=DOM] void getEventListenersForNode(in long callId, in long nodeId, out long outNodeId, out Array listenersArray);
169         [handler=DOM] void copyNode(in long nodeId);
170         [handler=DOM] void removeNode(in long callId, in long nodeId, out long outNodeId);
171         [handler=DOM] void changeTagName(in long callId, in long nodeId, in String newTagName, out long outNodeId);
172         [handler=DOM] void getOuterHTML(in long callId, in long nodeId, out String outerHTML);
173         [handler=DOM] void setOuterHTML(in long callId, in long nodeId, in String outerHTML, out long outNodeId);
174         [handler=DOM] void addInspectedNode(in long nodeId);
175         [handler=DOM] void performSearch(in String query, in boolean runSynchronously);
176         [handler=DOM] void searchCanceled();
177         [handler=DOM] void pushNodeByPathToFrontend(in long callId, in String path, out long nodeId);
178
179         [handler=Backend] void clearConsoleMessages(in long callId);
180
181         [handler=Controller] void highlightDOMNode(in long nodeId);
182         [handler=Controller] void hideDOMNodeHighlight();
183
184         [handler=DOM] void getStyles(in long callId, in long nodeId, in boolean authOnly, out Value styles);
185         [handler=DOM] void getAllStyles(in long callId, out Array styles);
186         [handler=DOM] void getInlineStyle(in long callId, in long nodeId, out Value style);
187         [handler=DOM] void getComputedStyle(in long callId, in long nodeId, out Value style);
188         [handler=DOM] void getStyleSheet(in long callId, in long styleSheetId, out Object styleSheet);
189         [handler=DOM] void getRuleRanges(in long callId, in long styleSheetId, out Value ranges);
190         [handler=DOM] void applyStyleText(in long callId, in long styleId, in String styleText, in String propertyName, out boolean success, out Value style, out Array changedProperties);
191         [handler=DOM] void setStyleText(in long callId, in long styleId, in String styleText, out boolean success);
192         [handler=DOM] void setStyleProperty(in long callId, in long styleId, in String name, in String value, out boolean success);
193         [handler=DOM] void toggleStyleEnabled(in long callId, in long styleId, in String propertyName, in boolean disabled, out Value style);
194         [handler=DOM] void setRuleSelector(in long callId, in long ruleId, in String selector, in long selectedNodeId, out Value rule, out boolean selectorAffectsNode);
195         [handler=DOM] void addRule(in long callId, in String selector, in long selectedNodeId, out Value rule, out boolean selectorAffectsNode);
196
197         [handler=Controller] void getCookies(in long callId, out Array cookies, out String cookiesString);
198         [handler=Controller] void deleteCookie(in String cookieName, in String domain);
199
200 #if defined(ENABLE_OFFLINE_WEB_APPLICATIONS) && ENABLE_OFFLINE_WEB_APPLICATIONS
201         [handler=ApplicationCache] void getApplicationCaches(in long callId, out Value applicationCaches);
202 #endif
203
204         [handler=Backend] void releaseWrapperObjectGroup(in long injectedScriptId, in String objectGroup);
205         [handler=Controller] void didEvaluateForTestInFrontend(in long testCallId, in String jsonResult);
206
207 #if defined(ENABLE_DATABASE) && ENABLE_DATABASE
208         [handler=Backend] void getDatabaseTableNames(in long callId, in long databaseId, out Array tableNames);
209 #endif
210
211 #if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE
212         [handler=Controller] void getDOMStorageEntries(in long callId, in long storageId, out Array entries);
213         [handler=Controller] void setDOMStorageItem(in long callId, in long storageId, in String key, in String value, out boolean success);
214         [handler=Controller] void removeDOMStorageItem(in long callId, in long storageId, in String key, out boolean success);
215 #endif
216
217     };
218 }