Bug 795307 - Use telemetry to report touch enabled device stats. r=nfroyd

This commit is contained in:
Jim Mathies 2012-09-28 14:11:12 -05:00
parent 8e0584101d
commit 1bf7273ba1

View File

@ -38,8 +38,18 @@ static int32_t GetSystemParam(long flag, int32_t def)
return ::SystemParametersInfo(flag, 0, &value, 0) ? value : def; return ::SystemParametersInfo(flag, 0, &value, 0) ? value : def;
} }
static int32_t IsTouchPresent()
{
int32_t touchCapabilities;
touchCapabilities = ::GetSystemMetrics(SM_DIGITIZER);
return ((touchCapabilities & NID_READY) &&
(touchCapabilities & (NID_EXTERNAL_TOUCH | NID_INTEGRATED_TOUCH)));
}
nsLookAndFeel::nsLookAndFeel() : nsXPLookAndFeel() nsLookAndFeel::nsLookAndFeel() : nsXPLookAndFeel()
{ {
mozilla::Telemetry::Accumulate(mozilla::Telemetry::TOUCH_ENABLED_DEVICE,
IsTouchPresent());
} }
nsLookAndFeel::~nsLookAndFeel() nsLookAndFeel::~nsLookAndFeel()
@ -365,13 +375,7 @@ nsLookAndFeel::GetIntImpl(IntID aID, int32_t &aResult)
aResult = !IsAppThemed(); aResult = !IsAppThemed();
break; break;
case eIntID_TouchEnabled: case eIntID_TouchEnabled:
aResult = 0; aResult = IsTouchPresent();
int32_t touchCapabilities;
touchCapabilities = ::GetSystemMetrics(SM_DIGITIZER);
if ((touchCapabilities & NID_READY) &&
(touchCapabilities & (NID_EXTERNAL_TOUCH | NID_INTEGRATED_TOUCH))) {
aResult = 1;
}
break; break;
case eIntID_WindowsDefaultTheme: case eIntID_WindowsDefaultTheme:
aResult = nsUXThemeData::IsDefaultWindowTheme(); aResult = nsUXThemeData::IsDefaultWindowTheme();