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

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 1541513002: Switch from build-time to run-time flags for Project Spitzer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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
« no previous file with comments | « content/common/gpu/media/android_video_decode_accelerator.cc ('k') | media/BUILD.gn » ('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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 #include "content/renderer/media/cdm/renderer_cdm_manager.h" 206 #include "content/renderer/media/cdm/renderer_cdm_manager.h"
207 #endif 207 #endif
208 208
209 #if defined(ENABLE_MOJO_MEDIA) 209 #if defined(ENABLE_MOJO_MEDIA)
210 #include "media/mojo/services/mojo_cdm_factory.h" 210 #include "media/mojo/services/mojo_cdm_factory.h"
211 #include "mojo/application/public/cpp/connect.h" 211 #include "mojo/application/public/cpp/connect.h"
212 #include "mojo/application/public/interfaces/shell.mojom.h" 212 #include "mojo/application/public/interfaces/shell.mojom.h"
213 #include "mojo/public/cpp/bindings/interface_request.h" 213 #include "mojo/public/cpp/bindings/interface_request.h"
214 #endif 214 #endif
215 215
216 #if defined(ENABLE_MOJO_MEDIA) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID) 216 #if defined(ENABLE_MOJO_MEDIA) && !defined(OS_ANDROID)
217 #include "media/mojo/services/mojo_renderer_factory.h" 217 #include "media/mojo/services/mojo_renderer_factory.h"
218 #else 218 #else
219 #include "media/renderers/default_renderer_factory.h" 219 #include "media/renderers/default_renderer_factory.h"
220 #endif 220 #endif
221 221
222 #if defined(ENABLE_WEBVR) 222 #if defined(ENABLE_WEBVR)
223 #include "content/renderer/vr/vr_dispatcher.h" 223 #include "content/renderer/vr/vr_dispatcher.h"
224 #endif 224 #endif
225 225
226 using blink::WebContentDecryptionModule; 226 using blink::WebContentDecryptionModule;
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
545 FrameMsg_UILoadMetricsReportType::Value report_type = 545 FrameMsg_UILoadMetricsReportType::Value report_type =
546 static_cast<FrameMsg_UILoadMetricsReportType::Value>( 546 static_cast<FrameMsg_UILoadMetricsReportType::Value>(
547 request->inputPerfMetricReportPolicy()); 547 request->inputPerfMetricReportPolicy());
548 return CommonNavigationParams( 548 return CommonNavigationParams(
549 request->url(), referrer, extra_data->transition_type(), 549 request->url(), referrer, extra_data->transition_type(),
550 FrameMsg_Navigate_Type::NORMAL, true, should_replace_current_entry, 550 FrameMsg_Navigate_Type::NORMAL, true, should_replace_current_entry,
551 ui_timestamp, report_type, GURL(), GURL(), LOFI_UNSPECIFIED, 551 ui_timestamp, report_type, GURL(), GURL(), LOFI_UNSPECIFIED,
552 base::TimeTicks::Now()); 552 base::TimeTicks::Now());
553 } 553 }
554 554
555 #if !defined(OS_ANDROID) || defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
556 media::Context3D GetSharedMainThreadContext3D() { 555 media::Context3D GetSharedMainThreadContext3D() {
557 cc::ContextProvider* provider = 556 cc::ContextProvider* provider =
558 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); 557 RenderThreadImpl::current()->SharedMainThreadContextProvider().get();
559 if (!provider) 558 if (!provider)
560 return media::Context3D(); 559 return media::Context3D();
561 return media::Context3D(provider->ContextGL(), provider->GrContext()); 560 return media::Context3D(provider->ContextGL(), provider->GrContext());
562 } 561 }
563 #endif
564 562
565 bool IsReload(FrameMsg_Navigate_Type::Value navigation_type) { 563 bool IsReload(FrameMsg_Navigate_Type::Value navigation_type) {
566 return navigation_type == FrameMsg_Navigate_Type::RELOAD || 564 return navigation_type == FrameMsg_Navigate_Type::RELOAD ||
567 navigation_type == FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE || 565 navigation_type == FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE ||
568 navigation_type == FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL; 566 navigation_type == FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL;
569 } 567 }
570 568
571 RenderFrameImpl::CreateRenderFrameImplFunction g_create_render_frame_impl = 569 RenderFrameImpl::CreateRenderFrameImplFunction g_create_render_frame_impl =
572 nullptr; 570 nullptr;
573 571
(...skipping 1710 matching lines...) Expand 10 before | Expand all | Expand 10 after
2284 #endif // defined(VIDEO_HOLE) 2282 #endif // defined(VIDEO_HOLE)
2285 2283
2286 blink::WebMediaStream web_stream( 2284 blink::WebMediaStream web_stream(
2287 blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url)); 2285 blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url));
2288 if (!web_stream.isNull()) 2286 if (!web_stream.isNull())
2289 return CreateWebMediaPlayerForMediaStream(client, sink_id, 2287 return CreateWebMediaPlayerForMediaStream(client, sink_id,
2290 frame->securityOrigin()); 2288 frame->securityOrigin());
2291 2289
2292 RenderThreadImpl* render_thread = RenderThreadImpl::current(); 2290 RenderThreadImpl* render_thread = RenderThreadImpl::current();
2293 2291
2294 #if defined(OS_ANDROID) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
2295 scoped_refptr<media::RestartableAudioRendererSink> audio_renderer_sink;
2296 media::WebMediaPlayerParams::Context3DCB context_3d_cb;
2297 #else
2298 scoped_refptr<media::RestartableAudioRendererSink> audio_renderer_sink = 2292 scoped_refptr<media::RestartableAudioRendererSink> audio_renderer_sink =
2299 render_thread->GetAudioRendererMixerManager()->CreateInput( 2293 render_thread->GetAudioRendererMixerManager()->CreateInput(
2300 routing_id_, sink_id.utf8(), frame->securityOrigin()); 2294 routing_id_, sink_id.utf8(), frame->securityOrigin());
2301 media::WebMediaPlayerParams::Context3DCB context_3d_cb = 2295 media::WebMediaPlayerParams::Context3DCB context_3d_cb =
2302 base::Bind(&GetSharedMainThreadContext3D); 2296 base::Bind(&GetSharedMainThreadContext3D);
2303 #endif // defined(OS_ANDROID) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
2304 2297
2305 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog()); 2298 scoped_refptr<media::MediaLog> media_log(new RenderMediaLog());
2306 media::WebMediaPlayerParams params( 2299 media::WebMediaPlayerParams params(
2307 base::Bind(&ContentRendererClient::DeferMediaLoad, 2300 base::Bind(&ContentRendererClient::DeferMediaLoad,
2308 base::Unretained(GetContentClient()->renderer()), 2301 base::Unretained(GetContentClient()->renderer()),
2309 static_cast<RenderFrame*>(this), 2302 static_cast<RenderFrame*>(this),
2310 GetWebMediaPlayerDelegate()->has_played_media()), 2303 GetWebMediaPlayerDelegate()->has_played_media()),
2311 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(), 2304 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(),
2312 render_thread->GetWorkerTaskRunner(), 2305 render_thread->GetWorkerTaskRunner(),
2313 render_thread->compositor_task_runner(), context_3d_cb, 2306 render_thread->compositor_task_runner(), context_3d_cb,
2314 base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory, 2307 base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory,
2315 base::Unretained(blink::mainThreadIsolate())), 2308 base::Unretained(blink::mainThreadIsolate())),
2316 GetMediaPermission(), initial_cdm); 2309 GetMediaPermission(), initial_cdm);
2317 2310
2318 // TODO(xhwang, watk): Find a better way to specify these ifdef conditions. 2311 #if defined(OS_ANDROID)
2319 #if defined(OS_ANDROID) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
2320 return CreateAndroidWebMediaPlayer(client, encrypted_client, params);
2321 #else
2322 #if defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
2323 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( 2312 if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
2324 switches::kEnableUnifiedMediaPipeline)) { 2313 switches::kEnableUnifiedMediaPipeline)) {
2314 // TODO(sandersd): This check should be grown to include HLS and blacklist
2315 // checks. http://crbug.com/516765
2325 return CreateAndroidWebMediaPlayer(client, encrypted_client, params); 2316 return CreateAndroidWebMediaPlayer(client, encrypted_client, params);
2326 } 2317 }
2327 #endif // defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID) 2318 #endif // defined(OS_ANDROID)
2328 2319
2329 #if defined(ENABLE_MOJO_MEDIA) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID) 2320 #if defined(ENABLE_MOJO_MEDIA) && !defined(OS_ANDROID)
2330 scoped_ptr<media::RendererFactory> media_renderer_factory( 2321 scoped_ptr<media::RendererFactory> media_renderer_factory(
2331 new media::MojoRendererFactory(GetMediaServiceFactory())); 2322 new media::MojoRendererFactory(GetMediaServiceFactory()));
2332 #else 2323 #else
2333 scoped_ptr<media::RendererFactory> media_renderer_factory = 2324 scoped_ptr<media::RendererFactory> media_renderer_factory =
2334 GetContentClient()->renderer()->CreateMediaRendererFactory( 2325 GetContentClient()->renderer()->CreateMediaRendererFactory(
2335 this, render_thread->GetGpuFactories(), media_log); 2326 this, render_thread->GetGpuFactories(), media_log);
2336 2327
2337 if (!media_renderer_factory.get()) { 2328 if (!media_renderer_factory.get()) {
2338 media_renderer_factory.reset(new media::DefaultRendererFactory( 2329 media_renderer_factory.reset(new media::DefaultRendererFactory(
2339 media_log, render_thread->GetGpuFactories(), 2330 media_log, render_thread->GetGpuFactories(),
2340 *render_thread->GetAudioHardwareConfig())); 2331 *render_thread->GetAudioHardwareConfig()));
2341 } 2332 }
2342 #endif // defined(ENABLE_MOJO_MEDIA) && 2333 #endif // defined(ENABLE_MOJO_MEDIA) && !defined(OS_ANDROID)
2343 // !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
2344 2334
2345 if (!url_index_.get() || url_index_->frame() != frame) { 2335 if (!url_index_.get() || url_index_->frame() != frame)
2346 url_index_.reset(new media::UrlIndex(frame)); 2336 url_index_.reset(new media::UrlIndex(frame));
2347 }
2348 2337
2349 return new media::WebMediaPlayerImpl( 2338 return new media::WebMediaPlayerImpl(
2350 frame, client, encrypted_client, GetWebMediaPlayerDelegate()->AsWeakPtr(), 2339 frame, client, encrypted_client, GetWebMediaPlayerDelegate()->AsWeakPtr(),
2351 media_renderer_factory.Pass(), GetCdmFactory(), url_index_, params); 2340 media_renderer_factory.Pass(), GetCdmFactory(), url_index_, params);
2352 #endif // defined(OS_ANDROID) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
2353 } 2341 }
2354 2342
2355 blink::WebMediaSession* RenderFrameImpl::createMediaSession() { 2343 blink::WebMediaSession* RenderFrameImpl::createMediaSession() {
2356 #if defined(OS_ANDROID) 2344 #if defined(OS_ANDROID)
2357 return new WebMediaSessionAndroid(GetMediaSessionManager()); 2345 return new WebMediaSessionAndroid(GetMediaSessionManager());
2358 #else 2346 #else
2359 return nullptr; 2347 return nullptr;
2360 #endif // defined(OS_ANDROID) 2348 #endif // defined(OS_ANDROID)
2361 } 2349 }
2362 2350
(...skipping 3286 matching lines...) Expand 10 before | Expand all | Expand 10 after
5649 media::ConvertToSwitchOutputDeviceCB(web_callbacks); 5637 media::ConvertToSwitchOutputDeviceCB(web_callbacks);
5650 scoped_refptr<media::AudioOutputDevice> device = 5638 scoped_refptr<media::AudioOutputDevice> device =
5651 AudioDeviceFactory::NewOutputDevice(routing_id_, 0, sink_id.utf8(), 5639 AudioDeviceFactory::NewOutputDevice(routing_id_, 0, sink_id.utf8(),
5652 security_origin); 5640 security_origin);
5653 media::OutputDeviceStatus status = device->GetDeviceStatus(); 5641 media::OutputDeviceStatus status = device->GetDeviceStatus();
5654 device->Stop(); 5642 device->Stop();
5655 callback.Run(status); 5643 callback.Run(status);
5656 } 5644 }
5657 5645
5658 } // namespace content 5646 } // namespace content
OLDNEW
« no previous file with comments | « content/common/gpu/media/android_video_decode_accelerator.cc ('k') | media/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698