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

Unified Diff: cc/trees/layer_tree_host_impl_unittest.cc

Issue 2100353002: cc: DCHECK that the OutputSurface was released in ~LayerTreeHostImpl(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: released-outputsurface: rebase-on-2106273002 Created 4 years, 6 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
« no previous file with comments | « cc/trees/layer_tree_host_impl.cc ('k') | cc/trees/layer_tree_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 91a19139190126ab13b489e643bcb9601d7a60a6..750c20cfbe40239600bf05054bb7dfc53290f07e 100644
--- a/cc/trees/layer_tree_host_impl_unittest.cc
+++ b/cc/trees/layer_tree_host_impl_unittest.cc
@@ -119,7 +119,10 @@ class LayerTreeHostImplTest : public testing::Test,
CreateHostImpl(DefaultSettings(), CreateOutputSurface());
}
- void TearDown() override {}
+ void TearDown() override {
+ if (host_impl_)
+ host_impl_->ReleaseOutputSurface();
+ }
void UpdateRendererCapabilitiesOnImplThread() override {}
void DidLoseOutputSurfaceOnImplThread() override {}
@@ -191,6 +194,8 @@ class LayerTreeHostImplTest : public testing::Test,
const LayerTreeSettings& settings,
std::unique_ptr<OutputSurface> output_surface,
TaskRunnerProvider* task_runner_provider) {
+ if (host_impl_)
+ host_impl_->ReleaseOutputSurface();
host_impl_ = LayerTreeHostImpl::Create(
settings, this, task_runner_provider, &stats_instrumentation_,
&shared_bitmap_manager_, &gpu_memory_buffer_manager_,
@@ -1349,7 +1354,7 @@ TEST_F(LayerTreeHostImplTest, AnimationSchedulingActiveTree) {
child->SetBounds(gfx::Size(10, 10));
child->draw_properties().visible_layer_rect = gfx::Rect(10, 10);
child->SetDrawsContent(true);
-
+ host_impl_->active_tree()->BuildPropertyTreesForTesting();
host_impl_->active_tree()->SetElementIdsForTesting();
// Add a translate from 6,7 to 8,9.
@@ -1442,6 +1447,7 @@ TEST_F(LayerTreeHostImplTest, AnimationSchedulingCommitToActiveTree) {
EXPECT_FALSE(did_request_commit_);
// Delete the LayerTreeHostImpl before the TaskRunnerProvider goes away.
+ host_impl_->ReleaseOutputSurface();
host_impl_ = nullptr;
}
@@ -1460,6 +1466,7 @@ TEST_F(LayerTreeHostImplTest, AnimationSchedulingOnLayerDestruction) {
child->draw_properties().visible_layer_rect = gfx::Rect(10, 10);
child->SetDrawsContent(true);
+ host_impl_->active_tree()->BuildPropertyTreesForTesting();
host_impl_->active_tree()->SetElementIdsForTesting();
// Add a translate animation.
@@ -2709,6 +2716,9 @@ class LayerTreeHostImplOverridePhysicalTime : public LayerTreeHostImpl {
class LayerTreeHostImplTestScrollbarAnimation : public LayerTreeHostImplTest {
protected:
void SetupLayers(LayerTreeSettings settings) {
+ host_impl_->ReleaseOutputSurface();
+ host_impl_ = nullptr;
+
gfx::Size content_size(100, 100);
LayerTreeHostImplOverridePhysicalTime* host_impl_override_time =
@@ -5884,7 +5894,8 @@ TEST_F(LayerTreeHostImplTest, RootLayerScrollOffsetDelegation) {
EXPECT_EQ(gfx::SizeF(new_size), scroll_watcher.scrollable_size());
// Tear down the LayerTreeHostImpl before the InputHandlerClient.
- host_impl_.reset();
+ host_impl_->ReleaseOutputSurface();
+ host_impl_ = nullptr;
}
void CheckLayerScrollDelta(LayerImpl* layer, gfx::Vector2dF scroll_delta) {
@@ -7058,6 +7069,8 @@ TEST_F(LayerTreeHostImplTest, PartialSwapReceivesDamageRect) {
expected_swap_rect = gfx::Rect(0, 0, 10, 10);
EXPECT_EQ(expected_swap_rect.ToString(),
fake_output_surface->last_swap_rect().ToString());
+
+ layer_tree_host_impl->ReleaseOutputSurface();
}
TEST_F(LayerTreeHostImplTest, RootLayerDoesntCreateExtraSurface) {
@@ -7380,6 +7393,7 @@ TEST_F(LayerTreeHostImplTest, ContributingLayerEmptyScissorPartialSwap) {
my_host_impl->DrawLayers(&frame);
my_host_impl->DidDrawAllLayers(frame);
}
+ my_host_impl->ReleaseOutputSurface();
}
TEST_F(LayerTreeHostImplTest, ContributingLayerEmptyScissorNoPartialSwap) {
@@ -7410,6 +7424,7 @@ TEST_F(LayerTreeHostImplTest, ContributingLayerEmptyScissorNoPartialSwap) {
my_host_impl->DrawLayers(&frame);
my_host_impl->DidDrawAllLayers(frame);
}
+ my_host_impl->ReleaseOutputSurface();
}
TEST_F(LayerTreeHostImplTest, LayersFreeTextures) {
@@ -7786,6 +7801,9 @@ TEST_F(LayerTreeHostImplTest,
// Checks that we have a non-0 default allocation if we pass a context that
// doesn't support memory management extensions.
TEST_F(LayerTreeHostImplTest, DefaultMemoryAllocation) {
+ host_impl_->ReleaseOutputSurface();
+ host_impl_ = nullptr;
+
LayerTreeSettings settings = DefaultSettings();
host_impl_ = LayerTreeHostImpl::Create(
settings, this, &task_runner_provider_, &stats_instrumentation_,
@@ -7969,6 +7987,7 @@ TEST_F(LayerTreeHostImplTest, ShutdownReleasesContext) {
EXPECT_FALSE(context_provider->HasOneRef());
EXPECT_EQ(1u, context_provider->TestContext3d()->NumTextures());
+ host_impl_->ReleaseOutputSurface();
host_impl_ = nullptr;
// The CopyOutputResult's callback was cancelled, the CopyOutputResult
@@ -10934,6 +10953,9 @@ TEST_F(LayerTreeHostImplTest, JitterTest) {
// with a software OutputSurface, LayerTreeHostImpl correctly re-computes GPU
// rasterization status.
TEST_F(LayerTreeHostImplTest, RecomputeGpuRasterOnOutputSurfaceChange) {
+ host_impl_->ReleaseOutputSurface();
+ host_impl_ = nullptr;
+
LayerTreeSettings settings = DefaultSettings();
settings.gpu_rasterization_forced = true;
« no previous file with comments | « cc/trees/layer_tree_host_impl.cc ('k') | cc/trees/layer_tree_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698