Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(416)

Unified Diff: media/base/composite_data_source_factory.cc

Issue 9015015: Take advantage of the new Pass() machinery on scoped_ptr{,_malloc}. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/base/composite_data_source_factory.cc
diff --git a/media/base/composite_data_source_factory.cc b/media/base/composite_data_source_factory.cc
index e75150593f2123f38e415f2d42d5051d399056f4..e0cbe63013266987b6017f09d32ba26e94cc204b 100644
--- a/media/base/composite_data_source_factory.cc
+++ b/media/base/composite_data_source_factory.cc
@@ -35,13 +35,15 @@ CompositeDataSourceFactory::~CompositeDataSourceFactory() {
STLDeleteElements(&factories_);
}
-void CompositeDataSourceFactory::AddFactory(DataSourceFactory* factory) {
- DCHECK(factory);
- factories_.push_back(factory);
+void CompositeDataSourceFactory::AddFactory(
+ scoped_ptr<DataSourceFactory> factory) {
+ DCHECK(factory.get());
+ factories_.push_back(factory.release());
}
-DataSourceFactory* CompositeDataSourceFactory::Clone() const {
- CompositeDataSourceFactory* new_factory = new CompositeDataSourceFactory();
+scoped_ptr<DataSourceFactory> CompositeDataSourceFactory::Clone() const {
+ scoped_ptr<CompositeDataSourceFactory> new_factory(
+ new CompositeDataSourceFactory());
for (FactoryList::const_iterator itr = factories_.begin();
itr != factories_.end();
@@ -49,7 +51,10 @@ DataSourceFactory* CompositeDataSourceFactory::Clone() const {
new_factory->AddFactory((*itr)->Clone());
}
- return new_factory;
+ // TODO(fischman): hopefully the extra scoped_ptr<m::DSF>() will be
+ // unnecessary once http://codereview.chromium.org/8968032/ lands
+ // properly.
+ return scoped_ptr<DataSourceFactory>(new_factory.Pass());
}
bool CompositeDataSourceFactory::AllowRequests() const {
@@ -80,7 +85,7 @@ void CompositeDataSourceFactory::BuildRequest::DoStart() {
void CompositeDataSourceFactory::BuildRequest::CallNextFactory() {
DCHECK(!factories_.empty());
- DataSourceFactory* factory = factories_.front();
+ scoped_ptr<DataSourceFactory> factory(factories_.front());
factories_.pop_front();
factory->Build(url(), base::Bind(&BuildRequest::OnBuildDone,

Powered by Google App Engine
This is Rietveld 408576698