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

Side by Side Diff: ash/common/shelf/wm_shelf.h

Issue 2562413003: Changes threshold frequency for investigation (based on video in the bug) (Closed)
Patch Set: Changes threshold frequency for investigation (fxed a test and reworked math) Created 4 years 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
« no previous file with comments | « no previous file | ash/common/shelf/wm_shelf.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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 #ifndef ASH_COMMON_SHELF_WM_SHELF_H_ 5 #ifndef ASH_COMMON_SHELF_WM_SHELF_H_
6 #define ASH_COMMON_SHELF_WM_SHELF_H_ 6 #define ASH_COMMON_SHELF_WM_SHELF_H_
7 7
8 #include <memory> 8 #include <memory>
9 9
10 #include "ash/ash_export.h" 10 #include "ash/ash_export.h"
11 #include "ash/common/shelf/shelf_layout_manager_observer.h" 11 #include "ash/common/shelf/shelf_layout_manager_observer.h"
12 #include "ash/public/cpp/shelf_types.h" 12 #include "ash/public/cpp/shelf_types.h"
13 #include "base/observer_list.h" 13 #include "base/observer_list.h"
14 #include "base/time/time.h" 14 #include "base/time/time.h"
15 15
16 namespace gfx { 16 namespace gfx {
17 class Rect; 17 class Rect;
18 } 18 }
19 19
20 namespace ui { 20 namespace ui {
21 class GestureEvent; 21 class GestureEvent;
22 } 22 }
23 23
24 namespace ash { 24 namespace ash {
25 25
26 class ShelfLayoutManager; 26 class ShelfLayoutManager;
27 class ShelfLayoutManagerTest;
27 class ShelfLockingManager; 28 class ShelfLockingManager;
28 class ShelfView; 29 class ShelfView;
29 class ShelfWidget; 30 class ShelfWidget;
30 class StatusAreaWidget; 31 class StatusAreaWidget;
31 class WmShelfObserver; 32 class WmShelfObserver;
32 class WmWindow; 33 class WmWindow;
33 34
34 // Controller for the shelf state. Exists for the lifetime of each root window 35 // Controller for the shelf state. Exists for the lifetime of each root window
35 // controller. Note that the shelf widget may not be created until after login. 36 // controller. Note that the shelf widget may not be created until after login.
36 class ASH_EXPORT WmShelf : public ShelfLayoutManagerObserver { 37 class ASH_EXPORT WmShelf : public ShelfLayoutManagerObserver {
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 ~WmShelf() override; 140 ~WmShelf() override;
140 141
141 // ShelfLayoutManagerObserver: 142 // ShelfLayoutManagerObserver:
142 void WillDeleteShelfLayoutManager() override; 143 void WillDeleteShelfLayoutManager() override;
143 void WillChangeVisibilityState(ShelfVisibilityState new_state) override; 144 void WillChangeVisibilityState(ShelfVisibilityState new_state) override;
144 void OnAutoHideStateChanged(ShelfAutoHideState new_state) override; 145 void OnAutoHideStateChanged(ShelfAutoHideState new_state) override;
145 void OnBackgroundUpdated(ShelfBackgroundType background_type, 146 void OnBackgroundUpdated(ShelfBackgroundType background_type,
146 BackgroundAnimatorChangeType change_type) override; 147 BackgroundAnimatorChangeType change_type) override;
147 148
148 private: 149 private:
150 friend class ShelfLayoutManagerTest;
151
149 // Layout manager for the shelf container window. Instances are constructed by 152 // Layout manager for the shelf container window. Instances are constructed by
150 // ShelfWidget and lifetimes are managed by the container windows themselves. 153 // ShelfWidget and lifetimes are managed by the container windows themselves.
151 ShelfLayoutManager* shelf_layout_manager_ = nullptr; 154 ShelfLayoutManager* shelf_layout_manager_ = nullptr;
152 155
153 std::unique_ptr<ShelfWidget> shelf_widget_; 156 std::unique_ptr<ShelfWidget> shelf_widget_;
154 157
155 // Internal implementation detail. Do not expose externally. Owned by views 158 // Internal implementation detail. Do not expose externally. Owned by views
156 // hierarchy. Null before login and in secondary display init. 159 // hierarchy. Null before login and in secondary display init.
157 ShelfView* shelf_view_ = nullptr; 160 ShelfView* shelf_view_ = nullptr;
158 161
159 ShelfAlignment alignment_ = SHELF_ALIGNMENT_BOTTOM_LOCKED; 162 ShelfAlignment alignment_ = SHELF_ALIGNMENT_BOTTOM_LOCKED;
160 163
161 // Sets shelf alignment to bottom during login and screen lock. 164 // Sets shelf alignment to bottom during login and screen lock.
162 std::unique_ptr<ShelfLockingManager> shelf_locking_manager_; 165 std::unique_ptr<ShelfLockingManager> shelf_locking_manager_;
163 166
164 ShelfAutoHideBehavior auto_hide_behavior_ = SHELF_AUTO_HIDE_BEHAVIOR_NEVER; 167 ShelfAutoHideBehavior auto_hide_behavior_ = SHELF_AUTO_HIDE_BEHAVIOR_NEVER;
165 168
166 base::ObserverList<WmShelfObserver> observers_; 169 base::ObserverList<WmShelfObserver> observers_;
167 170
168 // Temporary. Used to investigate http://crbug.com/665093 . 171 // Temporary. Used to investigate http://crbug.com/665093 .
169 base::TimeTicks time_last_auto_hide_change_; 172 base::TimeTicks time_last_auto_hide_change_;
170 int count_auto_hide_changes_ = 0; 173 int count_auto_hide_changes_ = 0;
171 174
172 DISALLOW_COPY_AND_ASSIGN(WmShelf); 175 DISALLOW_COPY_AND_ASSIGN(WmShelf);
173 }; 176 };
174 177
175 } // namespace ash 178 } // namespace ash
176 179
177 #endif // ASH_COMMON_SHELF_WM_SHELF_H_ 180 #endif // ASH_COMMON_SHELF_WM_SHELF_H_
OLDNEW
« no previous file with comments | « no previous file | ash/common/shelf/wm_shelf.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698