Commit 2c707cb1 authored by Avi Drissman's avatar Avi Drissman Committed by Commit Bot

Remove the observer for stopped speech sessions

This shouldn't be necessary; when the last frame is deleted the observer
should remove itself. However, for paranoia's sake, remove the observers
as sessions are closed.

Bug: 1123557
Change-Id: If0109eafee7fd2ba38480849b99ee42bbafe5b61
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2424711
Commit-Queue: Leonard Grey <lgrey@chromium.org>
Auto-Submit: Avi Drissman <avi@chromium.org>
Reviewed-by: default avatarLeonard Grey <lgrey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#809766}
parent e46ef880
...@@ -449,6 +449,17 @@ void SpeechRecognitionManagerImpl::StopAudioCaptureForSession(int session_id) { ...@@ -449,6 +449,17 @@ void SpeechRecognitionManagerImpl::StopAudioCaptureForSession(int session_id) {
if (iter == sessions_.end()) if (iter == sessions_.end())
return; return;
// The deletion observer is owned by this class, so it's safe to use
// Unretained.
GetUIThreadTaskRunner({})->PostTask(
FROM_HERE,
base::BindOnce(&SpeechRecognitionManagerImpl::FrameDeletionObserver::
RemoveObserverForSession,
base::Unretained(frame_deletion_observer_.get()),
iter->second->config.initial_context.render_process_id,
iter->second->config.initial_context.render_frame_id,
session_id));
iter->second->ui.reset(); iter->second->ui.reset();
base::ThreadTaskRunnerHandle::Get()->PostTask( base::ThreadTaskRunnerHandle::Get()->PostTask(
......
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