summaryrefslogtreecommitdiffstats
path: root/webkit/media
diff options
context:
space:
mode:
authorfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-10 04:47:31 +0000
committerfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-10 04:47:31 +0000
commitf1ca6dfe8f214f66dd7ab58d8bc30fe1e8553352 (patch)
tree5107ccd0d038153d126a1d3e842dd042944f31f3 /webkit/media
parentc2e45bf3a3207e2072c78804b012309de511275a (diff)
downloadchromium_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.cc6
-rw-r--r--webkit/media/active_loader.h6
-rw-r--r--webkit/media/buffered_data_source_unittest.cc9
-rw-r--r--webkit/media/buffered_resource_loader.cc15
-rw-r--r--webkit/media/buffered_resource_loader.h8
-rw-r--r--webkit/media/buffered_resource_loader_unittest.cc4
-rw-r--r--webkit/media/web_data_source_factory.cc8
-rw-r--r--webkit/media/web_data_source_factory.h4
-rw-r--r--webkit/media/webmediaplayer_impl.cc24
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()));