author | Paul Rouget <paul@mozilla.com> |
Tue, 03 Sep 2013 09:15:51 +0200 | |
changeset 145282 | acd1d842771828ac5546c8922740195100d6ec5c |
parent 145281 | 9cc1839ef1f25741216a529bfa0aed71163a7e7c |
child 145283 | 8b82a374ece51b3d874bbc41db97ef5b2e0c5026 |
push id | 25205 |
push user | emorley@mozilla.com |
push date | Tue, 03 Sep 2013 11:14:02 +0000 |
treeherder | mozilla-central@7ff96bd19c1c [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | smaug |
bugs | 777972 |
milestone | 26.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/content/events/src/nsDOMTouchEvent.cpp +++ b/content/events/src/nsDOMTouchEvent.cpp @@ -188,40 +188,42 @@ namespace mozilla { namespace widget { extern int32_t IsTouchDeviceSupportPresent(); } } #endif bool nsDOMTouchEvent::PrefEnabled() { - static bool sDidCheckPref = false; - static bool sPrefValue = false; - if (!sDidCheckPref) { - sDidCheckPref = true; - int32_t flag = 0; - if (NS_SUCCEEDED(Preferences::GetInt("dom.w3c_touch_events.enabled", - &flag))) { - if (flag == 2) { + bool prefValue = false; + int32_t flag = 0; + if (NS_SUCCEEDED(Preferences::GetInt("dom.w3c_touch_events.enabled", + &flag))) { + if (flag == 2) { #ifdef XP_WIN - // On Windows we auto-detect based on device support. - sPrefValue = mozilla::widget::IsTouchDeviceSupportPresent(); + static bool sDidCheckTouchDeviceSupport = false; + static bool sIsTouchDeviceSupportPresent = false; + // On Windows we auto-detect based on device support. + if (!sDidCheckTouchDeviceSupport) { + sDidCheckTouchDeviceSupport = true; + sIsTouchDeviceSupportPresent = mozilla::widget::IsTouchDeviceSupportPresent(); + } + prefValue = sIsTouchDeviceSupportPresent; #else - NS_WARNING("dom.w3c_touch_events.enabled=2 not implemented!"); - sPrefValue = false; + NS_WARNING("dom.w3c_touch_events.enabled=2 not implemented!"); + prefValue = false; #endif - } else { - sPrefValue = !!flag; - } - } - if (sPrefValue) { - nsContentUtils::InitializeTouchEventTable(); + } else { + prefValue = !!flag; } } - return sPrefValue; + if (prefValue) { + nsContentUtils::InitializeTouchEventTable(); + } + return prefValue; } nsresult NS_NewDOMTouchEvent(nsIDOMEvent** aInstancePtrResult, mozilla::dom::EventTarget* aOwner, nsPresContext* aPresContext, nsTouchEvent *aEvent) {