diff options
Diffstat (limited to 'chrome/browser/notifications/balloon_collection_mac.mm')
-rw-r--r-- | chrome/browser/notifications/balloon_collection_mac.mm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/chrome/browser/notifications/balloon_collection_mac.mm b/chrome/browser/notifications/balloon_collection_mac.mm index 7615415..d31bc39 100644 --- a/chrome/browser/notifications/balloon_collection_mac.mm +++ b/chrome/browser/notifications/balloon_collection_mac.mm @@ -43,6 +43,27 @@ void BalloonCollectionImpl::PositionBalloons(bool reposition) { [NSAnimationContext endGrouping]; } +void BalloonCollectionImpl::SetPositionPreference( + PositionPreference position) { + if (position == DEFAULT_POSITION) + position = UPPER_RIGHT; + + // All positioning schemes are vertical, but mac + // uses a vertically reversed screen orientation. + if (position == UPPER_RIGHT) + layout_.set_placement(Layout::VERTICALLY_FROM_BOTTOM_RIGHT); + else if (position == UPPER_LEFT) + layout_.set_placement(Layout::VERTICALLY_FROM_BOTTOM_LEFT); + else if (position == LOWER_LEFT) + layout_.set_placement(Layout::VERTICALLY_FROM_TOP_LEFT); + else if (position == LOWER_RIGHT) + layout_.set_placement(Layout::VERTICALLY_FROM_TOP_RIGHT); + else + NOTREACHED(); + + PositionBalloons(true); +} + // static BalloonCollection* BalloonCollection::Create() { return new BalloonCollectionImpl(); |