Title: [89656] trunk/LayoutTests
Revision
89656
Author
ca...@chromium.org
Date
2011-06-24 01:02:11 -0700 (Fri, 24 Jun 2011)

Log Message

2011-06-24  Andrey Kosyakov  <ca...@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [refactoring] extension tests: replace dispatchOnFrontend with a more generic evaluateOnFrontend()
        https://bugs.webkit.org/show_bug.cgi?id=63160

        * http/tests/inspector/extensions-test.js:
        (initialize_ExtensionsTest.InspectorTest._replyToExtension):
        (initialize_ExtensionsTest):
        * http/tests/inspector/resources/extension-main.html:
        * http/tests/inspector/resources/extension-main.js:
        (onError):
        (onTestsDone):
        * inspector/extensions/extensions-audits-tests.js:
        (extension_runAudits):
        (initialize_ExtensionsAuditsTest.InspectorTest.startExtensionAudits.onAuditsDone):
        (initialize_ExtensionsAuditsTest.InspectorTest.startExtensionAudits):
        (initialize_ExtensionsAuditsTest):
        * inspector/extensions/extensions-events.html:
        * inspector/extensions/extensions.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (89655 => 89656)


--- trunk/LayoutTests/ChangeLog	2011-06-24 07:43:38 UTC (rev 89655)
+++ trunk/LayoutTests/ChangeLog	2011-06-24 08:02:11 UTC (rev 89656)
@@ -1,3 +1,25 @@
+2011-06-24  Andrey Kosyakov  <ca...@chromium.org>
+
+        Reviewed by Yury Semikhatsky.
+
+        Web Inspector: [refactoring] extension tests: replace dispatchOnFrontend with a more generic evaluateOnFrontend()
+        https://bugs.webkit.org/show_bug.cgi?id=63160
+
+        * http/tests/inspector/extensions-test.js:
+        (initialize_ExtensionsTest.InspectorTest._replyToExtension):
+        (initialize_ExtensionsTest):
+        * http/tests/inspector/resources/extension-main.html:
+        * http/tests/inspector/resources/extension-main.js:
+        (onError):
+        (onTestsDone):
+        * inspector/extensions/extensions-audits-tests.js:
+        (extension_runAudits):
+        (initialize_ExtensionsAuditsTest.InspectorTest.startExtensionAudits.onAuditsDone):
+        (initialize_ExtensionsAuditsTest.InspectorTest.startExtensionAudits):
+        (initialize_ExtensionsAuditsTest):
+        * inspector/extensions/extensions-events.html:
+        * inspector/extensions/extensions.html:
+
 2011-06-23  Simon Fraser  <simon.fra...@apple.com>
 
         Reviewed by Dan Bernstein.

Modified: trunk/LayoutTests/http/tests/inspector/extensions-test.js (89655 => 89656)


--- trunk/LayoutTests/http/tests/inspector/extensions-test.js	2011-06-24 07:43:38 UTC (rev 89655)
+++ trunk/LayoutTests/http/tests/inspector/extensions-test.js	2011-06-24 08:02:11 UTC (rev 89656)
@@ -1,8 +1,3 @@
-function log(message)
-{
-    output(message);
-}
-
 function extensionFunctions()
 {
     var functions = "";
@@ -17,21 +12,27 @@
 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,54 +47,8 @@
     });
 }
 
-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()
 {
     InspectorTest.runExtensionTests();

Modified: trunk/LayoutTests/http/tests/inspector/resources/extension-main.html (89655 => 89656)


--- trunk/LayoutTests/http/tests/inspector/resources/extension-main.html	2011-06-24 07:43:38 UTC (rev 89655)
+++ trunk/LayoutTests/http/tests/inspector/resources/extension-main.html	2011-06-24 08:02:11 UTC (rev 89656)
@@ -35,9 +35,23 @@
         output(result);
 }
 
+function evaluateOnFrontend(_expression_, callback)
+{
+    function callbackWrapper(event)
+    {
+        channel.port1.removeEventListener("message", callbackWrapper, false);
+        callback(event.data.response);
+    }
+    var channel = new MessageChannel();
+    channel.port1.start();
+    if (callback)
+        channel.port1.addEventListener("message", callbackWrapper, false);
+    top.postMessage({ _expression_: _expression_ }, [ channel.port2 ], "*");
+}
+
 function output(message)
 {
-    top.postMessage({ command: "output", text: message }, "*");
+    evaluateOnFrontend("InspectorTest.addResult(unescape('" + escape(message) + "'));");
 }
 
 output("Started extension.");

Modified: trunk/LayoutTests/http/tests/inspector/resources/extension-main.js (89655 => 89656)


--- trunk/LayoutTests/http/tests/inspector/resources/extension-main.js	2011-06-24 07:43:38 UTC (rev 89655)
+++ trunk/LayoutTests/http/tests/inspector/resources/extension-main.js	2011-06-24 08:02:11 UTC (rev 89656)
@@ -2,7 +2,7 @@
 {
     window.removeEventListener("error", onError);
     output("Uncaught exception in extension context: " + event.message + " [" + event.filename + ":" + event.lineno + "]");
-    top.postMessage({ command: "extension-tests-done" }, "*");
+    evaluateOnFrontend("InspectorTest.completeTest();");
 }
 
 window.addEventListener("error", onError);
@@ -35,7 +35,7 @@
 function onTestsDone()
 {
     output("All tests done.");
-    top.postMessage({ command: "extension-tests-done" }, "*");
+    evaluateOnFrontend("InspectorTest.completeTest();");
 }
 
 function runTest(test, name)
@@ -48,25 +48,6 @@
     }
 }
 
