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

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

Issue 7591001: Log BufferedResourceLoader events to MediaLog. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Picking 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_factory.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/logging.h" 7 #include "base/logging.h"
8 #include "media/base/media_log.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);
17 virtual ~BuildRequest(); 18 virtual ~BuildRequest();
18 19
19 protected: 20 protected:
20 // AsyncDataSourceFactoryBase::BuildRequest method. 21 // AsyncDataSourceFactoryBase::BuildRequest method.
21 virtual void DoStart(); 22 virtual void DoStart();
22 23
23 private: 24 private:
24 void InitDone(media::PipelineStatus status); 25 void InitDone(media::PipelineStatus status);
25 26
26 scoped_refptr<WebDataSource> data_source_; 27 scoped_refptr<WebDataSource> data_source_;
27 WebDataSourceBuildObserverHack* build_observer_; 28 WebDataSourceBuildObserverHack* build_observer_;
28 29
29 DISALLOW_COPY_AND_ASSIGN(BuildRequest); 30 DISALLOW_COPY_AND_ASSIGN(BuildRequest);
30 }; 31 };
31 32
32 WebDataSourceFactory::WebDataSourceFactory( 33 WebDataSourceFactory::WebDataSourceFactory(
33 MessageLoop* render_loop, 34 MessageLoop* render_loop,
34 WebKit::WebFrame* frame, 35 WebKit::WebFrame* frame,
36 media::MediaLog* media_log,
35 FactoryFunction factory_function, 37 FactoryFunction factory_function,
36 WebDataSourceBuildObserverHack* build_observer) 38 WebDataSourceBuildObserverHack* build_observer)
37 : render_loop_(render_loop), 39 : render_loop_(render_loop),
38 frame_(frame), 40 frame_(frame),
41 media_log_(media_log),
39 factory_function_(factory_function), 42 factory_function_(factory_function),
40 build_observer_(build_observer) { 43 build_observer_(build_observer) {
41 DCHECK(render_loop_); 44 DCHECK(render_loop_);
42 DCHECK(frame_); 45 DCHECK(frame_);
46 DCHECK(media_log_);
43 DCHECK(factory_function_); 47 DCHECK(factory_function_);
44 } 48 }
45 49
46 WebDataSourceFactory::~WebDataSourceFactory() {} 50 WebDataSourceFactory::~WebDataSourceFactory() {}
47 51
48 media::DataSourceFactory* WebDataSourceFactory::Clone() const { 52 media::DataSourceFactory* WebDataSourceFactory::Clone() const {
49 return new WebDataSourceFactory(render_loop_, frame_, factory_function_, 53 return new WebDataSourceFactory(render_loop_, frame_, media_log_,
50 build_observer_); 54 factory_function_, build_observer_);
51 } 55 }
52 56
53 bool WebDataSourceFactory::AllowRequests() const { 57 bool WebDataSourceFactory::AllowRequests() const {
54 return true; 58 return true;
55 } 59 }
56 60
57 media::AsyncDataSourceFactoryBase::BuildRequest* 61 media::AsyncDataSourceFactoryBase::BuildRequest*
58 WebDataSourceFactory::CreateRequest(const std::string& url, 62 WebDataSourceFactory::CreateRequest(const std::string& url,
59 BuildCallback* callback) { 63 BuildCallback* callback) {
60 WebDataSource* data_source = factory_function_(render_loop_, frame_); 64 WebDataSource* data_source = factory_function_(render_loop_, frame_,
65 media_log_);
61 66
62 return new WebDataSourceFactory::BuildRequest(url, callback, data_source, 67 return new WebDataSourceFactory::BuildRequest(url, callback, data_source,
63 build_observer_); 68 build_observer_);
64 } 69 }
65 70
66 WebDataSourceFactory::BuildRequest::BuildRequest( 71 WebDataSourceFactory::BuildRequest::BuildRequest(
67 const std::string& url, 72 const std::string& url,
68 BuildCallback* callback, 73 BuildCallback* callback,
69 WebDataSource* data_source, 74 WebDataSource* data_source,
70 WebDataSourceBuildObserverHack* build_observer) 75 WebDataSourceBuildObserverHack* build_observer)
(...skipping 23 matching lines...) Expand all
94 if (build_observer_ && data_source.get()) { 99 if (build_observer_ && data_source.get()) {
95 build_observer_->Run(data_source.get()); 100 build_observer_->Run(data_source.get());
96 } 101 }
97 102
98 RequestComplete(status, data_source); 103 RequestComplete(status, data_source);
99 // Don't do anything after this line. This object is deleted by 104 // Don't do anything after this line. This object is deleted by
100 // RequestComplete(). 105 // RequestComplete().
101 } 106 }
102 107
103 } // namespace webkit_glue 108 } // namespace webkit_glue
OLDNEW
« no previous file with comments | « webkit/glue/media/web_data_source_factory.h ('k') | webkit/glue/webmediaplayer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698