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

Side by Side Diff: ash/shelf/shelf_layout_manager.h

Issue 369573004: Separate the logic of popup alignment and workarea handling as delegate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: polish Created 6 years, 5 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
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 #ifndef ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ 5 #ifndef ASH_SHELF_SHELF_LAYOUT_MANAGER_H_
6 #define ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ 6 #define ASH_SHELF_SHELF_LAYOUT_MANAGER_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "ash/ash_export.h" 10 #include "ash/ash_export.h"
(...skipping 29 matching lines...) Expand all
40 40
41 namespace ash { 41 namespace ash {
42 class PanelLayoutManagerTest; 42 class PanelLayoutManagerTest;
43 class ScreenAsh; 43 class ScreenAsh;
44 class ShelfBezelEventFilter; 44 class ShelfBezelEventFilter;
45 class ShelfLayoutManagerObserver; 45 class ShelfLayoutManagerObserver;
46 class ShelfLayoutManagerTest; 46 class ShelfLayoutManagerTest;
47 class ShelfWidget; 47 class ShelfWidget;
48 class StatusAreaWidget; 48 class StatusAreaWidget;
49 class WorkspaceController; 49 class WorkspaceController;
50 FORWARD_DECLARE_TEST(PopupAlignmentDelegateTest, AutoHide);
50 FORWARD_DECLARE_TEST(WebNotificationTrayTest, PopupAndFullscreen); 51 FORWARD_DECLARE_TEST(WebNotificationTrayTest, PopupAndFullscreen);
51 52
52 // ShelfLayoutManager is the layout manager responsible for the shelf and 53 // ShelfLayoutManager is the layout manager responsible for the shelf and
53 // status widgets. The shelf is given the total available width and told the 54 // status widgets. The shelf is given the total available width and told the
54 // width of the status area. This allows the shelf to draw the background and 55 // width of the status area. This allows the shelf to draw the background and
55 // layout to the status area. 56 // layout to the status area.
56 // To respond to bounds changes in the status area StatusAreaLayoutManager works 57 // To respond to bounds changes in the status area StatusAreaLayoutManager works
57 // closely with ShelfLayoutManager. 58 // closely with ShelfLayoutManager.
58 class ASH_EXPORT ShelfLayoutManager : 59 class ASH_EXPORT ShelfLayoutManager :
59 public aura::LayoutManager, 60 public aura::LayoutManager,
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 // Returns a ShelfLayoutManager on the display which has a shelf for 220 // Returns a ShelfLayoutManager on the display which has a shelf for
220 // given |window|. See RootWindowController::ForShelf for more info. 221 // given |window|. See RootWindowController::ForShelf for more info.
221 static ShelfLayoutManager* ForShelf(aura::Window* window); 222 static ShelfLayoutManager* ForShelf(aura::Window* window);
222 223
223 private: 224 private:
224 class AutoHideEventFilter; 225 class AutoHideEventFilter;
225 class UpdateShelfObserver; 226 class UpdateShelfObserver;
226 friend class ash::ScreenAsh; 227 friend class ash::ScreenAsh;
227 friend class PanelLayoutManagerTest; 228 friend class PanelLayoutManagerTest;
228 friend class ShelfLayoutManagerTest; 229 friend class ShelfLayoutManagerTest;
230 FRIEND_TEST_ALL_PREFIXES(ash::PopupAlignmentDelegateTest, AutoHide);
229 FRIEND_TEST_ALL_PREFIXES(ash::WebNotificationTrayTest, PopupAndFullscreen); 231 FRIEND_TEST_ALL_PREFIXES(ash::WebNotificationTrayTest, PopupAndFullscreen);
230 232
231 struct TargetBounds { 233 struct TargetBounds {
232 TargetBounds(); 234 TargetBounds();
233 ~TargetBounds(); 235 ~TargetBounds();
234 236
235 float opacity; 237 float opacity;
236 float status_opacity; 238 float status_opacity;
237 gfx::Rect shelf_bounds_in_root; 239 gfx::Rect shelf_bounds_in_root;
238 gfx::Rect shelf_bounds_in_shelf; 240 gfx::Rect shelf_bounds_in_shelf;
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 400
399 // The show hide animation duration override or 0 for default. 401 // The show hide animation duration override or 0 for default.
400 int duration_override_in_ms_; 402 int duration_override_in_ms_;
401 403
402 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager); 404 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager);
403 }; 405 };
404 406
405 } // namespace ash 407 } // namespace ash
406 408
407 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ 409 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698