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

Side by Side Diff: chrome/browser/ui/panels/display_settings_provider.cc

Issue 23190045: Switch ObserverList::size() to ObserverList::might_have_observers() Pt.1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Pure merge Created 7 years, 3 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 #include "chrome/browser/ui/panels/display_settings_provider.h" 5 #include "chrome/browser/ui/panels/display_settings_provider.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "chrome/browser/fullscreen.h" 9 #include "chrome/browser/fullscreen.h"
10 #include "ui/gfx/screen.h" 10 #include "ui/gfx/screen.h"
(...skipping 25 matching lines...) Expand all
36 } 36 }
37 37
38 void DisplaySettingsProvider::RemoveDesktopBarObserver( 38 void DisplaySettingsProvider::RemoveDesktopBarObserver(
39 DesktopBarObserver* observer) { 39 DesktopBarObserver* observer) {
40 desktop_bar_observers_.RemoveObserver(observer); 40 desktop_bar_observers_.RemoveObserver(observer);
41 } 41 }
42 42
43 void DisplaySettingsProvider::AddFullScreenObserver( 43 void DisplaySettingsProvider::AddFullScreenObserver(
44 FullScreenObserver* observer) { 44 FullScreenObserver* observer) {
45 is_full_screen_ = IsFullScreen(); 45 is_full_screen_ = IsFullScreen();
46 bool already_started = full_screen_observers_.might_have_observers();
46 full_screen_observers_.AddObserver(observer); 47 full_screen_observers_.AddObserver(observer);
47 48
48 if (full_screen_observers_.size() == 1 && NeedsPeriodicFullScreenCheck()) { 49 if (!already_started && NeedsPeriodicFullScreenCheck()) {
49 full_screen_mode_timer_.Start(FROM_HERE, 50 full_screen_mode_timer_.Start(FROM_HERE,
50 base::TimeDelta::FromMilliseconds(kFullScreenModeCheckIntervalMs), 51 base::TimeDelta::FromMilliseconds(kFullScreenModeCheckIntervalMs),
51 base::Bind(&DisplaySettingsProvider::CheckFullScreenMode, 52 base::Bind(&DisplaySettingsProvider::CheckFullScreenMode,
52 base::Unretained(this), 53 base::Unretained(this),
53 PERFORM_FULLSCREEN_CHECK)); 54 PERFORM_FULLSCREEN_CHECK));
54 } 55 }
55 } 56 }
56 57
57 void DisplaySettingsProvider::RemoveFullScreenObserver( 58 void DisplaySettingsProvider::RemoveFullScreenObserver(
58 FullScreenObserver* observer) { 59 FullScreenObserver* observer) {
59 full_screen_observers_.RemoveObserver(observer); 60 full_screen_observers_.RemoveObserver(observer);
60 61
61 if (full_screen_observers_.size() == 0) 62 if (!full_screen_observers_.might_have_observers())
62 full_screen_mode_timer_.Stop(); 63 full_screen_mode_timer_.Stop();
63 } 64 }
64 65
65 // TODO(scottmg): This should be moved to ui/. 66 // TODO(scottmg): This should be moved to ui/.
66 gfx::Rect DisplaySettingsProvider::GetPrimaryDisplayArea() const { 67 gfx::Rect DisplaySettingsProvider::GetPrimaryDisplayArea() const {
67 // TODO(scottmg): NativeScreen is wrong. http://crbug.com/133312 68 // TODO(scottmg): NativeScreen is wrong. http://crbug.com/133312
68 return gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().bounds(); 69 return gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().bounds();
69 } 70 }
70 71
71 gfx::Rect DisplaySettingsProvider::GetPrimaryWorkArea() const { 72 gfx::Rect DisplaySettingsProvider::GetPrimaryWorkArea() const {
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 bool DisplaySettingsProvider::IsFullScreen() { 160 bool DisplaySettingsProvider::IsFullScreen() {
160 return IsFullScreenMode(); 161 return IsFullScreenMode();
161 } 162 }
162 163
163 #if defined(USE_AURA) 164 #if defined(USE_AURA)
164 // static 165 // static
165 DisplaySettingsProvider* DisplaySettingsProvider::Create() { 166 DisplaySettingsProvider* DisplaySettingsProvider::Create() {
166 return new DisplaySettingsProvider(); 167 return new DisplaySettingsProvider();
167 } 168 }
168 #endif 169 #endif
OLDNEW
« no previous file with comments | « chrome/browser/status_icons/status_icon.cc ('k') | chrome/browser/ui/panels/panel_mouse_watcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698