diff options
author | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-09 19:05:34 +0000 |
---|---|---|
committer | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-09 19:05:34 +0000 |
commit | f11fbb71d9671e0f6582fa4977b8dcf1ad43d858 (patch) | |
tree | 8e13e780d3b1b6c8031eb022e55255eb7f5e8818 /chrome/browser | |
parent | 2907f9ed41450a86128fc956e007c2488f9bfaa1 (diff) | |
download | chromium_src-f11fbb71d9671e0f6582fa4977b8dcf1ad43d858.zip chromium_src-f11fbb71d9671e0f6582fa4977b8dcf1ad43d858.tar.gz chromium_src-f11fbb71d9671e0f6582fa4977b8dcf1ad43d858.tar.bz2 |
Move chrome_version info retrieval into GpuBlacklist.
Originally we have to retrieve it and pass it to Blacklist as a parameter; this was because GpuBlacklist is on the content side where chrome version is not visible.
Now we moved blacklist to chrome side, so we could handle the chrome version retrieval inside GpuBlacklist. This makes testing simpler as we don't have to provide fake chrome version string.
BUG=
TEST=waterfall
R=jbates
Review URL: https://chromiumcodereview.appspot.com/9668015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125867 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-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 |
5 files changed, 42 insertions, 36 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); |