| 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..52e299cc822f68da0402b567b4945d86a52ca092 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 "ui/gl/gl_switches.h"
 | 
|  
 | 
|  // static
 | 
|  void GLStringManager::RegisterPrefs(PrefRegistrySimple* registry) {
 | 
| @@ -34,11 +36,26 @@ 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::kGLVendorString))
 | 
| +    gl_vendor_ = command_line->GetSwitchValueASCII(switches::kGLVendorString);
 | 
| +  else
 | 
| +    gl_vendor_ = local_state->GetString(prefs::kGLVendorString);
 | 
| +
 | 
| +  if (command_line->HasSwitch(switches::kGLRendererString))
 | 
| +    gl_renderer_ =
 | 
| +        command_line->GetSwitchValueASCII(switches::kGLRendererString);
 | 
| +  else
 | 
| +    gl_renderer_ = local_state->GetString(prefs::kGLRendererString);
 | 
| +
 | 
| +  if (command_line->HasSwitch(switches::kGLVersionString))
 | 
| +    gl_version_ = command_line->GetSwitchValueASCII(switches::kGLVersionString);
 | 
| +  else
 | 
| +    gl_version_ = local_state->GetString(prefs::kGLVersionString);
 | 
|  
 | 
|    if (!gl_vendor_.empty() || !gl_renderer_.empty() || !gl_version_.empty()) {
 | 
| +    DCHECK(content::GpuDataManager::GetInstance()->IsInitialized());
 | 
|      content::GpuDataManager::GetInstance()->SetGLStrings(
 | 
|          gl_vendor_, gl_renderer_, gl_version_);
 | 
|    }
 | 
| @@ -54,17 +71,22 @@ void GLStringManager::OnGpuInfoUpdate() {
 | 
|    if (!local_state)
 | 
|      return;
 | 
|  
 | 
| +  base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
 | 
| +
 | 
|    if (!gl_vendor.empty() && gl_vendor != gl_vendor_) {
 | 
|      gl_vendor_ = gl_vendor;
 | 
| -    local_state->SetString(prefs::kGLVendorString, gl_vendor_);
 | 
| +    if (!command_line->HasSwitch(switches::kGLVendorString))
 | 
| +      local_state->SetString(prefs::kGLVendorString, gl_vendor_);
 | 
|    }
 | 
|    if (!gl_renderer.empty() && gl_renderer != gl_renderer_) {
 | 
|      gl_renderer_ = gl_renderer;
 | 
| -    local_state->SetString(prefs::kGLRendererString, gl_renderer_);
 | 
| +    if (!command_line->HasSwitch(switches::kGLRendererString))
 | 
| +      local_state->SetString(prefs::kGLRendererString, gl_renderer_);
 | 
|    }
 | 
|    if (!gl_version.empty() && gl_version != gl_version_) {
 | 
|      gl_version_ = gl_version;
 | 
| -    local_state->SetString(prefs::kGLVersionString, gl_version_);
 | 
| +    if (!command_line->HasSwitch(switches::kGLVersionString))
 | 
| +      local_state->SetString(prefs::kGLVersionString, gl_version_);
 | 
|    }
 | 
|  }
 | 
|  
 | 
| 
 |