Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(150)

Side by Side Diff: android_webview/browser/browser_view_renderer_unittest.cc

Issue 2637273002: [android_webview] Do not declare WebView visible on detaching from window. (Closed)
Patch Set: Fixed IsClientVisible(), added unit tests Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <map> 5 #include <map>
6 #include <queue> 6 #include <queue>
7 #include <utility> 7 #include <utility>
8 8
9 #include "android_webview/browser/browser_view_renderer.h" 9 #include "android_webview/browser/browser_view_renderer.h"
10 #include "android_webview/browser/child_frame.h" 10 #include "android_webview/browser/child_frame.h"
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 } 284 }
285 on_draw_count_++; 285 on_draw_count_++;
286 } 286 }
287 287
288 private: 288 private:
289 int on_draw_count_; 289 int on_draw_count_;
290 }; 290 };
291 291
292 RENDERING_TEST_F(CompositorNoFrameTest); 292 RENDERING_TEST_F(CompositorNoFrameTest);
293 293
294 class ClientIsVisibleOnConstructionTest : public RenderingTest {
295 void SetUpTestHarness() override {
296 browser_view_renderer_.reset(
297 new BrowserViewRenderer(this, base::ThreadTaskRunnerHandle::Get()));
298 }
299
300 void StartTest() override {
301 EXPECT_FALSE(browser_view_renderer_->attached_to_window());
302 EXPECT_FALSE(browser_view_renderer_->window_visible_for_tests());
303 EXPECT_TRUE(browser_view_renderer_->IsClientVisible());
304 EndTest();
305 }
306 };
307
308 RENDERING_TEST_F(ClientIsVisibleOnConstructionTest);
309
310 class ClientIsVisibleAfterAttachTest : public RenderingTest {
311 void StartTest() override {
312 EXPECT_TRUE(browser_view_renderer_->attached_to_window());
313 EXPECT_TRUE(browser_view_renderer_->window_visible_for_tests());
314
315 EXPECT_TRUE(browser_view_renderer_->IsClientVisible());
316 EndTest();
317 }
318 };
319
320 RENDERING_TEST_F(ClientIsVisibleAfterAttachTest);
321
322 class ClientIsInvisibleAfterWindowGoneTest : public RenderingTest {
323 void StartTest() override {
324 browser_view_renderer_->SetWindowVisibility(false);
325 EXPECT_FALSE(browser_view_renderer_->IsClientVisible());
326 EndTest();
327 }
328 };
329
330 RENDERING_TEST_F(ClientIsInvisibleAfterWindowGoneTest);
331
332 class ClientIsInvisibleAfterDetachTest : public RenderingTest {
333 void StartTest() override {
334 browser_view_renderer_->OnDetachedFromWindow();
335 EXPECT_FALSE(browser_view_renderer_->IsClientVisible());
336 EndTest();
337 }
338 };
339
340 RENDERING_TEST_F(ClientIsInvisibleAfterDetachTest);
341
294 class ResourceRenderingTest : public RenderingTest { 342 class ResourceRenderingTest : public RenderingTest {
295 public: 343 public:
296 using ResourceCountMap = std::map<cc::ResourceId, int>; 344 using ResourceCountMap = std::map<cc::ResourceId, int>;
297 using CompositorFrameSinkResourceCountMap = 345 using CompositorFrameSinkResourceCountMap =
298 std::map<uint32_t, ResourceCountMap>; 346 std::map<uint32_t, ResourceCountMap>;
299 347
300 virtual std::unique_ptr<content::SynchronousCompositor::Frame> GetFrame( 348 virtual std::unique_ptr<content::SynchronousCompositor::Frame> GetFrame(
301 int frame_number) = 0; 349 int frame_number) = 0;
302 350
303 void StartTest() override { 351 void StartTest() override {
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 } 545 }
498 546
499 private: 547 private:
500 std::unique_ptr<FakeFunctor> saved_functor_; 548 std::unique_ptr<FakeFunctor> saved_functor_;
501 CompositorFrameSinkResourceCountMap expected_return_count_; 549 CompositorFrameSinkResourceCountMap expected_return_count_;
502 }; 550 };
503 551
504 RENDERING_TEST_F(RenderThreadManagerSwitchTest); 552 RENDERING_TEST_F(RenderThreadManagerSwitchTest);
505 553
506 } // namespace android_webview 554 } // namespace android_webview
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698