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

Side by Side Diff: chromecast/renderer/cast_content_renderer_client.cc

Issue 2300993003: CmaRenderer is dead. Long live MojoRenderer. (Closed)
Patch Set: update OWNERS file Created 4 years, 3 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/renderer/cast_content_renderer_client.h" 5 #include "chromecast/renderer/cast_content_renderer_client.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/strings/string_number_conversions.h" 11 #include "base/strings/string_number_conversions.h"
12 #include "build/build_config.h" 12 #include "build/build_config.h"
13 #include "chromecast/base/chromecast_switches.h" 13 #include "chromecast/base/chromecast_switches.h"
14 #include "chromecast/common/media/cast_media_client.h" 14 #include "chromecast/common/media/cast_media_client.h"
15 #include "chromecast/crash/cast_crash_keys.h" 15 #include "chromecast/crash/cast_crash_keys.h"
16 #include "chromecast/renderer/cast_media_load_deferrer.h" 16 #include "chromecast/renderer/cast_media_load_deferrer.h"
17 #include "chromecast/renderer/cast_render_thread_observer.h"
18 #include "chromecast/renderer/key_systems_cast.h" 17 #include "chromecast/renderer/key_systems_cast.h"
19 #include "chromecast/renderer/media/chromecast_media_renderer_factory.h"
20 #include "chromecast/renderer/media/media_caps_observer_impl.h" 18 #include "chromecast/renderer/media/media_caps_observer_impl.h"
21 #include "components/network_hints/renderer/prescient_networking_dispatcher.h" 19 #include "components/network_hints/renderer/prescient_networking_dispatcher.h"
22 #include "content/public/common/content_switches.h" 20 #include "content/public/common/content_switches.h"
23 #include "content/public/renderer/render_frame.h" 21 #include "content/public/renderer/render_frame.h"
24 #include "content/public/renderer/render_thread.h" 22 #include "content/public/renderer/render_thread.h"
25 #include "content/public/renderer/render_view.h" 23 #include "content/public/renderer/render_view.h"
26 #include "media/base/media.h" 24 #include "media/base/media.h"
27 #include "services/shell/public/cpp/interface_provider.h" 25 #include "services/shell/public/cpp/interface_provider.h"
28 #include "third_party/WebKit/public/platform/WebColor.h" 26 #include "third_party/WebKit/public/platform/WebColor.h"
29 #include "third_party/WebKit/public/web/WebFrameWidget.h" 27 #include "third_party/WebKit/public/web/WebFrameWidget.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 // Register as observer for media capabilities 67 // Register as observer for media capabilities
70 content::RenderThread* thread = content::RenderThread::Get(); 68 content::RenderThread* thread = content::RenderThread::Get();
71 media::mojom::MediaCapsPtr media_caps; 69 media::mojom::MediaCapsPtr media_caps;
72 thread->GetRemoteInterfaces()->GetInterface(&media_caps); 70 thread->GetRemoteInterfaces()->GetInterface(&media_caps);
73 media::mojom::MediaCapsObserverPtr proxy; 71 media::mojom::MediaCapsObserverPtr proxy;
74 media_caps_observer_.reset(new media::MediaCapsObserverImpl(&proxy)); 72 media_caps_observer_.reset(new media::MediaCapsObserverImpl(&proxy));
75 media_caps->AddObserver(std::move(proxy)); 73 media_caps->AddObserver(std::move(proxy));
76 74
77 chromecast::media::CastMediaClient::Initialize(); 75 chromecast::media::CastMediaClient::Initialize();
78 76
79 cast_observer_.reset(new CastRenderThreadObserver());
80
81 prescient_networking_dispatcher_.reset( 77 prescient_networking_dispatcher_.reset(
82 new network_hints::PrescientNetworkingDispatcher()); 78 new network_hints::PrescientNetworkingDispatcher());
83 79
84 std::string last_launched_app = 80 std::string last_launched_app =
85 command_line->GetSwitchValueNative(switches::kLastLaunchedApp); 81 command_line->GetSwitchValueNative(switches::kLastLaunchedApp);
86 if (!last_launched_app.empty()) 82 if (!last_launched_app.empty())
87 base::debug::SetCrashKeyValue(crash_keys::kLastApp, last_launched_app); 83 base::debug::SetCrashKeyValue(crash_keys::kLastApp, last_launched_app);
88 84
89 std::string previous_app = 85 std::string previous_app =
90 command_line->GetSwitchValueNative(switches::kPreviousApp); 86 command_line->GetSwitchValueNative(switches::kPreviousApp);
(...skipping 16 matching lines...) Expand all
107 webview->settings()->setOfflineWebApplicationCacheEnabled(false); 103 webview->settings()->setOfflineWebApplicationCacheEnabled(false);
108 } 104 }
109 } 105 }
110 106
111 void CastContentRendererClient::AddSupportedKeySystems( 107 void CastContentRendererClient::AddSupportedKeySystems(
112 std::vector<std::unique_ptr<::media::KeySystemProperties>>* 108 std::vector<std::unique_ptr<::media::KeySystemProperties>>*
113 key_systems_properties) { 109 key_systems_properties) {
114 AddChromecastKeySystems(key_systems_properties, false); 110 AddChromecastKeySystems(key_systems_properties, false);
115 } 111 }
116 112
117 #if !defined(OS_ANDROID)
118 std::unique_ptr<::media::RendererFactory>
119 CastContentRendererClient::CreateMediaRendererFactory(
120 ::content::RenderFrame* render_frame,
121 ::media::GpuVideoAcceleratorFactories* gpu_factories,
122 const scoped_refptr<::media::MediaLog>& media_log) {
123 const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
124 if (!cmd_line->HasSwitch(switches::kEnableCmaMediaPipeline))
125 return nullptr;
126
127 return std::unique_ptr<::media::RendererFactory>(
128 new chromecast::media::ChromecastMediaRendererFactory(
129 gpu_factories, render_frame->GetRoutingID()));
130 }
131 #endif
132
133 blink::WebPrescientNetworking* 113 blink::WebPrescientNetworking*
134 CastContentRendererClient::GetPrescientNetworking() { 114 CastContentRendererClient::GetPrescientNetworking() {
135 return prescient_networking_dispatcher_.get(); 115 return prescient_networking_dispatcher_.get();
136 } 116 }
137 117
138 void CastContentRendererClient::DeferMediaLoad( 118 void CastContentRendererClient::DeferMediaLoad(
139 content::RenderFrame* render_frame, 119 content::RenderFrame* render_frame,
140 bool render_frame_has_played_media_before, 120 bool render_frame_has_played_media_before,
141 const base::Closure& closure) { 121 const base::Closure& closure) {
142 if (!render_frame->IsHidden() || allow_hidden_media_playback_) { 122 if (!render_frame->IsHidden() || allow_hidden_media_playback_) {
143 closure.Run(); 123 closure.Run();
144 return; 124 return;
145 } 125 }
146 126
147 // Lifetime is tied to |render_frame| via content::RenderFrameObserver. 127 // Lifetime is tied to |render_frame| via content::RenderFrameObserver.
148 new CastMediaLoadDeferrer(render_frame, closure); 128 new CastMediaLoadDeferrer(render_frame, closure);
149 } 129 }
150 130
151 } // namespace shell 131 } // namespace shell
152 } // namespace chromecast 132 } // namespace chromecast
OLDNEW
« no previous file with comments | « chromecast/renderer/cast_content_renderer_client.h ('k') | chromecast/renderer/cast_render_thread_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698