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

Unified Diff: cc/trees/layer_tree_host_impl_unittest.cc

Issue 1394263004: android webview: allow cc to fail hardware draw (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: tests compile but crash Created 5 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: cc/trees/layer_tree_host_impl_unittest.cc
diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc
index 68f775d9c399eca0139eb5c6c9a97d1722cd082a..18b2140fd3422c95228342c2a667c862c4623ab7 100644
--- a/cc/trees/layer_tree_host_impl_unittest.cc
+++ b/cc/trees/layer_tree_host_impl_unittest.cc
@@ -467,8 +467,14 @@ TEST_F(LayerTreeHostImplTest, NotifyIfCanDrawChanged) {
}
TEST_F(LayerTreeHostImplTest, CanDrawIncompleteFrames) {
- CreateHostImpl(DefaultSettings(),
- FakeOutputSurface::CreateAlwaysDrawAndSwap3d());
+ CreateHostImpl(DefaultSettings(), FakeOutputSurface::Create3d());
+ const gfx::Transform external_transform;
+ const gfx::Rect external_viewport;
+ const gfx::Rect external_clip;
+ const bool resourceless_software_draw = true;
+ host_impl_->SetExternalDrawConstraints(
+ external_transform, external_viewport, external_clip, external_viewport,
+ external_transform, resourceless_software_draw);
bool always_draw = true;
CheckNotifyCalledIfCanDrawChanged(always_draw);
@@ -3118,11 +3124,15 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsAndFails) {
TEST_F(LayerTreeHostImplTest,
PrepareToDrawWhenDrawAndSwapFullViewportEveryFrame) {
- CreateHostImpl(DefaultSettings(),
- FakeOutputSurface::CreateAlwaysDrawAndSwap3d());
- EXPECT_TRUE(host_impl_->output_surface()
- ->capabilities()
- .draw_and_swap_full_viewport_every_frame);
+ CreateHostImpl(DefaultSettings(), FakeOutputSurface::Create3d());
+
+ const gfx::Transform external_transform;
+ const gfx::Rect external_viewport;
+ const gfx::Rect external_clip;
+ const bool resourceless_software_draw = true;
+ host_impl_->SetExternalDrawConstraints(
+ external_transform, external_viewport, external_clip, external_viewport,
+ external_transform, resourceless_software_draw);
std::vector<PrepareToDrawSuccessTestCase> cases;
@@ -5532,10 +5542,7 @@ class LayerTreeHostImplViewportCoveredTest : public LayerTreeHostImplTest {
child_(NULL),
did_activate_pending_tree_(false) {}
- scoped_ptr<OutputSurface> CreateFakeOutputSurface(bool always_draw) {
- if (always_draw) {
- return FakeOutputSurface::CreateAlwaysDrawAndSwap3d();
- }
+ scoped_ptr<OutputSurface> CreateFakeOutputSurface() {
return FakeOutputSurface::Create3d();
}
@@ -5684,6 +5691,16 @@ class LayerTreeHostImplViewportCoveredTest : public LayerTreeHostImplTest {
size, host_impl_->active_tree()->device_scale_factor());
}
+ void SetAlwaysDraw() {
+ const gfx::Transform external_transform;
+ const gfx::Rect external_viewport;
+ const gfx::Rect external_clip;
+ const bool resourceless_software_draw = true;
+ host_impl_->SetExternalDrawConstraints(
+ external_transform, external_viewport, external_clip, external_viewport,
+ external_transform, resourceless_software_draw);
+ }
+
DrawQuad::Material gutter_quad_material_;
gfx::Size gutter_texture_size_;
gfx::Size viewport_size_;
@@ -5694,8 +5711,7 @@ class LayerTreeHostImplViewportCoveredTest : public LayerTreeHostImplTest {
TEST_F(LayerTreeHostImplViewportCoveredTest, ViewportCovered) {
viewport_size_ = gfx::Size(1000, 1000);
- bool always_draw = false;
- CreateHostImpl(DefaultSettings(), CreateFakeOutputSurface(always_draw));
+ CreateHostImpl(DefaultSettings(), CreateFakeOutputSurface());
host_impl_->SetViewportSize(DipSizeToPixelSize(viewport_size_));
SetupActiveTreeLayers();
@@ -5708,8 +5724,7 @@ TEST_F(LayerTreeHostImplViewportCoveredTest, ViewportCovered) {
TEST_F(LayerTreeHostImplViewportCoveredTest, ViewportCoveredScaled) {
viewport_size_ = gfx::Size(1000, 1000);
- bool always_draw = false;
- CreateHostImpl(DefaultSettings(), CreateFakeOutputSurface(always_draw));
+ CreateHostImpl(DefaultSettings(), CreateFakeOutputSurface());
host_impl_->active_tree()->SetDeviceScaleFactor(2.f);
host_impl_->SetViewportSize(DipSizeToPixelSize(viewport_size_));
@@ -5723,8 +5738,8 @@ TEST_F(LayerTreeHostImplViewportCoveredTest, ViewportCoveredScaled) {
TEST_F(LayerTreeHostImplViewportCoveredTest, ActiveTreeGrowViewportInvalid) {
viewport_size_ = gfx::Size(1000, 1000);
- bool always_draw = true;
- CreateHostImpl(DefaultSettings(), CreateFakeOutputSurface(always_draw));
+ CreateHostImpl(DefaultSettings(), CreateFakeOutputSurface());
+ SetAlwaysDraw();
// Pending tree to force active_tree size invalid. Not used otherwise.
host_impl_->CreatePendingTree();
@@ -5740,8 +5755,8 @@ TEST_F(LayerTreeHostImplViewportCoveredTest, ActiveTreeGrowViewportInvalid) {
TEST_F(LayerTreeHostImplViewportCoveredTest, ActiveTreeShrinkViewportInvalid) {
viewport_size_ = gfx::Size(1000, 1000);
- bool always_draw = true;
- CreateHostImpl(DefaultSettings(), CreateFakeOutputSurface(always_draw));
+ CreateHostImpl(DefaultSettings(), CreateFakeOutputSurface());
+ SetAlwaysDraw();
// Set larger viewport and activate it to active tree.
host_impl_->CreatePendingTree();

Powered by Google App Engine
This is Rietveld 408576698