diff options
author | dewittj@chromium.org <dewittj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-31 18:45:18 +0000 |
---|---|---|
committer | dewittj@chromium.org <dewittj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-31 18:45:18 +0000 |
commit | 8dcb8151412e820d83f6e53c4234cc2a20f97522 (patch) | |
tree | 051ee821033b531bdda1fda49ee4b306a0263ceb /ui/message_center | |
parent | 4ebaa8c06e92bb634623fea5692160739f8a2fae (diff) | |
download | chromium_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.cc | 7 |
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() { |