[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
caseq at chromium.org
caseq at chromium.org
Wed Dec 22 12:54:38 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit b1a34f71045a37afc7b5b7b2bd60060062e51056
Author: caseq at chromium.org <caseq at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Sep 1 14:19:34 2010 +0000
2010-09-01 Andrey Kosyakov <caseq at chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector, Extension API: Panel.onSelectionChanged event is never fired
Added command line API to the lexical context of code evaluated by webInspector.inspectedWindow.evaluate()
Fixed webInspector.inspectedWindow.evaluate() to return object rather than its stringified representation
https://bugs.webkit.org/show_bug.cgi?id=44957
Test: inspector/extensions-eval.html
* inspector/front-end/ExtensionAPI.js:
(WebInspector.injectedExtensionAPI.InspectedWindow.prototype.evaluate):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
2010-09-01 Andrey Kosyakov <caseq at chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector, Extension API: Panel.onSelectionChanged event is never fired
Added tests for webInspector.inspectedWindow.eval() and event dispatchers.
https://bugs.webkit.org/show_bug.cgi?id=44957
* inspector/extensions-eval-expected.txt: Added.
* inspector/extensions-eval.html: Added.
* inspector/extensions-expected.txt:
* inspector/extensions.html:
* inspector/resources/extension-main.js:
(fetchTests.callback):
(fetchTests):
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index fb0510f..48d887e 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,20 @@
+2010-09-01 Andrey Kosyakov <caseq at chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector, Extension API: Panel.onSelectionChanged event is never fired
+ Added tests for webInspector.inspectedWindow.eval() and event dispatchers.
+ https://bugs.webkit.org/show_bug.cgi?id=44957
+
+ * inspector/extensions-eval-expected.txt: Added.
+ * inspector/extensions-eval.html: Added.
+ * inspector/extensions-expected.txt:
+ * inspector/extensions.html:
+ * inspector/resources/extension-main.js:
+ (fetchTests.callback):
+ (fetchTests):
+ * platform/chromium/test_expectations.txt:
+
2010-09-01 Nikolas Zimmermann <nzimmermann at rim.com>
Reviewed by Dirk Schulze.
diff --git a/LayoutTests/inspector/extensions-eval-expected.txt b/LayoutTests/inspector/extensions-eval-expected.txt
new file mode 100644
index 0000000..4c589f5
--- /dev/null
+++ b/LayoutTests/inspector/extensions-eval-expected.txt
@@ -0,0 +1,19 @@
+Tests WebInspector extension API
+
+Page reloaded.
+Started extension.
+Running tests...
+RUNNING TEST: extension_testEvalConsoleAPI
+Evaluate: "function" (exception: undefined)
+RUNNING TEST: extension_testEvalDefinesGlobalSymbols
+Evaluate: {"func":"function","variable":42} (exception: undefined)
+RUNNING TEST: extension_testEvalFailed
+Evaluate: "TypeError: JSON.stringify cannot serialize cyclic structures." (exception: true)
+RUNNING TEST: extension_testEvalOk
+Evaluate: {"str":"foo","num":42} (exception: undefined)
+RUNNING TEST: extension_testEvalStatement
+Evaluate: 0 (exception: undefined)
+RUNNING TEST: extension_testEvalUndefined
+Evaluate: undefined (exception: undefined)
+All tests done.
+
diff --git a/LayoutTests/inspector/extensions-eval.html b/LayoutTests/inspector/extensions-eval.html
new file mode 100755
index 0000000..ed54e8a
--- /dev/null
+++ b/LayoutTests/inspector/extensions-eval.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<script src="../http/tests/inspector/inspector-test2.js"></script>
+<script src="extensions-test.js"></script>
+<script type="text/javascript">
+
+window.inspectedValue = { str: "foo", num: 42 };
+
+function extension_testEvalOk(nextTest)
+{
+ webInspector.inspectedWindow.evaluate("inspectedValue", callbackAndNextTest(extension_onEvaluate, nextTest));
+}
+
+function extension_testEvalFailed(nextTest)
+{
+ webInspector.inspectedWindow.evaluate("document.body", callbackAndNextTest(extension_onEvaluate, nextTest));
+}
+
+function extension_testEvalDefinesGlobalSymbols(nextTest)
+{
+ webInspector.inspectedWindow.evaluate("function extensionFunc() {}");
+ webInspector.inspectedWindow.evaluate("extensionVar = 42;");
+ webInspector.inspectedWindow.evaluate("({ func: typeof window.extensionFunc, variable: window.extensionVar })", callbackAndNextTest(extension_onEvaluate, nextTest));
+}
+
+function extension_testEvalStatement(nextTest)
+{
+ webInspector.inspectedWindow.evaluate("var x = 3; while (--x); x", callbackAndNextTest(extension_onEvaluate, nextTest));
+}
+
+function extension_testEvalUndefined(nextTest)
+{
+ webInspector.inspectedWindow.evaluate("undefined", callbackAndNextTest(extension_onEvaluate, nextTest));
+}
+
+function extension_testEvalConsoleAPI(nextTest)
+{
+ webInspector.inspectedWindow.evaluate("typeof inspect", callbackAndNextTest(extension_onEvaluate, nextTest));
+}
+
+function extension_onEvaluate(result)
+{
+ output("Evaluate: " + JSON.stringify(result.value) + " (exception: " + result.isException + ")");
+}
+
+</script>
+</head>
+<body onload="runTest()">
+<p>Tests WebInspector extension API</p>
+</body>
+</html>
diff --git a/LayoutTests/inspector/extensions-events-expected.txt b/LayoutTests/inspector/extensions-events-expected.txt
new file mode 100644
index 0000000..6b1ba0a
--- /dev/null
+++ b/LayoutTests/inspector/extensions-events-expected.txt
@@ -0,0 +1,23 @@
+CONSOLE MESSAGE: line 663: [object HTMLParagraphElement]
+Tests WebInspector extension API
+
+Page reloaded.
+Started extension.
+Running tests...
+RUNNING TEST: extension_testOnResourceFinished
+Got callback, arguments dump follows:
+{
+ 0 : {
+ id : <number>
+ type : 7
+ har : <object>
+ }
+}
+RUNNING TEST: extension_testOnSelectionChanged
+Got callback, arguments dump follows:
+{
+ 0 : "DOMNode"
+ 1 : undefined
+}
+All tests done.
+
diff --git a/LayoutTests/inspector/extensions-events.html b/LayoutTests/inspector/extensions-events.html
new file mode 100755
index 0000000..99fe534
--- /dev/null
+++ b/LayoutTests/inspector/extensions-events.html
@@ -0,0 +1,34 @@
+<html>
+<head>
+<script src="../http/tests/inspector/inspector-test2.js"></script>
+<script src="extensions-test.js"></script>
+<script type="text/javascript">
+
+function extension_callback(nondetermenisticProps)
+{
+ output("Got callback, arguments dump follows:");
+ dumpObject(Array.prototype.slice.call(arguments, 1), nondetermenisticProps);
+}
+
+function extension_testOnSelectionChanged(nextTest)
+{
+ webInspector.panels.elements.onSelectionChanged.addListener(callbackAndNextTest(bind(extension_callback, null, null), nextTest));
+ webInspector.inspectedWindow.evaluate("inspect(document.body.children[0])");
+}
+
+function extension_testOnResourceFinished(nextTest)
+{
+ var nondetermenisticProps = {
+ har: 1,
+ id: 1
+ };
+ webInspector.resources.onFinished.addListener(callbackAndNextTest(bind(extension_callback, null, nondetermenisticProps), nextTest));
+ webInspector.inspectedWindow.evaluate("var xhr = new XMLHttpRequest(); xhr.open('GET', '" + location.href + "', false); xhr.send(null);");
+}
+
+</script>
+</head>
+<body onload="runTest()">
+<p>Tests WebInspector extension API</p>
+</body>
+</html>
diff --git a/LayoutTests/inspector/extensions-expected.txt b/LayoutTests/inspector/extensions-expected.txt
index be5706c..a088f40 100644
--- a/LayoutTests/inspector/extensions-expected.txt
+++ b/LayoutTests/inspector/extensions-expected.txt
@@ -23,10 +23,6 @@ Sidebar created
setHeight : <function>
setExpanded : <function>
}
-RUNNING TEST: extension_testEvalFailed
-Evaluate: TypeError: JSON.stringify cannot serialize cyclic structures.(exception: true)
-RUNNING TEST: extension_testEvalOk
-Evaluate: {"str":"foo","num":42}(exception: undefined)
RUNNING TEST: extension_testGetAllResources
resource: .../tests/inspector/inspector-test2.js
resource: .../LayoutTests/inspector/extensions-test.js
diff --git a/LayoutTests/inspector/extensions.html b/LayoutTests/inspector/extensions.html
index 9259b94..ef8996c 100644
--- a/LayoutTests/inspector/extensions.html
+++ b/LayoutTests/inspector/extensions.html
@@ -6,16 +6,6 @@
window.inspectedValue = { str: "foo", num: 42 };
-function extension_testEvalOk(nextTest)
-{
- webInspector.inspectedWindow.evaluate("inspectedValue", callbackAndNextTest(extension_onEvaluate, nextTest));
-}
-
-function extension_testEvalFailed(nextTest)
-{
- webInspector.inspectedWindow.evaluate("document.body", callbackAndNextTest(extension_onEvaluate, nextTest));
-}
-
function extension_testGetAllResources(nextTest)
{
function compareResources(a, b)
@@ -74,11 +64,6 @@ function extension_testResourceNotification(nextTest)
webInspector.inspectedWindow.evaluate("var xhr = new XMLHttpRequest(); xhr.open('GET', '" + location.href + "', false); xhr.send(null);");
}
-function extension_onEvaluate(result)
-{
- output("Evaluate: " + result.value + "(exception: " + result.isException + ")");
-}
-
</script>
</head>
<body onload="runTest()">
diff --git a/LayoutTests/inspector/resources/extension-main.js b/LayoutTests/inspector/resources/extension-main.js
index f439960..1669733 100644
--- a/LayoutTests/inspector/resources/extension-main.js
+++ b/LayoutTests/inspector/resources/extension-main.js
@@ -2,8 +2,7 @@ function fetchTests()
{
function callback(result)
{
- var functions = JSON.parse(result.value);
- window.eval(functions);
+ window.eval(result.value);
runTests();
}
webInspector.inspectedWindow.evaluate("extensionFunctions()", callback);
diff --git a/LayoutTests/platform/chromium/test_expectations.txt b/LayoutTests/platform/chromium/test_expectations.txt
index f8f49a1..d2cd37a 100644
--- a/LayoutTests/platform/chromium/test_expectations.txt
+++ b/LayoutTests/platform/chromium/test_expectations.txt
@@ -202,6 +202,8 @@ WONTFIX SKIP : inspector/extensions.html = FAIL
WONTFIX SKIP : inspector/extensions-api.html = FAIL
WONTFIX SKIP : inspector/extensions-audits.html = FAIL
WONTFIX SKIP : inspector/extensions-audits-api.html = FAIL
+WONTFIX SKIP : inspector/extensions-events.html = FAIL
+WONTFIX SKIP : inspector/extensions-eval.html = FAIL
// Implement java testing harness.
BUG36681 DEFER SKIP : java = TEXT
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index a2a721e..69a3e58 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2010-09-01 Andrey Kosyakov <caseq at chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector, Extension API: Panel.onSelectionChanged event is never fired
+ Added command line API to the lexical context of code evaluated by webInspector.inspectedWindow.evaluate()
+ Fixed webInspector.inspectedWindow.evaluate() to return object rather than its stringified representation
+ https://bugs.webkit.org/show_bug.cgi?id=44957
+
+ Test: inspector/extensions-eval.html
+
+ * inspector/front-end/ExtensionAPI.js:
+ (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.evaluate):
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
+
2010-08-27 Philippe Normand <pnormand at igalia.com>
Reviewed by Xan Lopez.
diff --git a/WebCore/inspector/front-end/ElementsPanel.js b/WebCore/inspector/front-end/ElementsPanel.js
index d81933e..e1bc637 100644
--- a/WebCore/inspector/front-end/ElementsPanel.js
+++ b/WebCore/inspector/front-end/ElementsPanel.js
@@ -58,7 +58,7 @@ WebInspector.ElementsPanel = function()
if (this._focusedDOMNode) {
InspectorBackend.addInspectedNode(this._focusedDOMNode.id);
- WebInspector.extensionServer.notifyObjectSelected(this.name, "DOMNode");
+ WebInspector.extensionServer.notifyObjectSelected(this.panel.name, "DOMNode");
}
};
diff --git a/WebCore/inspector/front-end/ExtensionAPI.js b/WebCore/inspector/front-end/ExtensionAPI.js
index 9d996bf..fd1df6e 100644
--- a/WebCore/inspector/front-end/ExtensionAPI.js
+++ b/WebCore/inspector/front-end/ExtensionAPI.js
@@ -365,7 +365,13 @@ InspectedWindow.prototype = {
evaluate: function(expression, callback)
{
- return extensionServer.sendRequest({ command: "evaluateOnInspectedPage", expression: expression }, callback);
+ function callbackWrapper(result)
+ {
+ if (result && !result.isException)
+ result.value = result.value === "undefined" ? undefined : JSON.parse(result.value);
+ callback(result);
+ }
+ return extensionServer.sendRequest({ command: "evaluateOnInspectedPage", expression: expression }, callbackWrapper);
}
}
diff --git a/WebCore/inspector/front-end/ExtensionServer.js b/WebCore/inspector/front-end/ExtensionServer.js
index 0ff035c..f410d8c 100644
--- a/WebCore/inspector/front-end/ExtensionServer.js
+++ b/WebCore/inspector/front-end/ExtensionServer.js
@@ -210,7 +210,6 @@ WebInspector.ExtensionServer.prototype = {
_onEvaluateOnInspectedPage: function(message, port)
{
- var escapedMessage = escape(message.expression);
function callback(resultPayload)
{
var resultObject = WebInspector.RemoteObject.fromPayload(resultPayload);
@@ -220,7 +219,10 @@ WebInspector.ExtensionServer.prototype = {
result.value = resultObject.description;
this._dispatchCallback(message.requestId, port, result);
}
- InjectedScriptAccess.getDefault().evaluate("(function() { var a = window.eval(unescape(\"" + escapedMessage + "\")); return JSON.stringify(a); })();", "", callback.bind(this));
+ var evalExpression = "JSON.stringify(eval('" +
+ "with (window.console._commandLineAPI) with (window) {' + unescape('" + escape(message.expression) +
+ "') + '}'));";
+ InjectedScriptAccess.getDefault().evaluate(evalExpression, callback.bind(this));
},
_onRevealAndSelect: function(message)
diff --git a/WebCore/inspector/front-end/Panel.js b/WebCore/inspector/front-end/Panel.js
index 8cbdebb..2a4104f 100644
--- a/WebCore/inspector/front-end/Panel.js
+++ b/WebCore/inspector/front-end/Panel.js
@@ -72,6 +72,11 @@ WebInspector.Panel.prototype = {
return this._toolbarItem;
},
+ get name()
+ {
+ return this._panelName;
+ },
+
show: function()
{
WebInspector.View.prototype.show.call(this);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list