WebKit/chromium/src/js/InspectorControllerImpl.js
changeset 0 4f2f89ce4247
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WebKit/chromium/src/js/InspectorControllerImpl.js	Fri Sep 17 09:02:29 2010 +0300
@@ -0,0 +1,161 @@
+/*
+ * Copyright (C) 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.
+ */
+
+/**
+ * @fileoverview DevTools' implementation of the InspectorController API.
+ */
+
+if (!this.devtools)
+    devtools = {};
+
+devtools.InspectorBackendImpl = function()
+{
+    WebInspector.InspectorBackendStub.call(this);
+    this.installInspectorControllerDelegate_("addInspectedNode");
+    this.installInspectorControllerDelegate_("addScriptToEvaluateOnLoad");
+    this.installInspectorControllerDelegate_("changeTagName");
+    this.installInspectorControllerDelegate_("clearConsoleMessages");
+    this.installInspectorControllerDelegate_("copyNode");
+    this.installInspectorControllerDelegate_("deleteCookie");
+    this.installInspectorControllerDelegate_("didEvaluateForTestInFrontend");
+    this.installInspectorControllerDelegate_("disableMonitoringXHR");
+    this.installInspectorControllerDelegate_("disableResourceTracking");
+    this.installInspectorControllerDelegate_("disableSearchingForNode");
+    this.installInspectorControllerDelegate_("disableTimeline");
+    this.installInspectorControllerDelegate_("enableMonitoringXHR");
+    this.installInspectorControllerDelegate_("enableResourceTracking");
+    this.installInspectorControllerDelegate_("enableSearchingForNode");
+    this.installInspectorControllerDelegate_("enableTimeline");
+    this.installInspectorControllerDelegate_("getChildNodes");
+    this.installInspectorControllerDelegate_("getCookies");
+    this.installInspectorControllerDelegate_("getDatabaseTableNames");
+    this.installInspectorControllerDelegate_("getDOMStorageEntries");
+    this.installInspectorControllerDelegate_("getEventListenersForNode");
+    this.installInspectorControllerDelegate_("getOuterHTML");
+    this.installInspectorControllerDelegate_("getProfile");
+    this.installInspectorControllerDelegate_("getProfileHeaders");
+    this.installInspectorControllerDelegate_("removeProfile");
+    this.installInspectorControllerDelegate_("clearProfiles");
+    this.installInspectorControllerDelegate_("getResourceContent");
+    this.installInspectorControllerDelegate_("highlightDOMNode");
+    this.installInspectorControllerDelegate_("hideDOMNodeHighlight");
+    this.installInspectorControllerDelegate_("performSearch");
+    this.installInspectorControllerDelegate_("pushNodeByPathToFrontend");
+    this.installInspectorControllerDelegate_("releaseWrapperObjectGroup");
+    this.installInspectorControllerDelegate_("removeAllScriptsToEvaluateOnLoad");
+    this.installInspectorControllerDelegate_("reloadPage");
+    this.installInspectorControllerDelegate_("removeAttribute");
+    this.installInspectorControllerDelegate_("removeDOMStorageItem");
+    this.installInspectorControllerDelegate_("removeNode");
+    this.installInspectorControllerDelegate_("saveApplicationSettings");
+    this.installInspectorControllerDelegate_("saveSessionSettings");
+    this.installInspectorControllerDelegate_("searchCanceled");
+    this.installInspectorControllerDelegate_("setAttribute");
+    this.installInspectorControllerDelegate_("setDOMStorageItem");
+    this.installInspectorControllerDelegate_("setInjectedScriptSource");
+    this.installInspectorControllerDelegate_("setOuterHTML");
+    this.installInspectorControllerDelegate_("setTextNodeValue");
+    this.installInspectorControllerDelegate_("startProfiling");
+    this.installInspectorControllerDelegate_("startTimelineProfiler");
+    this.installInspectorControllerDelegate_("stopProfiling");
+    this.installInspectorControllerDelegate_("stopTimelineProfiler");
+    this.installInspectorControllerDelegate_("storeLastActivePanel");
+    this.installInspectorControllerDelegate_("takeHeapSnapshot");
+
+    this.installInspectorControllerDelegate_("getAllStyles");
+    this.installInspectorControllerDelegate_("getStyles");
+    this.installInspectorControllerDelegate_("getComputedStyle");
+    this.installInspectorControllerDelegate_("getInlineStyle");
+    this.installInspectorControllerDelegate_("getStyleSheet");
+    this.installInspectorControllerDelegate_("getRuleRangesForStyleSheetId");
+    this.installInspectorControllerDelegate_("applyStyleText");
+    this.installInspectorControllerDelegate_("setStyleText");
+    this.installInspectorControllerDelegate_("setStyleProperty");
+    this.installInspectorControllerDelegate_("toggleStyleEnabled");
+    this.installInspectorControllerDelegate_("setRuleSelector");
+    this.installInspectorControllerDelegate_("addRule");
+
+    this.installInspectorControllerDelegate_("disableDebugger");
+    this.installInspectorControllerDelegate_("editScriptSource");
+    this.installInspectorControllerDelegate_("getScriptSource");
+    this.installInspectorControllerDelegate_("enableDebugger");
+    this.installInspectorControllerDelegate_("setBreakpoint");
+    this.installInspectorControllerDelegate_("removeBreakpoint");
+    this.installInspectorControllerDelegate_("activateBreakpoints");
+    this.installInspectorControllerDelegate_("deactivateBreakpoints");
+    this.installInspectorControllerDelegate_("resume");
+    this.installInspectorControllerDelegate_("stepIntoStatement");
+    this.installInspectorControllerDelegate_("stepOutOfFunction");
+    this.installInspectorControllerDelegate_("stepOverStatement");
+    this.installInspectorControllerDelegate_("setPauseOnExceptionsState");
+};
+devtools.InspectorBackendImpl.prototype.__proto__ = WebInspector.InspectorBackendStub.prototype;
+
+
+devtools.InspectorBackendImpl.prototype.pause = function()
+{
+    RemoteDebuggerCommandExecutor.DebuggerPauseScript();
+};
+
+
+/**
+ * @override
+ */
+devtools.InspectorBackendImpl.prototype.dispatchOnInjectedScript = function(callId, injectedScriptId, methodName, argsString, async)
+{
+    // Encode injectedScriptId into callId
+    if (typeof injectedScriptId !== "number")
+        injectedScriptId = 0;
+    RemoteToolsAgent.dispatchOnInjectedScript(callId, injectedScriptId, methodName, argsString, async);
+};
+
+
+/**
+ * Installs delegating handler into the inspector controller.
+ * @param {string} methodName Method to install delegating handler for.
+ */
+devtools.InspectorBackendImpl.prototype.installInspectorControllerDelegate_ = function(methodName)
+{
+    this[methodName] = this.callInspectorController_.bind(this, methodName);
+};
+
+
+/**
+ * Bound function with the installInjectedScriptDelegate_ actual
+ * implementation.
+ */
+devtools.InspectorBackendImpl.prototype.callInspectorController_ = function(methodName, var_arg)
+{
+    var args = Array.prototype.slice.call(arguments, 1);
+    RemoteToolsAgent.dispatchOnInspectorController(WebInspector.Callback.wrap(function(){}), methodName, JSON.stringify(args));
+};
+
+
+InspectorBackend = new devtools.InspectorBackendImpl();