Bug 1052395 - Improve ipc debug output for unhandled nonqueued Windows messages. r=bent

This commit is contained in:
Jim Mathies
2014-08-12 14:06:00 -05:00
parent 7219112f6f
commit 0b7643f743
6 changed files with 387 additions and 351 deletions

View File

@@ -14,6 +14,7 @@
#include "nsServiceManagerUtils.h"
#include "nsString.h"
#include "nsIXULAppInfo.h"
#include "WinUtils.h"
#include "mozilla/PaintTracker.h"
@@ -169,10 +170,31 @@ static void
DumpNeuteredMessage(HWND hwnd, UINT uMsg)
{
#ifdef DEBUG
nsAutoCString log("Received \"nonqueued\" message ");
log.AppendInt(uMsg);
nsAutoCString log("Received \"nonqueued\" ");
// classify messages
if (uMsg < WM_USER) {
int idx = 0;
while (mozilla::widget::gAllEvents[idx].mId != (long)uMsg &&
mozilla::widget::gAllEvents[idx].mStr != nullptr) {
idx++;
}
if (mozilla::widget::gAllEvents[idx].mStr) {
log.AppendPrintf("ui message \"%s\"", mozilla::widget::gAllEvents[idx].mStr);
} else {
log.AppendPrintf("ui message (0x%X)", uMsg);
}
} else if (uMsg >= WM_USER && uMsg < WM_APP) {
log.AppendPrintf("WM_USER message (0x%X)", uMsg);
} else if (uMsg >= WM_APP && uMsg < 0xC000) {
log.AppendPrintf("WM_APP message (0x%X)", uMsg);
} else if (uMsg >= 0xC000 && uMsg < 0x10000) {
log.AppendPrintf("registered windows message (0x%X)", uMsg);
} else {
log.AppendPrintf("system message (0x%X)", uMsg);
}
log.AppendLiteral(" during a synchronous IPC message for window ");
log.AppendInt((int64_t)hwnd);
log.AppendPrintf("0x%X", hwnd);
wchar_t className[256] = { 0 };
if (GetClassNameW(hwnd, className, sizeof(className) - 1) > 0) {