From 83245fc00d5201030447b52130f96f5884c7ab7f Mon Sep 17 00:00:00 2001 From: Eric Rahm <erahm@mozilla.com> Date: Mon, 22 Sep 2014 15:32:21 -0700 Subject: [PATCH] Bug 1060171 - Part 1: Add log levels to nsIConsoleMessage. r=froydnj --- js/xpconnect/idl/nsIScriptError.idl | 2 +- js/xpconnect/src/nsScriptError.cpp | 9 +++++++++ xpcom/base/nsConsoleMessage.cpp | 7 +++++++ xpcom/base/nsIConsoleMessage.idl | 13 ++++++++++++- 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/js/xpconnect/idl/nsIScriptError.idl b/js/xpconnect/idl/nsIScriptError.idl index aa0157c6bd2d..8b767629942d 100644 --- a/js/xpconnect/idl/nsIScriptError.idl +++ b/js/xpconnect/idl/nsIScriptError.idl @@ -11,7 +11,7 @@ #include "nsISupports.idl" #include "nsIConsoleMessage.idl" -[scriptable, uuid(cac9d8e8-0d53-4fa8-9903-bb367e4fa1fe)] +[scriptable, uuid(d6a8dae2-367f-4939-a843-11e0c48e240c)] interface nsIScriptError : nsIConsoleMessage { /** pseudo-flag for default case */ diff --git a/js/xpconnect/src/nsScriptError.cpp b/js/xpconnect/src/nsScriptError.cpp index 944da2e741ee..6a03d79130a2 100644 --- a/js/xpconnect/src/nsScriptError.cpp +++ b/js/xpconnect/src/nsScriptError.cpp @@ -52,6 +52,15 @@ nsScriptError::GetMessageMoz(char16_t **result) { return NS_OK; } + +NS_IMETHODIMP +nsScriptError::GetLogLevel(uint32_t* aLogLevel) +{ + *aLogLevel = mFlags & (uint32_t)nsIScriptError::errorFlag ? + nsIConsoleMessage::error : nsIConsoleMessage::warn; + return NS_OK; +} + // nsIScriptError methods NS_IMETHODIMP nsScriptError::GetErrorMessage(nsAString& aResult) { diff --git a/xpcom/base/nsConsoleMessage.cpp b/xpcom/base/nsConsoleMessage.cpp index c6dc6688f16b..e3530745b745 100644 --- a/xpcom/base/nsConsoleMessage.cpp +++ b/xpcom/base/nsConsoleMessage.cpp @@ -33,6 +33,13 @@ nsConsoleMessage::GetMessageMoz(char16_t** aResult) return NS_OK; } +NS_IMETHODIMP +nsConsoleMessage::GetLogLevel(uint32_t* aLogLevel) +{ + *aLogLevel = nsConsoleMessage::info; + return NS_OK; +} + NS_IMETHODIMP nsConsoleMessage::GetTimeStamp(int64_t* aTimeStamp) { diff --git a/xpcom/base/nsIConsoleMessage.idl b/xpcom/base/nsIConsoleMessage.idl index ba6a80f8d93e..bf233b28bbfb 100644 --- a/xpcom/base/nsIConsoleMessage.idl +++ b/xpcom/base/nsIConsoleMessage.idl @@ -10,9 +10,20 @@ * provide an object that can be qi'ed to provide more specific * message information. */ -[scriptable, uuid(c14c151b-5ea4-47ed-8e85-d392cdd3e154)] +[scriptable, uuid(3aba9617-10e2-4839-83ae-2e6fc4df428b)] interface nsIConsoleMessage : nsISupports { + /** Log level constants. */ + const uint32_t debug = 0; + const uint32_t info = 1; + const uint32_t warn = 2; + const uint32_t error = 3; + + /** + * The log level of this message. + */ + readonly attribute uint32_t logLevel; + /** * The time (in milliseconds from the Epoch) that the message instance * was initialised.