diff options
-rw-r--r-- | chrome/browser/chrome_browser_main.cc | 6 | ||||
-rw-r--r-- | chrome/browser/extensions/extension_webstore_private_apitest.cc | 2 | ||||
-rw-r--r-- | chrome/browser/gpu_blacklist.cc | 11 | ||||
-rw-r--r-- | chrome/browser/gpu_blacklist.h | 10 | ||||
-rw-r--r-- | chrome/browser/gpu_blacklist_unittest.cc | 49 | ||||
-rw-r--r-- | chrome/test/gpu/gpu_feature_browsertest.cc | 2 |
6 files changed, 43 insertions, 37 deletions
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc index 31f6c68..91e8143 100644 --- a/chrome/browser/chrome_browser_main.cc +++ b/chrome/browser/chrome_browser_main.cc @@ -462,13 +462,9 @@ void InitializeGpuDataManager(const CommandLine& parsed_command_line) { const base::StringPiece gpu_blacklist_json( ResourceBundle::GetSharedInstance().GetRawDataResource( IDR_GPU_BLACKLIST)); - chrome::VersionInfo version_info; - std::string chrome_version_string = - version_info.is_valid() ? version_info.Version() : "0"; GpuBlacklist* gpu_blacklist = GpuBlacklist::GetInstance(); bool succeed = gpu_blacklist->LoadGpuBlacklist( - chrome_version_string, gpu_blacklist_json.as_string(), - GpuBlacklist::kCurrentOsOnly); + gpu_blacklist_json.as_string(), GpuBlacklist::kCurrentOsOnly); DCHECK(succeed); gpu_blacklist->UpdateGpuDataManager(); } diff --git a/chrome/browser/extensions/extension_webstore_private_apitest.cc b/chrome/browser/extensions/extension_webstore_private_apitest.cc index 77aa755..c48ddde 100644 --- a/chrome/browser/extensions/extension_webstore_private_apitest.cc +++ b/chrome/browser/extensions/extension_webstore_private_apitest.cc @@ -392,7 +392,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionWebstoreGetWebGLStatusTest, Blocked) { GpuBlacklist* blacklist = GpuBlacklist::GetInstance(); ASSERT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", json_blacklist, GpuBlacklist::kAllOs)); + json_blacklist, GpuBlacklist::kAllOs)); blacklist->UpdateGpuDataManager(); GpuFeatureType type = content::GpuDataManager::GetInstance()->GetGpuFeatureType(); diff --git a/chrome/browser/gpu_blacklist.cc b/chrome/browser/gpu_blacklist.cc index 0f59815..efeb7f3 100644 --- a/chrome/browser/gpu_blacklist.cc +++ b/chrome/browser/gpu_blacklist.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -13,6 +13,7 @@ #include "base/sys_info.h" #include "base/version.h" #include "chrome/browser/gpu_util.h" +#include "chrome/common/chrome_version_info.h" #include "content/public/browser/gpu_data_manager.h" #include "content/public/common/content_switches.h" #include "content/public/common/gpu_info.h" @@ -750,6 +751,14 @@ GpuBlacklist::~GpuBlacklist() { } bool GpuBlacklist::LoadGpuBlacklist( + const std::string& json_context, GpuBlacklist::OsFilter os_filter) { + chrome::VersionInfo chrome_version_info; + std::string chrome_version_string = + chrome_version_info.is_valid() ? chrome_version_info.Version() : "0"; + return LoadGpuBlacklist(chrome_version_string, json_context, os_filter); +} + +bool GpuBlacklist::LoadGpuBlacklist( const std::string& browser_version_string, const std::string& json_context, GpuBlacklist::OsFilter os_filter) { diff --git a/chrome/browser/gpu_blacklist.h b/chrome/browser/gpu_blacklist.h index 0a472cb..6f4f8be 100644 --- a/chrome/browser/gpu_blacklist.h +++ b/chrome/browser/gpu_blacklist.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -49,8 +49,7 @@ class GpuBlacklist : public content::GpuDataManagerObserver { // Loads blacklist information from a json file. // If failed, the current GpuBlacklist is un-touched. - bool LoadGpuBlacklist(const std::string& browser_version_string, - const std::string& json_context, + bool LoadGpuBlacklist(const std::string& json_context, OsFilter os_filter); // Collects system information and combines them with gpu_info and blacklist @@ -98,6 +97,7 @@ class GpuBlacklist : public content::GpuDataManagerObserver { private: friend class GpuBlacklistTest; friend struct DefaultSingletonTraits<GpuBlacklist>; + FRIEND_TEST_ALL_PREFIXES(GpuBlacklistTest, ChromeVersionEntry); FRIEND_TEST_ALL_PREFIXES(GpuBlacklistTest, CurrentBlacklistValidation); FRIEND_TEST_ALL_PREFIXES(GpuBlacklistTest, UnknownField); FRIEND_TEST_ALL_PREFIXES(GpuBlacklistTest, UnknownExceptionField); @@ -330,6 +330,10 @@ class GpuBlacklist : public content::GpuDataManagerObserver { GpuBlacklist(); + bool LoadGpuBlacklist(const std::string& browser_version_string, + const std::string& json_context, + OsFilter os_filter); + bool LoadGpuBlacklist(const base::DictionaryValue& parsed_json, OsFilter os_filter); diff --git a/chrome/browser/gpu_blacklist_unittest.cc b/chrome/browser/gpu_blacklist_unittest.cc index f07f943..069f8370 100644 --- a/chrome/browser/gpu_blacklist_unittest.cc +++ b/chrome/browser/gpu_blacklist_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -71,7 +71,7 @@ TEST_F(GpuBlacklistTest, CurrentBlacklistValidation) { std::string json_string(data.get(), data_file_size); scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", json_string, GpuBlacklist::kAllOs)); + json_string, GpuBlacklist::kAllOs)); EXPECT_FALSE(blacklist->contains_unknown_fields()); } @@ -97,7 +97,7 @@ TEST_F(GpuBlacklistTest, EmptyBlacklist) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", empty_list_json, GpuBlacklist::kAllOs)); + empty_list_json, GpuBlacklist::kAllOs)); EXPECT_EQ(blacklist->GetVersion(), std::string("2.5")); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsMacosx, os_version.get(), gpu_info()); @@ -136,7 +136,7 @@ TEST_F(GpuBlacklistTest, DetailedEntryAndInvalidJson) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", exact_list_json, GpuBlacklist::kAllOs)); + exact_list_json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsMacosx, os_version.get(), gpu_info()); EXPECT_EQ(type, content::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING); @@ -145,7 +145,7 @@ TEST_F(GpuBlacklistTest, DetailedEntryAndInvalidJson) { const std::string invalid_json = "invalid"; EXPECT_FALSE(blacklist->LoadGpuBlacklist( - "1.0", invalid_json, GpuBlacklist::kAllOs)); + invalid_json, GpuBlacklist::kAllOs)); type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsMacosx, os_version.get(), gpu_info()); EXPECT_EQ(type, content::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING); @@ -183,7 +183,7 @@ TEST_F(GpuBlacklistTest, VendorOnAllOsEntry) { // Blacklist entries won't be filtered to the current OS only upon loading. EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", vendor_json, GpuBlacklist::kAllOs)); + vendor_json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsMacosx, os_version.get(), gpu_info()); EXPECT_EQ(type, content::GPU_FEATURE_TYPE_WEBGL); @@ -197,7 +197,7 @@ TEST_F(GpuBlacklistTest, VendorOnAllOsEntry) { defined(OS_OPENBSD) // Blacklist entries will be filtered to the current OS only upon loading. EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", vendor_json, GpuBlacklist::kCurrentOsOnly)); + vendor_json, GpuBlacklist::kCurrentOsOnly)); type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsMacosx, os_version.get(), gpu_info()); EXPECT_EQ(type, content::GPU_FEATURE_TYPE_WEBGL); @@ -233,7 +233,7 @@ TEST_F(GpuBlacklistTest, VendorOnLinuxEntry) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", vendor_linux_json, GpuBlacklist::kAllOs)); + vendor_linux_json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsMacosx, os_version.get(), gpu_info()); EXPECT_EQ(type, 0); @@ -272,7 +272,7 @@ TEST_F(GpuBlacklistTest, AllExceptNVidiaOnLinuxEntry) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", linux_except_nvidia_json, GpuBlacklist::kAllOs)); + linux_except_nvidia_json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsMacosx, os_version.get(), gpu_info()); EXPECT_EQ(type, 0); @@ -311,7 +311,7 @@ TEST_F(GpuBlacklistTest, AllExceptIntelOnLinuxEntry) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", linux_except_intel_json, GpuBlacklist::kAllOs)); + linux_except_intel_json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsMacosx, os_version.get(), gpu_info()); EXPECT_EQ(type, 0); @@ -349,7 +349,7 @@ TEST_F(GpuBlacklistTest, DateOnWindowsEntry) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", date_windows_json, GpuBlacklist::kAllOs)); + date_windows_json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsMacosx, os_version.get(), gpu_info()); EXPECT_EQ(type, 0); @@ -381,7 +381,7 @@ TEST_F(GpuBlacklistTest, MultipleDevicesEntry) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", devices_json, GpuBlacklist::kAllOs)); + devices_json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsMacosx, os_version.get(), gpu_info()); EXPECT_EQ(type, content::GPU_FEATURE_TYPE_MULTISAMPLING); @@ -414,7 +414,7 @@ TEST_F(GpuBlacklistTest, ChromeOSEntry) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", devices_json, GpuBlacklist::kAllOs)); + devices_json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsChromeOS, os_version.get(), gpu_info()); EXPECT_EQ(type, content::GPU_FEATURE_TYPE_WEBGL); @@ -477,7 +477,7 @@ TEST_F(GpuBlacklistTest, MalformedVendor) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_FALSE(blacklist->LoadGpuBlacklist( - "1.0", malformed_vendor_json, GpuBlacklist::kAllOs)); + malformed_vendor_json, GpuBlacklist::kAllOs)); } TEST_F(GpuBlacklistTest, UnknownField) { @@ -505,7 +505,7 @@ TEST_F(GpuBlacklistTest, UnknownField) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", unknown_field_json, GpuBlacklist::kAllOs)); + unknown_field_json, GpuBlacklist::kAllOs)); EXPECT_EQ(1u, blacklist->num_entries()); EXPECT_TRUE(blacklist->contains_unknown_fields()); GpuFeatureType type = blacklist->DetermineGpuFeatureType( @@ -549,7 +549,7 @@ TEST_F(GpuBlacklistTest, UnknownExceptionField) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", unknown_exception_field_json, GpuBlacklist::kAllOs)); + unknown_exception_field_json, GpuBlacklist::kAllOs)); EXPECT_EQ(1u, blacklist->num_entries()); EXPECT_TRUE(blacklist->contains_unknown_fields()); GpuFeatureType type = blacklist->DetermineGpuFeatureType( @@ -576,7 +576,7 @@ TEST_F(GpuBlacklistTest, UnknownFeature) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", unknown_feature_json, GpuBlacklist::kAllOs)); + unknown_feature_json, GpuBlacklist::kAllOs)); EXPECT_EQ(1u, blacklist->num_entries()); EXPECT_TRUE(blacklist->contains_unknown_fields()); GpuFeatureType type = blacklist->DetermineGpuFeatureType( @@ -606,7 +606,7 @@ TEST_F(GpuBlacklistTest, GlVendor) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", gl_vendor_json, GpuBlacklist::kAllOs)); + gl_vendor_json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsWin, os_version.get(), gpu_info()); EXPECT_EQ(type, content::GPU_FEATURE_TYPE_WEBGL); @@ -634,7 +634,7 @@ TEST_F(GpuBlacklistTest, GlRenderer) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", gl_renderer_json, GpuBlacklist::kAllOs)); + gl_renderer_json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsWin, os_version.get(), gpu_info()); EXPECT_EQ(type, content::GPU_FEATURE_TYPE_WEBGL); @@ -661,8 +661,7 @@ TEST_F(GpuBlacklistTest, PerfGraphics) { scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4")); scoped_ptr<GpuBlacklist> blacklist(Create()); - EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", json, GpuBlacklist::kAllOs)); + EXPECT_TRUE(blacklist->LoadGpuBlacklist(json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsWin, os_version.get(), gpu_info()); EXPECT_EQ(type, content::GPU_FEATURE_TYPE_WEBGL); @@ -689,8 +688,7 @@ TEST_F(GpuBlacklistTest, PerfGaming) { scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4")); scoped_ptr<GpuBlacklist> blacklist(Create()); - EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", json, GpuBlacklist::kAllOs)); + EXPECT_TRUE(blacklist->LoadGpuBlacklist(json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsWin, os_version.get(), gpu_info()); EXPECT_EQ(type, 0); @@ -718,8 +716,7 @@ TEST_F(GpuBlacklistTest, PerfOverall) { scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4")); scoped_ptr<GpuBlacklist> blacklist(Create()); - EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", json, GpuBlacklist::kAllOs)); + EXPECT_TRUE(blacklist->LoadGpuBlacklist(json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsWin, os_version.get(), gpu_info()); EXPECT_EQ(type, content::GPU_FEATURE_TYPE_WEBGL); @@ -744,7 +741,7 @@ TEST_F(GpuBlacklistTest, DisabledEntry) { scoped_ptr<GpuBlacklist> blacklist(Create()); EXPECT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", disabled_json, GpuBlacklist::kAllOs)); + disabled_json, GpuBlacklist::kAllOs)); GpuFeatureType type = blacklist->DetermineGpuFeatureType( GpuBlacklist::kOsWin, os_version.get(), gpu_info()); EXPECT_EQ(type, 0); diff --git a/chrome/test/gpu/gpu_feature_browsertest.cc b/chrome/test/gpu/gpu_feature_browsertest.cc index 2b5d4a9..441a2c9 100644 --- a/chrome/test/gpu/gpu_feature_browsertest.cc +++ b/chrome/test/gpu/gpu_feature_browsertest.cc @@ -65,7 +65,7 @@ class GpuFeatureTest : public InProcessBrowserTest { void SetupBlacklist(const std::string& json_blacklist) { GpuBlacklist* blacklist = GpuBlacklist::GetInstance(); ASSERT_TRUE(blacklist->LoadGpuBlacklist( - "1.0", json_blacklist, GpuBlacklist::kAllOs)); + json_blacklist, GpuBlacklist::kAllOs)); blacklist->UpdateGpuDataManager(); } |