Reverted the code for the non-interactive audible tab notification
Depends on https://codereview.chromium.org/1159113006 (just landed)
Reverts:
- https://codereview.chromium.org/975943003
- https://codereview.chromium.org/1008093002
- https://chrome-internal-review.googlesource.com/#/c/204475/
- https://chrome-internal-review.googlesource.com/#/c/210391/
BUG=470600
Review URL: https://codereview.chromium.org/1215713021
Cr-Commit-Position: refs/heads/master@{#346205}
diff --git a/content/browser/media/audio_stream_monitor.cc b/content/browser/media/audio_stream_monitor.cc
index bcc1e76..2f6a7e4 100644
--- a/content/browser/media/audio_stream_monitor.cc
+++ b/content/browser/media/audio_stream_monitor.cc
@@ -22,35 +22,24 @@
static_cast<WebContentsImpl*>(WebContents::FromRenderFrameHost(
RenderFrameHost::FromID(render_process_id, render_frame_id)));
- if (!web_contents)
- return nullptr;
-
- AudioStateProvider* audio_provider = web_contents->audio_state_provider();
- return audio_provider ? audio_provider->audio_stream_monitor() : nullptr;
+ return web_contents ? web_contents->audio_stream_monitor() : nullptr;
}
} // namespace
AudioStreamMonitor::AudioStreamMonitor(WebContents* contents)
- : AudioStateProvider(contents),
- clock_(&default_tick_clock_)
+ : web_contents_(contents),
+ clock_(&default_tick_clock_),
+ was_recently_audible_(false)
{
+ DCHECK(web_contents_);
}
AudioStreamMonitor::~AudioStreamMonitor() {}
-bool AudioStreamMonitor::IsAudioStateAvailable() const {
- return media::AudioOutputController::will_monitor_audio_levels();
-}
-
-// This provider is the monitor.
-AudioStreamMonitor* AudioStreamMonitor::audio_stream_monitor() {
- return this;
-}
-
bool AudioStreamMonitor::WasRecentlyAudible() const {
DCHECK(thread_checker_.CalledOnValidThread());
- return AudioStateProvider::WasRecentlyAudible();
+ return was_recently_audible_;
}
// static
@@ -59,7 +48,7 @@
int render_frame_id,
int stream_id,
const ReadPowerAndClipCallback& read_power_callback) {
- if (!media::AudioOutputController::will_monitor_audio_levels())
+ if (!monitoring_available())
return;
BrowserThread::PostTask(BrowserThread::UI,
FROM_HERE,
@@ -152,12 +141,16 @@
}
void AudioStreamMonitor::MaybeToggle() {
+ const bool indicator_was_on = was_recently_audible_;
const base::TimeTicks off_time =
last_blurt_time_ + base::TimeDelta::FromMilliseconds(kHoldOnMilliseconds);
const base::TimeTicks now = clock_->NowTicks();
const bool should_indicator_be_on = now < off_time;
- Notify(should_indicator_be_on);
+ if (should_indicator_be_on != indicator_was_on) {
+ was_recently_audible_ = should_indicator_be_on;
+ web_contents_->NotifyNavigationStateChanged(INVALIDATE_TYPE_TAB);
+ }
if (!should_indicator_be_on) {
off_timer_.Stop();