OLD | NEW |
---|---|
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "cc/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "cc/layers/delegated_frame_provider.h" | 8 #include "cc/layers/delegated_frame_provider.h" |
9 #include "cc/layers/delegated_frame_resource_collection.h" | 9 #include "cc/layers/delegated_frame_resource_collection.h" |
10 #include "cc/layers/heads_up_display_layer.h" | 10 #include "cc/layers/heads_up_display_layer.h" |
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
375 } | 375 } |
376 | 376 |
377 void DidInitializeOutputSurface() override { EXPECT_TRUE(false); } | 377 void DidInitializeOutputSurface() override { EXPECT_TRUE(false); } |
378 | 378 |
379 void AfterTest() override {} | 379 void AfterTest() override {} |
380 }; | 380 }; |
381 | 381 |
382 SINGLE_AND_MULTI_THREAD_TEST_F( | 382 SINGLE_AND_MULTI_THREAD_TEST_F( |
383 LayerTreeHostClientNotReadyDoesNotCreateOutputSurface); | 383 LayerTreeHostClientNotReadyDoesNotCreateOutputSurface); |
384 | 384 |
385 class LayerTreeHostClientTakeAwayOutputSurface | |
386 : public LayerTreeHostContextTest { | |
387 public: | |
388 LayerTreeHostClientTakeAwayOutputSurface() : LayerTreeHostContextTest() { | |
389 setos_counter = 0; | |
390 } | |
391 | |
392 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | |
393 | |
394 void RequestNewOutputSurface() override { CreateAndSetOutputSurface(); } | |
395 | |
396 void CreateAndSetOutputSurface() { | |
397 scoped_ptr<OutputSurface> surface = | |
398 LayerTreeHostContextTest::CreateOutputSurface(); | |
399 CHECK(surface); | |
400 layer_tree_host()->SetOutputSurface(surface.Pass()); | |
401 setos_counter++; | |
402 } | |
403 | |
404 void HideAndReleaseOutputSurface() { | |
405 EXPECT_TRUE(layer_tree_host()->proxy()->IsMainThread()); | |
406 layer_tree_host()->SetVisible(false); | |
407 scoped_ptr<OutputSurface> surface = | |
408 layer_tree_host()->ReleaseOutputSurface(); | |
409 CHECK(surface); | |
410 MainThreadTaskRunner()->PostTask( | |
411 FROM_HERE, | |
412 base::Bind(&LayerTreeHostClientTakeAwayOutputSurface::MakeVisible, | |
413 base::Unretained(this))); | |
414 } | |
415 | |
416 void DidInitializeOutputSurface() override { | |
417 if (setos_counter == 0) { | |
418 EXPECT_TRUE(layer_tree_host()->visible()); | |
no sievers
2015/09/10 17:27:45
I think the reason that you were not able to move
sohanjg
2015/09/11 07:00:50
Done.
| |
419 MainThreadTaskRunner()->PostTask( | |
420 FROM_HERE, base::Bind(&LayerTreeHostClientTakeAwayOutputSurface:: | |
421 HideAndReleaseOutputSurface, | |
422 base::Unretained(this))); | |
423 } else { | |
424 EndTest(); | |
425 } | |
426 } | |
427 | |
428 void MakeVisible() { | |
429 EXPECT_TRUE(layer_tree_host()->proxy()->IsMainThread()); | |
430 layer_tree_host()->SetVisible(true); | |
431 } | |
432 | |
433 void AfterTest() override {} | |
434 | |
435 int setos_counter; | |
436 }; | |
437 | |
438 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostClientTakeAwayOutputSurface); | |
439 | |
385 class MultipleCompositeDoesNotCreateOutputSurface | 440 class MultipleCompositeDoesNotCreateOutputSurface |
386 : public LayerTreeHostContextTest { | 441 : public LayerTreeHostContextTest { |
387 public: | 442 public: |
388 MultipleCompositeDoesNotCreateOutputSurface() | 443 MultipleCompositeDoesNotCreateOutputSurface() |
389 : LayerTreeHostContextTest(), request_count_(0) {} | 444 : LayerTreeHostContextTest(), request_count_(0) {} |
390 | 445 |
391 void InitializeSettings(LayerTreeSettings* settings) override { | 446 void InitializeSettings(LayerTreeSettings* settings) override { |
392 settings->single_thread_proxy_scheduler = false; | 447 settings->single_thread_proxy_scheduler = false; |
393 settings->use_zero_copy = true; | 448 settings->use_zero_copy = true; |
394 } | 449 } |
(...skipping 1163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1558 void AfterTest() override {} | 1613 void AfterTest() override {} |
1559 | 1614 |
1560 bool deferred_; | 1615 bool deferred_; |
1561 }; | 1616 }; |
1562 | 1617 |
1563 SINGLE_AND_MULTI_THREAD_TEST_F( | 1618 SINGLE_AND_MULTI_THREAD_TEST_F( |
1564 LayerTreeHostContextTestLoseAfterSendingBeginMainFrame); | 1619 LayerTreeHostContextTestLoseAfterSendingBeginMainFrame); |
1565 | 1620 |
1566 } // namespace | 1621 } // namespace |
1567 } // namespace cc | 1622 } // namespace cc |
OLD | NEW |