diff options
author | sunnyps <sunnyps@chromium.org> | 2015-04-01 17:51:03 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-02 00:51:26 +0000 |
commit | b6ee9a21654e8690a6ff2feee05247f071567692 (patch) | |
tree | a4384dc1c649f7a83f4483228ccc1f33b0c32013 /android_webview/browser/browser_view_renderer_unittest.cc | |
parent | 64150bb3c9ad4efcdb80a6cff9c4e23f3436f535 (diff) | |
download | chromium_src-b6ee9a21654e8690a6ff2feee05247f071567692.zip chromium_src-b6ee9a21654e8690a6ff2feee05247f071567692.tar.gz chromium_src-b6ee9a21654e8690a6ff2feee05247f071567692.tar.bz2 |
Revert of cc: Make scheduling be driven by vsync for android webview. (patchset #37 id:720001 of https://codereview.chromium.org/817603002/)
Reason for revert:
Caused failures on memory bot.
Original issue's description:
> cc: Make scheduling be driven by vsync for android webview.
>
> This CL makes android webview use the similar mechanisms for
> scheduling as other platforms instead of using special
> polling code in the scheduler.
>
> Design Doc: https://docs.google.com/a/chromium.org/document/d/1w5UiuA2uZcAiU9-1Y23bxXaStUThkAK8wHI4ULqho2Y/edit#
>
> BUG=439275
>
> Committed: https://crrev.com/bf27da634790bb6eecf4b89f278cfd55c5e5d1f3
> Cr-Commit-Position: refs/heads/master@{#323361}
TBR=brianderson@chromium.org,boliu@chromium.org,enne@chromium.org,danakj@chromium.org,hush@chromium.org,mithro@mithis.com,jdduke@chromium.org,sievers@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=439275
Review URL: https://codereview.chromium.org/1052103002
Cr-Commit-Position: refs/heads/master@{#323382}
Diffstat (limited to 'android_webview/browser/browser_view_renderer_unittest.cc')
-rw-r--r-- | android_webview/browser/browser_view_renderer_unittest.cc | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/android_webview/browser/browser_view_renderer_unittest.cc b/android_webview/browser/browser_view_renderer_unittest.cc index 634e1f3..e4c6eac 100644 --- a/android_webview/browser/browser_view_renderer_unittest.cc +++ b/android_webview/browser/browser_view_renderer_unittest.cc @@ -9,7 +9,13 @@ namespace android_webview { class SmokeTest : public RenderingTest { - void StartTest() override { browser_view_renderer_->PostInvalidate(); } + void StartTest() override { + browser_view_renderer_->SetContinuousInvalidate(true); + } + + void WillOnDraw() override { + browser_view_renderer_->SetContinuousInvalidate(false); + } void DidDrawOnRT(SharedRendererState* functor) override { EndTest(); @@ -20,20 +26,25 @@ RENDERING_TEST_F(SmokeTest); class ClearViewTest : public RenderingTest { public: - ClearViewTest() : on_draw_count_(0) {} + ClearViewTest() : on_draw_count_(0u) {} void StartTest() override { - browser_view_renderer_->PostInvalidate(); + browser_view_renderer_->SetContinuousInvalidate(true); browser_view_renderer_->ClearView(); } - void DidOnDraw(bool success) override { + void WillOnDraw() override { on_draw_count_++; - if (on_draw_count_ == 1) { + if (on_draw_count_ == 2u) { + browser_view_renderer_->SetContinuousInvalidate(false); + } + } + + void DidOnDraw(bool success) override { + if (on_draw_count_ == 1u) { // First OnDraw should be skipped due to ClearView. EXPECT_FALSE(success); browser_view_renderer_->DidUpdateContent(); // Unset ClearView. - browser_view_renderer_->PostInvalidate(); } else { // Following OnDraws should succeed. EXPECT_TRUE(success); @@ -44,23 +55,25 @@ class ClearViewTest : public RenderingTest { EndTest(); } private: - int on_draw_count_; + size_t on_draw_count_; }; RENDERING_TEST_F(ClearViewTest); class TestAnimateInAndOutOfScreen : public RenderingTest { public: - TestAnimateInAndOutOfScreen() : on_draw_count_(0), draw_gl_count_on_rt_(0) {} + TestAnimateInAndOutOfScreen() + : on_draw_count_(0u), draw_gl_count_on_rt_(0u) {} void StartTest() override { new_constraints_ = ParentCompositorDrawConstraints( false, gfx::Transform(), gfx::Rect(window_->surface_size())); new_constraints_.transform.Scale(2.0, 2.0); - browser_view_renderer_->PostInvalidate(); + browser_view_renderer_->SetContinuousInvalidate(true); } void WillOnDraw() override { + browser_view_renderer_->SetContinuousInvalidate(false); // Step 0: A single onDraw on screen. The parent draw constraints // of the BVR will updated to be the initial constraints. // Step 1: A single onDrraw off screen. The parent draw constraints of the @@ -68,7 +81,7 @@ class TestAnimateInAndOutOfScreen : public RenderingTest { // Step 2: This onDraw is to introduce the DrawGL that animates the // webview onto the screen on render thread. End the test when the parent // draw constraints of BVR is updated to initial constraints. - if (on_draw_count_ == 1 || on_draw_count_ == 2) + if (on_draw_count_ == 1u || on_draw_count_ == 2u) browser_view_renderer_->PrepareToDraw(gfx::Vector2d(), gfx::Rect()); } @@ -79,7 +92,7 @@ class TestAnimateInAndOutOfScreen : public RenderingTest { bool WillDrawOnRT(SharedRendererState* functor, AwDrawGLInfo* draw_info) override { - if (draw_gl_count_on_rt_ == 1) { + if (draw_gl_count_on_rt_ == 1u) { draw_gl_count_on_rt_++; ui_proxy_->PostTask(FROM_HERE, base::Bind(&RenderingTest::PostInvalidate, base::Unretained(this))); @@ -91,7 +104,7 @@ class TestAnimateInAndOutOfScreen : public RenderingTest { draw_info->is_layer = false; gfx::Transform transform; - if (draw_gl_count_on_rt_ == 0) + if (draw_gl_count_on_rt_ == 0u) transform = new_constraints_.transform; transform.matrix().asColMajorf(draw_info->transform); @@ -132,8 +145,8 @@ class TestAnimateInAndOutOfScreen : public RenderingTest { } private: - int on_draw_count_; - int draw_gl_count_on_rt_; + size_t on_draw_count_; + size_t draw_gl_count_on_rt_; ParentCompositorDrawConstraints initial_constraints_; ParentCompositorDrawConstraints new_constraints_; }; |