diff options
Diffstat (limited to 'chrome/browser/notifications/balloon_collection_linux.cc')
-rw-r--r-- | chrome/browser/notifications/balloon_collection_linux.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/chrome/browser/notifications/balloon_collection_linux.cc b/chrome/browser/notifications/balloon_collection_linux.cc index 08354a0..099193c 100644 --- a/chrome/browser/notifications/balloon_collection_linux.cc +++ b/chrome/browser/notifications/balloon_collection_linux.cc @@ -67,6 +67,27 @@ bool BalloonCollectionImpl::IsCursorInBalloonCollection() const { return bounds.Contains(cursor); } +void BalloonCollectionImpl::SetPositionPreference( + PositionPreference position) { + if (position == DEFAULT_POSITION) + position = LOWER_RIGHT; + + // All positioning schemes are vertical, and linux + // uses the normal screen orientation. + if (position == UPPER_RIGHT) + layout_.set_placement(Layout::VERTICALLY_FROM_TOP_RIGHT); + else if (position == UPPER_LEFT) + layout_.set_placement(Layout::VERTICALLY_FROM_TOP_LEFT); + else if (position == LOWER_LEFT) + layout_.set_placement(Layout::VERTICALLY_FROM_BOTTOM_LEFT); + else if (position == LOWER_RIGHT) + layout_.set_placement(Layout::VERTICALLY_FROM_BOTTOM_RIGHT); + else + NOTREACHED(); + + PositionBalloons(true); +} + // static BalloonCollection* BalloonCollection::Create() { return new BalloonCollectionImpl(); |