Commit 23861589 authored by Sigurdur Asgeirsson's avatar Sigurdur Asgeirsson Committed by Commit Bot

Retire ScopedObserver in /chrome/browser/ui/views/bubble.

ScopedObserver is being deprecated in favor of two new classes:
- base::ScopedObservation for observers that only ever observe
  a single source.
- base::ScopedMultiSourceObservation for observers that do or may
  observe more than a single source.

This CL was uploaded by git cl split.

R=romanarora@chromium.org

Bug: 1145565
Change-Id: Ic27dc466d5f152cb73a2f767720032eb6bf02597
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2548021
Auto-Submit: Sigurður Ásgeirsson <siggi@chromium.org>
Commit-Queue: Thomas Lukaszewicz <tluk@chromium.org>
Reviewed-by: default avatarThomas Lukaszewicz <tluk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#829240}
parent 72c25e73
...@@ -54,7 +54,7 @@ bool WebUIBubbleManagerBase::ShowBubble() { ...@@ -54,7 +54,7 @@ bool WebUIBubbleManagerBase::ShowBubble() {
bubble_view_ = WebUIBubbleDialogView::CreateWebUIBubbleDialog( bubble_view_ = WebUIBubbleDialogView::CreateWebUIBubbleDialog(
std::make_unique<WebUIBubbleDialogView>(anchor_view_, std::make_unique<WebUIBubbleDialogView>(anchor_view_,
std::move(cached_web_view_))); std::move(cached_web_view_)));
observed_bubble_widget_.Add(bubble_view_->GetWidget()); bubble_widget_observation_.Observe(bubble_view_->GetWidget());
close_bubble_helper_ = std::make_unique<CloseBubbleOnTabActivationHelper>( close_bubble_helper_ = std::make_unique<CloseBubbleOnTabActivationHelper>(
bubble_view_.get(), BrowserList::GetInstance()->GetLastActive()); bubble_view_.get(), BrowserList::GetInstance()->GetLastActive());
return true; return true;
...@@ -76,7 +76,7 @@ void WebUIBubbleManagerBase::OnWidgetDestroying(views::Widget* widget) { ...@@ -76,7 +76,7 @@ void WebUIBubbleManagerBase::OnWidgetDestroying(views::Widget* widget) {
DCHECK(bubble_view_); DCHECK(bubble_view_);
DCHECK_EQ(bubble_view_->GetWidget(), widget); DCHECK_EQ(bubble_view_->GetWidget(), widget);
cached_web_view_ = bubble_view_->RemoveWebView(); cached_web_view_ = bubble_view_->RemoveWebView();
observed_bubble_widget_.Remove(bubble_view_->GetWidget()); bubble_widget_observation_.RemoveObservation();
DCHECK(close_bubble_helper_); DCHECK(close_bubble_helper_);
close_bubble_helper_.reset(); close_bubble_helper_.reset();
cache_timer_->Reset(); cache_timer_->Reset();
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#include <memory> #include <memory>
#include <utility> #include <utility>
#include "base/scoped_observer.h" #include "base/scoped_observation.h"
#include "chrome/browser/extensions/chrome_extension_web_contents_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/bubble/webui_bubble_view.h"
#include "chrome/browser/ui/views/close_bubble_on_tab_activation_helper.h" #include "chrome/browser/ui/views/close_bubble_on_tab_activation_helper.h"
...@@ -77,8 +77,8 @@ class WebUIBubbleManagerBase : public views::WidgetObserver { ...@@ -77,8 +77,8 @@ class WebUIBubbleManagerBase : public views::WidgetObserver {
// A timer controlling how long the |cached_web_view_| is cached for. // A timer controlling how long the |cached_web_view_| is cached for.
std::unique_ptr<base::RetainingOneShotTimer> cache_timer_; std::unique_ptr<base::RetainingOneShotTimer> cache_timer_;
ScopedObserver<views::Widget, views::WidgetObserver> observed_bubble_widget_{ base::ScopedObservation<views::Widget, views::WidgetObserver>
this}; bubble_widget_observation_{this};
// This is necessary to prevent a bug closing the active tab in the bubble. // This is necessary to prevent a bug closing the active tab in the bubble.
// See https://crbug.com/1139028. // See https://crbug.com/1139028.
......
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