Chromium Code Reviews| Index: content/public/renderer/content_media_client.h |
| diff --git a/content/public/renderer/content_media_client.h b/content/public/renderer/content_media_client.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..acd4e1f149708e094ec3e4dcc20ab193f8db72ef |
| --- /dev/null |
| +++ b/content/public/renderer/content_media_client.h |
| @@ -0,0 +1,46 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CONTENT_PUBLIC_RENDERER_CONTENT_MEDIA_CLIENT_ |
| +#define CONTENT_PUBLIC_RENDERER_CONTENT_MEDIA_CLIENT_ |
| + |
| +#include "base/threading/thread_checker.h" |
| +#include "content/public/renderer/content_renderer_client.h" |
| +#include "media/base/media_client.h" |
| + |
| +namespace content { |
| + |
| +// Provides a default MediaClient for content embedders simply want to defer |
| +// supported Key Systems and Rapport recording to their ContentRenderClient. |
|
xhwang
2017/03/22 05:58:52
s/Rapport/Rappor
|
| +// |
| +// IsSupportedVideoConfig() will assess support for the Media Platform in its |
| +// default state. Embedders who customize the Media Platform (e.g. Chromecast) |
| +// should override this method to reflect their changes. |
| +class CONTENT_EXPORT ContentMediaClient : public media::MediaClient { |
|
xhwang
2017/03/22 05:58:52
I have a few thoughts on this. I am not following
chcunningham
2017/03/22 18:25:46
Thanks. I'm agree the direction you propose sounds
xhwang
2017/03/22 21:54:52
I always feel "renderer" is part of "content" so w
chcunningham
2017/03/22 23:22:51
The logic for key system decode capabilities could
|
| + public: |
| + explicit ContentMediaClient( |
| + content::ContentRendererClient* content_renderer_client); |
| + ~ContentMediaClient() override; |
| + |
| + // MediaClient implementation. |
| + void AddSupportedKeySystems( |
| + std::vector<std::unique_ptr<media::KeySystemProperties>>* |
| + key_systems_properties) override; |
| + void RecordRapporURL(const std::string& metric, const GURL& url) override; |
| + bool IsSupportedVideoConfig(const media::VideoConfig& config) override; |
| + |
| + protected: |
| + friend class ContentMediaClientTest; |
| + |
| + // Makes sure all methods are called from the same thread. |
| + base::ThreadChecker thread_checker_; |
| + |
| + content::ContentRendererClient* content_renderer_client_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(ContentMediaClient); |
| +}; |
| + |
| +} // namespace content |
| + |
| +#endif // CONTENT_PUBLIC_RENDERER_CONTENT_MEDIA_CLIENT_ |