| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 5671 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5682 | 5682 |
| 5683 class LayerTreeHostTestWillBeginImplFrameHasDidFinishImplFrame | 5683 class LayerTreeHostTestWillBeginImplFrameHasDidFinishImplFrame |
| 5684 : public LayerTreeHostTest { | 5684 : public LayerTreeHostTest { |
| 5685 public: | 5685 public: |
| 5686 enum { kExpectedNumImplFrames = 10 }; | 5686 enum { kExpectedNumImplFrames = 10 }; |
| 5687 | 5687 |
| 5688 LayerTreeHostTestWillBeginImplFrameHasDidFinishImplFrame() | 5688 LayerTreeHostTestWillBeginImplFrameHasDidFinishImplFrame() |
| 5689 : will_begin_impl_frame_count_(0), did_finish_impl_frame_count_(0) {} | 5689 : will_begin_impl_frame_count_(0), did_finish_impl_frame_count_(0) {} |
| 5690 | 5690 |
| 5691 void BeginTest() override { | 5691 void BeginTest() override { |
| 5692 // Kick off the test with a commit. |
| 5692 PostSetNeedsCommitToMainThread(); | 5693 PostSetNeedsCommitToMainThread(); |
| 5693 } | 5694 } |
| 5694 | 5695 |
| 5695 void WillBeginImplFrameOnThread(LayerTreeHostImpl* host_impl, | 5696 void WillBeginImplFrameOnThread(LayerTreeHostImpl* host_impl, |
| 5696 const BeginFrameArgs& args) override { | 5697 const BeginFrameArgs& args) override { |
| 5697 EXPECT_EQ(will_begin_impl_frame_count_, did_finish_impl_frame_count_); | 5698 EXPECT_EQ(will_begin_impl_frame_count_, did_finish_impl_frame_count_); |
| 5698 EXPECT_FALSE(TestEnded()); | 5699 EXPECT_FALSE(TestEnded()); |
| 5699 will_begin_impl_frame_count_++; | 5700 will_begin_impl_frame_count_++; |
| 5700 } | 5701 } |
| 5701 | 5702 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 5727 } | 5728 } |
| 5728 | 5729 |
| 5729 private: | 5730 private: |
| 5730 int will_begin_impl_frame_count_; | 5731 int will_begin_impl_frame_count_; |
| 5731 int did_finish_impl_frame_count_; | 5732 int did_finish_impl_frame_count_; |
| 5732 }; | 5733 }; |
| 5733 | 5734 |
| 5734 SINGLE_AND_MULTI_THREAD_TEST_F( | 5735 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 5735 LayerTreeHostTestWillBeginImplFrameHasDidFinishImplFrame); | 5736 LayerTreeHostTestWillBeginImplFrameHasDidFinishImplFrame); |
| 5736 | 5737 |
| 5737 ::testing::AssertionResult AssertFrameTimeContained( | |
| 5738 const char* haystack_expr, | |
| 5739 const char* needle_expr, | |
| 5740 const std::vector<BeginFrameArgs>& haystack, | |
| 5741 const BeginFrameArgs& needle) { | |
| 5742 auto failure = ::testing::AssertionFailure() | |
| 5743 << needle.frame_time << " (" << needle_expr | |
| 5744 << ") not found in " << haystack_expr; | |
| 5745 | |
| 5746 if (haystack.size() == 0) { | |
| 5747 failure << " which is empty."; | |
| 5748 } else { | |
| 5749 failure << " which contains:\n"; | |
| 5750 for (size_t i = 0; i < haystack.size(); i++) { | |
| 5751 if (haystack[i].frame_time == needle.frame_time) | |
| 5752 return ::testing::AssertionSuccess(); | |
| 5753 failure << " [" << i << "]: " << haystack[i].frame_time << "\n"; | |
| 5754 } | |
| 5755 } | |
| 5756 | |
| 5757 return failure; | |
| 5758 } | |
| 5759 | |
| 5760 class LayerTreeHostTestBeginMainFrameTimeIsAlsoImplTime | |
| 5761 : public LayerTreeHostTest { | |
| 5762 public: | |
| 5763 LayerTreeHostTestBeginMainFrameTimeIsAlsoImplTime() | |
| 5764 : impl_frame_args_(), will_begin_impl_frame_count_(0) {} | |
| 5765 | |
| 5766 void BeginTest() override { | |
| 5767 // Kick off the test with a commit. | |
| 5768 PostSetNeedsCommitToMainThread(); | |
| 5769 } | |
| 5770 | |
| 5771 void WillBeginImplFrameOnThread(LayerTreeHostImpl* impl, | |
| 5772 const BeginFrameArgs& args) override { | |
| 5773 impl_frame_args_.push_back(args); | |
| 5774 | |
| 5775 will_begin_impl_frame_count_++; | |
| 5776 if (will_begin_impl_frame_count_ < 10) | |
| 5777 PostSetNeedsCommitToMainThread(); | |
| 5778 } | |
| 5779 | |
| 5780 void BeginMainFrame(const BeginFrameArgs& args) override { | |
| 5781 ASSERT_GT(impl_frame_args_.size(), 0U) | |
| 5782 << "BeginMainFrame called before BeginImplFrame called!"; | |
| 5783 EXPECT_PRED_FORMAT2(AssertFrameTimeContained, impl_frame_args_, args); | |
| 5784 } | |
| 5785 | |
| 5786 void SendBeginMainFrameNotExpectedSoon() override { EndTest(); } | |
| 5787 | |
| 5788 void AfterTest() override { | |
| 5789 EXPECT_GT(impl_frame_args_.size(), 0U); | |
| 5790 EXPECT_GE(will_begin_impl_frame_count_, 10); | |
| 5791 } | |
| 5792 | |
| 5793 private: | |
| 5794 std::vector<BeginFrameArgs> impl_frame_args_; | |
| 5795 int will_begin_impl_frame_count_; | |
| 5796 }; | |
| 5797 | |
| 5798 SINGLE_AND_MULTI_THREAD_IMPL_TEST_F( | |
| 5799 LayerTreeHostTestBeginMainFrameTimeIsAlsoImplTime); | |
| 5800 | |
| 5801 class LayerTreeHostTestSendBeginFramesToChildren : public LayerTreeHostTest { | 5738 class LayerTreeHostTestSendBeginFramesToChildren : public LayerTreeHostTest { |
| 5802 public: | 5739 public: |
| 5803 LayerTreeHostTestSendBeginFramesToChildren() | 5740 LayerTreeHostTestSendBeginFramesToChildren() |
| 5804 : begin_frame_sent_to_children_(false) { | 5741 : begin_frame_sent_to_children_(false) { |
| 5805 } | 5742 } |
| 5806 | 5743 |
| 5807 void BeginTest() override { | 5744 void BeginTest() override { |
| 5808 // Kick off the test with a commit. | 5745 // Kick off the test with a commit. |
| 5809 PostSetNeedsCommitToMainThread(); | 5746 PostSetNeedsCommitToMainThread(); |
| 5810 } | 5747 } |
| (...skipping 1532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7343 void AfterTest() override {} | 7280 void AfterTest() override {} |
| 7344 | 7281 |
| 7345 scoped_refptr<FakePictureLayer> content_child_layer_; | 7282 scoped_refptr<FakePictureLayer> content_child_layer_; |
| 7346 FakeContentLayerClient client_; | 7283 FakeContentLayerClient client_; |
| 7347 }; | 7284 }; |
| 7348 | 7285 |
| 7349 SINGLE_AND_MULTI_THREAD_TEST_F( | 7286 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 7350 LayerTreeTestReflectionMaskLayerForSurfaceWithUnclippedChild); | 7287 LayerTreeTestReflectionMaskLayerForSurfaceWithUnclippedChild); |
| 7351 | 7288 |
| 7352 } // namespace cc | 7289 } // namespace cc |
| OLD | NEW |