зеркало из https://github.com/mozilla/gecko-dev.git
Backout 06b998c1100d (bug 664695) due to mochitest-other orange.
This commit is contained in:
Родитель
9656961ce4
Коммит
f1d654c74a
|
@ -35,7 +35,9 @@ function test() {
|
|||
consoleService.registerListener(consoleObserver);
|
||||
|
||||
function messageExists() {
|
||||
let messages = consoleService.getMessageArray() || [];
|
||||
let out = {};
|
||||
consoleService.getMessageArray(out, {});
|
||||
let messages = out.value || [];
|
||||
for (let i = 0; i < messages.length; ++i) {
|
||||
if (messages[i].message == TEST_MESSAGE)
|
||||
return true;
|
||||
|
|
|
@ -434,8 +434,9 @@ function compareConsoleMessages()
|
|||
{
|
||||
var consoleService = Components.classes["@mozilla.org/consoleservice;1"].
|
||||
getService(Components.interfaces.nsIConsoleService);
|
||||
var messages = consoleService.getMessageArray() || [];
|
||||
messages = messages.map(function (m) m.message);
|
||||
var out = {};
|
||||
consoleService.getMessageArray(out, {});
|
||||
var messages = (out.value || []).map(function (m) m.message);
|
||||
// Copy to avoid modifying expectedConsoleMessages
|
||||
var expect = expectedConsoleMessages.concat();
|
||||
for (var m = 0; m < messages.length; m++) {
|
||||
|
|
|
@ -23,8 +23,9 @@ var consoleService = Components.classes["@mozilla.org/consoleservice;1"].
|
|||
|
||||
function checkConsole(expectedError)
|
||||
{
|
||||
var message = consoleService.getMessageArray()[0].message;
|
||||
is(message, expectedError, "logged message " + expectedError);
|
||||
var out = {};
|
||||
consoleService.getMessageArray(out, {});
|
||||
is(out.value[0].message, expectedError, "logged message " + expectedError);
|
||||
}
|
||||
|
||||
// each test consists of a pre function executed before the template build, an
|
||||
|
|
|
@ -192,7 +192,9 @@ let ConsoleView = {
|
|||
},
|
||||
|
||||
appendInitialItems: function cv_appendInitialItems() {
|
||||
let messages = Services.console.getMessageArray();
|
||||
let out = {}; // Throwaway references to support 'out' parameters.
|
||||
Services.console.getMessageArray(out, {});
|
||||
let messages = out.value;
|
||||
|
||||
// In case getMessageArray returns 0-length array as null
|
||||
if (!messages)
|
||||
|
|
|
@ -130,7 +130,9 @@
|
|||
|
||||
<method name="appendInitialItems">
|
||||
<body><![CDATA[
|
||||
var messages = Services.console.getMessageArray();
|
||||
var out = {}; // Throwaway references to support 'out' parameters.
|
||||
Services.console.getMessageArray(out, {});
|
||||
var messages = out.value;
|
||||
|
||||
// In case getMessageArray returns 0-length array as null
|
||||
if (!messages)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Description: Ensure unknown NS element in atom:author doesn't cause exception
|
||||
Expect: var mCService = Components.classes['@mozilla.org/consoleservice;1'].getService(Components.interfaces.nsIConsoleService); var msg = mCService.getMessageArray()[0]; if(msg){msg = msg.message}; ((msg + "").indexOf("prefix has no properties") == -1);
|
||||
Expect: var mCService = Components.classes['@mozilla.org/consoleservice;1'].getService(Components.interfaces.nsIConsoleService); var out = {}; mCService.getMessageArray(out, {}); var msg = out.value[0]; if(msg){msg = msg.message}; ((msg + "").indexOf("prefix has no properties") == -1);
|
||||
-->
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
|
||||
|
|
|
@ -1326,13 +1326,22 @@ PageErrorListener.prototype =
|
|||
{
|
||||
let innerWindowId = this.window ?
|
||||
WebConsoleUtils.getInnerWindowId(this.window) : null;
|
||||
let errors = Services.console.getMessageArray() || [];
|
||||
let result = [];
|
||||
let errors = {};
|
||||
Services.console.getMessageArray(errors, {});
|
||||
|
||||
return errors.filter(function(aError) {
|
||||
return aError instanceof Ci.nsIScriptError &&
|
||||
(!innerWindowId || aError.innerWindowID == innerWindowId) &&
|
||||
this.isCategoryAllowed(aError.category);
|
||||
(errors.value || []).forEach(function(aError) {
|
||||
if (!(aError instanceof Ci.nsIScriptError) ||
|
||||
(innerWindowId &&
|
||||
(aError.innerWindowID != innerWindowId ||
|
||||
!this.isCategoryAllowed(aError.category)))) {
|
||||
return;
|
||||
}
|
||||
|
||||
result.push(aError);
|
||||
}, this);
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
|
@ -58,7 +58,7 @@ WriteConsoleLog()
|
|||
nsIConsoleMessage** messages;
|
||||
uint32_t mcount;
|
||||
|
||||
rv = csrv->GetMessageArray(&mcount, &messages);
|
||||
rv = csrv->GetMessageArray(&messages, &mcount);
|
||||
if (NS_FAILED(rv)) {
|
||||
PR_Close(file);
|
||||
return;
|
||||
|
|
|
@ -208,7 +208,7 @@ nsConsoleService::LogStringMessage(const PRUnichar *message)
|
|||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsConsoleService::GetMessageArray(uint32_t *count, nsIConsoleMessage ***messages)
|
||||
nsConsoleService::GetMessageArray(nsIConsoleMessage ***messages, uint32_t *count)
|
||||
{
|
||||
nsIConsoleMessage **messageArray;
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#include "nsIConsoleListener.idl"
|
||||
#include "nsIConsoleMessage.idl"
|
||||
|
||||
[scriptable, uuid(0eb81d20-c37e-42d4-82a8-ca9ae96bdf52)]
|
||||
[scriptable, uuid(883472a0-ea9b-11da-8ad9-0800200c9a66)]
|
||||
interface nsIConsoleService : nsISupports
|
||||
{
|
||||
void logMessage(in nsIConsoleMessage message);
|
||||
|
@ -23,8 +23,8 @@ interface nsIConsoleService : nsISupports
|
|||
* will allocate one word for messages, so as to show up as a
|
||||
* 0-length array when called from script.
|
||||
*/
|
||||
void getMessageArray([optional] out uint32_t count,
|
||||
[retval, array, size_is(count)] out nsIConsoleMessage messages);
|
||||
void getMessageArray([array, size_is(count)] out nsIConsoleMessage messages,
|
||||
out uint32_t count);
|
||||
|
||||
/**
|
||||
* To guard against stack overflows from listeners that could log
|
||||
|
|
Загрузка…
Ссылка в новой задаче