| Index: chrome/browser/ui/omnibox/omnibox_popup_model.cc
|
| diff --git a/chrome/browser/ui/omnibox/omnibox_popup_model.cc b/chrome/browser/ui/omnibox/omnibox_popup_model.cc
|
| index 930a0a63dd81b3e0ef52280f32449129a7cc51ec..30d182594917a0c39097708ab91faa4d49d05fbe 100644
|
| --- a/chrome/browser/ui/omnibox/omnibox_popup_model.cc
|
| +++ b/chrome/browser/ui/omnibox/omnibox_popup_model.cc
|
| @@ -14,6 +14,7 @@
|
| #include "chrome/browser/search_engines/template_url.h"
|
| #include "chrome/browser/search_engines/template_url_service.h"
|
| #include "chrome/browser/search_engines/template_url_service_factory.h"
|
| +#include "chrome/browser/ui/omnibox/omnibox_popup_model_observer.h"
|
| #include "chrome/browser/ui/omnibox/omnibox_popup_view.h"
|
| #include "third_party/icu/public/common/unicode/ubidi.h"
|
| #include "ui/gfx/image/image.h"
|
| @@ -218,5 +219,19 @@ void OmniboxPopupModel::OnResultChanged() {
|
| if ((hovered_line_ != kNoMatch) && (result.size() <= hovered_line_))
|
| SetHoveredLine(kNoMatch);
|
|
|
| + bool popup_was_open = view_->IsOpen();
|
| view_->UpdatePopupAppearance();
|
| + // If popup has just been shown or hidden, notify observers.
|
| + if (view_->IsOpen() != popup_was_open) {
|
| + FOR_EACH_OBSERVER(OmniboxPopupModelObserver, observers_,
|
| + OnOmniboxPopupShownOrHidden());
|
| + }
|
| +}
|
| +
|
| +void OmniboxPopupModel::AddObserver(OmniboxPopupModelObserver* observer) {
|
| + observers_.AddObserver(observer);
|
| +}
|
| +
|
| +void OmniboxPopupModel::RemoveObserver(OmniboxPopupModelObserver* observer) {
|
| + observers_.RemoveObserver(observer);
|
| }
|
|
|