Index: chrome/browser/gpu/gl_string_manager.cc |
diff --git a/chrome/browser/gpu/gl_string_manager.cc b/chrome/browser/gpu/gl_string_manager.cc |
index d0149dfd6a93598508e2c5aab7d855b9ffcc652b..fd29cf027d8a4ddcb2151ba5cf769baadb88ccd9 100644 |
--- a/chrome/browser/gpu/gl_string_manager.cc |
+++ b/chrome/browser/gpu/gl_string_manager.cc |
@@ -4,12 +4,14 @@ |
#include "chrome/browser/gpu/gl_string_manager.h" |
+#include "base/command_line.h" |
#include "base/prefs/pref_registry_simple.h" |
#include "base/prefs/pref_service.h" |
#include "build/build_config.h" |
#include "chrome/browser/browser_process.h" |
#include "chrome/common/pref_names.h" |
#include "content/public/browser/gpu_data_manager.h" |
+#include "gpu/config/gpu_switches.h" |
// static |
void GLStringManager::RegisterPrefs(PrefRegistrySimple* registry) { |
@@ -34,9 +36,25 @@ void GLStringManager::Initialize() { |
if (!local_state) |
return; |
- gl_vendor_ = local_state->GetString(prefs::kGLVendorString); |
- gl_renderer_ = local_state->GetString(prefs::kGLRendererString); |
- gl_version_ = local_state->GetString(prefs::kGLVersionString); |
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
+ |
+ if (command_line->HasSwitch(switches::kGpuTestingGLVendor)) |
+ gl_vendor_ = |
+ command_line->GetSwitchValueASCII(switches::kGpuTestingGLVendor); |
+ else |
+ gl_vendor_ = local_state->GetString(prefs::kGLVendorString); |
+ |
+ if (command_line->HasSwitch(switches::kGpuTestingGLRenderer)) |
+ gl_renderer_ = |
+ command_line->GetSwitchValueASCII(switches::kGpuTestingGLRenderer); |
+ else |
+ gl_renderer_ = local_state->GetString(prefs::kGLRendererString); |
+ |
+ if (command_line->HasSwitch(switches::kGpuTestingGLVersion)) |
+ gl_version_ = |
+ command_line->GetSwitchValueASCII(switches::kGpuTestingGLVersion); |
+ else |
+ gl_version_ = local_state->GetString(prefs::kGLVersionString); |
if (!gl_vendor_.empty() || !gl_renderer_.empty() || !gl_version_.empty()) { |
content::GpuDataManager::GetInstance()->SetGLStrings( |