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

Issue 2268283003: media: Add External Clear Key content browser test on Android (Closed)

Created:
4 years, 4 months ago by xhwang
Modified:
4 years, 3 months ago
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, qsr+mojo_chromium.org, eme-reviews_chromium.org, Peter Beverloo, avayvod+watch_chromium.org, viettrungluu+watch_chromium.org, jam, yzshen+watch_chromium.org, abarth-chromium, feature-media-reviews_chromium.org, darin-cc_chromium.org, mlamouri+watch-media_chromium.org, alokp+watch_chromium.org, darin (slow to review), jochen+watch_chromium.org, Aaron Boodman, Mike West
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

media: Add External Clear Key content browser test on Android This CL adds External Clear Key support on Android for testing. This is implemented by running AesDecryptor in the MojoCdmService, which runs in the MojoMediaApplication in the GPU process. This is only enabled when kExternalClearKeyForTesting feature is enabled. A new content browser test is added to use External Clear Key on Android. Since AesDecryptor doesn't support decoding, the media pipeline is configured to do decrypt-only using the mojo CDM (MojoDecryptor on MojoCdm), and then use the normal Android pipeline (AVDA/MojoAudioDecoder) to decode encrypted audio/video. Note that this is different from the default mode how Android media pipeline works for encrypted content (decryption/decoding both happens in the GPU process). When browser_tests are enabled on Android, we should be able to have test coverage on that. Here's what the new test covers: - MojoCdm / MojoCdmService - MojoDecryptor / MojoDecryptorService - MojoMediaApplication - Connection to services hosted in MojoMediaApplication through MojoShellContext. This CL also fixes a bug in MojoCdm where the decryptor_ptr is bound to one thread but is used on another thread. BUG=581893 TEST=This CL adds a new test. No other functionality change. Committed: https://crrev.com/bcd6858191102c4d4c949a617560231908480235 Cr-Commit-Position: refs/heads/master@{#420500}

Patch Set 1 #

Total comments: 9

Patch Set 2 : comments addressed #

Patch Set 3 : fix compile error #

Total comments: 6

Patch Set 4 : rebase only #

Patch Set 5 : Check whether ECK is enabled #

Patch Set 6 : update comment #

Total comments: 6

Patch Set 7 : comments addressed #

Total comments: 4

Patch Set 8 : rebase-only #

Patch Set 9 : nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+240 lines, -99 lines) Patch
M chrome/renderer/media/chrome_key_systems.cc View 1 2 3 4 chunks +12 lines, -84 lines 0 comments Download
M components/cdm/renderer/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M components/cdm/renderer/android_key_systems.cc View 2 chunks +3 lines, -3 lines 0 comments Download
A components/cdm/renderer/external_clear_key_key_system_properties.h View 1 2 1 chunk +48 lines, -0 lines 0 comments Download
A components/cdm/renderer/external_clear_key_key_system_properties.cc View 1 chunk +89 lines, -0 lines 0 comments Download
M content/browser/media/encrypted_media_browsertest.cc View 1 2 3 4 5 6 7 8 5 chunks +25 lines, -1 line 0 comments Download
M content/shell/BUILD.gn View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M content/shell/renderer/DEPS View 1 chunk +1 line, -0 lines 0 comments Download
M content/shell/renderer/shell_content_renderer_client.h View 2 chunks +7 lines, -0 lines 0 comments Download
M content/shell/renderer/shell_content_renderer_client.cc View 1 2 3 4 5 6 7 3 chunks +19 lines, -0 lines 0 comments Download
M media/base/android/android_cdm_factory.cc View 1 2 3 4 2 chunks +15 lines, -0 lines 0 comments Download
M media/base/key_systems.cc View 1 2 3 4 5 6 1 chunk +7 lines, -2 lines 0 comments Download
M media/mojo/clients/mojo_cdm.h View 1 2 3 1 chunk +4 lines, -4 lines 0 comments Download
M media/mojo/clients/mojo_cdm.cc View 1 2 3 3 chunks +7 lines, -5 lines 0 comments Download

Messages

