| 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,
|
|
|