Commit 16cc2bde authored by Yuheng Huang's avatar Yuheng Huang Committed by Commit Bot

Tab Search: close tab search bubble after closing current active tab

This changes fixed the weird focus collision bug on Linux.
Similar patterns can be found in HatsBubbleView and ProfileMenuViewBase.

Bug: 1139028,1099917
Change-Id: I4703f631216584feecf117b6a1901fbccfb14e5f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2499086Reviewed-by: default avatarThomas Lukaszewicz <tluk@chromium.org>
Commit-Queue: Yuheng Huang <yuhengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#821452}
parent bd1d1dbc
......@@ -6,6 +6,7 @@
#include "base/metrics/histogram_functions.h"
#include "chrome/browser/extensions/chrome_extension_web_contents_observer.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/webui/tab_search/tab_search_ui.h"
#include "chrome/common/webui_url_constants.h"
#include "ui/views/controls/webview/webview.h"
......@@ -23,7 +24,8 @@ views::Widget* TabSearchBubbleView::CreateTabSearchBubble(
TabSearchBubbleView::TabSearchBubbleView(
content::BrowserContext* browser_context,
views::View* anchor_view)
: WebBubbleDialogView(browser_context, anchor_view) {
: WebBubbleDialogView(browser_context, anchor_view),
close_bubble_helper_(this, BrowserList::GetInstance()->GetLastActive()) {
extensions::ChromeExtensionWebContentsObserver::CreateForWebContents(
web_view()->GetWebContents());
}
......
......@@ -7,6 +7,7 @@
#include "base/scoped_observer.h"
#include "base/timer/elapsed_timer.h"
#include "chrome/browser/ui/views/close_bubble_on_tab_activation_helper.h"
#include "ui/views/controls/webview/web_bubble_dialog_view.h"
namespace views {
......@@ -56,6 +57,8 @@ class TabSearchBubbleView : public views::WebBubbleDialogView,
ScopedObserver<views::Widget, views::WidgetObserver> observed_bubble_widget_{
this};
CloseBubbleOnTabActivationHelper close_bubble_helper_;
};
#endif // CHROME_BROWSER_UI_VIEWS_TAB_SEARCH_TAB_SEARCH_BUBBLE_VIEW_H_
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment