summaryrefslogtreecommitdiffstats
path: root/chrome/browser/notifications/balloon.cc
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-17 01:19:06 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-17 01:19:06 +0000
commit3b845753b707daca3fe3e733263065f162b7162b (patch)
treeb674a4d72a118323da1fad83f8caa43f57a86b32 /chrome/browser/notifications/balloon.cc
parentfee8f0222a5f2a377ba5d7f2d3383481c02eafac (diff)
downloadchromium_src-3b845753b707daca3fe3e733263065f162b7162b.zip
chromium_src-3b845753b707daca3fe3e733263065f162b7162b.tar.gz
chromium_src-3b845753b707daca3fe3e733263065f162b7162b.tar.bz2
* Moved sticky/controls frag to chromeos::BalloonViewImpl
* Added AddSystemNotification to add system notification and UpdateNotification to update a notification. * refactored NotificationObjectProxy and added NotificationDelegate class. * Added notification_browser.cc. BUG=33306 TEST=added notification_browser.cc with minimal test. I'll add more in next step. Review URL: http://codereview.chromium.org/1013002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41801 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/notifications/balloon.cc')
-rw-r--r--chrome/browser/notifications/balloon.cc15
1 files changed, 12 insertions, 3 deletions
diff --git a/chrome/browser/notifications/balloon.cc b/chrome/browser/notifications/balloon.cc
index 040abec..4d9a94f 100644
--- a/chrome/browser/notifications/balloon.cc
+++ b/chrome/browser/notifications/balloon.cc
@@ -6,13 +6,14 @@
#include "base/logging.h"
#include "chrome/browser/notifications/balloon_collection.h"
+#include "chrome/browser/notifications/notification.h"
#include "chrome/browser/renderer_host/site_instance.h"
#include "gfx/rect.h"
Balloon::Balloon(const Notification& notification, Profile* profile,
BalloonCollection* collection)
: profile_(profile),
- notification_(notification),
+ notification_(new Notification(notification)),
collection_(collection) {
}
@@ -34,14 +35,22 @@ void Balloon::set_view(BalloonView* balloon_view) {
}
void Balloon::Show() {
- notification_.Display();
+ notification_->Display();
if (balloon_view_.get()) {
balloon_view_->Show(this);
}
}
+void Balloon::Update(const Notification& notification) {
+ notification_.reset(new Notification(notification));
+ notification_->Display();
+ if (balloon_view_.get()) {
+ balloon_view_->Update();
+ }
+}
+
void Balloon::OnClose(bool by_user) {
- notification_.Close(by_user);
+ notification_->Close(by_user);
collection_->OnBalloonClosed(this);
}