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

Side by Side Diff: chrome/browser/ui/panels/panel_manager.h

Issue 8686012: Make panels not show on top when there is an app running in full screen mode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 CHROME_BROWSER_UI_PANELS_PANEL_MANAGER_H_ 5 #ifndef CHROME_BROWSER_UI_PANELS_PANEL_MANAGER_H_
6 #define CHROME_BROWSER_UI_PANELS_PANEL_MANAGER_H_ 6 #define CHROME_BROWSER_UI_PANELS_PANEL_MANAGER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <vector> 9 #include <vector>
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/lazy_instance.h" 11 #include "base/lazy_instance.h"
12 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "base/memory/weak_ptr.h" 13 #include "base/memory/weak_ptr.h"
14 #include "base/timer.h"
14 #include "chrome/browser/ui/panels/auto_hiding_desktop_bar.h" 15 #include "chrome/browser/ui/panels/auto_hiding_desktop_bar.h"
15 #include "chrome/browser/ui/panels/panel.h" 16 #include "chrome/browser/ui/panels/panel.h"
16 #include "chrome/browser/ui/panels/panel_mouse_watcher_observer.h" 17 #include "chrome/browser/ui/panels/panel_mouse_watcher_observer.h"
17 #include "ui/gfx/rect.h" 18 #include "ui/gfx/rect.h"
18 19
19 class Browser; 20 class Browser;
20 class Panel; 21 class Panel;
21 class PanelMouseWatcher; 22 class PanelMouseWatcher;
22 23
23 // This class manages a set of panels. 24 // This class manages a set of panels.
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 // Moves a panel to the panel strip. The panel does not currently 84 // Moves a panel to the panel strip. The panel does not currently
84 // belong in any other strip. This may cause other panels to be 85 // belong in any other strip. This may cause other panels to be
85 // bumped out of the panel strip. 86 // bumped out of the panel strip.
86 void MoveToPanelStrip(Panel* panel); 87 void MoveToPanelStrip(Panel* panel);
87 88
88 // Moves a panel to the overflow strip. The panel does not currently 89 // Moves a panel to the overflow strip. The panel does not currently
89 // belong in any other strip. 90 // belong in any other strip.
90 // |is_new| is true if the panel was just created. 91 // |is_new| is true if the panel was just created.
91 void MoveToOverflowStrip(Panel* panel, bool is_new); 92 void MoveToOverflowStrip(Panel* panel, bool is_new);
92 93
93 // Overridden from PanelMouseWatcherObserver: 94 // Overridden from PanelMouseWatcher::Observer:
Dmitry Titov 2011/11/30 01:35:53 Isn't it now PanelMouseWatcherObserver?
prasadt 2011/11/30 02:38:47 Done.
94 virtual void OnMouseMove(const gfx::Point& mouse_position) OVERRIDE; 95 virtual void OnMouseMove(const gfx::Point& mouse_position) OVERRIDE;
95 96
97 bool is_full_screen_mode_on() const { return is_full_screen_mode_on_; }
98
96 #ifdef UNIT_TEST 99 #ifdef UNIT_TEST
97 static int horizontal_spacing() { return kPanelsHorizontalSpacing; } 100 static int horizontal_spacing() { return kPanelsHorizontalSpacing; }
98 101
99 const gfx::Rect& work_area() const { 102 const gfx::Rect& work_area() const {
100 return work_area_; 103 return work_area_;
101 } 104 }
102 105
103 void set_auto_hiding_desktop_bar( 106 void set_auto_hiding_desktop_bar(
104 AutoHidingDesktopBar* auto_hiding_desktop_bar) { 107 AutoHidingDesktopBar* auto_hiding_desktop_bar) {
105 auto_hiding_desktop_bar_ = auto_hiding_desktop_bar; 108 auto_hiding_desktop_bar_ = auto_hiding_desktop_bar;
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 // Owned by MessageLoop after posting. 227 // Owned by MessageLoop after posting.
225 base::WeakPtrFactory<PanelManager> titlebar_action_factory_; 228 base::WeakPtrFactory<PanelManager> titlebar_action_factory_;
226 229
227 // Whether or not bounds will be updated when the preferred content size is 230 // Whether or not bounds will be updated when the preferred content size is
228 // changed. The testing code could set this flag to false so that other tests 231 // changed. The testing code could set this flag to false so that other tests
229 // will not be affected. 232 // will not be affected.
230 bool auto_sizing_enabled_; 233 bool auto_sizing_enabled_;
231 234
232 bool mouse_watching_disabled_; // For tests to simulate mouse movements. 235 bool mouse_watching_disabled_; // For tests to simulate mouse movements.
233 236
237 // Timer used to track if the current active app is in full screen mode.
238 base::RepeatingTimer<PanelManager> full_screen_mode_timer_;
239 void CheckFullScreenMode();
240 bool is_full_screen_mode_on_;
241
234 static const int kPanelsHorizontalSpacing = 4; 242 static const int kPanelsHorizontalSpacing = 4;
235 243
236 // Absolute minimum width and height for panels, including non-client area. 244 // Absolute minimum width and height for panels, including non-client area.
237 // Should only be big enough to accomodate a close button on the reasonably 245 // Should only be big enough to accomodate a close button on the reasonably
238 // recognisable titlebar. 246 // recognisable titlebar.
239 static const int kPanelMinWidth; 247 static const int kPanelMinWidth;
240 static const int kPanelMinHeight; 248 static const int kPanelMinHeight;
241 249
250 static const int kFullScreenModeCheckInterval = 1000;
Dmitry Titov 2011/11/30 01:35:53 this is implementation detail, does not have to be
jianli 2011/11/30 01:53:15 Can this constant be moved to .cc file?
prasadt 2011/11/30 02:38:47 Done.
prasadt 2011/11/30 02:38:47 Done.
251
242 DISALLOW_COPY_AND_ASSIGN(PanelManager); 252 DISALLOW_COPY_AND_ASSIGN(PanelManager);
243 }; 253 };
244 254
245 #endif // CHROME_BROWSER_UI_PANELS_PANEL_MANAGER_H_ 255 #endif // CHROME_BROWSER_UI_PANELS_PANEL_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698