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 "ash/common/shelf/shelf_view.h" | 5 #include "ash/common/shelf/shelf_view.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <memory> | 8 #include <memory> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 ShelfItemSelectionTracker() | 141 ShelfItemSelectionTracker() |
142 : TestShelfItemDelegate(NULL), | 142 : TestShelfItemDelegate(NULL), |
143 selected_(false), | 143 selected_(false), |
144 item_selected_action_(kNoAction) {} | 144 item_selected_action_(kNoAction) {} |
145 | 145 |
146 ~ShelfItemSelectionTracker() override {} | 146 ~ShelfItemSelectionTracker() override {} |
147 | 147 |
148 // Resets to the initial state. | 148 // Resets to the initial state. |
149 void Reset() { selected_ = false; } | 149 void Reset() { selected_ = false; } |
150 | 150 |
151 void set_item_selected_action( | 151 void set_item_selected_action(ShelfAction item_selected_action) { |
152 ShelfItemDelegate::PerformedAction item_selected_action) { | |
153 item_selected_action_ = item_selected_action; | 152 item_selected_action_ = item_selected_action; |
154 } | 153 } |
155 | 154 |
156 // Returns true if the delegate was selected. | 155 // Returns true if the delegate was selected. |
157 bool WasSelected() { return selected_; } | 156 bool WasSelected() { return selected_; } |
158 | 157 |
159 // TestShelfItemDelegate: | 158 // TestShelfItemDelegate: |
160 ShelfItemDelegate::PerformedAction ItemSelected( | 159 ShelfAction ItemSelected(ui::EventType event_type, |
161 const ui::Event& event) override { | 160 int event_flags, |
| 161 int64_t display_id, |
| 162 ShelfLaunchSource source) override { |
162 selected_ = true; | 163 selected_ = true; |
163 return item_selected_action_; | 164 return item_selected_action_; |
164 } | 165 } |
165 | 166 |
166 private: | 167 private: |
167 bool selected_; | 168 bool selected_; |
168 | 169 |
169 // The action returned from ItemSelected(const ui::Event&). | 170 // The action returned from ItemSelected(const ui::Event&). |
170 ShelfItemDelegate::PerformedAction item_selected_action_; | 171 ShelfAction item_selected_action_; |
171 | 172 |
172 DISALLOW_COPY_AND_ASSIGN(ShelfItemSelectionTracker); | 173 DISALLOW_COPY_AND_ASSIGN(ShelfItemSelectionTracker); |
173 }; | 174 }; |
174 | 175 |
175 TEST_F(WmShelfObserverIconTest, AddRemove) { | 176 TEST_F(WmShelfObserverIconTest, AddRemove) { |
176 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); | 177 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); |
177 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; | 178 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |
178 params.bounds = gfx::Rect(0, 0, 200, 200); | 179 params.bounds = gfx::Rect(0, 0, 200, 200); |
179 params.context = CurrentContext(); | 180 params.context = CurrentContext(); |
180 views::Widget widget; | 181 views::Widget widget; |
(...skipping 1640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1821 user_action_tester.GetActionCount("Launcher_ButtonPressed_Mouse")); | 1822 user_action_tester.GetActionCount("Launcher_ButtonPressed_Mouse")); |
1822 } | 1823 } |
1823 | 1824 |
1824 // Verifies that Launcher_*Task UMA user actions are recorded when an item is | 1825 // Verifies that Launcher_*Task UMA user actions are recorded when an item is |
1825 // selected. | 1826 // selected. |
1826 TEST_F(ShelfViewTest, Launcher_TaskUserActionsRecordedWhenItemSelected) { | 1827 TEST_F(ShelfViewTest, Launcher_TaskUserActionsRecordedWhenItemSelected) { |
1827 base::UserActionTester user_action_tester; | 1828 base::UserActionTester user_action_tester; |
1828 | 1829 |
1829 ShelfID browser_shelf_id = model_->items()[browser_index_].id; | 1830 ShelfID browser_shelf_id = model_->items()[browser_index_].id; |
1830 ShelfItemSelectionTracker* selection_tracker = new ShelfItemSelectionTracker; | 1831 ShelfItemSelectionTracker* selection_tracker = new ShelfItemSelectionTracker; |
1831 selection_tracker->set_item_selected_action( | 1832 selection_tracker->set_item_selected_action(kNewWindowCreated); |
1832 ShelfItemDelegate::kNewWindowCreated); | |
1833 model_->SetShelfItemDelegate( | 1833 model_->SetShelfItemDelegate( |
1834 browser_shelf_id, std::unique_ptr<ShelfItemDelegate>(selection_tracker)); | 1834 browser_shelf_id, std::unique_ptr<ShelfItemDelegate>(selection_tracker)); |
1835 | 1835 |
1836 SimulateClick(browser_index_); | 1836 SimulateClick(browser_index_); |
1837 EXPECT_EQ(1, user_action_tester.GetActionCount("Launcher_LaunchTask")); | 1837 EXPECT_EQ(1, user_action_tester.GetActionCount("Launcher_LaunchTask")); |
1838 } | 1838 } |
1839 | 1839 |
1840 // Verifies that metrics are recorded when an item is minimized and subsequently | 1840 // Verifies that metrics are recorded when an item is minimized and subsequently |
1841 // activated. | 1841 // activated. |
1842 TEST_F(ShelfViewTest, | 1842 TEST_F(ShelfViewTest, |
1843 VerifyMetricsAreRecordedWhenAnItemIsMinimizedAndActivated) { | 1843 VerifyMetricsAreRecordedWhenAnItemIsMinimizedAndActivated) { |
1844 base::HistogramTester histogram_tester; | 1844 base::HistogramTester histogram_tester; |
1845 | 1845 |
1846 ShelfID browser_shelf_id = model_->items()[browser_index_].id; | 1846 ShelfID browser_shelf_id = model_->items()[browser_index_].id; |
1847 ShelfItemSelectionTracker* selection_tracker = new ShelfItemSelectionTracker; | 1847 ShelfItemSelectionTracker* selection_tracker = new ShelfItemSelectionTracker; |
1848 model_->SetShelfItemDelegate( | 1848 model_->SetShelfItemDelegate( |
1849 browser_shelf_id, std::unique_ptr<ShelfItemDelegate>(selection_tracker)); | 1849 browser_shelf_id, std::unique_ptr<ShelfItemDelegate>(selection_tracker)); |
1850 | 1850 |
1851 selection_tracker->set_item_selected_action( | 1851 selection_tracker->set_item_selected_action(kExistingWindowMinimized); |
1852 ShelfItemDelegate::kExistingWindowMinimized); | |
1853 SimulateClick(browser_index_); | 1852 SimulateClick(browser_index_); |
1854 | 1853 |
1855 selection_tracker->set_item_selected_action( | 1854 selection_tracker->set_item_selected_action(kExistingWindowActivated); |
1856 ShelfItemDelegate::kExistingWindowActivated); | |
1857 SimulateClick(browser_index_); | 1855 SimulateClick(browser_index_); |
1858 | 1856 |
1859 histogram_tester.ExpectTotalCount( | 1857 histogram_tester.ExpectTotalCount( |
1860 kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, 1); | 1858 kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, 1); |
1861 } | 1859 } |
1862 | 1860 |
1863 class ShelfViewVisibleBoundsTest : public ShelfViewTest, | 1861 class ShelfViewVisibleBoundsTest : public ShelfViewTest, |
1864 public testing::WithParamInterface<bool> { | 1862 public testing::WithParamInterface<bool> { |
1865 public: | 1863 public: |
1866 ShelfViewVisibleBoundsTest() : text_direction_change_(GetParam()) {} | 1864 ShelfViewVisibleBoundsTest() : text_direction_change_(GetParam()) {} |
(...skipping 1103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2970 EXPECT_EQ(views::InkDropState::ACTIVATED, | 2968 EXPECT_EQ(views::InkDropState::ACTIVATED, |
2971 overflow_button_ink_drop_->GetTargetInkDropState()); | 2969 overflow_button_ink_drop_->GetTargetInkDropState()); |
2972 EXPECT_THAT(overflow_button_ink_drop_->GetAndResetRequestedStates(), | 2970 EXPECT_THAT(overflow_button_ink_drop_->GetAndResetRequestedStates(), |
2973 IsEmpty()); | 2971 IsEmpty()); |
2974 | 2972 |
2975 ASSERT_TRUE(test_api_->IsShowingOverflowBubble()); | 2973 ASSERT_TRUE(test_api_->IsShowingOverflowBubble()); |
2976 } | 2974 } |
2977 | 2975 |
2978 } // namespace test | 2976 } // namespace test |
2979 } // namespace ash | 2977 } // namespace ash |
OLD | NEW |