diff --git a/dom/console/Console.cpp b/dom/console/Console.cpp index e5e6c51e864e..174d242ceb1b 100644 --- a/dom/console/Console.cpp +++ b/dom/console/Console.cpp @@ -2591,6 +2591,11 @@ Console::MaybeExecuteDumpFunction(JSContext* aCx, message.Append(aMethodName); message.AppendLiteral(": "); + if (!mDumpPrefix.IsEmpty()) { + message.Append(mDumpPrefix); + message.AppendLiteral(": "); + } + for (uint32_t i = 0; i < aData.Length(); ++i) { JS::Rooted v(aCx, aData[i]); JS::Rooted jsString(aCx, JS_ValueToSource(aCx, v)); @@ -2624,6 +2629,11 @@ Console::MaybeExecuteDumpFunctionForTrace(JSContext* aCx, nsIStackFrame* aStack) nsAutoString message; message.AssignLiteral("console.trace:\n"); + if (!mDumpPrefix.IsEmpty()) { + message.Append(mDumpPrefix); + message.AppendLiteral(": "); + } + nsCOMPtr stack(aStack); while (stack) { diff --git a/dom/console/Console.h b/dom/console/Console.h index e2b6226ed58a..f98be7ba1cf5 100644 --- a/dom/console/Console.h +++ b/dom/console/Console.h @@ -433,6 +433,7 @@ private: nsString mPassedInnerID; RefPtr mDumpFunction; bool mDumpToStdout; + nsString mDumpPrefix; enum { eUnknown, diff --git a/dom/console/ConsoleInstance.cpp b/dom/console/ConsoleInstance.cpp index 40c52dfa08a0..57243b1d4815 100644 --- a/dom/console/ConsoleInstance.cpp +++ b/dom/console/ConsoleInstance.cpp @@ -31,6 +31,8 @@ ConsoleInstance::ConsoleInstance(const ConsoleInstanceOptions& aOptions) // For historical reasons, ConsoleInstance prints messages on stdout. mConsole->mDumpToStdout = true; } + + mConsole->mDumpPrefix = aOptions.mPrefix; } ConsoleInstance::~ConsoleInstance() diff --git a/dom/console/tests/console.jsm b/dom/console/tests/console.jsm index 30c38123491a..ad33a973cb8f 100644 --- a/dom/console/tests/console.jsm +++ b/dom/console/tests/console.jsm @@ -13,6 +13,7 @@ this.ConsoleTest = { consoleID: "wow", innerID: "CUSTOM INNER", dump: dumpFunction, + prefix: "_PREFIX_"; }); c.log("Hello world!"); diff --git a/dom/console/tests/test_jsm.xul b/dom/console/tests/test_jsm.xul index 4eba1bd6ccfd..6c1fce9512e8 100644 --- a/dom/console/tests/test_jsm.xul +++ b/dom/console/tests/test_jsm.xul @@ -19,6 +19,7 @@ const JSM = "chrome://mochitests/content/chrome/dom/console/tests/console.jsm"; let dumpCalled = 0; function dumpFunction(msg) { + ok(msg.indexOf("_PREFIX_") != -1, "we have a prefix"); dump("Message received: " + msg); // Just for debugging dumpCalled++; } diff --git a/dom/webidl/Console.webidl b/dom/webidl/Console.webidl index 2ae8aa0dcff4..7ba99a64be81 100644 --- a/dom/webidl/Console.webidl +++ b/dom/webidl/Console.webidl @@ -158,8 +158,8 @@ callback ConsoleInstanceDumpCallback = void (DOMString message); dictionary ConsoleInstanceOptions { ConsoleInstanceDumpCallback dump; -/* TODO: DOMString prefix = ""; +/* TODO: DOMString maxLogLevel = ""; */ DOMString innerID = "";