summaryrefslogtreecommitdiffstats
path: root/content/browser/gpu/gpu_data_manager_impl_private.h
diff options
context:
space:
mode:
authorzmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-12 20:45:11 +0000
committerzmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-12 20:45:11 +0000
commitb13862c40f4b5964f4328d91cdd175bb3d3f2d53 (patch)
tree842b452799552ffbe43054210291fea446559696 /content/browser/gpu/gpu_data_manager_impl_private.h
parent8ddc6b7c44630c67acd9c6b5dceaa1e6cce67431 (diff)
downloadchromium_src-b13862c40f4b5964f4328d91cdd175bb3d3f2d53.zip
chromium_src-b13862c40f4b5964f4328d91cdd175bb3d3f2d53.tar.gz
chromium_src-b13862c40f4b5964f4328d91cdd175bb3d3f2d53.tar.bz2
Use std::vector instead of base::List for log messages in GpuDataManagerImplPrivate
This is to verify if the crashes in ~GpuDataManagerImplPrivate() in chromeos is indeep a racing in log message handling. If after this CL, there are no new crashes in ~GpuDataManagerImplPrivate() that are related with log_messages_, then the bug is in DictionaryValue() instead. BUG=327463 TEST= B=kbr@chromium.org R=kbr@chromium.org Review URL: https://codereview.chromium.org/101513006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240400 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/gpu/gpu_data_manager_impl_private.h')
-rw-r--r--content/browser/gpu/gpu_data_manager_impl_private.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/content/browser/gpu/gpu_data_manager_impl_private.h b/content/browser/gpu/gpu_data_manager_impl_private.h
index 056920b..8332c50 100644
--- a/content/browser/gpu/gpu_data_manager_impl_private.h
+++ b/content/browser/gpu/gpu_data_manager_impl_private.h
@@ -9,6 +9,7 @@
#include <map>
#include <set>
#include <string>
+#include <vector>
#include "base/memory/ref_counted.h"
#include "base/memory/singleton.h"
@@ -163,6 +164,19 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate {
typedef ObserverListThreadSafe<GpuDataManagerObserver>
GpuDataManagerObserverList;
+ struct LogMessage {
+ int level;
+ std::string header;
+ std::string message;
+
+ LogMessage(int _level,
+ const std::string& _header,
+ const std::string& _message)
+ : level(_level),
+ header(_header),
+ message(_message) { }
+ };
+
explicit GpuDataManagerImplPrivate(GpuDataManagerImpl* owner);
void InitializeImpl(const std::string& gpu_blacklist_json,
@@ -211,7 +225,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate {
const scoped_refptr<GpuDataManagerObserverList> observer_list_;
- base::ListValue log_messages_;
+ std::vector<LogMessage> log_messages_;
bool use_swiftshader_;