blob: dea1cd0ac19b1faa947f584c8f9ee9fbf1f23e2b [file] [log] [blame]
/*
* Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
* Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
* Copyright (C) 2009, 2010 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following disclaimer
* in the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Google Inc. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
module core {
interface [Conditional=INSPECTOR] Inspector {
[notify] void addConsoleMessage(out Object messageObj);
[notify] void addRecordToTimeline(out Object record);
[notify] void addNodesToSearchResult(out Array nodeIds);
[notify] void attributesUpdated(out long id, out Array attributes);
[notify] void childNodeCountUpdated(out long id, out int newValue);
[notify] void childNodeInserted(out long parentId, out long prevId, out Object node);
[notify] void childNodeRemoved(out long parentId, out long id);
[notify] void setChildNodes(out long parentId, out Array nodes);
[notify] void setDetachedRoot(out Object root);
[notify] void setDocument(out Value root);
[notify] void updateConsoleMessageExpiredCount(out unsigned long count);
[notify] void updateConsoleMessageRepeatCount(out unsigned long count);
[notify] void updateResource(out Value resource);
[notify] void removeResource(out unsigned long resourceId);
#if defined(ENABLE_JAVASCRIPT_DEBUGGER) && ENABLE_JAVASCRIPT_DEBUGGER
[notify] void pausedScript(out Value callFrames);
[notify] void resumedScript();
[notify] void addProfileHeader(out Object header);
#endif
[handler=Controller] void storeLastActivePanel(in String panelName);
[handler=Controller] void saveApplicationSettings(in String settings);
[handler=Controller] void saveSessionSettings(in String settings);
[handler=Controller] void enableSearchingForNode();
[handler=Controller] void disableSearchingForNode();
[handler=Controller] void enableMonitoringXHR();
[handler=Controller] void disableMonitoringXHR();
[handler=Controller] void enableResourceTracking(in boolean always);
[handler=Controller] void disableResourceTracking(in boolean always);
[handler=Controller] void getResourceContent(in long callId, in unsigned long identifier, out String content);
[handler=Controller] void reloadPage();
[handler=Controller] void startTimelineProfiler();
[handler=Controller] void stopTimelineProfiler();
#if defined(ENABLE_JAVASCRIPT_DEBUGGER) && ENABLE_JAVASCRIPT_DEBUGGER
[handler=Backend] void enableDebugger(in boolean always);
[handler=Controller] void disableDebugger(in boolean always);
[handler=Controller] void setBreakpoint(in long callId, in String sourceID, in unsigned long lineNumber, in boolean enabled, in String condition);
[handler=Controller] void removeBreakpoint(in String sourceID, in unsigned long lineNumber);
[handler=Debug] void activateBreakpoints();
[handler=Debug] void deactivateBreakpoints();
[handler=Debug] void pause();
[handler=Controller] void resume();
[handler=Debug] void stepOverStatement();
[handler=Debug] void stepIntoStatement();
[handler=Debug] void stepOutOfFunction();
[handler=Controller] void setPauseOnExceptionsState(in long pauseOnExceptionsState);
[handler=Controller] void editScriptSource(in long callId, in String sourceID, in String newContent, out boolean success, out String result, out Value newCallFrames);
[handler=Controller] void getScriptSource(in long callId, in String sourceID, out String scriptSource);
[handler=Controller] void enableProfiler(in boolean always);
[handler=Controller] void disableProfiler(in boolean always);
[handler=Controller] void startProfiling();
[handler=Controller] void stopProfiling();
[handler=Controller] void getProfileHeaders(in long callId, out Array headers);
[handler=Controller] void getProfile(in long callId, in unsigned long uid, out Object profile);
[handler=Controller] void removeProfile(in unsigned long uid);
[handler=Controller] void clearProfiles();
[handler=Backend] void takeHeapSnapshot();
[handler=Backend] void getProfilerLogLines(in long callId, in long inPosition, out long outPosition, out String log);
#endif
[handler=Backend] void setInjectedScriptSource(in String scriptSource);
[handler=Backend] void dispatchOnInjectedScript(in long callId, in long injectedScriptId, in String methodName, in String arguments, in boolean async);
[handler=Controller] void addScriptToEvaluateOnLoad(in String scriptSource);
[handler=Controller] void removeAllScriptsToEvaluateOnLoad();
[handler=DOM] void getChildNodes(in long callId, in long nodeId);
[handler=DOM, customResponse=didApplyDomChange] void setAttribute(in long callId, in long elementId, in String name, in String value, out boolean success);
[handler=DOM, customResponse=didApplyDomChange] void removeAttribute(in long callId, in long elementId, in String name, out boolean success);
[handler=DOM] void setTextNodeValue(in long callId, in long nodeId, in String value);
[handler=DOM] void getEventListenersForNode(in long callId, in long nodeId, out long nodeId, out Array listenersArray);
[handler=DOM] void copyNode(in long nodeId);
[handler=DOM] void removeNode(in long callId, in long nodeId, out long nodeId);
[handler=DOM] void changeTagName(in long callId, in long nodeId, in String newTagName, out long nodeId);
[handler=DOM] void getOuterHTML(in long callId, in long nodeId, out String outerHTML);
[handler=DOM] void setOuterHTML(in long callId, in long nodeId, in String outerHTML, out long nodeId);
[handler=DOM] void addInspectedNode(in long nodeId);
[handler=DOM] void performSearch(in String query, in boolean runSynchronously);
[handler=DOM] void searchCanceled();
[handler=DOM] void pushNodeByPathToFrontend(in long callId, in String path, out long nodeId);
[handler=Backend] void clearConsoleMessages(in long callId);
[handler=Controller] void highlightDOMNode(in long nodeId);
[handler=Controller] void hideDOMNodeHighlight();
[handler=DOM] void getStyles(in long callId, in long nodeId, in boolean authOnly, out Value styles);
[handler=DOM] void getAllStyles(in long callId, out Array styles);
[handler=DOM] void getInlineStyle(in long callId, in long nodeId, out Value style);
[handler=DOM] void getComputedStyle(in long callId, in long nodeId, out Value style);
[handler=DOM] void getStyleSheet(in long callId, in long styleSheetId, out Value styleSheet);
[handler=DOM] void getRuleRanges(in long callId, in long styleSheetId, out Value ranges);
[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);
[handler=DOM] void setStyleText(in long callId, in long styleId, in String styleText, out boolean success);
[handler=DOM] void setStyleProperty(in long callId, in long styleId, in String name, in String value, out boolean success);
[handler=DOM] void toggleStyleEnabled(in long callId, in long styleId, in String propertyName, in boolean disabled, out Value style);
[handler=DOM] void setRuleSelector(in long callId, in long ruleId, in String selector, in long selectedNodeId, out Value rule, out boolean selectorAffectsNode);
[handler=DOM] void addRule(in long callId, in String selector, in long selectedNodeId, out Value rule, out boolean selectorAffectsNode);
[handler=Controller] void getCookies(in long callId);
[handler=Controller] void deleteCookie(in String cookieName, in String domain);
#if defined(ENABLE_OFFLINE_WEB_APPLICATIONS) && ENABLE_OFFLINE_WEB_APPLICATIONS
[handler=ApplicationCache] void getApplicationCaches(in long callId);
#endif
[handler=Backend] void releaseWrapperObjectGroup(in long injectedScriptId, in String objectGroup);
[handler=Controller] void didEvaluateForTestInFrontend(in long callId, in String jsonResult);
#if defined(ENABLE_DATABASE) && ENABLE_DATABASE
[handler=Backend] void getDatabaseTableNames(in long callId, in long databaseId);
#endif
#if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE
[handler=Controller] void getDOMStorageEntries(in long callId, in long storageId);
[handler=Controller] void setDOMStorageItem(in long callId, in long storageId, in String key, in String value);
[handler=Controller] void removeDOMStorageItem(in long callId, in long storageId, in String key);
#endif
};
}