diff options
Diffstat (limited to 'android_webview/browser/browser_view_renderer_unittest.cc')
-rw-r--r-- | android_webview/browser/browser_view_renderer_unittest.cc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/android_webview/browser/browser_view_renderer_unittest.cc b/android_webview/browser/browser_view_renderer_unittest.cc index 0c2786b..b4a9d42 100644 --- a/android_webview/browser/browser_view_renderer_unittest.cc +++ b/android_webview/browser/browser_view_renderer_unittest.cc @@ -23,4 +23,40 @@ class SmokeTest : public RenderingTest { RENDERING_TEST_F(SmokeTest); +class ClearViewTest : public RenderingTest { + public: + ClearViewTest() : on_draw_count_(0u) {} + + void StartTest() override { + browser_view_renderer_->SetContinuousInvalidate(true); + browser_view_renderer_->ClearView(); + } + + void WillOnDraw() override { + on_draw_count_++; + 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. + } else { + // Following OnDraws should succeed. + EXPECT_TRUE(success); + } + } + + void DidDrawOnRT(SharedRendererState* functor) override { + EndTest(); + } + private: + size_t on_draw_count_; +}; + +RENDERING_TEST_F(ClearViewTest); + } // namespace android_webview |