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 | |
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
-rw-r--r-- | chrome/browser/gpu/gpu_mode_manager.cc | 31 | ||||
-rw-r--r-- | chrome/common/pref_names.cc | 4 | ||||
-rw-r--r-- | chrome/common/pref_names.h | 1 | ||||
-rw-r--r-- | tools/metrics/actions/chromeactions.txt | 4 |
4 files changed, 40 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 = diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc index 2df570f..262084e 100644 --- a/chrome/common/pref_names.cc +++ b/chrome/common/pref_names.cc @@ -2184,6 +2184,10 @@ const char kBackgroundModeEnabled[] = "background_mode.enabled"; const char kHardwareAccelerationModeEnabled[] = "hardware_acceleration_mode.enabled"; +// Hardware acceleration mode from previous browser launch. +const char kHardwareAccelerationModePrevious[] = + "hardware_acceleration_mode_previous"; + // List of protocol handlers. const char kRegisteredProtocolHandlers[] = "custom_handlers.registered_protocol_handlers"; diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h index 2e466cb..439547f 100644 --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h @@ -788,6 +788,7 @@ extern const char kUserCreatedLoginItem[]; extern const char kUserRemovedLoginItem[]; extern const char kBackgroundModeEnabled[]; extern const char kHardwareAccelerationModeEnabled[]; +extern const char kHardwareAccelerationModePrevious[]; extern const char kDevicePolicyRefreshRate[]; extern const char kUserPolicyRefreshRate[]; diff --git a/tools/metrics/actions/chromeactions.txt b/tools/metrics/actions/chromeactions.txt index 825ff2a..e2b7aeb 100644 --- a/tools/metrics/actions/chromeactions.txt +++ b/tools/metrics/actions/chromeactions.txt @@ -250,10 +250,12 @@ 0x1f885e1523585d6f ClearBrowsingData_MaskContainsUnprotectedWeb 0x511e8366cdda3890 ClearBrowsingData_Passwords 0x3db76495a0acc98c ClearBrowsingData_ServerBoundCerts +0xdaaff0c5b7682b18 ClearBrowsingData_ShaderCache 0x6d69a061f7adf595 ClearBrowsingData_ShowDlg 0x9fd631c62234969a ClearSelection 0x49c37636ddeb5a10 ClearSiteDataOnExitDisabled 0xf63362e0c7d7420d ClearSiteDataOnExitEnabled +0xdf8129e4f853f264 ClickDisableGpuAcceleration 0xf2c974774a0fd57e ClickToPlay_AllowAlways 0x3589e51b0b1bf730 ClickToPlay_Dismiss_Infobar 0xe1b2d67ea37c5ba0 ClickToPlay_InfobarShown @@ -398,6 +400,8 @@ 0xc06f4ecf7cf01b27 GoogleNow.ButtonClicked1 0x813aeef215b68741 GoogleNow.Dismissed 0x436c20892470d838 GoogleNow.MessageClicked +0xd6c29b06a8c7e3e2 GpuAccelerationDisabled +0xd18fed7efb6cf062 GpuAccelerationEnabled 0x696c3c52634726aa HiliteColor 0x4869b7ac0caae3fe History_DeleteHistory 0xddf00e6e13ebc7ab History_DragIcon |