diff options
author | zmo@google.com <zmo@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-14 22:13:21 +0000 |
---|---|---|
committer | zmo@google.com <zmo@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-14 22:13:21 +0000 |
commit | 3de7a5ddcea8b3948d8f28d87c07666390ff02d7 (patch) | |
tree | 3c9316a2a9fe7725e31e336445fdcbaaea48a2c3 /content/browser/gpu/gpu_internals_ui.cc | |
parent | ed5ecd3e104c3ded7d0f0b0c7214f4a60eaff2cd (diff) | |
download | chromium_src-3de7a5ddcea8b3948d8f28d87c07666390ff02d7.zip chromium_src-3de7a5ddcea8b3948d8f28d87c07666390ff02d7.tar.gz chromium_src-3de7a5ddcea8b3948d8f28d87c07666390ff02d7.tar.bz2 |
Refactor GpuDataManagerImpl to make it thread-safe.
Try to reland r199530 after fixing an issue that causes Mac Debug to crash when switching GPUs.
The original review can be found here: https://codereview.chromium.org/14794006/
BUG=232556
TBR=joi@chromium.org, kbr@chromium.org, piman@chromium.org
Review URL: https://codereview.chromium.org/14981007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200086 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/gpu/gpu_internals_ui.cc')
-rw-r--r-- | content/browser/gpu/gpu_internals_ui.cc | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/content/browser/gpu/gpu_internals_ui.cc b/content/browser/gpu/gpu_internals_ui.cc index eb7646c..6419ba8 100644 --- a/content/browser/gpu/gpu_internals_ui.cc +++ b/content/browser/gpu/gpu_internals_ui.cc @@ -479,9 +479,7 @@ class GpuMessageHandler // GpuDataManagerObserver implementation. virtual void OnGpuInfoUpdate() OVERRIDE; - - // Gpu switch handler. - void OnGpuSwitch(); + virtual void OnGpuSwitching() OVERRIDE; // Messages void OnBrowserBridgeInitialized(const base::ListValue* list); @@ -496,8 +494,6 @@ class GpuMessageHandler // DCHECK). bool observing_; - GpuDataManagerImpl::GpuSwitchCallback gpu_switch_callback_; - DISALLOW_COPY_AND_ASSIGN(GpuMessageHandler); }; @@ -508,15 +504,11 @@ class GpuMessageHandler //////////////////////////////////////////////////////////////////////////////// GpuMessageHandler::GpuMessageHandler() - : observing_(false), - gpu_switch_callback_(base::Bind(&GpuMessageHandler::OnGpuSwitch, - base::Unretained(this))) { + : observing_(false) { } GpuMessageHandler::~GpuMessageHandler() { GpuDataManagerImpl::GetInstance()->RemoveObserver(this); - GpuDataManagerImpl::GetInstance()->RemoveGpuSwitchCallback( - gpu_switch_callback_); } /* BrowserBridge.callAsync prepends a requestID to these messages. */ @@ -583,11 +575,8 @@ void GpuMessageHandler::OnBrowserBridgeInitialized( DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); // Watch for changes in GPUInfo - if (!observing_) { + if (!observing_) GpuDataManagerImpl::GetInstance()->AddObserver(this); - GpuDataManagerImpl::GetInstance()->AddGpuSwitchCallback( - gpu_switch_callback_); - } observing_ = true; // Tell GpuDataManager it should have full GpuInfo. If the @@ -639,7 +628,7 @@ void GpuMessageHandler::OnGpuInfoUpdate() { *(gpu_info_val.get())); } -void GpuMessageHandler::OnGpuSwitch() { +void GpuMessageHandler::OnGpuSwitching() { GpuDataManagerImpl::GetInstance()->RequestCompleteGpuInfoIfNeeded(); } |