| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/message_loop.h" | 5 #include "base/message_loop.h" |
| 6 #include "base/run_loop.h" | 6 #include "base/run_loop.h" |
| 7 #include "base/time.h" | 7 #include "base/time.h" |
| 8 #include "content/browser/gpu/gpu_data_manager_impl.h" | 8 #include "content/browser/gpu/gpu_data_manager_impl.h" |
| 9 #include "content/public/browser/gpu_data_manager_observer.h" | 9 #include "content/public/browser/gpu_data_manager_observer.h" |
| 10 #include "content/public/common/gpu_info.h" | 10 #include "content/public/common/gpu_info.h" |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 212 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); | 212 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); |
| 213 EXPECT_TRUE(manager->GpuAccessAllowed()); | 213 EXPECT_TRUE(manager->GpuAccessAllowed()); |
| 214 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); | 214 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); |
| 215 | 215 |
| 216 manager->BlacklistCard(); | 216 manager->BlacklistCard(); |
| 217 EXPECT_FALSE(manager->GpuAccessAllowed()); | 217 EXPECT_FALSE(manager->GpuAccessAllowed()); |
| 218 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); | 218 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); |
| 219 | 219 |
| 220 // If software rendering is enabled, even if we blacklist GPU, | 220 // If software rendering is enabled, even if we blacklist GPU, |
| 221 // GPU process is still allowed. | 221 // GPU process is still allowed. |
| 222 const FilePath test_path(FILE_PATH_LITERAL("AnyPath")); | 222 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath")); |
| 223 manager->RegisterSwiftShaderPath(test_path); | 223 manager->RegisterSwiftShaderPath(test_path); |
| 224 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); | 224 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); |
| 225 EXPECT_TRUE(manager->GpuAccessAllowed()); | 225 EXPECT_TRUE(manager->GpuAccessAllowed()); |
| 226 EXPECT_EQ(GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS, | 226 EXPECT_EQ(GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS, |
| 227 manager->GetBlacklistedFeatures()); | 227 manager->GetBlacklistedFeatures()); |
| 228 } | 228 } |
| 229 | 229 |
| 230 TEST_F(GpuDataManagerImplTest, SoftwareRendering2) { | 230 TEST_F(GpuDataManagerImplTest, SoftwareRendering2) { |
| 231 // Register SwiftShader, then blacklist. | 231 // Register SwiftShader, then blacklist. |
| 232 ScopedGpuDataManagerImpl manager; | 232 ScopedGpuDataManagerImpl manager; |
| 233 ASSERT_TRUE(manager.get()); | 233 ASSERT_TRUE(manager.get()); |
| 234 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); | 234 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); |
| 235 EXPECT_TRUE(manager->GpuAccessAllowed()); | 235 EXPECT_TRUE(manager->GpuAccessAllowed()); |
| 236 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); | 236 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); |
| 237 | 237 |
| 238 const FilePath test_path(FILE_PATH_LITERAL("AnyPath")); | 238 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath")); |
| 239 manager->RegisterSwiftShaderPath(test_path); | 239 manager->RegisterSwiftShaderPath(test_path); |
| 240 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); | 240 EXPECT_EQ(0, manager->GetBlacklistedFeatures()); |
| 241 EXPECT_TRUE(manager->GpuAccessAllowed()); | 241 EXPECT_TRUE(manager->GpuAccessAllowed()); |
| 242 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); | 242 EXPECT_FALSE(manager->ShouldUseSoftwareRendering()); |
| 243 | 243 |
| 244 manager->BlacklistCard(); | 244 manager->BlacklistCard(); |
| 245 EXPECT_TRUE(manager->GpuAccessAllowed()); | 245 EXPECT_TRUE(manager->GpuAccessAllowed()); |
| 246 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); | 246 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); |
| 247 EXPECT_EQ(GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS, | 247 EXPECT_EQ(GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS, |
| 248 manager->GetBlacklistedFeatures()); | 248 manager->GetBlacklistedFeatures()); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 268 run_loop.RunUntilIdle(); | 268 run_loop.RunUntilIdle(); |
| 269 } | 269 } |
| 270 EXPECT_TRUE(observer.gpu_info_updated()); | 270 EXPECT_TRUE(observer.gpu_info_updated()); |
| 271 } | 271 } |
| 272 | 272 |
| 273 TEST_F(GpuDataManagerImplTest, NoGpuInfoUpdateWithSoftwareRendering) { | 273 TEST_F(GpuDataManagerImplTest, NoGpuInfoUpdateWithSoftwareRendering) { |
| 274 ScopedGpuDataManagerImpl manager; | 274 ScopedGpuDataManagerImpl manager; |
| 275 ASSERT_TRUE(manager.get()); | 275 ASSERT_TRUE(manager.get()); |
| 276 | 276 |
| 277 manager->BlacklistCard(); | 277 manager->BlacklistCard(); |
| 278 const FilePath test_path(FILE_PATH_LITERAL("AnyPath")); | 278 const base::FilePath test_path(FILE_PATH_LITERAL("AnyPath")); |
| 279 manager->RegisterSwiftShaderPath(test_path); | 279 manager->RegisterSwiftShaderPath(test_path); |
| 280 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); | 280 EXPECT_TRUE(manager->ShouldUseSoftwareRendering()); |
| 281 EXPECT_TRUE(manager->GpuAccessAllowed()); | 281 EXPECT_TRUE(manager->GpuAccessAllowed()); |
| 282 | 282 |
| 283 { | 283 { |
| 284 base::RunLoop run_loop; | 284 base::RunLoop run_loop; |
| 285 run_loop.RunUntilIdle(); | 285 run_loop.RunUntilIdle(); |
| 286 } | 286 } |
| 287 | 287 |
| 288 TestObserver observer; | 288 TestObserver observer; |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 556 // Now assume browser gets GL strings from local state. | 556 // Now assume browser gets GL strings from local state. |
| 557 // SetGLStrings() has no effects because GPUInfo already got these strings. | 557 // SetGLStrings() has no effects because GPUInfo already got these strings. |
| 558 // (Otherwise the entry should not apply.) | 558 // (Otherwise the entry should not apply.) |
| 559 manager->SetGLStrings(kGLVendorMesa, kGLRendererMesa, kGLVersionMesa802); | 559 manager->SetGLStrings(kGLVendorMesa, kGLRendererMesa, kGLVersionMesa802); |
| 560 EXPECT_TRUE(manager->GpuAccessAllowed()); | 560 EXPECT_TRUE(manager->GpuAccessAllowed()); |
| 561 EXPECT_EQ(GPU_FEATURE_TYPE_WEBGL, manager->GetBlacklistedFeatures()); | 561 EXPECT_EQ(GPU_FEATURE_TYPE_WEBGL, manager->GetBlacklistedFeatures()); |
| 562 } | 562 } |
| 563 #endif // OS_LINUX | 563 #endif // OS_LINUX |
| 564 | 564 |
| 565 } // namespace content | 565 } // namespace content |
| OLD | NEW |