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

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

Issue 2819973002: Fix incorrect collation of media logs. (Closed)
Patch Set: Created 3 years, 8 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
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | no next file » | 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 <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 2790 matching lines...) Expand 10 before | Expand all | Expand 10 after
2801 return NULL; 2801 return NULL;
2802 2802
2803 WebPluginParams params_to_use = params; 2803 WebPluginParams params_to_use = params;
2804 params_to_use.mime_type = WebString::FromUTF8(mime_type); 2804 params_to_use.mime_type = WebString::FromUTF8(mime_type);
2805 return CreatePlugin(frame, info, params_to_use, nullptr /* throttler */); 2805 return CreatePlugin(frame, info, params_to_use, nullptr /* throttler */);
2806 #else 2806 #else
2807 return NULL; 2807 return NULL;
2808 #endif // BUILDFLAG(ENABLE_PLUGINS) 2808 #endif // BUILDFLAG(ENABLE_PLUGINS)
2809 } 2809 }
2810 2810
2811 const scoped_refptr<RenderMediaLog>& RenderFrameImpl::GetMediaLog() {
2812 if (!media_log_.get()) {
2813 media_log_ =
2814 new RenderMediaLog(url::Origin(frame_->GetSecurityOrigin()).GetURL());
2815 }
2816
2817 return media_log_;
2818 }
2819
2820 blink::WebMediaPlayer* RenderFrameImpl::CreateMediaPlayer( 2811 blink::WebMediaPlayer* RenderFrameImpl::CreateMediaPlayer(
2821 const blink::WebMediaPlayerSource& source, 2812 const blink::WebMediaPlayerSource& source,
2822 WebMediaPlayerClient* client, 2813 WebMediaPlayerClient* client,
2823 WebMediaPlayerEncryptedMediaClient* encrypted_client, 2814 WebMediaPlayerEncryptedMediaClient* encrypted_client,
2824 WebContentDecryptionModule* initial_cdm, 2815 WebContentDecryptionModule* initial_cdm,
2825 const blink::WebString& sink_id) { 2816 const blink::WebString& sink_id) {
2826 blink::WebMediaStream web_stream = 2817 blink::WebMediaStream web_stream =
2827 GetWebMediaStreamFromWebMediaPlayerSource(source); 2818 GetWebMediaStreamFromWebMediaPlayerSource(source);
2828 if (!web_stream.IsNull()) 2819 if (!web_stream.IsNull())
2829 return CreateWebMediaPlayerForMediaStream(client, sink_id, 2820 return CreateWebMediaPlayerForMediaStream(client, sink_id,
(...skipping 15 matching lines...) Expand all
2845 sink_id.Utf8(), frame_->GetSecurityOrigin()); 2836 sink_id.Utf8(), frame_->GetSecurityOrigin());
2846 // We need to keep a reference to the context provider (see crbug.com/610527) 2837 // We need to keep a reference to the context provider (see crbug.com/610527)
2847 // but media/ can't depend on cc/, so for now, just keep a reference in the 2838 // but media/ can't depend on cc/, so for now, just keep a reference in the
2848 // callback. 2839 // callback.
2849 // TODO(piman): replace media::Context3D to scoped_refptr<ContextProvider> in 2840 // TODO(piman): replace media::Context3D to scoped_refptr<ContextProvider> in
2850 // media/ once ContextProvider is in gpu/. 2841 // media/ once ContextProvider is in gpu/.
2851 media::WebMediaPlayerParams::Context3DCB context_3d_cb = base::Bind( 2842 media::WebMediaPlayerParams::Context3DCB context_3d_cb = base::Bind(
2852 &GetSharedMainThreadContext3D, 2843 &GetSharedMainThreadContext3D,
2853 RenderThreadImpl::current()->SharedMainThreadContextProvider()); 2844 RenderThreadImpl::current()->SharedMainThreadContextProvider());
2854 2845
2846 // This must be created for every new WebMediaPlayer, each instance generates
2847 // a new player id which is used to collate logs on the browser side.
xhwang 2017/04/14 22:56:42 Add a TODO to pass std::unique<MediaLog> here so t
2848 scoped_refptr<media::MediaLog> media_log(
2849 new RenderMediaLog(url::Origin(frame_->GetSecurityOrigin()).GetURL()));
2850
2855 bool embedded_media_experience_enabled = false; 2851 bool embedded_media_experience_enabled = false;
2856 #if defined(OS_ANDROID) 2852 #if defined(OS_ANDROID)
2857 if (!UseMediaPlayerRenderer(url) && !media_surface_manager_) 2853 if (!UseMediaPlayerRenderer(url) && !media_surface_manager_)
2858 media_surface_manager_ = new RendererSurfaceViewManager(this); 2854 media_surface_manager_ = new RendererSurfaceViewManager(this);
2859 embedded_media_experience_enabled = 2855 embedded_media_experience_enabled =
2860 GetWebkitPreferences().embedded_media_experience_enabled; 2856 GetWebkitPreferences().embedded_media_experience_enabled;
2861 #endif // defined(OS_ANDROID) 2857 #endif // defined(OS_ANDROID)
2862 2858
2863 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) 2859 #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
2864 media::mojom::RemotingSourcePtr remoting_source; 2860 media::mojom::RemotingSourcePtr remoting_source;
(...skipping 19 matching lines...) Expand all
2884 base::TimeDelta::FromMilliseconds(base::GetFieldTrialParamByFeatureAsInt( 2880 base::TimeDelta::FromMilliseconds(base::GetFieldTrialParamByFeatureAsInt(
2885 media::kBackgroundVideoTrackOptimization, 2881 media::kBackgroundVideoTrackOptimization,
2886 "max_keyframe_distance_media_source_ms", 2882 "max_keyframe_distance_media_source_ms",
2887 base::TimeDelta::FromSeconds(10).InMilliseconds())); 2883 base::TimeDelta::FromSeconds(10).InMilliseconds()));
2888 2884
2889 media::WebMediaPlayerParams params( 2885 media::WebMediaPlayerParams params(
2890 base::Bind(&ContentRendererClient::DeferMediaLoad, 2886 base::Bind(&ContentRendererClient::DeferMediaLoad,
2891 base::Unretained(GetContentClient()->renderer()), 2887 base::Unretained(GetContentClient()->renderer()),
2892 static_cast<RenderFrame*>(this), 2888 static_cast<RenderFrame*>(this),
2893 GetWebMediaPlayerDelegate()->has_played_media()), 2889 GetWebMediaPlayerDelegate()->has_played_media()),
2894 audio_renderer_sink, GetMediaLog(), 2890 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(),
2895 render_thread->GetMediaThreadTaskRunner(),
2896 render_thread->GetWorkerTaskRunner(), 2891 render_thread->GetWorkerTaskRunner(),
2897 render_thread->compositor_task_runner(), context_3d_cb, 2892 render_thread->compositor_task_runner(), context_3d_cb,
2898 base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory, 2893 base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory,
2899 base::Unretained(blink::MainThreadIsolate())), 2894 base::Unretained(blink::MainThreadIsolate())),
2900 initial_cdm, media_surface_manager_, media_observer, 2895 initial_cdm, media_surface_manager_, media_observer,
2901 max_keyframe_distance_to_disable_background_video, 2896 max_keyframe_distance_to_disable_background_video,
2902 max_keyframe_distance_to_disable_background_video_mse, 2897 max_keyframe_distance_to_disable_background_video_mse,
2903 GetWebkitPreferences().enable_instant_source_buffer_gc, 2898 GetWebkitPreferences().enable_instant_source_buffer_gc,
2904 GetContentClient()->renderer()->AllowMediaSuspend(), 2899 GetContentClient()->renderer()->AllowMediaSuspend(),
2905 embedded_media_experience_enabled); 2900 embedded_media_experience_enabled);
(...skipping 17 matching lines...) Expand all
2923 render_thread->EnableStreamTextureCopy(), 2918 render_thread->EnableStreamTextureCopy(),
2924 render_thread->GetStreamTexureFactory(), 2919 render_thread->GetStreamTexureFactory(),
2925 base::ThreadTaskRunnerHandle::Get())); 2920 base::ThreadTaskRunnerHandle::Get()));
2926 #endif // defined(OS_ANDROID) 2921 #endif // defined(OS_ANDROID)
2927 } else { 2922 } else {
2928 #if defined(ENABLE_MOJO_RENDERER) 2923 #if defined(ENABLE_MOJO_RENDERER)
2929 #if BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION) 2924 #if BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION)
2930 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 2925 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
2931 switches::kDisableMojoRenderer)) { 2926 switches::kDisableMojoRenderer)) {
2932 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( 2927 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>(
2933 GetMediaLog(), GetDecoderFactory(), 2928 media_log, GetDecoderFactory(),
2934 base::Bind(&RenderThreadImpl::GetGpuFactories, 2929 base::Bind(&RenderThreadImpl::GetGpuFactories,
2935 base::Unretained(render_thread))); 2930 base::Unretained(render_thread)));
2936 } 2931 }
2937 #endif // BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION) 2932 #endif // BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION)
2938 if (!media_renderer_factory) { 2933 if (!media_renderer_factory) {
2939 media_renderer_factory = base::MakeUnique<media::MojoRendererFactory>( 2934 media_renderer_factory = base::MakeUnique<media::MojoRendererFactory>(
2940 base::Bind(&RenderThreadImpl::GetGpuFactories, 2935 base::Bind(&RenderThreadImpl::GetGpuFactories,
2941 base::Unretained(render_thread)), 2936 base::Unretained(render_thread)),
2942 GetMediaInterfaceProvider()); 2937 GetMediaInterfaceProvider());
2943 } 2938 }
2944 #else 2939 #else
2945 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>( 2940 media_renderer_factory = base::MakeUnique<media::DefaultRendererFactory>(
2946 GetMediaLog(), GetDecoderFactory(), 2941 media_log, GetDecoderFactory(),
2947 base::Bind(&RenderThreadImpl::GetGpuFactories, 2942 base::Bind(&RenderThreadImpl::GetGpuFactories,
2948 base::Unretained(render_thread))); 2943 base::Unretained(render_thread)));
2949 #endif // defined(ENABLE_MOJO_RENDERER) 2944 #endif // defined(ENABLE_MOJO_RENDERER)
2950 } 2945 }
2951 2946
2952 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) 2947 #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
2953 auto* const remoting_controller_ptr = remoting_controller.get(); 2948 auto* const remoting_controller_ptr = remoting_controller.get();
2954 media_renderer_factory = 2949 media_renderer_factory =
2955 base::MakeUnique<media::remoting::AdaptiveRendererFactory>( 2950 base::MakeUnique<media::remoting::AdaptiveRendererFactory>(
2956 std::move(media_renderer_factory), std::move(remoting_controller)); 2951 std::move(media_renderer_factory), std::move(remoting_controller));
(...skipping 1710 matching lines...) Expand 10 before | Expand all | Expand 10 after
4667 } 4662 }
4668 4663
4669 blink::WebEncryptedMediaClient* RenderFrameImpl::EncryptedMediaClient() { 4664 blink::WebEncryptedMediaClient* RenderFrameImpl::EncryptedMediaClient() {
4670 if (!web_encrypted_media_client_) { 4665 if (!web_encrypted_media_client_) {
4671 web_encrypted_media_client_.reset(new media::WebEncryptedMediaClientImpl( 4666 web_encrypted_media_client_.reset(new media::WebEncryptedMediaClientImpl(
4672 // base::Unretained(this) is safe because WebEncryptedMediaClientImpl 4667 // base::Unretained(this) is safe because WebEncryptedMediaClientImpl
4673 // is destructed before |this|, and does not give away ownership of the 4668 // is destructed before |this|, and does not give away ownership of the
4674 // callback. 4669 // callback.
4675 base::Bind(&RenderFrameImpl::AreSecureCodecsSupported, 4670 base::Bind(&RenderFrameImpl::AreSecureCodecsSupported,
4676 base::Unretained(this)), 4671 base::Unretained(this)),
4677 GetCdmFactory(), GetMediaPermission(), GetMediaLog())); 4672 GetCdmFactory(), GetMediaPermission(),
4673 new RenderMediaLog(url::Origin(frame_->GetSecurityOrigin()).GetURL())));
4678 } 4674 }
4679 return web_encrypted_media_client_.get(); 4675 return web_encrypted_media_client_.get();
4680 } 4676 }
4681 4677
4682 blink::WebString RenderFrameImpl::UserAgentOverride() { 4678 blink::WebString RenderFrameImpl::UserAgentOverride() {
4683 if (!render_view_->webview() || !render_view_->webview()->MainFrame() || 4679 if (!render_view_->webview() || !render_view_->webview()->MainFrame() ||
4684 render_view_->renderer_preferences_.user_agent_override.empty()) { 4680 render_view_->renderer_preferences_.user_agent_override.empty()) {
4685 return blink::WebString(); 4681 return blink::WebString();
4686 } 4682 }
4687 4683
(...skipping 2305 matching lines...) Expand 10 before | Expand all | Expand 10 after
6993 policy(info.default_policy), 6989 policy(info.default_policy),
6994 replaces_current_history_item(info.replaces_current_history_item), 6990 replaces_current_history_item(info.replaces_current_history_item),
6995 history_navigation_in_new_child_frame( 6991 history_navigation_in_new_child_frame(
6996 info.is_history_navigation_in_new_child_frame), 6992 info.is_history_navigation_in_new_child_frame),
6997 client_redirect(info.is_client_redirect), 6993 client_redirect(info.is_client_redirect),
6998 cache_disabled(info.is_cache_disabled), 6994 cache_disabled(info.is_cache_disabled),
6999 form(info.form), 6995 form(info.form),
7000 source_location(info.source_location) {} 6996 source_location(info.source_location) {}
7001 6997
7002 } // namespace content 6998 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698