| 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 2290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2301 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestContinuousInvalidate); | 2301 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestContinuousInvalidate); |
| 2302 | 2302 |
| 2303 class LayerTreeHostTestDeferCommits : public LayerTreeHostTest { | 2303 class LayerTreeHostTestDeferCommits : public LayerTreeHostTest { |
| 2304 public: | 2304 public: |
| 2305 LayerTreeHostTestDeferCommits() | 2305 LayerTreeHostTestDeferCommits() |
| 2306 : num_will_begin_impl_frame_(0), | 2306 : num_will_begin_impl_frame_(0), |
| 2307 num_send_begin_main_frame_(0) {} | 2307 num_send_begin_main_frame_(0) {} |
| 2308 | 2308 |
| 2309 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 2309 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 2310 | 2310 |
| 2311 void WillBeginImplFrame(const BeginFrameArgs& args) override { | 2311 void WillBeginImplFrameOnThread(LayerTreeHostImpl* host_impl, |
| 2312 const BeginFrameArgs& args) override { |
| 2312 num_will_begin_impl_frame_++; | 2313 num_will_begin_impl_frame_++; |
| 2313 switch (num_will_begin_impl_frame_) { | 2314 switch (num_will_begin_impl_frame_) { |
| 2314 case 1: | 2315 case 1: |
| 2315 break; | 2316 break; |
| 2316 case 2: | 2317 case 2: |
| 2317 case 3: | 2318 case 3: |
| 2318 case 4: | 2319 case 4: |
| 2319 // Post a number of frames to increase the chance that, if there exist | 2320 // Post a number of frames to increase the chance that, if there exist |
| 2320 // bugs, an unexpected BeginMainFrame will be issued. | 2321 // bugs, an unexpected BeginMainFrame will be issued. |
| 2321 PostSetNeedsCommitToMainThread(); | 2322 PostSetNeedsCommitToMainThread(); |
| (...skipping 3183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5505 int num_draws_; | 5506 int num_draws_; |
| 5506 const gfx::Size bounds_; | 5507 const gfx::Size bounds_; |
| 5507 FakeContentLayerClient client_; | 5508 FakeContentLayerClient client_; |
| 5508 scoped_refptr<ContentLayerWithUpdateTracking> content_layer_; | 5509 scoped_refptr<ContentLayerWithUpdateTracking> content_layer_; |
| 5509 scoped_refptr<FakePictureLayer> picture_layer_; | 5510 scoped_refptr<FakePictureLayer> picture_layer_; |
| 5510 Layer* child_layer_; | 5511 Layer* child_layer_; |
| 5511 }; | 5512 }; |
| 5512 | 5513 |
| 5513 MULTI_THREAD_TEST_F(LayerTreeHostTestContinuousPainting); | 5514 MULTI_THREAD_TEST_F(LayerTreeHostTestContinuousPainting); |
| 5514 | 5515 |
| 5516 class LayerTreeHostTestWillBeginImplFrameHasDidFinishImplFrame |
| 5517 : public LayerTreeHostTest { |
| 5518 public: |
| 5519 enum { kExpectedNumImplFrames = 10 }; |
| 5520 |
| 5521 LayerTreeHostTestWillBeginImplFrameHasDidFinishImplFrame() |
| 5522 : will_begin_impl_frame_count_(0), did_finish_impl_frame_count_(0) {} |
| 5523 |
| 5524 void BeginTest() override { |
| 5525 // Kick off the test with a commit. |
| 5526 PostSetNeedsCommitToMainThread(); |
| 5527 } |
| 5528 |
| 5529 void WillBeginImplFrameOnThread(LayerTreeHostImpl* host_impl, |
| 5530 const BeginFrameArgs& args) override { |
| 5531 EXPECT_EQ(will_begin_impl_frame_count_, did_finish_impl_frame_count_); |
| 5532 EXPECT_FALSE(TestEnded()); |
| 5533 will_begin_impl_frame_count_++; |
| 5534 } |
| 5535 |
| 5536 void DidFinishImplFrameOnThread(LayerTreeHostImpl* host_impl) override { |
| 5537 did_finish_impl_frame_count_++; |
| 5538 EXPECT_EQ(will_begin_impl_frame_count_, did_finish_impl_frame_count_); |
| 5539 |
| 5540 // Request a number of commits to cause multiple impl frames. We expect to |
| 5541 // get one more impl frames than the number of commits requested because |
| 5542 // after a commit it takes one frame to become idle. |
| 5543 if (did_finish_impl_frame_count_ < kExpectedNumImplFrames - 1) |
| 5544 PostSetNeedsCommitToMainThread(); |
| 5545 } |
| 5546 |
| 5547 void SendBeginMainFrameNotExpectedSoon() override { EndTest(); } |
| 5548 |
| 5549 void AfterTest() override { |
| 5550 EXPECT_GT(will_begin_impl_frame_count_, 0); |
| 5551 EXPECT_GT(did_finish_impl_frame_count_, 0); |
| 5552 EXPECT_EQ(will_begin_impl_frame_count_, did_finish_impl_frame_count_); |
| 5553 |
| 5554 // TODO(mithro): Figure out why the multithread version of this test |
| 5555 // sometimes has one more frame then expected. Possibly related to |
| 5556 // http://crbug.com/443185 |
| 5557 if (!HasImplThread()) { |
| 5558 EXPECT_EQ(will_begin_impl_frame_count_, kExpectedNumImplFrames); |
| 5559 EXPECT_EQ(did_finish_impl_frame_count_, kExpectedNumImplFrames); |
| 5560 } |
| 5561 } |
| 5562 |
| 5563 private: |
| 5564 int will_begin_impl_frame_count_; |
| 5565 int did_finish_impl_frame_count_; |
| 5566 }; |
| 5567 |
| 5568 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 5569 LayerTreeHostTestWillBeginImplFrameHasDidFinishImplFrame); |
| 5570 |
| 5515 class LayerTreeHostTestSendBeginFramesToChildren : public LayerTreeHostTest { | 5571 class LayerTreeHostTestSendBeginFramesToChildren : public LayerTreeHostTest { |
| 5516 public: | 5572 public: |
| 5517 LayerTreeHostTestSendBeginFramesToChildren() | 5573 LayerTreeHostTestSendBeginFramesToChildren() |
| 5518 : begin_frame_sent_to_children_(false) { | 5574 : begin_frame_sent_to_children_(false) { |
| 5519 } | 5575 } |
| 5520 | 5576 |
| 5521 void BeginTest() override { | 5577 void BeginTest() override { |
| 5522 // Kick off the test with a commit. | 5578 // Kick off the test with a commit. |
| 5523 PostSetNeedsCommitToMainThread(); | 5579 PostSetNeedsCommitToMainThread(); |
| 5524 } | 5580 } |
| (...skipping 1525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7050 void AfterTest() override {} | 7106 void AfterTest() override {} |
| 7051 | 7107 |
| 7052 scoped_refptr<FakePictureLayer> content_child_layer_; | 7108 scoped_refptr<FakePictureLayer> content_child_layer_; |
| 7053 FakeContentLayerClient client_; | 7109 FakeContentLayerClient client_; |
| 7054 }; | 7110 }; |
| 7055 | 7111 |
| 7056 SINGLE_AND_MULTI_THREAD_TEST_F( | 7112 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 7057 LayerTreeTestReflectionMaskLayerForSurfaceWithUnclippedChild); | 7113 LayerTreeTestReflectionMaskLayerForSurfaceWithUnclippedChild); |
| 7058 | 7114 |
| 7059 } // namespace cc | 7115 } // namespace cc |
| OLD | NEW |