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

Side by Side Diff: ui/aura_shell/default_container_layout_manager_unittest.cc

Issue 8414035: Makes DefaultContainerLayoutManager ignore windows with transient (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add test Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/aura_shell/default_container_layout_manager.cc ('k') | views/widget/native_widget_aura.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "ui/aura_shell/default_container_layout_manager.h" 5 #include "ui/aura_shell/default_container_layout_manager.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_vector.h" 9 #include "base/memory/scoped_vector.h"
10 #include "ui/aura/test/aura_test_base.h" 10 #include "ui/aura/test/aura_test_base.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 parent, 60 parent,
61 Widget::InitParams::TYPE_WINDOW); 61 Widget::InitParams::TYPE_WINDOW);
62 } 62 }
63 63
64 aura::Window* container() { return container_.get(); } 64 aura::Window* container() { return container_.get(); }
65 65
66 DefaultContainerLayoutManager* default_container_layout_manager() { 66 DefaultContainerLayoutManager* default_container_layout_manager() {
67 return workspace_controller_->layout_manager(); 67 return workspace_controller_->layout_manager();
68 } 68 }
69 69
70 private: 70 protected:
71 scoped_ptr<aura::Window> container_; 71 scoped_ptr<aura::Window> container_;
72 ScopedVector<ui::ViewProp> props_; 72 ScopedVector<ui::ViewProp> props_;
73 scoped_ptr<aura_shell::internal::WorkspaceController> workspace_controller_; 73 scoped_ptr<aura_shell::internal::WorkspaceController> workspace_controller_;
74 74
75 private:
75 DISALLOW_COPY_AND_ASSIGN(DefaultContainerLayoutManagerTest); 76 DISALLOW_COPY_AND_ASSIGN(DefaultContainerLayoutManagerTest);
76 }; 77 };
77 78
78 } // namespace 79 } // namespace
79 80
80 #if !defined(OS_WIN) 81 #if !defined(OS_WIN)
81 TEST_F(DefaultContainerLayoutManagerTest, SetBounds) { 82 TEST_F(DefaultContainerLayoutManagerTest, SetBounds) {
82 // Layout Manager moves the window to (0,0) to fit to draggable area. 83 // Layout Manager moves the window to (0,0) to fit to draggable area.
83 scoped_ptr<aura::Window> child( 84 scoped_ptr<aura::Window> child(
84 CreateTestWindow(gfx::Rect(0, -1000, 100, 100), container())); 85 CreateTestWindow(gfx::Rect(0, -1000, 100, 100), container()));
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 130
130 // A popup window can be moved to outside of draggable area. 131 // A popup window can be moved to outside of draggable area.
131 popup->SetBounds(gfx::Rect(-100, 0, 100, 100)); 132 popup->SetBounds(gfx::Rect(-100, 0, 100, 100));
132 EXPECT_EQ("-100,0 100x100", popup->bounds().ToString()); 133 EXPECT_EQ("-100,0 100x100", popup->bounds().ToString());
133 134
134 // A popup window can be resized to the size bigger than draggable area. 135 // A popup window can be resized to the size bigger than draggable area.
135 popup->SetBounds(gfx::Rect(0, 0, 1000, 1000)); 136 popup->SetBounds(gfx::Rect(0, 0, 1000, 1000));
136 EXPECT_EQ("0,0 1000x1000", popup->bounds().ToString()); 137 EXPECT_EQ("0,0 1000x1000", popup->bounds().ToString());
137 } 138 }
138 139
140 // Make sure a window with a transient parent isn't resized by the layout
141 // manager.
142 TEST_F(DefaultContainerLayoutManagerTest, IgnoreTransient) {
143 scoped_ptr<aura::Window> window(new aura::Window(NULL));
144 props_.push_back(
145 new ui::ViewProp(
146 window.get(), views::NativeWidgetAura::kWindowTypeKey,
147 reinterpret_cast<void*>(Widget::InitParams::TYPE_WINDOW)));
Ben Goodger (Google) 2011/10/31 18:24:27 It seems like we should have a utility function do
oshima 2011/10/31 19:48:47 I'm adding Widow::SetIntProperty, which should be
148 window->SetType(Widget::InitParams::TYPE_WINDOW);
149 window->Init(ui::Layer::LAYER_HAS_NO_TEXTURE);
150 aura::Desktop::GetInstance()->AddTransientChild(window.get());
151 window->SetBounds(gfx::Rect(0, 0, 200, 200));
152 window->Show();
153 window->SetParent(container());
154
155 EXPECT_EQ("0,0 200x200", window->bounds().ToString());
156 }
157
139 } // namespace test 158 } // namespace test
140 } // namespace aura_shell 159 } // namespace aura_shell
OLDNEW
« no previous file with comments | « ui/aura_shell/default_container_layout_manager.cc ('k') | views/widget/native_widget_aura.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698