summaryrefslogtreecommitdiffstats
path: root/android_webview/browser/browser_view_renderer_unittest.cc
diff options
context:
space:
mode:
authorboliu <boliu@chromium.org>2015-01-13 19:16:59 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-14 03:17:50 +0000
commit83cbc841cb270e9ccea5a9912c9d9a6135ecb731 (patch)
treeed09f39708897d27cc99575d3c7a8a3d25032903 /android_webview/browser/browser_view_renderer_unittest.cc
parentfb86c77a1633b6bceff1811649e09013d6e5a31d (diff)
downloadchromium_src-83cbc841cb270e9ccea5a9912c9d9a6135ecb731.zip
chromium_src-83cbc841cb270e9ccea5a9912c9d9a6135ecb731.tar.gz
chromium_src-83cbc841cb270e9ccea5a9912c9d9a6135ecb731.tar.bz2
aw: Fix clearView implementation
The early out was accidentally dropped in a refactor. Add it back here. And also add unit tests for clear view. BUG=448488 Review URL: https://codereview.chromium.org/846323002 Cr-Commit-Position: refs/heads/master@{#311399}
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