Bug 1592297 - Remove MOZ_QUIET and disable this output by default. r=mccr8,jdescottes
Instead of setting MOZ_QUIET to hide the DOMWINDOW and DOCSHELL log messages, you now must set a regular logging module to enable them. They are automatically enabled on tests that rely on these messages are leak checking. That module is DocShellAndDOMWindowLeak:3 One disadvantage of this change is that you cannot set MOZ_QUIET to hide these messages when running those tests (primarily browser-chrome). Differential Revision: https://phabricator.services.mozilla.com/D52413
This commit is contained in:
@@ -262,6 +262,8 @@ static uint32_t gNumberOfPrivateDocShells = 0;
|
||||
|
||||
#ifdef DEBUG
|
||||
static mozilla::LazyLogModule gDocShellLog("nsDocShell");
|
||||
static mozilla::LazyLogModule gDocShellAndDOMWindowLeakLogging(
|
||||
"DocShellAndDOMWindowLeak");
|
||||
#endif
|
||||
static mozilla::LazyLogModule gDocShellLeakLog("nsDocShellLeak");
|
||||
extern mozilla::LazyLogModule gPageCacheLog;
|
||||
@@ -411,11 +413,9 @@ nsDocShell::nsDocShell(BrowsingContext* aBrowsingContext,
|
||||
#ifdef DEBUG
|
||||
// We're counting the number of |nsDocShells| to help find leaks
|
||||
++gNumberOfDocShells;
|
||||
if (!PR_GetEnv("MOZ_QUIET")) {
|
||||
printf_stderr("++DOCSHELL %p == %ld [pid = %d] [id = %s]\n", (void*)this,
|
||||
gNumberOfDocShells, getpid(),
|
||||
nsIDToCString(mHistoryID).get());
|
||||
}
|
||||
MOZ_LOG(gDocShellAndDOMWindowLeakLogging, LogLevel::Info,
|
||||
("++DOCSHELL %p == %ld [pid = %d] [id = %s]\n", (void*)this,
|
||||
gNumberOfDocShells, getpid(), nsIDToCString(mHistoryID).get()));
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -438,22 +438,24 @@ nsDocShell::~nsDocShell() {
|
||||
MOZ_LOG(gDocShellLeakLog, LogLevel::Debug, ("DOCSHELL %p destroyed\n", this));
|
||||
|
||||
#ifdef DEBUG
|
||||
nsAutoCString url;
|
||||
if (mLastOpenedURI) {
|
||||
url = mLastOpenedURI->GetSpecOrDefault();
|
||||
if (MOZ_LOG_TEST(gDocShellAndDOMWindowLeakLogging, LogLevel::Info)) {
|
||||
nsAutoCString url;
|
||||
if (mLastOpenedURI) {
|
||||
url = mLastOpenedURI->GetSpecOrDefault();
|
||||
|
||||
// Data URLs can be very long, so truncate to avoid flooding the log.
|
||||
const uint32_t maxURLLength = 1000;
|
||||
if (url.Length() > maxURLLength) {
|
||||
url.Truncate(maxURLLength);
|
||||
// Data URLs can be very long, so truncate to avoid flooding the log.
|
||||
const uint32_t maxURLLength = 1000;
|
||||
if (url.Length() > maxURLLength) {
|
||||
url.Truncate(maxURLLength);
|
||||
}
|
||||
}
|
||||
}
|
||||
// We're counting the number of |nsDocShells| to help find leaks
|
||||
--gNumberOfDocShells;
|
||||
if (!PR_GetEnv("MOZ_QUIET")) {
|
||||
printf_stderr("--DOCSHELL %p == %ld [pid = %d] [id = %s] [url = %s]\n",
|
||||
(void*)this, gNumberOfDocShells, getpid(),
|
||||
nsIDToCString(mHistoryID).get(), url.get());
|
||||
|
||||
// We're counting the number of |nsDocShells| to help find leaks
|
||||
--gNumberOfDocShells;
|
||||
MOZ_LOG(gDocShellAndDOMWindowLeakLogging, LogLevel::Info,
|
||||
("--DOCSHELL %p == %ld [pid = %d] [id = %s] [url = %s]\n",
|
||||
(void*)this, gNumberOfDocShells, getpid(),
|
||||
nsIDToCString(mHistoryID).get(), url.get()));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user