diff options
author | niklase@chromium.org <niklase@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-06 18:30:02 +0000 |
---|---|---|
committer | niklase@chromium.org <niklase@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-06 18:30:02 +0000 |
commit | 93f597e3ee6dc4634ce9b11111979dcaeb93bc8a (patch) | |
tree | a80ade7b14e6941325463eeaded445a0b518b72c | |
parent | a4d29b2dff4cb5894e9ff92c132f96c34af76544 (diff) | |
download | chromium_src-93f597e3ee6dc4634ce9b11111979dcaeb93bc8a.zip chromium_src-93f597e3ee6dc4634ce9b11111979dcaeb93bc8a.tar.gz chromium_src-93f597e3ee6dc4634ce9b11111979dcaeb93bc8a.tar.bz2 |
Merge 247744 "Make sure DeviceRequestMessageFilter call MediaStr..."
> Make sure DeviceRequestMessageFilter call MediaStreamManager::CancelRequest for all pending requests to MediaStreamManager::EnumerateDevices when the IPC channel is teared down.
>
> Before this change DeviceRequestMessageFilter call CancelRequest with the render process pid. But that pid was not been used as an identifier when calling EnumerateDevices.
>
> BUG=338561
>
> Review URL: https://codereview.chromium.org/144363005
TBR=perkj@chromium.org
Review URL: https://codereview.chromium.org/152543010
git-svn-id: svn://svn.chromium.org/chrome/branches/1750/src@249452 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | content/browser/renderer_host/media/device_request_message_filter.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/content/browser/renderer_host/media/device_request_message_filter.cc b/content/browser/renderer_host/media/device_request_message_filter.cc index d5e36da..37e3bea 100644 --- a/content/browser/renderer_host/media/device_request_message_filter.cc +++ b/content/browser/renderer_host/media/device_request_message_filter.cc @@ -122,8 +122,11 @@ bool DeviceRequestMessageFilter::OnMessageReceived(const IPC::Message& message, void DeviceRequestMessageFilter::OnChannelClosing() { // Since the IPC channel is gone, cancel outstanding device requests. - media_stream_manager_->CancelAllRequests(peer_pid()); - + for (DeviceRequestList::iterator request_it = requests_.begin(); + request_it != requests_.end(); ++request_it) { + media_stream_manager_->CancelRequest(request_it->audio_devices_label); + media_stream_manager_->CancelRequest(request_it->video_devices_label); + } requests_.clear(); } |