diff options
Diffstat (limited to 'chrome/browser/gpu/gpu_mode_manager.cc')
-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 = |