-function dispatchOnFrontend(message, callback)
-{
-    function callbackWrapper()
-    {
-        channel.port1.removeEventListener("message", callbackWrapper, false);
-        callback();
-    }
-    var channel = new MessageChannel();
-    channel.port1.start();
-    if (callback)
-        channel.port1.addEventListener("message", callbackWrapper, false);
-    top.postMessage(message, [ channel.port2 ], "*");
-}
-
-function showPanel(panelId, callback)
-{
-    dispatchOnFrontend({ command: "show-panel", panelId: panelId }, callback);
-}
-
 function callbackAndNextTest(callback, nextTest)
 {
     function callbackWrapper()

Modified: trunk/LayoutTests/inspector/extensions/extensions-audits-tests.js (89655 => 89656)


--- trunk/LayoutTests/inspector/extensions/extensions-audits-tests.js	2011-06-24 07:43:38 UTC (rev 89655)
+++ trunk/LayoutTests/inspector/extensions/extensions-audits-tests.js	2011-06-24 08:02:11 UTC (rev 89656)
@@ -1,12 +1,12 @@
 function extension_runAudits(callback)
 {
-    dispatchOnFrontend({ command: "run-audits" }, callback);
+    evaluateOnFrontend("InspectorTest.startExtensionAudits(reply);", callback);
 }
 
 // runs in front-end
 var initialize_ExtensionsAuditsTest = function()
 {
-    InspectorTest.startExtensionAudits = function(message, port)
+    InspectorTest.startExtensionAudits = function(callback)
     {
         const launcherView = WebInspector.panels.audits._launcherView;
         launcherView._selectAllClicked(false);
@@ -21,16 +21,10 @@
         function onAuditsDone()
         {
             InspectorTest.collectAuditResults();
-            port.postMessage("");
+            callback();
         }
         InspectorTest.addSniffer(WebInspector.panels.audits, "_auditFinishedCallback", onAuditsDone, true);
 
         launcherView._launchButtonClicked();
     }
 }
-
-var test = function()
-{
-    InspectorTest.dispatchOnMessage("run-audits", InspectorTest.startExtensionAudits);
-    InspectorTest.runExtensionTests();
-}

Modified: trunk/LayoutTests/inspector/extensions/extensions-events.html (89655 => 89656)


--- trunk/LayoutTests/inspector/extensions/extensions-events.html	2011-06-24 07:43:38 UTC (rev 89655)
+++ trunk/LayoutTests/inspector/extensions/extensions-events.html	2011-06-24 08:02:11 UTC (rev 89656)
@@ -4,6 +4,21 @@
 <script src=""
 <script type="text/_javascript_">
 
+function initialize_ExtensionEventTests()
+{
+    InspectorTest.showPanel = function(panelId)
+    {
+        if (panelId === "extension")
+            panelId = WebInspector.panelOrder[WebInspector.panelOrder.length - 1].name;
+        WebInspector.showPanel(panelId);
+    }
+}
+
+function extension_showPanel(panelId, callback)
+{
+    evaluateOnFrontend("InspectorTest.showPanel(unescape('" + escape(panelId) + "')); reply();", callback);
+}
+
 function extension_testOnSelectionChanged(nextTest)
 {
     function onSelectionChanged()
@@ -43,7 +58,7 @@
         if (loadCount !== urls.length)
             return;
         if (loadCount === 1) {
-            dispatchOnFrontend({ command: "run-when-page-loads" }, onLoad);
+            evaluateOnFrontend("InspectorTest.runWhenPageLoads(reply);", onLoad);
             webInspector.inspectedWindow.eval("location.href = "" + location.pathname");
         }
         else {
@@ -59,7 +74,7 @@
         processEvent();
     }
     webInspector.resources.onNavigated.addListener(onNavigated);
-    dispatchOnFrontend({ command: "run-when-page-loads" }, onLoad);
+    evaluateOnFrontend("InspectorTest.runWhenPageLoads(reply);", onLoad);
     webInspector.inspectedWindow.eval("location.href = "" + '?navigated'");
 }
 
@@ -73,7 +88,7 @@
             return;
         if (panelId === "extension") {
             addListener(webInspector.panels.elements, "elements", "onShown");
-            showPanel("elements");
+            extension_showPanel("elements");
         } else if (panelId === "elements") {
             cleanupListeners();
             nextTest();
@@ -96,9 +111,9 @@
         addListener(panel, "extension", "onShown");
         addListener(panel, "extension", "onHidden");
         addListener(webInspector.panels.elements, "elements", "onHidden");
-        showPanel("extension");
+        extension_showPanel("extension");
     }
-    showPanel("elements");
+    extension_showPanel("elements");
     webInspector.panels.create("Test Panel", "extension-panel.png", "extension-panel.html", onPanelCreated);
 }
 

Modified: trunk/LayoutTests/inspector/extensions/extensions.html (89655 => 89656)


--- trunk/LayoutTests/inspector/extensions/extensions.html	2011-06-24 07:43:38 UTC (rev 89655)
+++ trunk/LayoutTests/inspector/extensions/extensions.html	2011-06-24 08:02:11 UTC (rev 89656)
@@ -4,6 +4,20 @@
 <script src=""
 <script type="text/_javascript_">
 
+function initialize_extensionsUITest()
+{
+    InspectorTest.dumpSidebarContent = function(callback)
+    {
+        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);
+            callback();
+        });
+    }
+}
+
 function extension_testCreatePanel(nextTest)
 {
     function onPanelCreated(panel)
@@ -29,7 +43,7 @@
 
 function extension_dumpSidebarContent(nextTest)
 {
-    dispatchOnFrontend({ command: "dump-sidebar-content" }, nextTest);
+    evaluateOnFrontend("InspectorTest.dumpSidebarContent(reply);", nextTest);
 }
 
 function extension_testSidebarWatchObject(nextTest)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to