Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 "config.h" | 5 #include "config.h" |
| 6 | 6 |
| 7 #include "cc/layer_sorter.h" | 7 #include "cc/layer_sorter.h" |
| 8 | 8 |
| 9 #include "cc/layer_impl.h" | 9 #include "cc/layer_impl.h" |
| 10 #include "cc/math_util.h" | 10 #include "cc/math_util.h" |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 257 layerSorter.sort(layerList.begin(), layerList.end()); | 257 layerSorter.sort(layerList.begin(), layerList.end()); |
| 258 | 258 |
| 259 ASSERT_EQ(static_cast<size_t>(5), layerList.size()); | 259 ASSERT_EQ(static_cast<size_t>(5), layerList.size()); |
| 260 EXPECT_EQ(3, layerList[0]->id()); | 260 EXPECT_EQ(3, layerList[0]->id()); |
| 261 EXPECT_EQ(4, layerList[1]->id()); | 261 EXPECT_EQ(4, layerList[1]->id()); |
| 262 EXPECT_EQ(1, layerList[2]->id()); | 262 EXPECT_EQ(1, layerList[2]->id()); |
| 263 EXPECT_EQ(2, layerList[3]->id()); | 263 EXPECT_EQ(2, layerList[3]->id()); |
| 264 EXPECT_EQ(5, layerList[4]->id()); | 264 EXPECT_EQ(5, layerList[4]->id()); |
| 265 } | 265 } |
| 266 | 266 |
| 267 TEST(LayerSorterTest, verifyConcidentLayerPrecisionLossResultsInDocumentOrder) | |
| 268 { | |
| 269 DebugScopedSetImplThread thisScopeIsOnImplThread; | |
| 270 | |
| 271 scoped_ptr<LayerImpl> layer1 = LayerImpl::create(1); | |
| 272 scoped_ptr<LayerImpl> layer2 = LayerImpl::create(2); | |
| 273 | |
| 274 WebTransformationMatrix BehindMatrix; | |
| 275 BehindMatrix.translate3d(0, 0, 0.999999f); | |
| 276 BehindMatrix.rotate3d(38.5f, 77.0f, 0); | |
| 277 WebTransformationMatrix FrontMatrix; | |
| 278 FrontMatrix.translate3d(0, 0, 1.0f); | |
| 279 FrontMatrix.rotate3d(38.5f, 77.0f, 0); | |
| 280 | |
| 281 layer1->setBounds(IntSize(10, 10)); | |
| 282 layer1->setContentBounds(IntSize(10, 10)); | |
| 283 layer1->setDrawTransform(BehindMatrix); | |
| 284 layer1->setDrawsContent(true); | |
| 285 | |
| 286 layer2->setBounds(IntSize(10, 10)); | |
| 287 layer2->setContentBounds(IntSize(10, 10)); | |
| 288 layer2->setDrawTransform(FrontMatrix); | |
| 289 layer2->setDrawsContent(true); | |
| 290 | |
| 291 std::vector<LayerImpl*> layerList; | |
| 292 layerList.push_back(layer1.get()); | |
|
enne (OOO)
2012/11/01 20:08:55
Does this test pass before this patch? I thought p
| |
| 293 layerList.push_back(layer2.get()); | |
| 294 | |
| 295 ASSERT_EQ(static_cast<size_t>(2), layerList.size()); | |
| 296 EXPECT_EQ(1, layerList[0]->id()); | |
| 297 EXPECT_EQ(2, layerList[1]->id()); | |
| 298 | |
| 299 LayerSorter layerSorter; | |
| 300 layerSorter.sort(layerList.begin(), layerList.end()); | |
| 301 | |
| 302 ASSERT_EQ(static_cast<size_t>(2), layerList.size()); | |
| 303 EXPECT_EQ(1, layerList[0]->id()); | |
| 304 EXPECT_EQ(2, layerList[1]->id()); | |
| 305 EXPECT_FALSE(1.0f == 999999f); | |
|
enne (OOO)
2012/11/01 20:08:55
Missing a period here. Also, maybe better to actua
| |
| 306 } | |
| 307 | |
| 267 } // namespace | 308 } // namespace |
| OLD | NEW |