Chromium Code Reviews| Index: ash/wm/frame_painter_unittest.cc |
| diff --git a/ash/wm/frame_painter_unittest.cc b/ash/wm/frame_painter_unittest.cc |
| index 8ce42eb8564e8099a09c2cc278a67ddce23e7190..b7f11f5e43dfea1092039209e56c63534fbf4d62 100644 |
| --- a/ash/wm/frame_painter_unittest.cc |
| +++ b/ash/wm/frame_painter_unittest.cc |
| @@ -123,6 +123,33 @@ TEST_F(FramePainterTest, Basics) { |
| EXPECT_EQ(0u, FramePainter::instances_->size()); |
| } |
| +TEST_F(FramePainterTest, CreateAndDeleteSingleWindow) { |
| + // Ensure that creating/deleting a window works well and doesn't cause |
| + // crashes. See crbug.com/155634 |
| + scoped_ptr<Widget> widget(CreateTestWidget()); |
| + scoped_ptr<FramePainter> painter(new FramePainter); |
| + ImageButton size(NULL); |
| + ImageButton close(NULL); |
| + painter->Init( |
| + widget.get(), NULL, &size, &close, FramePainter::SIZE_BUTTON_MAXIMIZES); |
| + widget->Show(); |
| + |
| + // We only have one window, so it should use a solo header. |
| + EXPECT_TRUE(painter->UseSoloWindowHeader()); |
| + |
| + // Close the window. |
| + widget.reset(); |
|
James Cook
2012/10/16 20:51:46
Maybe after this line assert that the root window
Jun Mukai
2012/10/16 21:11:45
Done.
|
| + |
| + // Recreate another window again. |
| + painter.reset(new FramePainter); |
| + widget.reset(CreateTestWidget()); |
| + |
| + painter->Init( |
| + widget.get(), NULL, &size, &close, FramePainter::SIZE_BUTTON_MAXIMIZES); |
| + widget->Show(); |
| + EXPECT_TRUE(painter->UseSoloWindowHeader()); |
| +} |
| + |
| TEST_F(FramePainterTest, UseSoloWindowHeader) { |
| // Create a widget and a painter for it. |
| scoped_ptr<Widget> w1(CreateTestWidget()); |