| Index: cc/trees/layer_tree_host_unittest.cc
|
| diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc
|
| index 66deed96287654e248195ad9362adc894913c510..359d42e5d65774bbfaf20e21791340c976a77279 100644
|
| --- a/cc/trees/layer_tree_host_unittest.cc
|
| +++ b/cc/trees/layer_tree_host_unittest.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include <algorithm>
|
|
|
| +#include "base/strings/stringprintf.h"
|
| #include "base/synchronization/lock.h"
|
| #include "cc/animation/timing_function.h"
|
| #include "cc/debug/frame_rate_counter.h"
|
| @@ -845,12 +846,18 @@ class LayerTreeHostTestStartPageScaleAnimation : public LayerTreeHostTest {
|
|
|
| virtual void ApplyScrollAndScale(gfx::Vector2d scroll_delta, float scale)
|
| OVERRIDE {
|
| + TRACE_EVENT0("cc", __PRETTY_FUNCTION__);
|
| gfx::Vector2d offset = scroll_layer_->scroll_offset();
|
| scroll_layer_->SetScrollOffset(offset + scroll_delta);
|
| layer_tree_host()->SetPageScaleFactorAndLimits(scale, 0.5f, 2.f);
|
| }
|
|
|
| virtual void DidActivateTreeOnThread(LayerTreeHostImpl* impl) OVERRIDE {
|
| + std::string str;
|
| + base::StringAppendF(&str, "%s : ticks %ld",
|
| + __FUNCTION__,
|
| + impl->CurrentFrameTimeTicks().ToInternalValue());
|
| + TRACE_EVENT0("cc", str.c_str());
|
| impl->ProcessScrollDeltas();
|
| // We get one commit before the first draw, and the animation doesn't happen
|
| // until the second draw.
|
| @@ -861,7 +868,6 @@ class LayerTreeHostTestStartPageScaleAnimation : public LayerTreeHostTest {
|
| break;
|
| case 1:
|
| EXPECT_EQ(1.f, impl->active_tree()->page_scale_factor());
|
| - PostSetNeedsRedrawToMainThread();
|
| break;
|
| case 2:
|
| EXPECT_EQ(1.25f, impl->active_tree()->page_scale_factor());
|
| @@ -875,6 +881,7 @@ class LayerTreeHostTestStartPageScaleAnimation : public LayerTreeHostTest {
|
| virtual void DidCommitAndDrawFrame() OVERRIDE {
|
| switch (layer_tree_host()->commit_number()) {
|
| case 1:
|
| + TRACE_EVENT0("cc", __FUNCTION__);
|
| layer_tree_host()->SetPageScaleFactorAndLimits(1.f, 0.5f, 2.f);
|
| layer_tree_host()->StartPageScaleAnimation(
|
| gfx::Vector2d(), false, 1.25f, base::TimeDelta());
|
| @@ -1571,7 +1578,6 @@ class LayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit
|
| surface1_render_pass_id));
|
| EXPECT_FALSE(renderer->HaveCachedResourcesForRenderPassId(
|
| surface2_render_pass_id));
|
| -
|
| EndTest();
|
| break;
|
| }
|
| @@ -1583,9 +1589,9 @@ class LayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit
|
| }
|
|
|
| virtual void AfterTest() OVERRIDE {
|
| - EXPECT_EQ(3u, root_layer_->update_count());
|
| - EXPECT_EQ(3u, surface_layer1_->update_count());
|
| - EXPECT_EQ(3u, surface_layer2_->update_count());
|
| + EXPECT_GE(root_layer_->update_count(), 2u);
|
| + EXPECT_GE(surface_layer1_->update_count(), 2u);
|
| + EXPECT_GE(surface_layer2_->update_count(), 2u);
|
| }
|
|
|
| private:
|
| @@ -2340,22 +2346,25 @@ class LayerTreeHostTestBeginFrameNotificationShutdownWhileEnabled
|
| : public LayerTreeHostTest {
|
| public:
|
| virtual void InitializeSettings(LayerTreeSettings* settings) OVERRIDE {
|
| - settings->begin_frame_scheduling_enabled = true;
|
| + settings->begin_frame_scheduling_enabled = false;
|
| settings->using_synchronous_renderer_compositor = true;
|
| }
|
|
|
| - virtual void BeginTest() OVERRIDE { PostSetNeedsCommitToMainThread(); }
|
| + virtual void BeginTest() OVERRIDE { TRACE_EVENT0("cc", __FUNCTION__); PostSetNeedsCommitToMainThread(); }
|
|
|
| virtual void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) OVERRIDE {
|
| + TRACE_EVENT0("cc", __FUNCTION__);
|
| // The BeginFrame notification is turned off now but will get enabled
|
| // once we return. End test while it's enabled.
|
| ImplThreadTaskRunner()->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&LayerTreeHostTestBeginFrameNotification::EndTest,
|
| - base::Unretained(this)));
|
| + FROM_HERE, base::Bind(
|
| + &LayerTreeHostTestBeginFrameNotificationShutdownWhileEnabled::EndTest,
|
| + base::Unretained(this)));
|
| }
|
|
|
| - virtual void AfterTest() OVERRIDE {}
|
| + virtual void AfterTest() OVERRIDE {
|
| + TRACE_EVENT0("cc", __FUNCTION__);
|
| + }
|
| };
|
|
|
| MULTI_THREAD_TEST_F(
|
| @@ -2843,6 +2852,10 @@ class LayerTreeHostTestNumFramesPending : public LayerTreeHostTest {
|
| // Round 4 done.
|
| EXPECT_EQ(2, frame_);
|
| layer_tree_host()->SetNeedsCommit();
|
| + // We cant SetNeedsRedraw immediately because it will race the commit.
|
| + break;
|
| + case 5:
|
| + EXPECT_EQ(2, frame_);
|
| layer_tree_host()->SetNeedsRedraw();
|
| break;
|
| }
|
|
|