Commit d1d3e370 authored by Collin Baker's avatar Collin Baker Committed by Commit Bot

Revert "Use RecentlyAudibleHelper for tab audibility updates"

This reverts commit 50cf2ba5.

Reason for revert: doesn't update alert icon in some cases

Original change's description:
> Use RecentlyAudibleHelper for tab audibility updates
> 
> This moves Browser away from listening to for INVALIDATE_TYPE_AUDIO for
> audibility state changes.
> 
> This is part of a refactor detailed in the attached bug.
> 
> Bug: 846374
> Change-Id: I09cd8395c16bba812e9417f2ca6364d43864d39b
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1854214
> Commit-Queue: Collin Baker <collinbaker@chromium.org>
> Reviewed-by: Peter Boström <pbos@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#705204}

TBR=pbos@chromium.org,collinbaker@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 846374
Change-Id: I1f38047e4c13a792a01b9c3a423816f4d3203006
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1860696Reviewed-by: default avatarCollin Baker <collinbaker@chromium.org>
Reviewed-by: default avatarPeter Boström <pbos@chromium.org>
Commit-Queue: Collin Baker <collinbaker@chromium.org>
Cr-Commit-Position: refs/heads/master@{#705723}
parent 44f7e625
...@@ -2320,10 +2320,6 @@ void Browser::ScheduleUIUpdate(WebContents* source, unsigned changed_flags) { ...@@ -2320,10 +2320,6 @@ void Browser::ScheduleUIUpdate(WebContents* source, unsigned changed_flags) {
if (tab_strip_model_->GetIndexOfWebContents(source) == TabStripModel::kNoTab) if (tab_strip_model_->GetIndexOfWebContents(source) == TabStripModel::kNoTab)
return; return;
// We ignore |INVALIDATE_TYPE_AUDIO| since we subscribe to
// RecentlyAudibleHelper via |OnTabAudibilityChanged()|.
changed_flags &= ~content::INVALIDATE_TYPE_AUDIO;
// Do some synchronous updates. // Do some synchronous updates.
if (changed_flags & content::INVALIDATE_TYPE_URL) { if (changed_flags & content::INVALIDATE_TYPE_URL) {
if (source == tab_strip_model_->GetActiveWebContents()) { if (source == tab_strip_model_->GetActiveWebContents()) {
...@@ -2413,8 +2409,8 @@ void Browser::ProcessPendingUIUpdates() { ...@@ -2413,8 +2409,8 @@ void Browser::ProcessPendingUIUpdates() {
} }
// Updates that don't depend upon the selected state go here. // Updates that don't depend upon the selected state go here.
if (flags & if (flags & (content::INVALIDATE_TYPE_TAB | content::INVALIDATE_TYPE_TITLE |
(content::INVALIDATE_TYPE_TAB | content::INVALIDATE_TYPE_TITLE)) { content::INVALIDATE_TYPE_AUDIO)) {
tab_strip_model_->UpdateWebContentsStateAt( tab_strip_model_->UpdateWebContentsStateAt(
tab_strip_model_->GetIndexOfWebContents(contents), tab_strip_model_->GetIndexOfWebContents(contents),
TabChangeType::kAll); TabChangeType::kAll);
...@@ -2592,16 +2588,10 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) { ...@@ -2592,16 +2588,10 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
zoom::ZoomController::FromWebContents(web_contents)->AddObserver(this); zoom::ZoomController::FromWebContents(web_contents)->AddObserver(this);
content_translate_driver->AddObserver(this); content_translate_driver->AddObserver(this);
BookmarkTabHelper::FromWebContents(web_contents)->AddObserver(this); BookmarkTabHelper::FromWebContents(web_contents)->AddObserver(this);
audibility_subscriptions_[web_contents] =
RecentlyAudibleHelper::FromWebContents(web_contents)
->RegisterCallback(
base::BindRepeating(&Browser::OnTabAudibilityChanged,
base::Unretained(this), web_contents));
} else { } else {
zoom::ZoomController::FromWebContents(web_contents)->RemoveObserver(this); zoom::ZoomController::FromWebContents(web_contents)->RemoveObserver(this);
content_translate_driver->RemoveObserver(this); content_translate_driver->RemoveObserver(this);
BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this); BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this);
audibility_subscriptions_.erase(web_contents);
} }
} }
...@@ -2913,9 +2903,3 @@ BackgroundContents* Browser::CreateBackgroundContents( ...@@ -2913,9 +2903,3 @@ BackgroundContents* Browser::CreateBackgroundContents(
return contents; return contents;
} }
void Browser::OnTabAudibilityChanged(content::WebContents* contents,
bool recently_audible) {
tab_strip_model_->UpdateWebContentsStateAt(
tab_strip_model_->GetIndexOfWebContents(contents), TabChangeType::kAll);
}
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
#include "chrome/browser/ui/chrome_web_modal_dialog_manager_delegate.h" #include "chrome/browser/ui/chrome_web_modal_dialog_manager_delegate.h"
#include "chrome/browser/ui/exclusive_access/exclusive_access_manager.h" #include "chrome/browser/ui/exclusive_access/exclusive_access_manager.h"
#include "chrome/browser/ui/profile_chooser_constants.h" #include "chrome/browser/ui/profile_chooser_constants.h"
#include "chrome/browser/ui/recently_audible_helper.h"
#include "chrome/browser/ui/tabs/tab_strip_model_observer.h" #include "chrome/browser/ui/tabs/tab_strip_model_observer.h"
#include "chrome/browser/ui/unload_controller.h" #include "chrome/browser/ui/unload_controller.h"
#include "components/content_settings/core/common/content_settings.h" #include "components/content_settings/core/common/content_settings.h"
...@@ -1008,10 +1007,6 @@ class Browser : public TabStripModelObserver, ...@@ -1008,10 +1007,6 @@ class Browser : public TabStripModelObserver,
const std::string& partition_id, const std::string& partition_id,
content::SessionStorageNamespace* session_storage_namespace); content::SessionStorageNamespace* session_storage_namespace);
// Callback for RecentlyAudibleHelper.
void OnTabAudibilityChanged(content::WebContents* contents,
bool recently_audible);
// Data members ///////////////////////////////////////////////////////////// // Data members /////////////////////////////////////////////////////////////
std::vector<InterstitialObserver*> interstitial_observers_; std::vector<InterstitialObserver*> interstitial_observers_;
...@@ -1153,13 +1148,6 @@ class Browser : public TabStripModelObserver, ...@@ -1153,13 +1148,6 @@ class Browser : public TabStripModelObserver,
extension_browser_window_helper_; extension_browser_window_helper_;
#endif #endif
// These subscriptions are returned by RecentlyAudibleHelper when registering
// a callback. They de-register the callback when destroyed and safely handle
// destruction of the associated RecentlyAudibleHelper.
std::map<content::WebContents*,
std::unique_ptr<RecentlyAudibleHelper::Subscription>>
audibility_subscriptions_;
// The following factory is used for chrome update coalescing. // The following factory is used for chrome update coalescing.
base::WeakPtrFactory<Browser> chrome_updater_factory_{this}; base::WeakPtrFactory<Browser> chrome_updater_factory_{this};
......
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