diff options
author | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-11 20:04:10 +0000 |
---|---|---|
committer | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-11 20:04:10 +0000 |
commit | dad379c1cf66e55df4691b4e6629b0155f5d8996 (patch) | |
tree | ea6ec50fc7fe10cd7ebb5d29dd68fbd4335a7c9e /chrome/browser/gpu | |
parent | 2280dc815204af92079733bd445d5c30f4d3d680 (diff) | |
download | chromium_src-dad379c1cf66e55df4691b4e6629b0155f5d8996.zip chromium_src-dad379c1cf66e55df4691b4e6629b0155f5d8996.tar.gz chromium_src-dad379c1cf66e55df4691b4e6629b0155f5d8996.tar.bz2 |
Add UMA stats for GPU feature disable checkbox.
BUG=226874
TEST=
Review URL: https://codereview.chromium.org/14113002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193715 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gpu')
-rw-r--r-- | chrome/browser/gpu/gpu_mode_manager.cc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/chrome/browser/gpu/gpu_mode_manager.cc b/chrome/browser/gpu/gpu_mode_manager.cc index f56cb76..bb18baf 100644 --- a/chrome/browser/gpu/gpu_mode_manager.cc +++ b/chrome/browser/gpu/gpu_mode_manager.cc @@ -5,16 +5,38 @@ #include "chrome/browser/gpu/gpu_mode_manager.h" #include "base/bind.h" +#include "base/metrics/histogram.h" #include "base/prefs/pref_registry_simple.h" #include "base/prefs/pref_service.h" #include "chrome/browser/browser_process.h" #include "chrome/common/pref_names.h" #include "content/public/browser/gpu_data_manager.h" +#include "content/public/browser/user_metrics.h" + +using content::UserMetricsAction; + +namespace { + +bool GetPreviousGpuModePref() { + PrefService* service = g_browser_process->local_state(); + DCHECK(service); + return service->GetBoolean(prefs::kHardwareAccelerationModePrevious); +} + +void SetPreviousGpuModePref(bool enabled) { + PrefService* service = g_browser_process->local_state(); + DCHECK(service); + service->SetBoolean(prefs::kHardwareAccelerationModePrevious, enabled); +} + +} // namespace anonymous // static void GpuModeManager::RegisterPrefs(PrefRegistrySimple* registry) { registry->RegisterBooleanPref( prefs::kHardwareAccelerationModeEnabled, true); + registry->RegisterBooleanPref( + prefs::kHardwareAccelerationModePrevious, true); } GpuModeManager::GpuModeManager() @@ -28,6 +50,15 @@ GpuModeManager::GpuModeManager() base::Bind(&base::DoNothing)); initial_gpu_mode_pref_ = IsGpuModePrefEnabled(); + bool previous_gpu_mode_pref = GetPreviousGpuModePref(); + SetPreviousGpuModePref(initial_gpu_mode_pref_); + + UMA_HISTOGRAM_BOOLEAN("GPU.HardwareAccelerationModeEnabled", + initial_gpu_mode_pref_); + if (previous_gpu_mode_pref && !initial_gpu_mode_pref_) + content::RecordAction(UserMetricsAction("GpuAccelerationDisabled")); + if (!previous_gpu_mode_pref && initial_gpu_mode_pref_) + content::RecordAction(UserMetricsAction("GpuAccelerationEnabled")); if (!initial_gpu_mode_pref_) { content::GpuDataManager* gpu_data_manager = |