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 "chrome/browser/notifications/notification_ui_manager_impl.h" | 5 #include "chrome/browser/notifications/notification_ui_manager_impl.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 #endif | 57 #endif |
58 } | 58 } |
59 | 59 |
60 NotificationUIManagerImpl::~NotificationUIManagerImpl() { | 60 NotificationUIManagerImpl::~NotificationUIManagerImpl() { |
61 STLDeleteElements(&show_queue_); | 61 STLDeleteElements(&show_queue_); |
62 #if defined(OS_MACOSX) | 62 #if defined(OS_MACOSX) |
63 StopFullScreenMonitor(); | 63 StopFullScreenMonitor(); |
64 #endif | 64 #endif |
65 } | 65 } |
66 | 66 |
67 // static | |
68 NotificationUIManager* NotificationUIManager::Create(PrefService* local_state) { | |
69 return Create(local_state, BalloonCollection::Create()); | |
70 } | |
71 | |
72 // static | |
73 NotificationUIManager* NotificationUIManager::Create( | |
74 PrefService* local_state, | |
75 BalloonCollection* balloons) { | |
76 NotificationUIManagerImpl* instance = | |
77 new NotificationUIManagerImpl(local_state); | |
78 instance->Initialize(balloons); | |
79 balloons->set_space_change_listener(instance); | |
80 return instance; | |
81 } | |
82 | |
83 void NotificationUIManagerImpl::Initialize( | 67 void NotificationUIManagerImpl::Initialize( |
84 BalloonCollection* balloon_collection) { | 68 BalloonCollection* balloon_collection) { |
85 DCHECK(!balloon_collection_.get()); | 69 DCHECK(!balloon_collection_.get()); |
86 DCHECK(balloon_collection); | 70 DCHECK(balloon_collection); |
87 balloon_collection_.reset(balloon_collection); | 71 balloon_collection_.reset(balloon_collection); |
88 balloon_collection_->SetPositionPreference( | 72 balloon_collection_->SetPositionPreference( |
89 static_cast<BalloonCollection::PositionPreference>( | 73 static_cast<BalloonCollection::PositionPreference>( |
90 position_pref_.GetValue())); | 74 position_pref_.GetValue())); |
91 } | 75 } |
92 | 76 |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 } else if (type == chrome::NOTIFICATION_PREF_CHANGED) { | 236 } else if (type == chrome::NOTIFICATION_PREF_CHANGED) { |
253 std::string* name = content::Details<std::string>(details).ptr(); | 237 std::string* name = content::Details<std::string>(details).ptr(); |
254 if (*name == prefs::kDesktopNotificationPosition) | 238 if (*name == prefs::kDesktopNotificationPosition) |
255 balloon_collection_->SetPositionPreference( | 239 balloon_collection_->SetPositionPreference( |
256 static_cast<BalloonCollection::PositionPreference>( | 240 static_cast<BalloonCollection::PositionPreference>( |
257 position_pref_.GetValue())); | 241 position_pref_.GetValue())); |
258 } else { | 242 } else { |
259 NOTREACHED(); | 243 NOTREACHED(); |
260 } | 244 } |
261 } | 245 } |
OLD | NEW |