2011-06-24 Andrey Kosyakov <caseq@chromium.org>
[WebKit-https.git] / LayoutTests / http / tests / inspector / extensions-test.js
index ff61a21..5db6144 100644 (file)
@@ -1,8 +1,3 @@
-function log(message)
-{
-    output(message);
-}
-
 function extensionFunctions()
 {
     var functions = "";
@@ -17,21 +12,27 @@ function extensionFunctions()
 var initialize_ExtensionsTest = function()
 {
 
-InspectorTest.dispatchOnMessage = function(messageId, callback, recurring)
+InspectorTest._replyToExtension = function(port, data)
 {
-    function onMessage(event)
-    {
-        if (typeof(event.data) !== "object" || event.data.command !== messageId)
-            return;
-        if (!recurring)
-            window.removeEventListener("message", onMessage, false);
-        var port = event.ports && event.ports[0];
-        if (callback(event.data, port) && port)
-            port.postMessage("");
+    port.postMessage({ response: data });
+}
+
+function onMessage(event)
+{
+    if (typeof event.data !== "object" || !event.data.expression)
+        return;
+    if (event.ports && event.ports[0])
+        var reply = InspectorTest._replyToExtension.bind(null, event.ports[0]); // reply() is intended to be used by the code being evaluated.
+    try {
+        var result = eval(event.data.expression);
+    } catch (e) {
+        InspectorTest.addResult("Exception while running: " + event.data.expression + "\n" + (e.stack || e));
+        InspectorTest.completeTest();
     }
-    window.addEventListener("message", onMessage, false);
 }
 
+window.addEventListener("message", InspectorTest.safeWrap(onMessage), false);
+
 InspectorTest.runExtensionTests = function()
 {
     RuntimeAgent.evaluate("location.href", "console", false, function(error, result) {
@@ -46,52 +47,6 @@ InspectorTest.runExtensionTests = function()
     });
 }
 
-InspectorTest.dispatchOnMessage("extension-tests-done", InspectorTest.completeTest, true);
-
-function extensionOutput(message)
-{
-    InspectorTest.addResult(message.text);
-}
-InspectorTest.dispatchOnMessage("output", extensionOutput, true);
-
-function dumpSidebarContent(message, port)
-{
-    var sidebarPanes = WebInspector.panels.elements.sidebarPanes;
-    // the sidebar of interest is presumed to always be last.
-    var sidebar = sidebarPanes[Object.keys(sidebarPanes).pop()];
-    InspectorTest.runAfterPendingDispatches(function() {
-        InspectorTest.addResult("Sidebar content: " + sidebar.bodyElement.textContent);
-        port.postMessage("");
-    });
-}
-InspectorTest.dispatchOnMessage("dump-sidebar-content", dumpSidebarContent, true);
-
-function showPanel(message, port)
-{
-    var panelId = message.panelId;
-    if (panelId === "extension")
-        panelId = WebInspector.panelOrder[WebInspector.panelOrder.length - 1].name;
-    WebInspector.showPanel(panelId);
-    port.postMessage("");
-}
-InspectorTest.dispatchOnMessage("show-panel", showPanel, true);
-
-function reloadPage(data, port)
-{
-    InspectorTest.reloadPage(function() {
-        port.postMessage("");
-    });
-}
-InspectorTest.dispatchOnMessage("reload", reloadPage, true);
-
-function runWhenPageLoads(data, port)
-{
-    InspectorTest.runWhenPageLoads(function() {
-        port.postMessage("");
-    });
-}
-InspectorTest.dispatchOnMessage("run-when-page-loads", runWhenPageLoads, true);
-
 }
 
 var test = function()