summaryrefslogtreecommitdiffstats
path: root/ui/message_center
diff options
context:
space:
mode:
authordewittj@chromium.org <dewittj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-31 18:45:18 +0000
committerdewittj@chromium.org <dewittj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-31 18:45:18 +0000
commit8dcb8151412e820d83f6e53c4234cc2a20f97522 (patch)
tree051ee821033b531bdda1fda49ee4b306a0263ceb /ui/message_center
parent4ebaa8c06e92bb634623fea5692160739f8a2fae (diff)
downloadchromium_src-8dcb8151412e820d83f6e53c4234cc2a20f97522.zip
chromium_src-8dcb8151412e820d83f6e53c4234cc2a20f97522.tar.gz
chromium_src-8dcb8151412e820d83f6e53c4234cc2a20f97522.tar.bz2
Message Center Incorrect Update order fixed
This should fix the buildbot failure on Chromium OS valgrind caused by crrev.com/214502. BUG=266411 R=dewittj@chromium.org, oshima@chromium.org, oshima@google.com Review URL: https://codereview.chromium.org/21055010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@214788 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/message_center')
-rw-r--r--ui/message_center/views/message_popup_collection.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/ui/message_center/views/message_popup_collection.cc b/ui/message_center/views/message_popup_collection.cc
index a20d6f1..f147ec0 100644
--- a/ui/message_center/views/message_popup_collection.cc
+++ b/ui/message_center/views/message_popup_collection.cc
@@ -68,7 +68,6 @@ MessagePopupCollection::MessagePopupCollection(gfx::NativeView parent,
first_item_has_no_margin_(first_item_has_no_margin) {
DCHECK(message_center_);
defer_timer_.reset(new base::OneShotTimer<MessagePopupCollection>);
- DoUpdateIfPossible();
message_center_->AddObserver(this);
gfx::Screen* screen = NULL;
gfx::Display display;
@@ -82,10 +81,14 @@ MessagePopupCollection::MessagePopupCollection(gfx::NativeView parent,
screen = gfx::Screen::GetScreenFor(parent_);
display = screen->GetDisplayNearestWindow(parent_);
}
+ screen->AddObserver(this);
+
display_id_ = display.id();
work_area_ = display.work_area();
ComputePopupAlignment(work_area_, display.bounds());
- screen->AddObserver(this);
+
+ // We should not update before work area and popup alignment are computed.
+ DoUpdateIfPossible();
}
MessagePopupCollection::~MessagePopupCollection() {