diff options
author | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-22 23:48:53 +0000 |
---|---|---|
committer | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-22 23:48:53 +0000 |
commit | 5837679a4aef83ff76370cc2647966f06b235c27 (patch) | |
tree | f4b664cc8d7fbb405745689895c0a798775df13e /chrome/browser/gpu | |
parent | 272c170b76f341a3338c8e82654e2ce24a7becb0 (diff) | |
download | chromium_src-5837679a4aef83ff76370cc2647966f06b235c27.zip chromium_src-5837679a4aef83ff76370cc2647966f06b235c27.tar.gz chromium_src-5837679a4aef83ff76370cc2647966f06b235c27.tar.bz2 |
Get the init gpu mode from when chrome starts instead of when settings page starts
If we open settings page, change gpu mode, open a new tab, close the original setting page. Now on the new tab, go to settings page.
Without this CL: it didn't show the restart link (which is wrong)
With this CL: it shows.
BUG=173130
TEST=settings page (as described above)
Review URL: https://codereview.chromium.org/12438035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189949 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gpu')
-rw-r--r-- | chrome/browser/gpu/gpu_mode_manager.cc | 11 | ||||
-rw-r--r-- | chrome/browser/gpu/gpu_mode_manager.h | 6 |
2 files changed, 14 insertions, 3 deletions
diff --git a/chrome/browser/gpu/gpu_mode_manager.cc b/chrome/browser/gpu/gpu_mode_manager.cc index 38ec835..f56cb76 100644 --- a/chrome/browser/gpu/gpu_mode_manager.cc +++ b/chrome/browser/gpu/gpu_mode_manager.cc @@ -17,7 +17,8 @@ void GpuModeManager::RegisterPrefs(PrefRegistrySimple* registry) { prefs::kHardwareAccelerationModeEnabled, true); } -GpuModeManager::GpuModeManager() { +GpuModeManager::GpuModeManager() + : initial_gpu_mode_pref_(true) { if (g_browser_process->local_state()) { // Skip for unit tests pref_registrar_.Init(g_browser_process->local_state()); // Do nothing when the pref changes. It takes effect after @@ -26,7 +27,9 @@ GpuModeManager::GpuModeManager() { prefs::kHardwareAccelerationModeEnabled, base::Bind(&base::DoNothing)); - if (!IsGpuModePrefEnabled()) { + initial_gpu_mode_pref_ = IsGpuModePrefEnabled(); + + if (!initial_gpu_mode_pref_) { content::GpuDataManager* gpu_data_manager = content::GpuDataManager::GetInstance(); DCHECK(gpu_data_manager); @@ -38,6 +41,10 @@ GpuModeManager::GpuModeManager() { GpuModeManager::~GpuModeManager() { } +bool GpuModeManager::initial_gpu_mode_pref() const { + return initial_gpu_mode_pref_; +} + // static bool GpuModeManager::IsGpuModePrefEnabled() { PrefService* service = g_browser_process->local_state(); diff --git a/chrome/browser/gpu/gpu_mode_manager.h b/chrome/browser/gpu/gpu_mode_manager.h index 872c6fd..8dd605b 100644 --- a/chrome/browser/gpu/gpu_mode_manager.h +++ b/chrome/browser/gpu/gpu_mode_manager.h @@ -16,11 +16,15 @@ class GpuModeManager { GpuModeManager(); ~GpuModeManager(); - static bool IsGpuModePrefEnabled(); + bool initial_gpu_mode_pref() const; private: + static bool IsGpuModePrefEnabled(); + PrefChangeRegistrar pref_registrar_; + bool initial_gpu_mode_pref_; + DISALLOW_COPY_AND_ASSIGN(GpuModeManager); }; |