summaryrefslogtreecommitdiffstats
path: root/android_webview/browser/browser_view_renderer_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'android_webview/browser/browser_view_renderer_unittest.cc')
-rw-r--r--android_webview/browser/browser_view_renderer_unittest.cc36
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