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

Side by Side Diff: chromecast/browser/cast_content_browser_client.cc

Issue 1171303002: Chromecast: move link-time decisions to inheritance-based Content*Client. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Created 5 years, 6 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chromecast/browser/cast_content_browser_client.h" 5 #include "chromecast/browser/cast_content_browser_client.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/base_switches.h" 9 #include "base/base_switches.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 url_request_context_factory_(new URLRequestContextFactory()) { 58 url_request_context_factory_(new URLRequestContextFactory()) {
59 } 59 }
60 60
61 CastContentBrowserClient::~CastContentBrowserClient() { 61 CastContentBrowserClient::~CastContentBrowserClient() {
62 content::BrowserThread::DeleteSoon( 62 content::BrowserThread::DeleteSoon(
63 content::BrowserThread::IO, 63 content::BrowserThread::IO,
64 FROM_HERE, 64 FROM_HERE,
65 url_request_context_factory_.release()); 65 url_request_context_factory_.release());
66 } 66 }
67 67
68 void CastContentBrowserClient::AppendExtraCommandLineSwitches(
69 base::CommandLine* command_line) {
70 }
71
72 std::vector<scoped_refptr<content::BrowserMessageFilter>>
73 CastContentBrowserClient::GetBrowserMessageFilters() {
74 return std::vector<scoped_refptr<content::BrowserMessageFilter>>();
75 }
76
77 scoped_ptr<::media::AudioManagerFactory>
78 CastContentBrowserClient::CreateAudioManagerFactory() {
79 // Return nullptr. The factory will not be set, and the statically linked
80 // implementation of AudioManager will be used.
81 return scoped_ptr<::media::AudioManagerFactory>();
82 }
83
84 #if !defined(OS_ANDROID)
85 scoped_ptr<media::MediaPipelineDevice>
86 CastContentBrowserClient::CreateMediaPipelineDevice(
87 const media::MediaPipelineDeviceParams& params) {
88 return media::CreateMediaPipelineDevice(params);
89 }
90 #endif
91
68 content::BrowserMainParts* CastContentBrowserClient::CreateBrowserMainParts( 92 content::BrowserMainParts* CastContentBrowserClient::CreateBrowserMainParts(
69 const content::MainFunctionParams& parameters) { 93 const content::MainFunctionParams& parameters) {
70 return new CastBrowserMainParts(parameters, 94 return new CastBrowserMainParts(parameters,
71 url_request_context_factory_.get(), 95 url_request_context_factory_.get(),
72 PlatformCreateAudioManagerFactory()); 96 CreateAudioManagerFactory());
73 } 97 }
74 98
75 void CastContentBrowserClient::RenderProcessWillLaunch( 99 void CastContentBrowserClient::RenderProcessWillLaunch(
76 content::RenderProcessHost* host) { 100 content::RenderProcessHost* host) {
77 #if !defined(OS_ANDROID) 101 #if !defined(OS_ANDROID)
78 scoped_refptr<media::CmaMessageFilterHost> cma_message_filter( 102 scoped_refptr<media::CmaMessageFilterHost> cma_message_filter(
79 new media::CmaMessageFilterHost( 103 new media::CmaMessageFilterHost(
80 host->GetID(), 104 host->GetID(),
81 base::Bind( 105 base::Bind(
82 &CastContentBrowserClient::PlatformCreateMediaPipelineDevice, 106 &CastContentBrowserClient::CreateMediaPipelineDevice,
83 base::Unretained(this)))); 107 base::Unretained(this))));
84 host->AddFilter(cma_message_filter.get()); 108 host->AddFilter(cma_message_filter.get());
85 #endif // !defined(OS_ANDROID) 109 #endif // !defined(OS_ANDROID)
86 110
87 // Forcibly trigger I/O-thread URLRequestContext initialization before 111 // Forcibly trigger I/O-thread URLRequestContext initialization before
88 // getting HostResolver. 112 // getting HostResolver.
89 content::BrowserThread::PostTaskAndReplyWithResult( 113 content::BrowserThread::PostTaskAndReplyWithResult(
90 content::BrowserThread::IO, FROM_HERE, 114 content::BrowserThread::IO, FROM_HERE,
91 base::Bind(&net::URLRequestContextGetter::GetURLRequestContext, 115 base::Bind(&net::URLRequestContextGetter::GetURLRequestContext,
92 base::Unretained( 116 base::Unretained(
93 url_request_context_factory_->GetSystemGetter())), 117 url_request_context_factory_->GetSystemGetter())),
94 base::Bind(&CastContentBrowserClient::AddNetworkHintsMessageFilter, 118 base::Bind(&CastContentBrowserClient::AddNetworkHintsMessageFilter,
95 base::Unretained(this), host->GetID())); 119 base::Unretained(this), host->GetID()));
96 120
97 auto extra_filters = PlatformGetBrowserMessageFilters(); 121 auto extra_filters = GetBrowserMessageFilters();
98 for (auto const& filter : extra_filters) { 122 for (auto const& filter : extra_filters) {
99 host->AddFilter(filter.get()); 123 host->AddFilter(filter.get());
100 } 124 }
101 } 125 }
102 126
103 void CastContentBrowserClient::AddNetworkHintsMessageFilter( 127 void CastContentBrowserClient::AddNetworkHintsMessageFilter(
104 int render_process_id, net::URLRequestContext* context) { 128 int render_process_id, net::URLRequestContext* context) {
105 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 129 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
106 130
107 content::RenderProcessHost* host = 131 content::RenderProcessHost* host =
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 216
193 #if defined(OS_LINUX) 217 #if defined(OS_LINUX)
194 // Necessary for accelerated 2d canvas. By default on Linux, Chromium assumes 218 // Necessary for accelerated 2d canvas. By default on Linux, Chromium assumes
195 // GLES2 contexts can be lost to a power-save mode, which breaks GPU canvas 219 // GLES2 contexts can be lost to a power-save mode, which breaks GPU canvas
196 // apps. 220 // apps.
197 if (process_type == switches::kGpuProcess) { 221 if (process_type == switches::kGpuProcess) {
198 command_line->AppendSwitch(switches::kGpuNoContextLost); 222 command_line->AppendSwitch(switches::kGpuNoContextLost);
199 } 223 }
200 #endif 224 #endif
201 225
202 PlatformAppendExtraCommandLineSwitches(command_line); 226 AppendExtraCommandLineSwitches(command_line);
203 } 227 }
204 228
205 content::AccessTokenStore* CastContentBrowserClient::CreateAccessTokenStore() { 229 content::AccessTokenStore* CastContentBrowserClient::CreateAccessTokenStore() {
206 return new CastAccessTokenStore( 230 return new CastAccessTokenStore(
207 CastBrowserProcess::GetInstance()->browser_context()); 231 CastBrowserProcess::GetInstance()->browser_context());
208 } 232 }
209 233
210 void CastContentBrowserClient::OverrideWebkitPrefs( 234 void CastContentBrowserClient::OverrideWebkitPrefs(
211 content::RenderViewHost* render_view_host, 235 content::RenderViewHost* render_view_host,
212 content::WebPreferences* prefs) { 236 content::WebPreferences* prefs) {
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 process_type, dumps_path, false /* upload */); 452 process_type, dumps_path, false /* upload */);
429 // StartUploaderThread() even though upload is diferred. 453 // StartUploaderThread() even though upload is diferred.
430 // Breakpad-related memory is freed in the uploader thread. 454 // Breakpad-related memory is freed in the uploader thread.
431 crash_handler->StartUploaderThread(); 455 crash_handler->StartUploaderThread();
432 return crash_handler; 456 return crash_handler;
433 } 457 }
434 #endif // !defined(OS_ANDROID) 458 #endif // !defined(OS_ANDROID)
435 459
436 } // namespace shell 460 } // namespace shell
437 } // namespace chromecast 461 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698