| 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 |