OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/compiler_specific.h" | 6 #include "base/compiler_specific.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
9 #include "ui/gfx/canvas_skia.h" | 9 #include "ui/gfx/canvas_skia.h" |
10 #include "ui/gfx/compositor/compositor_observer.h" | 10 #include "ui/gfx/compositor/compositor_observer.h" |
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
458 layer->SetBounds(bounds); | 458 layer->SetBounds(bounds); |
459 return layer; | 459 return layer; |
460 } | 460 } |
461 | 461 |
462 Layer* CreateNoTextureLayer(const gfx::Rect& bounds) OVERRIDE { | 462 Layer* CreateNoTextureLayer(const gfx::Rect& bounds) OVERRIDE { |
463 Layer* layer = CreateLayer(Layer::LAYER_HAS_NO_TEXTURE); | 463 Layer* layer = CreateLayer(Layer::LAYER_HAS_NO_TEXTURE); |
464 layer->SetBounds(bounds); | 464 layer->SetBounds(bounds); |
465 return layer; | 465 return layer; |
466 } | 466 } |
467 | 467 |
468 void RunPendingMessages() { | |
469 MessageLoopForUI::current()->RunAllPending(); | |
470 } | |
471 | |
468 private: | 472 private: |
469 scoped_ptr<NullLayerDelegate> default_layer_delegate_; | 473 scoped_ptr<NullLayerDelegate> default_layer_delegate_; |
470 | 474 |
471 DISALLOW_COPY_AND_ASSIGN(LayerWithNullDelegateTest); | 475 DISALLOW_COPY_AND_ASSIGN(LayerWithNullDelegateTest); |
472 }; | 476 }; |
473 | 477 |
474 // Verifies that a layer which is set never to have a texture does not | 478 // Verifies that a layer which is set never to have a texture does not |
475 // get a texture when SetFillsBoundsOpaquely is called. | 479 // get a texture when SetFillsBoundsOpaquely is called. |
476 TEST_F(LayerWithNullDelegateTest, LayerNoTextureSetFillsBoundsOpaquely) { | 480 TEST_F(LayerWithNullDelegateTest, LayerNoTextureSetFillsBoundsOpaquely) { |
477 scoped_ptr<Layer> parent(CreateNoTextureLayer(gfx::Rect(0, 0, 400, 400))); | 481 scoped_ptr<Layer> parent(CreateNoTextureLayer(gfx::Rect(0, 0, 400, 400))); |
478 scoped_ptr<Layer> child(CreateNoTextureLayer(gfx::Rect(50, 50, 100, 100))); | 482 scoped_ptr<Layer> child(CreateNoTextureLayer(gfx::Rect(50, 50, 100, 100))); |
479 parent->Add(child.get()); | 483 parent->Add(child.get()); |
480 | 484 |
481 compositor()->SetRootLayer(parent.get()); | 485 compositor()->SetRootLayer(parent.get()); |
486 parent->SetFillsBoundsOpaquely(true); | |
sky
2011/11/10 20:20:53
Why should this matter if the layer has texture?
| |
487 child->SetFillsBoundsOpaquely(true); | |
482 Draw(); | 488 Draw(); |
489 RunPendingMessages(); | |
490 EXPECT_TRUE(child->texture() == NULL); | |
491 EXPECT_TRUE(parent->texture() == NULL); | |
492 | |
493 parent->SetFillsBoundsOpaquely(false); | |
494 child->SetFillsBoundsOpaquely(false); | |
495 Draw(); | |
496 RunPendingMessages(); | |
483 EXPECT_TRUE(child->texture() == NULL); | 497 EXPECT_TRUE(child->texture() == NULL); |
484 EXPECT_TRUE(parent->texture() == NULL); | 498 EXPECT_TRUE(parent->texture() == NULL); |
485 } | 499 } |
486 | 500 |
487 // With the webkit compositor, we don't explicitly textures for layers, making | 501 // With the webkit compositor, we don't explicitly textures for layers, making |
488 // tests that check that we do fail. | 502 // tests that check that we do fail. |
489 #if defined(USE_WEBKIT_COMPOSITOR) | 503 #if defined(USE_WEBKIT_COMPOSITOR) |
490 #define WEBKIT_COMPOSITOR_FAILS(X) FAILS_ ## X | 504 #define WEBKIT_COMPOSITOR_FAILS(X) FAILS_ ## X |
491 #else | 505 #else |
492 #define WEBKIT_COMPOSITOR_FAILS(X) X | 506 #define WEBKIT_COMPOSITOR_FAILS(X) X |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
782 SkAutoLockPixels lock(bitmap); | 796 SkAutoLockPixels lock(bitmap); |
783 bool is_all_red = true; | 797 bool is_all_red = true; |
784 for (int x = 0; is_all_red && x < 500; x++) | 798 for (int x = 0; is_all_red && x < 500; x++) |
785 for (int y = 0; is_all_red && y < 500; y++) | 799 for (int y = 0; is_all_red && y < 500; y++) |
786 is_all_red = is_all_red && (bitmap.getColor(x, y) == SK_ColorRED); | 800 is_all_red = is_all_red && (bitmap.getColor(x, y) == SK_ColorRED); |
787 | 801 |
788 EXPECT_TRUE(is_all_red); | 802 EXPECT_TRUE(is_all_red); |
789 } | 803 } |
790 | 804 |
791 } // namespace ui | 805 } // namespace ui |
OLD | NEW |