Bug 1425574 - Fill the feature gap between Console.jsm and Console API - part 5 - prefix, r=smaug, r=bgrins

This commit is contained in:
Andrea Marchesini 2018-01-04 19:19:44 +01:00
Родитель 64da136229
Коммит 761f064f3e
6 изменённых файлов: 16 добавлений и 1 удалений

Просмотреть файл

@ -2591,6 +2591,11 @@ Console::MaybeExecuteDumpFunction(JSContext* aCx,
message.Append(aMethodName); message.Append(aMethodName);
message.AppendLiteral(": "); message.AppendLiteral(": ");
if (!mDumpPrefix.IsEmpty()) {
message.Append(mDumpPrefix);
message.AppendLiteral(": ");
}
for (uint32_t i = 0; i < aData.Length(); ++i) { for (uint32_t i = 0; i < aData.Length(); ++i) {
JS::Rooted<JS::Value> v(aCx, aData[i]); JS::Rooted<JS::Value> v(aCx, aData[i]);
JS::Rooted<JSString*> jsString(aCx, JS_ValueToSource(aCx, v)); JS::Rooted<JSString*> jsString(aCx, JS_ValueToSource(aCx, v));
@ -2624,6 +2629,11 @@ Console::MaybeExecuteDumpFunctionForTrace(JSContext* aCx, nsIStackFrame* aStack)
nsAutoString message; nsAutoString message;
message.AssignLiteral("console.trace:\n"); message.AssignLiteral("console.trace:\n");
if (!mDumpPrefix.IsEmpty()) {
message.Append(mDumpPrefix);
message.AppendLiteral(": ");
}
nsCOMPtr<nsIStackFrame> stack(aStack); nsCOMPtr<nsIStackFrame> stack(aStack);
while (stack) { while (stack) {

Просмотреть файл

@ -433,6 +433,7 @@ private:
nsString mPassedInnerID; nsString mPassedInnerID;
RefPtr<ConsoleInstanceDumpCallback> mDumpFunction; RefPtr<ConsoleInstanceDumpCallback> mDumpFunction;
bool mDumpToStdout; bool mDumpToStdout;
nsString mDumpPrefix;
enum { enum {
eUnknown, eUnknown,

Просмотреть файл

@ -31,6 +31,8 @@ ConsoleInstance::ConsoleInstance(const ConsoleInstanceOptions& aOptions)
// For historical reasons, ConsoleInstance prints messages on stdout. // For historical reasons, ConsoleInstance prints messages on stdout.
mConsole->mDumpToStdout = true; mConsole->mDumpToStdout = true;
} }
mConsole->mDumpPrefix = aOptions.mPrefix;
} }
ConsoleInstance::~ConsoleInstance() ConsoleInstance::~ConsoleInstance()

Просмотреть файл

@ -13,6 +13,7 @@ this.ConsoleTest = {
consoleID: "wow", consoleID: "wow",
innerID: "CUSTOM INNER", innerID: "CUSTOM INNER",
dump: dumpFunction, dump: dumpFunction,
prefix: "_PREFIX_";
}); });
c.log("Hello world!"); c.log("Hello world!");

Просмотреть файл

@ -19,6 +19,7 @@ const JSM = "chrome://mochitests/content/chrome/dom/console/tests/console.jsm";
let dumpCalled = 0; let dumpCalled = 0;
function dumpFunction(msg) { function dumpFunction(msg) {
ok(msg.indexOf("_PREFIX_") != -1, "we have a prefix");
dump("Message received: " + msg); // Just for debugging dump("Message received: " + msg); // Just for debugging
dumpCalled++; dumpCalled++;
} }

Просмотреть файл

@ -158,8 +158,8 @@ callback ConsoleInstanceDumpCallback = void (DOMString message);
dictionary ConsoleInstanceOptions { dictionary ConsoleInstanceOptions {
ConsoleInstanceDumpCallback dump; ConsoleInstanceDumpCallback dump;
/* TODO:
DOMString prefix = ""; DOMString prefix = "";
/* TODO:
DOMString maxLogLevel = ""; DOMString maxLogLevel = "";
*/ */
DOMString innerID = ""; DOMString innerID = "";