зеркало из https://github.com/mozilla/gecko-dev.git
Bug 773466 - Console will stop displaying output; r=rcampbell
This commit is contained in:
Родитель
819ee3058d
Коммит
02412858be
|
@ -1176,12 +1176,13 @@ let ConsoleAPIObserver = {
|
|||
aRemoteMessage.objectsCacheId = Manager.sequenceId;
|
||||
aRemoteMessage.argumentsToString = [];
|
||||
let mapFunction = function(aItem) {
|
||||
aRemoteMessage.argumentsToString.push(this._formatObject(aItem));
|
||||
let formattedObject = this._formatObject(aItem);
|
||||
aRemoteMessage.argumentsToString.push(formattedObject);
|
||||
if (WebConsoleUtils.isObjectInspectable(aItem)) {
|
||||
return JSTerm.prepareObjectForRemote(aItem,
|
||||
aRemoteMessage.objectsCacheId);
|
||||
}
|
||||
return aItem;
|
||||
return formattedObject;
|
||||
}.bind(this);
|
||||
|
||||
aRemoteMessage.apiMessage.arguments =
|
||||
|
|
|
@ -4236,7 +4236,7 @@ ConsoleUtils = {
|
|||
treeView.data = {
|
||||
rootCacheId: body.cacheId,
|
||||
panelCacheId: body.cacheId,
|
||||
remoteObject: body.remoteObject,
|
||||
remoteObject: Array.isArray(body.remoteObject) ? body.remoteObject : [],
|
||||
remoteObjectProvider: body.remoteObjectProvider,
|
||||
};
|
||||
|
||||
|
|
|
@ -111,6 +111,7 @@ MOCHITEST_BROWSER_FILES = \
|
|||
browser_webconsole_menustatus.js \
|
||||
browser_result_format_as_string.js \
|
||||
browser_webconsole_bug_737873_mixedcontent.js \
|
||||
browser_output_breaks_after_console_dir_uninspectable.js \
|
||||
head.js \
|
||||
$(NULL)
|
||||
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
/* vim:set ts=2 sw=2 sts=2 et: */
|
||||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
// Make sure that the Web Console output does not break after we try to call
|
||||
// console.dir() for objects that are not inspectable.
|
||||
|
||||
function test()
|
||||
{
|
||||
waitForExplicitFinish();
|
||||
|
||||
addTab("data:text/html;charset=utf8,test for bug 773466");
|
||||
|
||||
gBrowser.selectedBrowser.addEventListener("load", function onLoad() {
|
||||
gBrowser.selectedBrowser.removeEventListener("load", onLoad, true);
|
||||
openConsole(null, performTest);
|
||||
}, true);
|
||||
}
|
||||
|
||||
function performTest(hud)
|
||||
{
|
||||
hud.jsterm.clearOutput(true);
|
||||
|
||||
content.console.log("fooBug773466a");
|
||||
content.console.dir(function funBug773466(){});
|
||||
waitForSuccess({
|
||||
name: "eval results are shown",
|
||||
validatorFn: function()
|
||||
{
|
||||
return hud.outputNode.textContent.indexOf("funBug773466") > -1;
|
||||
},
|
||||
successFn: function()
|
||||
{
|
||||
isnot(hud.outputNode.textContent.indexOf("fooBug773466a"), -1,
|
||||
"fooBug773466a shows");
|
||||
ok(hud.outputNode.querySelector(".webconsole-msg-inspector"),
|
||||
"the console.dir() tree shows");
|
||||
|
||||
content.console.log("fooBug773466b");
|
||||
|
||||
waitForSuccess(waitForAnotherConsoleLogCall);
|
||||
},
|
||||
failureFn: finishTest,
|
||||
});
|
||||
|
||||
let waitForAnotherConsoleLogCall = {
|
||||
name: "eval result after console.dir()",
|
||||
validatorFn: function()
|
||||
{
|
||||
return hud.outputNode.textContent.indexOf("fooBug773466b") > -1;
|
||||
},
|
||||
successFn: finishTest,
|
||||
failureFn: finishTest,
|
||||
};
|
||||
}
|
Загрузка…
Ссылка в новой задаче