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

Unified Diff: chrome/test/gpu/gpu_feature_browsertest.cc

Issue 10914247: Enable by default threaded compositing on windows and FCM on mac (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: shorten field trial period Created 8 years, 3 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
« no previous file with comments | « chrome/browser/task_manager/task_manager_browsertest.cc ('k') | content/common/compositor_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/gpu/gpu_feature_browsertest.cc
diff --git a/chrome/test/gpu/gpu_feature_browsertest.cc b/chrome/test/gpu/gpu_feature_browsertest.cc
index 384f0c4c9134bb9c4558855640467b9eefb47003..e078922a5163393fd2d1f7ff7338f5feee4648db 100644
--- a/chrome/test/gpu/gpu_feature_browsertest.cc
+++ b/chrome/test/gpu/gpu_feature_browsertest.cc
@@ -37,10 +37,9 @@ using trace_analyzer::TraceEventVector;
namespace {
-typedef uint32 GpuResultFlags;
-#define EXPECT_NO_GPU_SWAP_BUFFERS GpuResultFlags(1<<0)
-// Expect a SwapBuffers to occur (see gles2_cmd_decoder.cc).
-#define EXPECT_GPU_SWAP_BUFFERS GpuResultFlags(1<<1)
+#define SWAP_BUFFERS_EVENT "SwapBuffers"
Alexei Svitkine (slow) 2012/09/17 20:23:47 Nit: Declare these per the Chromium style conventi
Vangelis Kokkevis 2012/09/17 21:47:54 Done.
+#define ACCELERATED_CANVAS_CREATION_EVENT "Canvas2DLayerBridgeCreation"
+#define WEBGL_CREATION_EVENT "DrawingBufferCreation"
class GpuFeatureTest : public InProcessBrowserTest {
public:
@@ -106,7 +105,10 @@ class GpuFeatureTest : public InProcessBrowserTest {
EXPECT_STREQ(expected_reply, result.c_str());
}
- void RunTest(const FilePath& url, GpuResultFlags expectations) {
+ // Open the URL and check the trace stream for the given event.
+ void RunEventTest(const FilePath& url,
+ const char* event_name = NULL,
+ bool event_expected = false) {
#if defined(OS_LINUX) && !defined(NDEBUG)
// Bypass tests on GPU Linux Debug bots.
if (gpu_enabled_)
@@ -129,16 +131,16 @@ class GpuFeatureTest : public InProcessBrowserTest {
analyzer_->AssociateBeginEndEvents();
TraceEventVector events;
- if (expectations & EXPECT_NO_GPU_SWAP_BUFFERS) {
- EXPECT_EQ(analyzer_->FindEvents(Query::EventNameIs("SwapBuffers"),
- &events), size_t(0));
- }
+ if (!event_name)
+ return;
- // Check for swap buffers if expected:
- if (expectations & EXPECT_GPU_SWAP_BUFFERS) {
- EXPECT_GT(analyzer_->FindEvents(Query::EventNameIs("SwapBuffers"),
- &events), size_t(0));
- }
+ size_t event_count =
+ analyzer_->FindEvents(Query::EventNameIs(event_name), &events);
+
+ if (event_expected)
+ EXPECT_GT(event_count, size_t(0));
Alexei Svitkine (slow) 2012/09/17 20:23:47 Nit: Instead of size_t(0), use 0U.
Vangelis Kokkevis 2012/09/17 21:47:54 Done.
+ else
+ EXPECT_EQ(event_count, size_t(0));
}
// Trigger a resize of the chrome window, and use tracing to wait for the
@@ -174,11 +176,14 @@ IN_PROC_BROWSER_TEST_F(GpuFeatureTest, AcceleratedCompositingAllowed) {
EXPECT_EQ(type, 0);
const FilePath url(FILE_PATH_LITERAL("feature_compositing.html"));
- RunTest(url, EXPECT_GPU_SWAP_BUFFERS);
+ RunEventTest(url, SWAP_BUFFERS_EVENT, true);
}
-IN_PROC_BROWSER_TEST_F(GpuFeatureTest, AcceleratedCompositingBlocked) {
- const std::string json_blacklist =
+class AcceleratedCompositingBlockedTest : public GpuFeatureTest {
+ public:
+ virtual void SetUpInProcessBrowserTestFixture() {
Alexei Svitkine (slow) 2012/09/17 20:23:47 Nit: OVERRIDE.
Vangelis Kokkevis 2012/09/17 21:47:54 Done.
+ GpuFeatureTest::SetUpInProcessBrowserTestFixture();
+ const std::string json_blacklist =
"{\n"
" \"name\": \"gpu blacklist\",\n"
" \"version\": \"1.0\",\n"
@@ -191,13 +196,18 @@ IN_PROC_BROWSER_TEST_F(GpuFeatureTest, AcceleratedCompositingBlocked) {
" }\n"
" ]\n"
"}";
- SetupBlacklist(json_blacklist);
+ SetupBlacklist(json_blacklist);
+ }
+};
+
+IN_PROC_BROWSER_TEST_F(AcceleratedCompositingBlockedTest,
+ AcceleratedCompositingBlocked) {
GpuFeatureType type =
- GpuDataManager::GetInstance()->GetBlacklistedFeatures();
+ GpuDataManager::GetInstance()->GetBlacklistedFeatures();
EXPECT_EQ(type, content::GPU_FEATURE_TYPE_ACCELERATED_COMPOSITING);
const FilePath url(FILE_PATH_LITERAL("feature_compositing.html"));
- RunTest(url, EXPECT_NO_GPU_SWAP_BUFFERS);
+ RunEventTest(url, SWAP_BUFFERS_EVENT, false);
}
class AcceleratedCompositingTest : public GpuFeatureTest {
@@ -211,7 +221,7 @@ class AcceleratedCompositingTest : public GpuFeatureTest {
IN_PROC_BROWSER_TEST_F(AcceleratedCompositingTest,
AcceleratedCompositingDisabled) {
const FilePath url(FILE_PATH_LITERAL("feature_compositing.html"));
- RunTest(url, EXPECT_NO_GPU_SWAP_BUFFERS);
+ RunEventTest(url, SWAP_BUFFERS_EVENT, false);
}
IN_PROC_BROWSER_TEST_F(GpuFeatureTest, WebGLAllowed) {
@@ -220,7 +230,7 @@ IN_PROC_BROWSER_TEST_F(GpuFeatureTest, WebGLAllowed) {
EXPECT_EQ(type, 0);
const FilePath url(FILE_PATH_LITERAL("feature_webgl.html"));
- RunTest(url, EXPECT_GPU_SWAP_BUFFERS);
+ RunEventTest(url, WEBGL_CREATION_EVENT, true);
}
IN_PROC_BROWSER_TEST_F(GpuFeatureTest, WebGLBlocked) {
@@ -243,7 +253,7 @@ IN_PROC_BROWSER_TEST_F(GpuFeatureTest, WebGLBlocked) {
EXPECT_EQ(type, content::GPU_FEATURE_TYPE_WEBGL);
const FilePath url(FILE_PATH_LITERAL("feature_webgl.html"));
- RunTest(url, EXPECT_NO_GPU_SWAP_BUFFERS);
+ RunEventTest(url, WEBGL_CREATION_EVENT, false);
}
class WebGLTest : public GpuFeatureTest {
@@ -259,7 +269,7 @@ class WebGLTest : public GpuFeatureTest {
IN_PROC_BROWSER_TEST_F(WebGLTest, WebGLDisabled) {
const FilePath url(FILE_PATH_LITERAL("feature_webgl.html"));
- RunTest(url, EXPECT_NO_GPU_SWAP_BUFFERS);
+ RunEventTest(url, WEBGL_CREATION_EVENT, false);
}
IN_PROC_BROWSER_TEST_F(GpuFeatureTest, MultisamplingAllowed) {
@@ -339,7 +349,7 @@ IN_PROC_BROWSER_TEST_F(GpuFeatureTest, Canvas2DAllowed) {
EXPECT_EQ(type, 0);
const FilePath url(FILE_PATH_LITERAL("feature_canvas2d.html"));
- RunTest(url, EXPECT_GPU_SWAP_BUFFERS);
+ RunEventTest(url, ACCELERATED_CANVAS_CREATION_EVENT, true);
}
IN_PROC_BROWSER_TEST_F(GpuFeatureTest, Canvas2DBlocked) {
@@ -362,7 +372,7 @@ IN_PROC_BROWSER_TEST_F(GpuFeatureTest, Canvas2DBlocked) {
EXPECT_EQ(type, content::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS);
const FilePath url(FILE_PATH_LITERAL("feature_canvas2d.html"));
- RunTest(url, EXPECT_NO_GPU_SWAP_BUFFERS);
+ RunEventTest(url, ACCELERATED_CANVAS_CREATION_EVENT, false);
}
class Canvas2DDisabledTest : public GpuFeatureTest {
@@ -375,7 +385,7 @@ class Canvas2DDisabledTest : public GpuFeatureTest {
IN_PROC_BROWSER_TEST_F(Canvas2DDisabledTest, Canvas2DDisabled) {
const FilePath url(FILE_PATH_LITERAL("feature_canvas2d.html"));
- RunTest(url, EXPECT_NO_GPU_SWAP_BUFFERS);
+ RunEventTest(url, ACCELERATED_CANVAS_CREATION_EVENT, false);
}
IN_PROC_BROWSER_TEST_F(GpuFeatureTest,
@@ -400,13 +410,13 @@ class ThreadedCompositorTest : public GpuFeatureTest {
// disabled in http://crbug.com/123503
IN_PROC_BROWSER_TEST_F(ThreadedCompositorTest, ThreadedCompositor) {
const FilePath url(FILE_PATH_LITERAL("feature_compositing.html"));
- RunTest(url, EXPECT_GPU_SWAP_BUFFERS);
+ RunEventTest(url, SWAP_BUFFERS_EVENT, true);
}
IN_PROC_BROWSER_TEST_F(GpuFeatureTest, RafNoDamage) {
trace_categories_ = "-test_*";
const FilePath url(FILE_PATH_LITERAL("feature_raf_no_damage.html"));
- RunTest(url, GpuResultFlags(0));
+ RunEventTest(url);
if (!analyzer_.get())
return;
« no previous file with comments | « chrome/browser/task_manager/task_manager_browsertest.cc ('k') | content/common/compositor_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698