Bug 838279 - Add isWow64 field to system info and to telemetry. r=bsmedberg

This commit is contained in:
Aaron Klotz 2013-02-11 20:49:33 -05:00
Родитель 786e2cf549
Коммит 006f4eb749
2 изменённых файлов: 15 добавлений и 1 удалений

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

@ -368,7 +368,7 @@ TelemetryPing.prototype = {
"device", "manufacturer", "hardware",
"hasMMX", "hasSSE", "hasSSE2", "hasSSE3",
"hasSSSE3", "hasSSE4A", "hasSSE4_1", "hasSSE4_2",
"hasEDSP", "hasARMv6", "hasARMv7", "hasNEON"];
"hasEDSP", "hasARMv6", "hasARMv7", "hasNEON", "isWow64"];
for each (let field in fields) {
let value;
try {

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

@ -12,6 +12,10 @@
#include "mozilla/SSE.h"
#include "mozilla/arm.h"
#ifdef XP_WIN
#include <windows.h>
#endif
#ifdef MOZ_WIDGET_GTK
#include <gtk/gtk.h>
#endif
@ -102,6 +106,16 @@ nsSystemInfo::Init()
NS_ENSURE_SUCCESS(rv, rv);
}
#ifdef XP_WIN
BOOL isWow64;
BOOL gotWow64Value = IsWow64Process(GetCurrentProcess(), &isWow64);
NS_WARN_IF_FALSE(gotWow64Value, "IsWow64Process failed");
if (gotWow64Value) {
rv = SetPropertyAsBool(NS_LITERAL_STRING("isWow64"), !!isWow64);
NS_ENSURE_SUCCESS(rv, rv);
}
#endif
#ifdef MOZ_WIDGET_GTK2
// This must be done here because NSPR can only separate OS's when compiled, not libraries.
char* gtkver = PR_smprintf("GTK %u.%u.%u", gtk_major_version, gtk_minor_version, gtk_micro_version);