Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(397)

Unified Diff: content/browser/gpu/gpu_blacklist_unittest.cc

Issue 7633038: Relax software rendering list parsing. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/gpu/gpu_blacklist_unittest.cc
===================================================================
--- content/browser/gpu/gpu_blacklist_unittest.cc (revision 98082)
+++ content/browser/gpu/gpu_blacklist_unittest.cc (working copy)
@@ -57,10 +57,11 @@
data_file_size);
std::string json_string(data.get(), data_file_size);
GpuBlacklist blacklist("1.0");
- EXPECT_TRUE(blacklist.LoadGpuBlacklist(json_string, true));
+ EXPECT_TRUE(blacklist.LoadGpuBlacklist(json_string, GpuBlacklist::kAllOs));
+ EXPECT_FALSE(blacklist.contains_unknown_fields());
}
-TEST_F(GpuBlacklistTest, DeafaultBlacklistSettings) {
+TEST_F(GpuBlacklistTest, DefaultBlacklistSettings) {
scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4"));
GpuBlacklist blacklist("1.0");
// Default blacklist settings: all feature are allowed.
@@ -81,7 +82,8 @@
scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4"));
GpuBlacklist blacklist("1.0");
- EXPECT_TRUE(blacklist.LoadGpuBlacklist(empty_list_json, false));
+ EXPECT_TRUE(
+ blacklist.LoadGpuBlacklist(empty_list_json, GpuBlacklist::kAllOs));
uint16 major, minor;
EXPECT_TRUE(blacklist.GetVersion(&major, &minor));
EXPECT_EQ(major, 2u);
@@ -122,7 +124,8 @@
scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4"));
GpuBlacklist blacklist("1.0");
- EXPECT_TRUE(blacklist.LoadGpuBlacklist(exact_list_json, false));
+ EXPECT_TRUE(
+ blacklist.LoadGpuBlacklist(exact_list_json, GpuBlacklist::kAllOs));
GpuFeatureFlags flags = blacklist.DetermineGpuFeatureFlags(
GpuBlacklist::kOsMacosx, os_version.get(), gpu_info());
EXPECT_EQ(
@@ -132,7 +135,7 @@
// Invalid json input should not change the current blacklist settings.
const std::string invalid_json = "invalid";
- EXPECT_FALSE(blacklist.LoadGpuBlacklist(invalid_json, false));
+ EXPECT_FALSE(blacklist.LoadGpuBlacklist(invalid_json, GpuBlacklist::kAllOs));
flags = blacklist.DetermineGpuFeatureFlags(
GpuBlacklist::kOsMacosx, os_version.get(), gpu_info());
EXPECT_EQ(
@@ -170,7 +173,7 @@
GpuBlacklist blacklist("1.0");
// Blacklist entries won't be filtered to the current OS only upon loading.
- EXPECT_TRUE(blacklist.LoadGpuBlacklist(vendor_json, false));
+ EXPECT_TRUE(blacklist.LoadGpuBlacklist(vendor_json, GpuBlacklist::kAllOs));
GpuFeatureFlags flags = blacklist.DetermineGpuFeatureFlags(
GpuBlacklist::kOsMacosx, os_version.get(), gpu_info());
EXPECT_EQ(flags.flags(),
@@ -185,7 +188,8 @@
static_cast<uint32>(GpuFeatureFlags::kGpuFeatureWebgl));
#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
// Blacklist entries will be filtered to the current OS only upon loading.
- EXPECT_TRUE(blacklist.LoadGpuBlacklist(vendor_json, true));
+ EXPECT_TRUE(
+ blacklist.LoadGpuBlacklist(vendor_json, GpuBlacklist::kCurrentOsOnly));
flags = blacklist.DetermineGpuFeatureFlags(
GpuBlacklist::kOsMacosx, os_version.get(), gpu_info());
EXPECT_EQ(flags.flags(),
@@ -223,7 +227,8 @@
scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4"));
GpuBlacklist blacklist("1.0");
- EXPECT_TRUE(blacklist.LoadGpuBlacklist(vendor_linux_json, false));
+ EXPECT_TRUE(
+ blacklist.LoadGpuBlacklist(vendor_linux_json, GpuBlacklist::kAllOs));
GpuFeatureFlags flags = blacklist.DetermineGpuFeatureFlags(
GpuBlacklist::kOsMacosx, os_version.get(), gpu_info());
EXPECT_EQ(flags.flags(), 0u);
@@ -263,7 +268,8 @@
scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4"));
GpuBlacklist blacklist("1.0");
- EXPECT_TRUE(blacklist.LoadGpuBlacklist(linux_except_nvidia_json, false));
+ EXPECT_TRUE(blacklist.LoadGpuBlacklist(linux_except_nvidia_json,
+ GpuBlacklist::kAllOs));
GpuFeatureFlags flags = blacklist.DetermineGpuFeatureFlags(
GpuBlacklist::kOsMacosx, os_version.get(), gpu_info());
EXPECT_EQ(flags.flags(), 0u);
@@ -301,7 +307,8 @@
scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4"));
GpuBlacklist blacklist("1.0");
- EXPECT_TRUE(blacklist.LoadGpuBlacklist(linux_except_intel_json, false));
+ EXPECT_TRUE(blacklist.LoadGpuBlacklist(linux_except_intel_json,
+ GpuBlacklist::kAllOs));
GpuFeatureFlags flags = blacklist.DetermineGpuFeatureFlags(
GpuBlacklist::kOsMacosx, os_version.get(), gpu_info());
EXPECT_EQ(flags.flags(), 0u);
@@ -340,7 +347,8 @@
scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4"));
GpuBlacklist blacklist("1.0");
- EXPECT_TRUE(blacklist.LoadGpuBlacklist(date_windows_json, false));
+ EXPECT_TRUE(
+ blacklist.LoadGpuBlacklist(date_windows_json, GpuBlacklist::kAllOs));
GpuFeatureFlags flags = blacklist.DetermineGpuFeatureFlags(
GpuBlacklist::kOsMacosx, os_version.get(), gpu_info());
EXPECT_EQ(flags.flags(), 0u);
@@ -373,7 +381,7 @@
scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4"));
GpuBlacklist blacklist("1.0");
- EXPECT_TRUE(blacklist.LoadGpuBlacklist(devices_json, false));
+ EXPECT_TRUE(blacklist.LoadGpuBlacklist(devices_json, GpuBlacklist::kAllOs));
GpuFeatureFlags flags = blacklist.DetermineGpuFeatureFlags(
GpuBlacklist::kOsMacosx, os_version.get(), gpu_info());
EXPECT_EQ(flags.flags(),
@@ -408,7 +416,7 @@
scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4"));
GpuBlacklist blacklist("1.0");
- EXPECT_TRUE(blacklist.LoadGpuBlacklist(devices_json, false));
+ EXPECT_TRUE(blacklist.LoadGpuBlacklist(devices_json, GpuBlacklist::kAllOs));
GpuFeatureFlags flags = blacklist.DetermineGpuFeatureFlags(
GpuBlacklist::kOsChromeOS, os_version.get(), gpu_info());
EXPECT_EQ(flags.flags(),
@@ -439,13 +447,15 @@
scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4"));
GpuBlacklist blacklist9("9.0");
- EXPECT_TRUE(blacklist9.LoadGpuBlacklist(browser_version_json, false));
+ EXPECT_TRUE(
+ blacklist9.LoadGpuBlacklist(browser_version_json, GpuBlacklist::kAllOs));
GpuFeatureFlags flags = blacklist9.DetermineGpuFeatureFlags(
GpuBlacklist::kOsWin, os_version.get(), gpu_info());
EXPECT_EQ(flags.flags(), 0u);
GpuBlacklist blacklist10("10.0");
- EXPECT_TRUE(blacklist10.LoadGpuBlacklist(browser_version_json, false));
+ EXPECT_TRUE(
+ blacklist10.LoadGpuBlacklist(browser_version_json, GpuBlacklist::kAllOs));
flags = blacklist10.DetermineGpuFeatureFlags(
GpuBlacklist::kOsWin, os_version.get(), gpu_info());
EXPECT_EQ(flags.flags(),
@@ -470,6 +480,114 @@
"}";
GpuBlacklist blacklist("1.0");
- EXPECT_FALSE(blacklist.LoadGpuBlacklist(malformed_vendor_json, false));
+ EXPECT_FALSE(
+ blacklist.LoadGpuBlacklist(malformed_vendor_json, GpuBlacklist::kAllOs));
}
+TEST_F(GpuBlacklistTest, UnknownField) {
+ const std::string unknown_field_json =
+ "{\n"
+ " \"name\": \"gpu blacklist\",\n"
+ " \"version\": \"0.1\",\n"
+ " \"entries\": [\n"
+ " {\n"
+ " \"id\": 1,\n"
+ " \"unknown_field\": 0,\n"
+ " \"blacklist\": [\n"
+ " \"accelerated_2d_canvas\"\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"id\": 2,\n"
+ " \"blacklist\": [\n"
+ " \"webgl\"\n"
+ " ]\n"
+ " }\n"
+ " ]\n"
+ "}";
+ scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4"));
+ GpuBlacklist blacklist("1.0");
+
+ EXPECT_TRUE(
+ blacklist.LoadGpuBlacklist(unknown_field_json, GpuBlacklist::kAllOs));
+ EXPECT_EQ(1u, blacklist.num_entries());
+ EXPECT_TRUE(blacklist.contains_unknown_fields());
+ GpuFeatureFlags flags = blacklist.DetermineGpuFeatureFlags(
+ GpuBlacklist::kOsWin, os_version.get(), gpu_info());
+ EXPECT_EQ(flags.flags(),
+ static_cast<uint32>(GpuFeatureFlags::kGpuFeatureWebgl));
+}
+
+TEST_F(GpuBlacklistTest, UnknownExceptionField) {
+ const std::string unknown_exception_field_json =
+ "{\n"
+ " \"name\": \"gpu blacklist\",\n"
+ " \"version\": \"0.1\",\n"
+ " \"entries\": [\n"
+ " {\n"
+ " \"id\": 1,\n"
+ " \"unknown_field\": 0,\n"
+ " \"blacklist\": [\n"
+ " \"accelerated_compositing\"\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"id\": 2,\n"
+ " \"exceptions\": [\n"
+ " {\n"
+ " \"unknown_field\": 0\n"
+ " }\n"
+ " ],\n"
+ " \"blacklist\": [\n"
+ " \"accelerated_2d_canvas\"\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"id\": 3,\n"
+ " \"blacklist\": [\n"
+ " \"webgl\"\n"
+ " ]\n"
+ " }\n"
+ " ]\n"
+ "}";
+ scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4"));
+ GpuBlacklist blacklist("1.0");
+
+ EXPECT_TRUE(blacklist.LoadGpuBlacklist(unknown_exception_field_json,
+ GpuBlacklist::kAllOs));
+ EXPECT_EQ(1u, blacklist.num_entries());
+ EXPECT_TRUE(blacklist.contains_unknown_fields());
+ GpuFeatureFlags flags = blacklist.DetermineGpuFeatureFlags(
+ GpuBlacklist::kOsWin, os_version.get(), gpu_info());
+ EXPECT_EQ(flags.flags(),
+ static_cast<uint32>(GpuFeatureFlags::kGpuFeatureWebgl));
+}
+
+TEST_F(GpuBlacklistTest, UnknownFeature) {
+ const std::string unknown_feature_json =
+ "{\n"
+ " \"name\": \"gpu blacklist\",\n"
+ " \"version\": \"0.1\",\n"
+ " \"entries\": [\n"
+ " {\n"
+ " \"id\": 1,\n"
+ " \"blacklist\": [\n"
+ " \"accelerated_something\",\n"
+ " \"webgl\"\n"
+ " ]\n"
+ " }\n"
+ " ]\n"
+ "}";
+ scoped_ptr<Version> os_version(Version::GetVersionFromString("10.6.4"));
+ GpuBlacklist blacklist("1.0");
+
+ EXPECT_TRUE(
+ blacklist.LoadGpuBlacklist(unknown_feature_json, GpuBlacklist::kAllOs));
+ EXPECT_EQ(1u, blacklist.num_entries());
+ EXPECT_TRUE(blacklist.contains_unknown_fields());
+ GpuFeatureFlags flags = blacklist.DetermineGpuFeatureFlags(
+ GpuBlacklist::kOsWin, os_version.get(), gpu_info());
+ EXPECT_EQ(flags.flags(),
+ static_cast<uint32>(GpuFeatureFlags::kGpuFeatureWebgl));
+}
+
« content/browser/gpu/gpu_blacklist.cc ('K') | « content/browser/gpu/gpu_blacklist.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698