Commit 0cd083ee authored by Yuheng Huang's avatar Yuheng Huang Committed by Commit Bot

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

This is a reland of
https://chromium-review.googlesource.com/c/chromium/src/+/2499086
The original CL doesn't go through the refactor in
https://chromium-review.googlesource.com/c/chromium/src/+/2514077

Bug: 1139028,1099917

Change-Id: I36c7acc8c1adfcd749545bd1c0ce274ea009ce32
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2521838Reviewed-by: default avatarPeter Boström <pbos@chromium.org>
Reviewed-by: default avatarThomas Lukaszewicz <tluk@chromium.org>
Commit-Queue: Yuheng Huang <yuhengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#825361}
parent 191b98aa
......@@ -5,6 +5,7 @@
#include "chrome/browser/ui/views/bubble/webui_bubble_manager.h"
#include "base/timer/timer.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/views/bubble/webui_bubble_dialog_view.h"
#include "ui/views/widget/widget.h"
......@@ -48,6 +49,8 @@ bool WebUIBubbleManagerBase::ShowBubble() {
std::make_unique<WebUIBubbleDialogView>(anchor_view_,
std::move(cached_web_view_)));
observed_bubble_widget_.Add(bubble_view_->GetWidget());
close_bubble_helper_ = std::make_unique<CloseBubbleOnTabActivationHelper>(
bubble_view_.get(), BrowserList::GetInstance()->GetLastActive());
return true;
}
......
......@@ -11,6 +11,7 @@
#include "base/scoped_observer.h"
#include "chrome/browser/extensions/chrome_extension_web_contents_observer.h"
#include "chrome/browser/ui/views/bubble/webui_bubble_view.h"
#include "chrome/browser/ui/views/close_bubble_on_tab_activation_helper.h"
#include "ui/views/controls/webview/webview.h"
#include "ui/views/widget/widget.h"
#include "ui/views/widget/widget_observer.h"
......@@ -71,6 +72,10 @@ class WebUIBubbleManagerBase : public views::WidgetObserver {
ScopedObserver<views::Widget, views::WidgetObserver> observed_bubble_widget_{
this};
// This is necessary to prevent a bug closing the active tab in the bubble.
// See https://crbug.com/1139028.
std::unique_ptr<CloseBubbleOnTabActivationHelper> close_bubble_helper_;
};
template <typename T>
......
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