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

Side by Side Diff: webkit/glue/media/web_data_source_factory.cc

Issue 7484054: Migrate Pipeline & PipelineImpl to PipelineStatusCB. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix CR nits Created 9 years, 4 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « webkit/glue/media/web_data_source.h ('k') | webkit/glue/webmediaplayer_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "webkit/glue/media/web_data_source_factory.h" 5 #include "webkit/glue/media/web_data_source_factory.h"
6 6
7 #include "base/bind.h"
7 #include "base/logging.h" 8 #include "base/logging.h"
8 9
9 namespace webkit_glue { 10 namespace webkit_glue {
10 11
11 class WebDataSourceFactory::BuildRequest 12 class WebDataSourceFactory::BuildRequest
12 : public media::AsyncDataSourceFactoryBase::BuildRequest { 13 : public media::AsyncDataSourceFactoryBase::BuildRequest {
13 public: 14 public:
14 BuildRequest(const std::string& url, BuildCallback* callback, 15 BuildRequest(const std::string& url, BuildCallback* callback,
15 WebDataSource* data_source, 16 WebDataSource* data_source,
16 WebDataSourceBuildObserverHack* build_observer); 17 WebDataSourceBuildObserverHack* build_observer);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 } 75 }
75 76
76 WebDataSourceFactory::BuildRequest::~BuildRequest() { 77 WebDataSourceFactory::BuildRequest::~BuildRequest() {
77 if (data_source_.get()) { 78 if (data_source_.get()) {
78 data_source_->CancelInitialize(); 79 data_source_->CancelInitialize();
79 data_source_ = NULL; 80 data_source_ = NULL;
80 } 81 }
81 } 82 }
82 83
83 void WebDataSourceFactory::BuildRequest::DoStart() { 84 void WebDataSourceFactory::BuildRequest::DoStart() {
84 data_source_->Initialize(url(), NewCallback(this, &BuildRequest::InitDone)); 85 data_source_->Initialize(url(), base::Bind(&BuildRequest::InitDone,
86 base::Unretained(this)));
85 } 87 }
86 88
87 void WebDataSourceFactory::BuildRequest::InitDone( 89 void WebDataSourceFactory::BuildRequest::InitDone(
88 media::PipelineStatus status) { 90 media::PipelineStatus status) {
89 scoped_refptr<WebDataSource> data_source; 91 scoped_refptr<WebDataSource> data_source;
90 92
91 data_source = (status == media::PIPELINE_OK) ? data_source_ : NULL; 93 data_source = (status == media::PIPELINE_OK) ? data_source_ : NULL;
92 data_source_ = NULL; 94 data_source_ = NULL;
93 95
94 if (build_observer_ && data_source.get()) { 96 if (build_observer_ && data_source.get()) {
95 build_observer_->Run(data_source.get()); 97 build_observer_->Run(data_source.get());
96 } 98 }
97 99
98 RequestComplete(status, data_source); 100 RequestComplete(status, data_source);
99 // Don't do anything after this line. This object is deleted by 101 // Don't do anything after this line. This object is deleted by
100 // RequestComplete(). 102 // RequestComplete().
101 } 103 }
102 104
103 } // namespace webkit_glue 105 } // namespace webkit_glue
OLDNEW
« no previous file with comments | « webkit/glue/media/web_data_source.h ('k') | webkit/glue/webmediaplayer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698