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

Issue 11377108: [cc] Fix crash when adding a child layer to its own parent. (Closed)

Created:
8 years, 1 month ago by Ted C
Modified:
8 years, 1 month ago
Reviewers:
danakj, jamesr, no sievers
CC:
chromium-reviews, cc-bugs_chromium.org, gone
Visibility:
Public.

Description

[cc] Fix crash when adding a child layer to its own parent. Only calculate the index after calling removeFromParent in case it modifies the number of children. BUG= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=167315

Patch Set 1 #

Patch Set 2 : Added unittest. #

Total comments: 2

Patch Set 3 : Review comments #

Total comments: 6

Patch Set 4 : Use unsigned ints. #

Total comments: 3

Patch Set 5 : Address review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+19 lines, -1 line) Patch
M cc/layer.cc View 1 chunk +1 line, -1 line 0 comments Download
M cc/layer_unittest.cc View 1 2 3 4 1 chunk +18 lines, -0 lines 0 comments Download

Messages

Total messages: 15 (0 generated)
Ted C
8 years, 1 month ago (2012-11-12 19:26:36 UTC) #1
Ted C
8 years, 1 month ago (2012-11-12 19:26:51 UTC) #2
jamesr
Can you add a test? See cc/layer_unittest.cc
8 years, 1 month ago (2012-11-12 19:29:08 UTC) #3
Ted C
Added a unittest and verified that it crashed w/o my change and passes with.
8 years, 1 month ago (2012-11-12 21:46:14 UTC) #4
danakj
https://chromiumcodereview.appspot.com/11377108/diff/5001/cc/layer_unittest.cc File cc/layer_unittest.cc (right): https://chromiumcodereview.appspot.com/11377108/diff/5001/cc/layer_unittest.cc#newcode172 cc/layer_unittest.cc:172: parent->setLayerTreeHost(m_layerTreeHost.get()); Do m_layerTreeHost->setRootLayer(parent) instead
8 years, 1 month ago (2012-11-12 21:47:23 UTC) #5
Ted C
https://chromiumcodereview.appspot.com/11377108/diff/5001/cc/layer_unittest.cc File cc/layer_unittest.cc (right): https://chromiumcodereview.appspot.com/11377108/diff/5001/cc/layer_unittest.cc#newcode172 cc/layer_unittest.cc:172: parent->setLayerTreeHost(m_layerTreeHost.get()); On 2012/11/12 21:47:23, danakj wrote: > Do m_layerTreeHost->setRootLayer(parent) ...
8 years, 1 month ago (2012-11-12 22:15:45 UTC) #6
jamesr
lgtm
8 years, 1 month ago (2012-11-12 22:22:09 UTC) #7
tfarina
https://chromiumcodereview.appspot.com/11377108/diff/9001/cc/layer_unittest.cc File cc/layer_unittest.cc (right): https://chromiumcodereview.appspot.com/11377108/diff/9001/cc/layer_unittest.cc#newcode174 cc/layer_unittest.cc:174: ASSERT_EQ(static_cast<size_t>(0), parent->children().size()); 0u https://chromiumcodereview.appspot.com/11377108/diff/9001/cc/layer_unittest.cc#newcode177 cc/layer_unittest.cc:177: ASSERT_EQ(static_cast<size_t>(1), parent->children().size()); 1u https://chromiumcodereview.appspot.com/11377108/diff/9001/cc/layer_unittest.cc#newcode181 ...
8 years, 1 month ago (2012-11-12 22:22:47 UTC) #8
Ted C
https://chromiumcodereview.appspot.com/11377108/diff/9001/cc/layer_unittest.cc File cc/layer_unittest.cc (right): https://chromiumcodereview.appspot.com/11377108/diff/9001/cc/layer_unittest.cc#newcode174 cc/layer_unittest.cc:174: ASSERT_EQ(static_cast<size_t>(0), parent->children().size()); On 2012/11/12 22:22:47, tfarina wrote: > 0u ...
8 years, 1 month ago (2012-11-12 22:31:12 UTC) #9
danakj
https://chromiumcodereview.appspot.com/11377108/diff/4002/cc/layer_unittest.cc File cc/layer_unittest.cc (right): https://chromiumcodereview.appspot.com/11377108/diff/4002/cc/layer_unittest.cc#newcode174 cc/layer_unittest.cc:174: ASSERT_EQ(static_cast<size_t>(0u), parent->children().size()); You shouldn't need the static_casts then :)
8 years, 1 month ago (2012-11-12 22:31:48 UTC) #10
tfarina
https://chromiumcodereview.appspot.com/11377108/diff/4002/cc/layer_unittest.cc File cc/layer_unittest.cc (right): https://chromiumcodereview.appspot.com/11377108/diff/4002/cc/layer_unittest.cc#newcode174 cc/layer_unittest.cc:174: ASSERT_EQ(static_cast<size_t>(0u), parent->children().size()); On 2012/11/12 22:31:48, danakj wrote: > You ...
8 years, 1 month ago (2012-11-12 22:36:27 UTC) #11
Ted C
https://chromiumcodereview.appspot.com/11377108/diff/4002/cc/layer_unittest.cc File cc/layer_unittest.cc (right): https://chromiumcodereview.appspot.com/11377108/diff/4002/cc/layer_unittest.cc#newcode174 cc/layer_unittest.cc:174: ASSERT_EQ(static_cast<size_t>(0u), parent->children().size()); On 2012/11/12 22:36:27, tfarina wrote: > On ...
8 years, 1 month ago (2012-11-12 22:59:03 UTC) #12
danakj
lgtm2
8 years, 1 month ago (2012-11-12 23:00:47 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tedchoc@chromium.org/11377108/8002
8 years, 1 month ago (2012-11-12 23:09:01 UTC) #14
commit-bot: I haz the power
8 years, 1 month ago (2012-11-13 06:37:19 UTC) #15
Change committed as 167315

Powered by Google App Engine
This is Rietveld 408576698