summaryrefslogtreecommitdiffstats
path: root/content/browser/gpu/gpu_internals_ui.cc
diff options
context:
space:
mode:
authorzmo@google.com <zmo@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-14 22:13:21 +0000
committerzmo@google.com <zmo@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-14 22:13:21 +0000
commit3de7a5ddcea8b3948d8f28d87c07666390ff02d7 (patch)
tree3c9316a2a9fe7725e31e336445fdcbaaea48a2c3 /content/browser/gpu/gpu_internals_ui.cc
parented5ecd3e104c3ded7d0f0b0c7214f4a60eaff2cd (diff)
downloadchromium_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.cc19
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();
}