| OLD | NEW |
| 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/views/focus/focus_manager.h" | 5 #include "ui/views/focus/focus_manager.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 860 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 871 params.delegate = delegate.get(); | 871 params.delegate = delegate.get(); |
| 872 child_widget.Init(params); | 872 child_widget.Init(params); |
| 873 View* view1 = new View; | 873 View* view1 = new View; |
| 874 view1->SetFocusBehavior(View::FocusBehavior::ALWAYS); | 874 view1->SetFocusBehavior(View::FocusBehavior::ALWAYS); |
| 875 view1->SetBounds(0, 0, 20, 20); | 875 view1->SetBounds(0, 0, 20, 20); |
| 876 View* view2 = new View; | 876 View* view2 = new View; |
| 877 view2->SetFocusBehavior(View::FocusBehavior::ALWAYS); | 877 view2->SetFocusBehavior(View::FocusBehavior::ALWAYS); |
| 878 view2->SetBounds(20, 0, 20, 20); | 878 view2->SetBounds(20, 0, 20, 20); |
| 879 child_widget.client_view()->AddChildView(view1); | 879 child_widget.client_view()->AddChildView(view1); |
| 880 child_widget.client_view()->AddChildView(view2); | 880 child_widget.client_view()->AddChildView(view2); |
| 881 child_widget.Show(); | 881 GetWidget()->Show(); |
| 882 view2->RequestFocus(); | 882 view2->RequestFocus(); |
| 883 EXPECT_EQ(view2, GetFocusManager()->GetFocusedView()); | 883 EXPECT_EQ(view2, GetFocusManager()->GetFocusedView()); |
| 884 | 884 |
| 885 // Advance focus backwards, which should focus the first. | 885 // Advance focus backwards, which should focus the first. |
| 886 GetFocusManager()->AdvanceFocus(false); | 886 GetFocusManager()->AdvanceFocus(false); |
| 887 EXPECT_EQ(view1, GetFocusManager()->GetFocusedView()); | 887 EXPECT_EQ(view1, GetFocusManager()->GetFocusedView()); |
| 888 | 888 |
| 889 // Focus forward to |view2|. | 889 // Focus forward to |view2|. |
| 890 GetFocusManager()->AdvanceFocus(true); | 890 GetFocusManager()->AdvanceFocus(true); |
| 891 EXPECT_EQ(view2, GetFocusManager()->GetFocusedView()); | 891 EXPECT_EQ(view2, GetFocusManager()->GetFocusedView()); |
| 892 | 892 |
| 893 // And forward again, wrapping back to |view1|. | 893 // And forward again, wrapping back to |view1|. |
| 894 GetFocusManager()->AdvanceFocus(true); | 894 GetFocusManager()->AdvanceFocus(true); |
| 895 EXPECT_EQ(view1, GetFocusManager()->GetFocusedView()); | 895 EXPECT_EQ(view1, GetFocusManager()->GetFocusedView()); |
| 896 | 896 |
| 897 // Allow focus to go to the parent, and focus backwards which should now move | 897 // Allow focus to go to the parent, and focus backwards which should now move |
| 898 // up |widget_view| (in the parent). | 898 // up |widget_view| (in the parent). |
| 899 delegate->set_should_advance_focus_to_parent(true); | 899 delegate->set_should_advance_focus_to_parent(true); |
| 900 GetFocusManager()->AdvanceFocus(true); | 900 GetFocusManager()->AdvanceFocus(true); |
| 901 EXPECT_EQ(widget_view, GetFocusManager()->GetFocusedView()); | 901 EXPECT_EQ(widget_view, GetFocusManager()->GetFocusedView()); |
| 902 } | 902 } |
| 903 | 903 |
| 904 } // namespace views | 904 } // namespace views |
| OLD | NEW |