Index: cc/layers/texture_layer_unittest.cc |
diff --git a/cc/layers/texture_layer_unittest.cc b/cc/layers/texture_layer_unittest.cc |
index aa08e9f81ee9a854af56afa1ae2527637dd25656..1d16a89d48e0d606093f759fde2d92ffd98d5ab7 100644 |
--- a/cc/layers/texture_layer_unittest.cc |
+++ b/cc/layers/texture_layer_unittest.cc |
@@ -1022,7 +1022,7 @@ class TextureLayerWithMailboxMainThreadDeleted : public LayerTreeTest { |
PostSetNeedsCommitToMainThread(); |
} |
- virtual void DidCommitAndDrawFrame() OVERRIDE { |
+ virtual void DidCommit() OVERRIDE { |
switch (layer_tree_host()->source_frame_number()) { |
case 1: |
// Delete the TextureLayer on the main thread while the mailbox is in |
@@ -1090,20 +1090,29 @@ class TextureLayerWithMailboxImplThreadDeleted : public LayerTreeTest { |
PostSetNeedsCommitToMainThread(); |
} |
- virtual void DidCommitAndDrawFrame() OVERRIDE { |
- switch (layer_tree_host()->source_frame_number()) { |
- case 1: |
+ virtual void DidCommit() OVERRIDE { |
+ if (layer_tree_host()->source_frame_number() == 1) { |
// Remove the TextureLayer on the main thread while the mailbox is in |
// the impl tree, but don't delete the TextureLayer until after the impl |
// tree side is deleted. |
layer_->RemoveFromParent(); |
- break; |
- case 2: |
- layer_ = NULL; |
- break; |
} |
} |
+ virtual void SwapBuffersCompleteOnThread(LayerTreeHostImpl *impl) OVERRIDE { |
+ if (impl->active_tree()->source_frame_number() == 1) { |
+ proxy()->MainThreadTaskRunner()->PostTask( |
+ FROM_HERE, |
+ base::Bind( |
+ &TextureLayerWithMailboxImplThreadDeleted::DeleteTextureLayer, |
+ base::Unretained(this))); |
+ } |
+ } |
+ |
+ virtual void DeleteTextureLayer() { |
+ layer_ = NULL; |
+ } |
+ |
virtual void AfterTest() OVERRIDE { |
EXPECT_EQ(1, callback_count_); |
} |