Total messages: 49 (28 generated)
xhwang
jrummell: Please review everything ddorwin: Please do a high level review
4 years, 4 months ago (2016-08-24 00:44:43 UTC) #2
xhwang
This CL is based on https://chromiumcodereview.appspot.com/2267283002/ where renewal is moved to a separate test. On ...
4 years, 4 months ago (2016-08-24 00:45:57 UTC) #3
jrummell
LG https://codereview.chromium.org/2268283003/diff/1/components/cdm/renderer/external_clear_key_key_system_properties.h File components/cdm/renderer/external_clear_key_key_system_properties.h (right): https://codereview.chromium.org/2268283003/diff/1/components/cdm/renderer/external_clear_key_key_system_properties.h#newcode39 components/cdm/renderer/external_clear_key_key_system_properties.h:39: std::string GetPepperType() const override; media::KeySystemProperties always specifies GetPepperType(). ...
4 years, 4 months ago (2016-08-24 20:36:53 UTC) #4
xhwang
comments addressed
4 years, 4 months ago (2016-08-24 23:29:51 UTC) #5
xhwang
Thanks! PTAL again. https://codereview.chromium.org/2268283003/diff/1/components/cdm/renderer/external_clear_key_key_system_properties.h File components/cdm/renderer/external_clear_key_key_system_properties.h (right): https://codereview.chromium.org/2268283003/diff/1/components/cdm/renderer/external_clear_key_key_system_properties.h#newcode39 components/cdm/renderer/external_clear_key_key_system_properties.h:39: std::string GetPepperType() const override; On 2016/08/24 ...
4 years, 4 months ago (2016-08-24 23:31:03 UTC) #6
jrummell
lgtm https://codereview.chromium.org/2268283003/diff/1/content/browser/media/encrypted_media_browsertest.cc File content/browser/media/encrypted_media_browsertest.cc (right): https://codereview.chromium.org/2268283003/diff/1/content/browser/media/encrypted_media_browsertest.cc#newcode215 content/browser/media/encrypted_media_browsertest.cc:215: RunSimpleEncryptedMediaTest("bear-320x240-av_enc-av.webm", kWebMAudioVideo, On 2016/08/24 23:31:03, xhwang (slow) wrote: ...
4 years, 4 months ago (2016-08-25 00:14:13 UTC) #7
xhwang
ddorwin: let me know if you also want to take a look :)
4 years, 3 months ago (2016-08-25 04:04:05 UTC) #8
ddorwin
Why does ECK only do decryption and use the normal path for decoding. At least ...
4 years, 3 months ago (2016-09-14 01:06:26 UTC) #17
xhwang
ddorwin: I updated the CL description based on the comments. Also I added the feature ...
4 years, 3 months ago (2016-09-16 18:49:58 UTC) #19
xhwang
https://codereview.chromium.org/2268283003/diff/40001/media/base/key_systems.cc File media/base/key_systems.cc (right): https://codereview.chromium.org/2268283003/diff/40001/media/base/key_systems.cc#newcode423 media/base/key_systems.cc:423: can_block = true; On 2016/09/14 01:06:27, ddorwin wrote: > ...
4 years, 3 months ago (2016-09-16 18:50:17 UTC) #20
ddorwin
LGTM % comments https://codereview.chromium.org/2268283003/diff/100001/content/shell/renderer/shell_content_renderer_client.cc File content/shell/renderer/shell_content_renderer_client.cc (right): https://codereview.chromium.org/2268283003/diff/100001/content/shell/renderer/shell_content_renderer_client.cc#newcode141 content/shell/renderer/shell_content_renderer_client.cc:141: if (!base::FeatureList::IsEnabled(media::kExternalClearKeyForTesting)) Is this really necessary? ...
4 years, 3 months ago (2016-09-16 19:40:07 UTC) #21
xhwang
comments addressed
4 years, 3 months ago (2016-09-16 20:01:43 UTC) #22
xhwang
https://codereview.chromium.org/2268283003/diff/100001/content/shell/renderer/shell_content_renderer_client.cc File content/shell/renderer/shell_content_renderer_client.cc (right): https://codereview.chromium.org/2268283003/diff/100001/content/shell/renderer/shell_content_renderer_client.cc#newcode141 content/shell/renderer/shell_content_renderer_client.cc:141: if (!base::FeatureList::IsEnabled(media::kExternalClearKeyForTesting)) On 2016/09/16 19:40:07, ddorwin wrote: > Is ...
4 years, 3 months ago (2016-09-16 20:02:16 UTC) #23
xhwang
mkwst@chromium.org: Please OWNERS review changes in content/shell/*
4 years, 3 months ago (2016-09-16 21:40:48 UTC) #31
xhwang
s/mkwst/peter since mkwst is OOO. peter@chromium.org: Please OWNERS review changes in content/shell/*
4 years, 3 months ago (2016-09-19 19:18:24 UTC) #35
xhwang
On 2016/09/19 19:18:24, xhwang (slow) wrote: > s/mkwst/peter since mkwst is OOO. > > mailto:peter@chromium.org: ...
4 years, 3 months ago (2016-09-20 16:28:07 UTC) #36
Peter Beverloo
//content/shell lgtm https://codereview.chromium.org/2268283003/diff/120001/content/browser/media/encrypted_media_browsertest.cc File content/browser/media/encrypted_media_browsertest.cc (right): https://codereview.chromium.org/2268283003/diff/120001/content/browser/media/encrypted_media_browsertest.cc#newcode231 content/browser/media/encrypted_media_browsertest.cc:231: // On Android, External Clear Key is ...
4 years, 3 months ago (2016-09-22 11:55:23 UTC) #37
xhwang
https://codereview.chromium.org/2268283003/diff/120001/content/browser/media/encrypted_media_browsertest.cc File content/browser/media/encrypted_media_browsertest.cc (right): https://codereview.chromium.org/2268283003/diff/120001/content/browser/media/encrypted_media_browsertest.cc#newcode231 content/browser/media/encrypted_media_browsertest.cc:231: // On Android, External Clear Key is supported in ...
4 years, 3 months ago (2016-09-22 16:54:58 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2268283003/160001
4 years, 3 months ago (2016-09-22 21:51:49 UTC) #45
commit-bot: I haz the power
Committed patchset #9 (id:160001)
4 years, 3 months ago (2016-09-22 23:36:19 UTC) #47
commit-bot: I haz the power
4 years, 3 months ago (2016-09-22 23:38:07 UTC) #49
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/bcd6858191102c4d4c949a617560231908480235
Cr-Commit-Position: refs/heads/master@{#420500}

Powered by Google App Engine
This is Rietveld 408576698