Chromium Code Reviews| Index: content/renderer/media/render_media_client.cc |
| diff --git a/content/renderer/media/render_media_client.cc b/content/renderer/media/render_media_client.cc |
| index bc1855488ad48f655d0123c6e56363240a2e543d..c3d1467614c89a140699387255949f981c0312a0 100644 |
| --- a/content/renderer/media/render_media_client.cc |
| +++ b/content/renderer/media/render_media_client.cc |
| @@ -16,104 +16,32 @@ |
| namespace content { |
| void RenderMediaClient::Initialize() { |
| - GetInstance(); |
| + static RenderMediaClient* client = new RenderMediaClient(); |
| + media::SetMediaClient(client); |
| } |
| -RenderMediaClient::RenderMediaClient() |
| - : has_updated_(false), |
| - is_update_needed_(true), |
| - tick_clock_(new base::DefaultTickClock()) { |
| - media::SetMediaClient(this); |
| -} |
| +RenderMediaClient::RenderMediaClient() {} |
| RenderMediaClient::~RenderMediaClient() { |
| } |
| -void RenderMediaClient::AddKeySystemsInfoForUMA( |
| - std::vector<media::KeySystemInfoForUMA>* key_systems_info_for_uma) { |
| - DVLOG(2) << __func__; |
| -#if defined(WIDEVINE_CDM_AVAILABLE) |
| - key_systems_info_for_uma->push_back(media::KeySystemInfoForUMA( |
| - kWidevineKeySystem, kWidevineKeySystemNameForUMA)); |
| -#endif // WIDEVINE_CDM_AVAILABLE |
| -} |
| - |
| -bool RenderMediaClient::IsKeySystemsUpdateNeeded() { |
| - DVLOG(2) << __func__; |
| - DCHECK(thread_checker_.CalledOnValidThread()); |
| - |
| - // Always needs update if we have never updated, regardless the |
| - // |last_update_time_ticks_|'s initial value. |
| - if (!has_updated_) { |
| - DCHECK(is_update_needed_); |
| - return true; |
| - } |
| - |
| - if (!is_update_needed_) |
| - return false; |
| - |
| - // The update could be expensive. For example, it could involve a sync IPC to |
| - // the browser process. Use a minimum update interval to avoid unnecessarily |
| - // frequent update. |
| - static const int kMinUpdateIntervalInMilliseconds = 1000; |
| - if ((tick_clock_->NowTicks() - last_update_time_ticks_).InMilliseconds() < |
| - kMinUpdateIntervalInMilliseconds) { |
| - return false; |
| - } |
| - |
| - return true; |
| -} |
| - |
| void RenderMediaClient::AddSupportedKeySystems( |
| - std::vector<std::unique_ptr<media::KeySystemProperties>>* |
| - key_systems_properties) { |
| - DVLOG(2) << __func__; |
| - DCHECK(thread_checker_.CalledOnValidThread()); |
| - |
| - GetContentClient()->renderer()->AddSupportedKeySystems( |
| - key_systems_properties); |
| - |
| - has_updated_ = true; |
| - last_update_time_ticks_ = tick_clock_->NowTicks(); |
| - |
| - // Check whether all potentially supported key systems are supported. If so, |
| - // no need to update again. |
| -#if defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT) |
| - for (const auto& properties : *key_systems_properties) { |
| - if (properties->GetKeySystemName() == kWidevineKeySystem) |
| - is_update_needed_ = false; |
| - } |
| -#else |
| - is_update_needed_ = false; |
| -#endif |
| + std::vector<std::unique_ptr<media::KeySystemProperties>>* key_systems) { |
| + GetContentClient()->renderer()->AddSupportedKeySystems(key_systems); |
| } |
| -void RenderMediaClient::RecordRapporURL(const std::string& metric, |
| - const GURL& url) { |
| - GetContentClient()->renderer()->RecordRapporURL(metric, url); |
| +bool RenderMediaClient::IsKeySystemsUpdateNeeded() { |
| + return GetContentClient()->renderer()->IsKeySystemsUpdateNeeded(); |
|
xhwang
2017/04/03 17:47:13
I am not seeing ChromeContentRendererClient implem
chcunningham
2017/04/03 18:47:38
Chrome inherits the behavior from public/renderer/
xhwang
2017/04/03 18:55:18
Sorry I wasn't super clear on this.
chrome/ is ac
chcunningham
2017/04/04 23:44:30
Fixed!
|
| } |
| bool RenderMediaClient::IsSupportedAudioConfig( |
| const media::AudioConfig& config) { |
| - // Render media client does not customize decoder support. Defer to media/. |
| - return ::media::IsSupportedAudioConfig(config); |
| + return GetContentClient()->renderer()->IsSupportedAudioConfig(config); |
| } |
| bool RenderMediaClient::IsSupportedVideoConfig( |
| const media::VideoConfig& config) { |
| - // Render media client does not customize decoder support. Defer to media/. |
| - return ::media::IsSupportedVideoConfig(config); |
| -} |
| - |
| -void RenderMediaClient::SetTickClockForTesting( |
| - std::unique_ptr<base::TickClock> tick_clock) { |
| - tick_clock_.swap(tick_clock); |
| -} |
| - |
| -// static |
| -RenderMediaClient* RenderMediaClient::GetInstance() { |
| - static RenderMediaClient* client = new RenderMediaClient(); |
| - return client; |
| + return GetContentClient()->renderer()->IsSupportedVideoConfig(config); |
| } |
| } // namespace content |