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)