| Index: android_webview/renderer/aw_content_renderer_client.cc
|
| diff --git a/android_webview/renderer/aw_content_renderer_client.cc b/android_webview/renderer/aw_content_renderer_client.cc
|
| index 0ea5facd35419111007e30fc516e90be48caca32..cee6556bd62904e994aac06155de991be06e2859 100644
|
| --- a/android_webview/renderer/aw_content_renderer_client.cc
|
| +++ b/android_webview/renderer/aw_content_renderer_client.cc
|
| @@ -228,6 +228,29 @@ void AwContentRendererClient::AddKeySystems(
|
| AwAddKeySystems(key_systems);
|
| }
|
|
|
| +bool AwContentRendererClient::ShouldUseMediaPlayerForURL(const GURL& url) {
|
| + // Android WebView needs to support codecs that Chrome does not, for these
|
| + // cases we must force the usage of Android MediaPlayer instead of Chrome's
|
| + // internal player.
|
| + //
|
| + // Note: Despite these extensions being forwarded for playback to MediaPlayer,
|
| + // HTMLMediaElement.canPlayType() will return empty for these containers.
|
| + // TODO(boliu): If this is important, extend media::MimeUtil for WebView.
|
| + //
|
| + // Format list mirrors:
|
| + // http://developer.android.com/guide/appendix/media-formats.html
|
| + static const char* kMediaPlayerExtensions[] = {
|
| + ".3gp", ".ts", ".flac", ".mid", ".xmf",
|
| + ".mxmf", ".rtttl", ".rtx", ".ota", ".imy"};
|
| + for (const auto& extension : kMediaPlayerExtensions) {
|
| + if (base::EndsWith(url.path(), extension,
|
| + base::CompareCase::INSENSITIVE_ASCII)) {
|
| + return true;
|
| + }
|
| + }
|
| + return false;
|
| +}
|
| +
|
| bool AwContentRendererClient::ShouldOverridePageVisibilityState(
|
| const content::RenderFrame* render_frame,
|
| blink::WebPageVisibilityState* override_state) {
|
|
|