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

Side by Side Diff: ui/aura/window_unittest.cc

Issue 29883002: Attempt to re-land FocusManager removal from Aura. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Disable test with note. Created 7 years, 2 months 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/window.cc ('k') | ui/shell/minimal_shell.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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/window.h" 5 #include "ui/aura/window.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 private: 195 private:
196 int capture_changed_event_count_; 196 int capture_changed_event_count_;
197 int capture_lost_count_; 197 int capture_lost_count_;
198 int mouse_event_count_; 198 int mouse_event_count_;
199 int touch_event_count_; 199 int touch_event_count_;
200 int gesture_event_count_; 200 int gesture_event_count_;
201 201
202 DISALLOW_COPY_AND_ASSIGN(CaptureWindowDelegateImpl); 202 DISALLOW_COPY_AND_ASSIGN(CaptureWindowDelegateImpl);
203 }; 203 };
204 204
205 // aura::WindowDelegate that tracks the window that was reported as having the
206 // focus before us.
207 class FocusDelegate : public TestWindowDelegate,
208 public aura::client::FocusChangeObserver {
209 public:
210 FocusDelegate() : previous_focused_window_(NULL) {
211 }
212
213 aura::Window* previous_focused_window() const {
214 return previous_focused_window_;
215 }
216
217 // Overridden from client::FocusChangeObserver:
218 virtual void OnWindowFocused(Window* gained_focus,
219 Window* lost_focus) OVERRIDE {
220 previous_focused_window_ = lost_focus;
221 }
222
223 private:
224 aura::Window* previous_focused_window_;
225
226 DISALLOW_COPY_AND_ASSIGN(FocusDelegate);
227 };
228
229 // Keeps track of the location of the gesture. 205 // Keeps track of the location of the gesture.
230 class GestureTrackPositionDelegate : public TestWindowDelegate { 206 class GestureTrackPositionDelegate : public TestWindowDelegate {
231 public: 207 public:
232 GestureTrackPositionDelegate() {} 208 GestureTrackPositionDelegate() {}
233 209
234 virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE { 210 virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE {
235 position_ = event->location(); 211 position_ = event->location();
236 event->StopPropagation(); 212 event->StopPropagation();
237 } 213 }
238 214
(...skipping 1536 matching lines...) Expand 10 before | Expand all | Expand 10 after
1775 1751
1776 parent->StackChildBelow(w1.get(), w2.get()); 1752 parent->StackChildBelow(w1.get(), w2.get());
1777 EXPECT_EQ(w212, parent->children().back()); 1753 EXPECT_EQ(w212, parent->children().back());
1778 EXPECT_EQ("1 11 2 22 21 213 211 212", ChildWindowIDsAsString(parent.get())); 1754 EXPECT_EQ("1 11 2 22 21 213 211 212", ChildWindowIDsAsString(parent.get()));
1779 1755
1780 parent->StackChildBelow(w213, w11); 1756 parent->StackChildBelow(w213, w11);
1781 EXPECT_EQ(w11, parent->children().back()); 1757 EXPECT_EQ(w11, parent->children().back());
1782 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get())); 1758 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get()));
1783 } 1759 }
1784 1760
1785 // Tests that when a focused window is closed, its parent inherits the focus.
1786 TEST_F(WindowTest, FocusedWindowTest) {
1787 scoped_ptr<Window> parent(CreateTestWindowWithId(0, root_window()));
1788 scoped_ptr<Window> child(CreateTestWindowWithId(1, parent.get()));
1789
1790 parent->Show();
1791
1792 child->Focus();
1793 EXPECT_TRUE(child->HasFocus());
1794 EXPECT_FALSE(parent->HasFocus());
1795
1796 child.reset();
1797 EXPECT_TRUE(parent->HasFocus());
1798 }
1799
1800 // Tests that the previously-focused window is passed to OnWindowFocused.
1801 // TODO(beng): Remove once the FocusController lands.
1802 TEST_F(WindowTest, OldFocusedWindowTest) {
1803 const gfx::Rect kBounds(0, 0, 100, 100);
1804
1805 FocusDelegate delegate1;
1806 scoped_ptr<Window> window1(
1807 CreateTestWindowWithDelegate(&delegate1, 0, kBounds, root_window()));
1808 client::SetFocusChangeObserver(window1.get(), &delegate1);
1809 window1->Focus();
1810 ASSERT_TRUE(window1->HasFocus());
1811 EXPECT_TRUE(delegate1.previous_focused_window() == NULL);
1812
1813 FocusDelegate delegate2;
1814 scoped_ptr<Window> window2(
1815 CreateTestWindowWithDelegate(&delegate2, 1, kBounds, root_window()));
1816 client::SetFocusChangeObserver(window2.get(), &delegate2);
1817 window2->Focus();
1818 ASSERT_TRUE(window2->HasFocus());
1819 EXPECT_FALSE(window1->HasFocus());
1820 EXPECT_EQ(window1.get(), delegate2.previous_focused_window());
1821 }
1822
1823 namespace { 1761 namespace {
1824 DEFINE_WINDOW_PROPERTY_KEY(int, kIntKey, -2); 1762 DEFINE_WINDOW_PROPERTY_KEY(int, kIntKey, -2);
1825 DEFINE_WINDOW_PROPERTY_KEY(const char*, kStringKey, "squeamish"); 1763 DEFINE_WINDOW_PROPERTY_KEY(const char*, kStringKey, "squeamish");
1826 } 1764 }
1827 1765
1828 TEST_F(WindowTest, Property) { 1766 TEST_F(WindowTest, Property) {
1829 scoped_ptr<Window> w(CreateTestWindowWithId(0, root_window())); 1767 scoped_ptr<Window> w(CreateTestWindowWithId(0, root_window()));
1830 1768
1831 static const char native_prop_key[] = "fnord"; 1769 static const char native_prop_key[] = "fnord";
1832 1770
(...skipping 1397 matching lines...) Expand 10 before | Expand all | Expand 10 after
3230 parent->AddTransientChild(transient); 3168 parent->AddTransientChild(transient);
3231 parent.reset(); 3169 parent.reset();
3232 3170
3233 ASSERT_EQ(2u, destruction_order.size()); 3171 ASSERT_EQ(2u, destruction_order.size());
3234 EXPECT_EQ("transient", destruction_order[0]); 3172 EXPECT_EQ("transient", destruction_order[0]);
3235 EXPECT_EQ("parent", destruction_order[1]); 3173 EXPECT_EQ("parent", destruction_order[1]);
3236 } 3174 }
3237 3175
3238 } // namespace test 3176 } // namespace test
3239 } // namespace aura 3177 } // namespace aura
OLDNEW
« no previous file with comments | « ui/aura/window.cc ('k') | ui/shell/minimal_shell.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698