Index: chrome/browser/ui/views/omnibox/omnibox_view_views.cc |
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc |
index f01cfb8b184c7f2ae23de3f8beb2efba7d7bfcbf..4c724b1c1914dd00547042a6ae5a6a936a29c718 100644 |
--- a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc |
+++ b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc |
@@ -21,6 +21,7 @@ |
#include "chrome/browser/ui/view_ids.h" |
#include "chrome/browser/ui/views/location_bar/location_bar_view.h" |
#include "chrome/browser/ui/views/omnibox/omnibox_popup_contents_view.h" |
+#include "chrome/browser/ui/views/website_settings/website_settings_popup_view.h" |
#include "chrome/common/chrome_switches.h" |
#include "content/public/browser/web_contents.h" |
#include "extensions/common/constants.h" |
@@ -406,7 +407,10 @@ void OmniboxViewViews::OnBlur() { |
// Tell the model to reset itself. |
model()->OnKillFocus(); |
- OnDidKillFocus(); |
+ // Ignore loss of focus if we lost focus because the website settings popup |
+ // is open. When the popup is destroyed, focus will return to the Omnibox. |
+ if (!WebsiteSettingsPopupView::IsPopupShowing()) |
+ OnDidKillFocus(); |
// Make sure the beginning of the text is visible. |
SelectRange(gfx::Range(0)); |