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

Unified Diff: cc/layer_tree_host_unittest_context.cc

Issue 11782026: ThreadedTest that a non-null OutputSurface that fails initialization immediately doesn't crash (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: patch ThreadProxy::commitPendingOnImplThreadForTesting to check for a live output surface Created 7 years, 11 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 | « no previous file | cc/thread_proxy.cc » ('j') | cc/thread_proxy.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layer_tree_host_unittest_context.cc
diff --git a/cc/layer_tree_host_unittest_context.cc b/cc/layer_tree_host_unittest_context.cc
index 4e93ca80967a2017ebbc375b149b7e8d89b882c4..c8c6d30d245558d6a211e0ada25f7748d0bc8706 100644
--- a/cc/layer_tree_host_unittest_context.cc
+++ b/cc/layer_tree_host_unittest_context.cc
@@ -780,5 +780,35 @@ class LayerTreeHostContextTestDontUseLostResources :
SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostContextTestDontUseLostResources)
+class LayerTreeHostContextTestFailsImmediately : public ThreadedTest {
danakj 2013/01/08 01:06:50 Oh, subclass from LayerTreHostContextTest here. An
+ public:
+ LayerTreeHostContextTestFailsImmediately()
+ : ThreadedTest() {
+ }
+
+ virtual void beginTest() OVERRIDE {
+ postSetNeedsCommitToMainThread();
+ }
+
+ virtual void didRecreateOutputSurface(bool succeeded) OVERRIDE {
+ EXPECT_FALSE(succeeded);
+ // If we make it this far without crashing, we pass!
+ endTest();
+ }
+
+ virtual void afterTest() OVERRIDE {
+ }
+
+ virtual scoped_ptr<OutputSurface> createOutputSurface() OVERRIDE {
+ scoped_ptr<FakeWebGraphicsContext3D> context_3d =
+ FakeWebGraphicsContext3D::Create();
+ context_3d->loseContextCHROMIUM();
+ return FakeOutputSurface::Create3d(
+ context_3d.PassAs<WebGraphicsContext3D>()).PassAs<OutputSurface>();
+ }
+};
+
+SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostContextTestFailsImmediately);
+
} // namespace
} // namespace cc
« no previous file with comments | « no previous file | cc/thread_proxy.cc » ('j') | cc/thread_proxy.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698