diff options
author | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-10 04:47:31 +0000 |
---|---|---|
committer | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-10 04:47:31 +0000 |
commit | f1ca6dfe8f214f66dd7ab58d8bc30fe1e8553352 (patch) | |
tree | 5107ccd0d038153d126a1d3e842dd042944f31f3 /webkit/media | |
parent | c2e45bf3a3207e2072c78804b012309de511275a (diff) | |
download | chromium_src-f1ca6dfe8f214f66dd7ab58d8bc30fe1e8553352.zip chromium_src-f1ca6dfe8f214f66dd7ab58d8bc30fe1e8553352.tar.gz chromium_src-f1ca6dfe8f214f66dd7ab58d8bc30fe1e8553352.tar.bz2 |
Take advantage of the new Pass() machinery on scoped_ptr{,_malloc}.
Pass() was announced in
https://groups.google.com/a/chromium.org/d/topic/chromium-dev/RTd7rNxHjqk/discussion
This CL replaces comments about ownership transfer (in all files whose paths
contain media/) with the explicit passing of the appropriate scoper.
The exceptions that are not touched by this CL:
- scoped_refptr<> doesn't support Pass() and so is untouched.
- media/audio code defines its own callback machinery, mimicking the old-style
callbacks (pass by pointer, explicit deletes). I think that whole pile needs
to be replaced with new-style (Bind) callbacks, so left it alone for now.
BUG=none
TEST=trybots
Review URL: http://codereview.chromium.org/9015015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117009 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/media')
-rw-r--r-- | webkit/media/active_loader.cc | 6 | ||||
-rw-r--r-- | webkit/media/active_loader.h | 6 | ||||
-rw-r--r-- | webkit/media/buffered_data_source_unittest.cc | 9 | ||||
-rw-r--r-- | webkit/media/buffered_resource_loader.cc | 15 | ||||
-rw-r--r-- | webkit/media/buffered_resource_loader.h | 8 | ||||
-rw-r--r-- | webkit/media/buffered_resource_loader_unittest.cc | 4 | ||||
-rw-r--r-- | webkit/media/web_data_source_factory.cc | 8 | ||||
-rw-r--r-- | webkit/media/web_data_source_factory.h | 4 | ||||
-rw-r--r-- | webkit/media/webmediaplayer_impl.cc | 24 |
9 files changed, 43 insertions, 41 deletions
diff --git a/webkit/media/active_loader.cc b/webkit/media/active_loader.cc index e10098f..767ddff 100644 --- a/webkit/media/active_loader.cc +++ b/webkit/media/active_loader.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -9,8 +9,8 @@ namespace webkit_media { -ActiveLoader::ActiveLoader(WebKit::WebURLLoader* loader) - : loader_(loader), +ActiveLoader::ActiveLoader(scoped_ptr<WebKit::WebURLLoader> loader) + : loader_(loader.Pass()), deferred_(false) { } diff --git a/webkit/media/active_loader.h b/webkit/media/active_loader.h index 8a63ed0..b7300fc 100644 --- a/webkit/media/active_loader.h +++ b/webkit/media/active_loader.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -21,9 +21,7 @@ class ActiveLoader { public: // Creates an ActiveLoader with the given loader. It is assumed that the // initial state of |loader| is loading and not deferred. - // - // ActiveLoader takes ownership of |loader|. - explicit ActiveLoader(WebKit::WebURLLoader* loader); + explicit ActiveLoader(scoped_ptr<WebKit::WebURLLoader> loader); ~ActiveLoader(); // Starts or stops deferring the resource load. diff --git a/webkit/media/buffered_data_source_unittest.cc b/webkit/media/buffered_data_source_unittest.cc index 9150fd0..b63a2c5 100644 --- a/webkit/media/buffered_data_source_unittest.cc +++ b/webkit/media/buffered_data_source_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -54,8 +54,11 @@ class MockBufferedDataSource : public BufferedDataSource { .WillByDefault(Assign(&loading_, true)); ON_CALL(*url_loader, cancel()) .WillByDefault(Assign(&loading_, false)); - - loader->SetURLLoaderForTest(url_loader); + scoped_ptr<NiceMock<MockWebURLLoader> > mwul(url_loader); + // TODO(fischman): replace the extra scoped_ptr+release() with Pass() when + // http://crbug.com/109026 is fixed. + scoped_ptr<WebURLLoader> wul(mwul.release()); + loader->SetURLLoaderForTest(wul.Pass()); return loader; } diff --git a/webkit/media/buffered_resource_loader.cc b/webkit/media/buffered_resource_loader.cc index b1a4003..afac0db 100644 --- a/webkit/media/buffered_resource_loader.cc +++ b/webkit/media/buffered_resource_loader.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -169,20 +169,20 @@ void BufferedResourceLoader::Start( WebString::fromUTF8("identity;q=1, *;q=0")); // Check for our test WebURLLoader. - WebURLLoader* loader = NULL; + scoped_ptr<WebURLLoader> loader; if (test_loader_.get()) { - loader = test_loader_.release(); + loader = test_loader_.Pass(); } else { WebURLLoaderOptions options; options.allowCredentials = true; options.crossOriginRequestPolicy = WebURLLoaderOptions::CrossOriginRequestPolicyAllow; - loader = frame->createAssociatedURLLoader(options); + loader.reset(frame->createAssociatedURLLoader(options)); } // Start the resource loading. loader->loadAsynchronously(request, this); - active_loader_.reset(new ActiveLoader(loader)); + active_loader_.reset(new ActiveLoader(loader.Pass())); } void BufferedResourceLoader::Stop() { @@ -317,8 +317,9 @@ const GURL& BufferedResourceLoader::url() { return url_; } -void BufferedResourceLoader::SetURLLoaderForTest(WebURLLoader* test_loader) { - test_loader_.reset(test_loader); +void BufferedResourceLoader::SetURLLoaderForTest( + scoped_ptr<WebURLLoader> test_loader) { + test_loader_ = test_loader.Pass(); } ///////////////////////////////////////////////////////////////////////////// diff --git a/webkit/media/buffered_resource_loader.h b/webkit/media/buffered_resource_loader.h index 28815c3..64db97d 100644 --- a/webkit/media/buffered_resource_loader.h +++ b/webkit/media/buffered_resource_loader.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -125,11 +125,9 @@ class BufferedResourceLoader : public WebKit::WebURLLoaderClient { // Returns resulting URL. virtual const GURL& url(); - // Transfer ownership of an existing WebURLLoader instance for - // testing purposes. - // // |test_loader| will get used the next time Start() is called. - virtual void SetURLLoaderForTest(WebKit::WebURLLoader* test_loader); + virtual void SetURLLoaderForTest( + scoped_ptr<WebKit::WebURLLoader> test_loader); // WebKit::WebURLLoaderClient implementation. virtual void willSendRequest( diff --git a/webkit/media/buffered_resource_loader_unittest.cc b/webkit/media/buffered_resource_loader_unittest.cc index 9416f0f..212b90b 100644 --- a/webkit/media/buffered_resource_loader_unittest.cc +++ b/webkit/media/buffered_resource_loader_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -86,7 +86,7 @@ class BufferedResourceLoaderTest : public testing::Test { gurl_, first_position_, last_position_, BufferedResourceLoader::kThresholdDefer, 0, 0, new media::MediaLog())); - loader_->SetURLLoaderForTest(url_loader_); + loader_->SetURLLoaderForTest(scoped_ptr<WebKit::WebURLLoader>(url_loader_)); } void SetLoaderBuffer(size_t forward_capacity, size_t backward_capacity) { diff --git a/webkit/media/web_data_source_factory.cc b/webkit/media/web_data_source_factory.cc index 4df0dcf..fd50145 100644 --- a/webkit/media/web_data_source_factory.cc +++ b/webkit/media/web_data_source_factory.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -50,9 +50,9 @@ WebDataSourceFactory::WebDataSourceFactory( WebDataSourceFactory::~WebDataSourceFactory() {} -media::DataSourceFactory* WebDataSourceFactory::Clone() const { - return new WebDataSourceFactory(render_loop_, frame_, media_log_, - factory_function_, build_observer_); +scoped_ptr<media::DataSourceFactory> WebDataSourceFactory::Clone() const { + return scoped_ptr<media::DataSourceFactory>(new WebDataSourceFactory( + render_loop_, frame_, media_log_, factory_function_, build_observer_)); } bool WebDataSourceFactory::AllowRequests() const { diff --git a/webkit/media/web_data_source_factory.h b/webkit/media/web_data_source_factory.h index aa8b744..c3ef79d 100644 --- a/webkit/media/web_data_source_factory.h +++ b/webkit/media/web_data_source_factory.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -34,7 +34,7 @@ class WebDataSourceFactory : public media::AsyncDataSourceFactoryBase { virtual ~WebDataSourceFactory(); // DataSourceFactory method. - virtual media::DataSourceFactory* Clone() const OVERRIDE; + virtual scoped_ptr<media::DataSourceFactory> Clone() const OVERRIDE; protected: // AsyncDataSourceFactoryBase methods. diff --git a/webkit/media/webmediaplayer_impl.cc b/webkit/media/webmediaplayer_impl.cc index d2ec3be..c9aa47f 100644 --- a/webkit/media/webmediaplayer_impl.cc +++ b/webkit/media/webmediaplayer_impl.cc @@ -197,26 +197,28 @@ bool WebMediaPlayerImpl::Initialize( new media::CompositeDataSourceFactory()); if (use_simple_data_source) { - data_source_factory->AddFactory(simple_data_source_factory.release()); - data_source_factory->AddFactory(buffered_data_source_factory.release()); + data_source_factory->AddFactory(simple_data_source_factory.Pass()); + data_source_factory->AddFactory(buffered_data_source_factory.Pass()); } else { - data_source_factory->AddFactory(buffered_data_source_factory.release()); - data_source_factory->AddFactory(simple_data_source_factory.release()); + data_source_factory->AddFactory(buffered_data_source_factory.Pass()); + data_source_factory->AddFactory(simple_data_source_factory.Pass()); } scoped_ptr<media::DemuxerFactory> demuxer_factory( - new media::FFmpegDemuxerFactory(data_source_factory.release(), - pipeline_message_loop)); + // TODO(fischman): replace the extra scoped_ptr+release() with Pass() when + // http://crbug.com/109026 is fixed. + new media::FFmpegDemuxerFactory(scoped_ptr<media::DataSourceFactory>( + data_source_factory.release()), pipeline_message_loop)); std::string source_url = GetClient()->sourceURL().spec(); if (!source_url.empty()) { demuxer_factory.reset( new media::ChunkDemuxerFactory(source_url, - demuxer_factory.release(), + demuxer_factory.Pass(), proxy_)); } - filter_collection_->SetDemuxerFactory(demuxer_factory.release()); + filter_collection_->SetDemuxerFactory(demuxer_factory.Pass()); // Add in the default filter factories. filter_collection_->AddAudioDecoder(new media::FFmpegAudioDecoder( @@ -301,8 +303,8 @@ void WebMediaPlayerImpl::load(const WebKit::WebURL& url) { // that the MediaStream represents a local webcam. This will need to // change in the future when GetVideoDecoder is no longer hardcoded to // only return CaptureVideoDecoders. - filter_collection_->SetDemuxerFactory( - new media::DummyDemuxerFactory(has_video, has_audio, true)); + filter_collection_->SetDemuxerFactory(scoped_ptr<media::DemuxerFactory>( + new media::DummyDemuxerFactory(has_video, has_audio, true))); } } @@ -315,7 +317,7 @@ void WebMediaPlayerImpl::load(const WebKit::WebURL& url) { SetNetworkState(WebKit::WebMediaPlayer::Loading); SetReadyState(WebKit::WebMediaPlayer::HaveNothing); pipeline_->Start( - filter_collection_.release(), + filter_collection_.Pass(), url.spec(), base::Bind(&WebMediaPlayerProxy::PipelineInitializationCallback, proxy_.get())); |