Title: [221913] trunk
Revision
221913
Author
[email protected]
Date
2017-09-12 06:23:05 -0700 (Tue, 12 Sep 2017)

Log Message

[EME] Implement CDMInstanceClearKey::requestLicense()
https://bugs.webkit.org/show_bug.cgi?id=176773

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Implement the requestLicense() method for CDMInstanceClearKey. Per
the specification, the session ID must be a 32-bit numerical value.
A session ID value counter is thus kept in a static uint32_ object
and incremented upon each call of requestLicense(). Init data and
the session ID value are then embedded in the asynchronous dispatch
that invokes the callback. That invocation now also passes along the
init data, the session ID in string format, and Succeeded to now
indicate the operation was completed successfully.

No new tests -- expectations for the relevant tests are updated
to reflect the introduced changes.

* platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::CDMInstanceClearKey::requestLicense):

LayoutTests:

Update WPE baselines of the EME ClearKey tests.

* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-session-closed-event-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-invalid-license-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysession-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-update-non-ascii-input-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (221912 => 221913)


--- trunk/LayoutTests/ChangeLog	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/ChangeLog	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,38 @@
+2017-09-12  Zan Dobersek  <[email protected]>
+
+        [EME] Implement CDMInstanceClearKey::requestLicense()
+        https://bugs.webkit.org/show_bug.cgi?id=176773
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        Update WPE baselines of the EME ClearKey tests.
+
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-session-closed-event-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-invalid-license-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysession-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-update-non-ascii-input-expected.txt:
+
 2017-09-12  Carlos Garcia Campos  <[email protected]>
 
         Unreviewed GTK+ gardening. Rebaseline tests after r221909. Part 2.

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, basic events assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, basic events assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-session-closed-event-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-session-closed-event-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-session-closed-event-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey test MediaKeySession closed event. assert_unreached: Error: NotSupportedError Reached unreachable code
+PASS org.w3.clearkey test MediaKeySession closed event. 
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,5 +1,5 @@
 
 PASS org.w3.clearkey, temporary, keyids, initData longer than 64Kb characters 
-FAIL org.w3.clearkey, temporary, keyids, invalid initdata (too short key ID) assert_equals: expected "TypeError" but got "NotSupportedError"
-FAIL org.w3.clearkey, temporary, keyids, invalid initdata (too long key ID) assert_equals: expected "TypeError" but got "NotSupportedError"
+FAIL org.w3.clearkey, temporary, keyids, invalid initdata (too short key ID) assert_unreached: generateRequest() succeeded unexpectedly Reached unreachable code
+FAIL org.w3.clearkey, temporary, keyids, invalid initdata (too long key ID) assert_unreached: generateRequest() succeeded unexpectedly Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-invalid-license-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-invalid-license-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-invalid-license-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,6 +1,3 @@
-CONSOLE MESSAGE: Unhandled Promise Rejection: NotSupportedError: The operation is not supported.
 
-Harness Error (TIMEOUT), message = null
+PASS Update with invalid Clear Key license 
 
-TIMEOUT Update with invalid Clear Key license Test timed out
-

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, keystatuses assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, keystatuses assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, keystatuses, multiple sessions assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, keystatuses, multiple sessions assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, mp4, playback, single key, clear then encrypted content assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, mp4, playback, single key, clear then encrypted content assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, mp4, playback, single key, encrypted then clear content assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, mp4, playback, single key, encrypted then clear content assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, mp4, playback, encrypted and clear sources assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, mp4, playback, encrypted and clear sources assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, mp4, playback, check events assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, mp4, playback, check events assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, mp4, playback, single key assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, mp4, playback, single key assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, mp4, playback, multikey audio/video assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, mp4, playback, multikey audio/video assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, successful playback, temporary, mp4, multiple keys, sequential assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, successful playback, temporary, mp4, multiple keys, sequential assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, successful playback, temporary, mp4, multiple keys, sequential, readyState assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, successful playback, temporary, mp4, multiple keys, sequential, readyState assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, mp4, playback with multiple sessions, multikey video assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, mp4, playback with multiple sessions, multikey video assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, mp4, playback, setMediaKeys after setting video.src assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, mp4, playback, setMediaKeys after setting video.src assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, mp4, playback, setMediaKeys after updating session assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, mp4, playback, setMediaKeys after updating session assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, mp4, playback, setMediaKeys first assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, mp4, playback, setMediaKeys first assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, mp4, playback, setMediaKeys in encrypted event assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, mp4, playback, setMediaKeys in encrypted event assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, temporary, mp4, playback two videos assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, temporary, mp4, playback two videos assert_unreached: TypeError: Type error Reached unreachable code
   

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, setmediakeys again after playback assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, setmediakeys again after playback assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,3 @@
 
