summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorronghuawu@chromium.org <ronghuawu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-08 18:20:18 +0000
committerronghuawu@chromium.org <ronghuawu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-08 18:20:18 +0000
commit6f37bcc62babdbce4716ba3b10817d3f1399d446 (patch)
tree71d9d5f18ce02215510644a9cbe57e62df7c061b /content
parentf41a44a2af54a1e6decad06c627f2f0156d99f11 (diff)
downloadchromium_src-6f37bcc62babdbce4716ba3b10817d3f1399d446.zip
chromium_src-6f37bcc62babdbce4716ba3b10817d3f1399d446.tar.gz
chromium_src-6f37bcc62babdbce4716ba3b10817d3f1399d446.tar.bz2
Fix a memory leak in VideoSourceHandler.
BUG=238541 R=wjia@chromium.org Review URL: https://codereview.chromium.org/14672010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198942 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r--content/renderer/media/video_source_handler.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/content/renderer/media/video_source_handler.cc b/content/renderer/media/video_source_handler.cc
index c4f875d9..3ee9ddd 100644
--- a/content/renderer/media/video_source_handler.cc
+++ b/content/renderer/media/video_source_handler.cc
@@ -60,7 +60,10 @@ VideoSourceHandler::VideoSourceHandler(
: registry_(registry) {
}
-VideoSourceHandler::~VideoSourceHandler() {}
+VideoSourceHandler::~VideoSourceHandler() {
+ // All the opened readers should have been closed by now.
+ ASSERT(reader_to_receiver_.empty());
+}
bool VideoSourceHandler::Open(const std::string& url,
FrameReaderInterface* reader) {
@@ -85,9 +88,11 @@ bool VideoSourceHandler::Close(const std::string& url,
}
PpFrameReceiver* receiver =
static_cast<PpFrameReceiver*>(GetReceiver(reader));
+ ASSERT(receiver != NULL);
receiver->SetReader(NULL);
source->RemoveSink(receiver);
reader_to_receiver_.erase(reader);
+ delete receiver;
return true;
}