diff options
author | ronghuawu@chromium.org <ronghuawu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-08 18:20:18 +0000 |
---|---|---|
committer | ronghuawu@chromium.org <ronghuawu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-08 18:20:18 +0000 |
commit | 6f37bcc62babdbce4716ba3b10817d3f1399d446 (patch) | |
tree | 71d9d5f18ce02215510644a9cbe57e62df7c061b /content | |
parent | f41a44a2af54a1e6decad06c627f2f0156d99f11 (diff) | |
download | chromium_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.cc | 7 |
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; } |