-FAIL org.w3.clearkey, setmediakeys again after resetting src assert_unreached: NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL org.w3.clearkey, setmediakeys again after resetting src assert_unreached: TypeError: Type error Reached unreachable code
 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysession-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysession-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysession-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,8 +1,8 @@
 
 PASS org.w3.clearkey test MediaKeySession generateRequest() exceptions. 
 PASS org.w3.clearkey test MediaKeySession load() exceptions. 
-FAIL org.w3.clearkey test if MediaKeySession generateRequest() resolves for various sessions promise_test: Unhandled rejection with value: object "NotSupportedError: The operation is not supported."
-FAIL org.w3.clearkey test MediaKeySession update() exceptions. promise_test: Unhandled rejection with value: object "NotSupportedError: The operation is not supported."
+PASS org.w3.clearkey test if MediaKeySession generateRequest() resolves for various sessions 
+PASS org.w3.clearkey test MediaKeySession update() exceptions. 
 PASS org.w3.clearkey test MediaKeySession close() exceptions. 
 PASS org.w3.clearkey test MediaKeySession remove() exceptions. 
 PASS org.w3.clearkey test MediaKeySession attribute syntax. 

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,6 +1,3 @@
-CONSOLE MESSAGE: Unhandled Promise Rejection: NotSupportedError: The operation is not supported.
 
-Harness Error (TIMEOUT), message = null
+PASS update() with invalid response (longer than 64Kb characters) should fail. 
 
-TIMEOUT update() with invalid response (longer than 64Kb characters) should fail. Test timed out
-

Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-update-non-ascii-input-expected.txt (221912 => 221913)


--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-update-non-ascii-input-expected.txt	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-update-non-ascii-input-expected.txt	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,6 +1,3 @@
-CONSOLE MESSAGE: Unhandled Promise Rejection: NotSupportedError: The operation is not supported.
 
-Harness Error (TIMEOUT), message = null
+PASS org.w3.clearkey test handling of non-ASCII responses for update() 
 
-TIMEOUT org.w3.clearkey test handling of non-ASCII responses for update() Test timed out
-

Modified: trunk/Source/WebCore/ChangeLog (221912 => 221913)


--- trunk/Source/WebCore/ChangeLog	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/Source/WebCore/ChangeLog	2017-09-12 13:23:05 UTC (rev 221913)
@@ -1,3 +1,25 @@
+2017-09-12  Zan Dobersek  <[email protected]>
+
+        [EME] Implement CDMInstanceClearKey::requestLicense()
+        https://bugs.webkit.org/show_bug.cgi?id=176773
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        Implement the requestLicense() method for CDMInstanceClearKey. Per
+        the specification, the session ID must be a 32-bit numerical value.
+        A session ID value counter is thus kept in a static uint32_ object
+        and incremented upon each call of requestLicense(). Init data and
+        the session ID value are then embedded in the asynchronous dispatch
+        that invokes the callback. That invocation now also passes along the
+        init data, the session ID in string format, and Succeeded to now
+        indicate the operation was completed successfully.
+
+        No new tests -- expectations for the relevant tests are updated
+        to reflect the introduced changes.
+
+        * platform/encryptedmedia/clearkey/CDMClearKey.cpp:
+        (WebCore::CDMInstanceClearKey::requestLicense):
+
 2017-09-12  Manuel Rego Casasnovas  <[email protected]>
 
         [css-grid] Use transferred size over content size for automatic minimum size

Modified: trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp (221912 => 221913)


--- trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp	2017-09-12 11:55:11 UTC (rev 221912)
+++ trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp	2017-09-12 13:23:05 UTC (rev 221913)
@@ -238,14 +238,17 @@
     return Failed;
 }
 
-void CDMInstanceClearKey::requestLicense(LicenseType, const AtomicString&, Ref<SharedBuffer>&&, LicenseCallback callback)
+void CDMInstanceClearKey::requestLicense(LicenseType, const AtomicString&, Ref<SharedBuffer>&& initData, LicenseCallback callback)
 {
+    static uint32_t s_sessionIdValue = 0;
+    ++s_sessionIdValue;
+
     callOnMainThread(
-        [weakThis = m_weakPtrFactory.createWeakPtr(), callback = WTFMove(callback)] {
+        [weakThis = m_weakPtrFactory.createWeakPtr(), callback = WTFMove(callback), initData = WTFMove(initData), sessionIdValue = s_sessionIdValue]() mutable {
             if (!weakThis)
                 return;
 
-            callback(SharedBuffer::create(), String { }, false, Failed);
+            callback(WTFMove(initData), String::number(sessionIdValue), false, Succeeded);
         });
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to