OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <title>Test EME syntax</title> | 4 <title>Test EME syntax</title> |
5 <script src="encrypted-media-utils.js"></script> | 5 <script src="encrypted-media-utils.js"></script> |
6 <script src="../../resources/testharness.js"></script> | 6 <script src="../../resources/testharness.js"></script> |
7 <script src="../../resources/testharnessreport.js"></script> | 7 <script src="../../resources/testharnessreport.js"></script> |
8 </head> | 8 </head> |
9 <body> | 9 <body> |
10 <script> | 10 <script> |
(...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
807 }, 'Test MediaKeySession close().'); | 807 }, 'Test MediaKeySession close().'); |
808 | 808 |
809 function create_remove_exception_test(mediaKeys, type, initData) | 809 function create_remove_exception_test(mediaKeys, type, initData) |
810 { | 810 { |
811 // remove() on an uninitialized session should fail. | 811 // remove() on an uninitialized session should fail. |
812 var mediaKeySession = mediaKeys.createSession('temporary'); | 812 var mediaKeySession = mediaKeys.createSession('temporary'); |
813 return mediaKeySession.remove().then(function(result) { | 813 return mediaKeySession.remove().then(function(result) { |
814 assert_unreached('remove() should not succeed if session uni
nitialized'); | 814 assert_unreached('remove() should not succeed if session uni
nitialized'); |
815 }, function(error) { | 815 }, function(error) { |
816 assert_equals(error.name, 'InvalidStateError'); | 816 assert_equals(error.name, 'InvalidStateError'); |
817 | |
818 // remove() on a temporary session should fail. | |
819 return mediaKeySession.generateRequest(type, initData); | |
820 }).then(function(result) { | |
821 return mediaKeySession.remove(); | |
822 }).then(function(result) { | |
823 assert_unreached('remove() should not succeed for temporary
sessions'); | |
824 }, function(error) { | |
825 assert_equals(error.name, 'TypeError'); | |
826 }); | 817 }); |
827 } | 818 } |
828 | 819 |
829 async_test(function(test) | 820 async_test(function(test) |
830 { | 821 { |
831 var isWebmSupported; | 822 var isWebmSupported; |
832 var isCencSupported; | 823 var isCencSupported; |
833 | 824 |
834 isInitDataTypeSupported('webm').then(function(result) { | 825 isInitDataTypeSupported('webm').then(function(result) { |
835 isWebmSupported = result; | 826 isWebmSupported = result; |
(...skipping 18 matching lines...) Expand all Loading... |
854 return Promise.all(promises); | 845 return Promise.all(promises); |
855 }).then(function(result) { | 846 }).then(function(result) { |
856 test.done(); | 847 test.done(); |
857 }).catch(function(error) { | 848 }).catch(function(error) { |
858 forceTestFailureFromPromise(test, error, 'remove() exception
tests failed'); | 849 forceTestFailureFromPromise(test, error, 'remove() exception
tests failed'); |
859 }); | 850 }); |
860 }, 'Test MediaKeySession remove() exceptions.'); | 851 }, 'Test MediaKeySession remove() exceptions.'); |
861 | 852 |
862 function create_remove_test(mediaKeys, type, initData) | 853 function create_remove_test(mediaKeys, type, initData) |
863 { | 854 { |
864 // Clear Key may not support persistent-license sessions. | 855 var mediaKeySession = mediaKeys.createSession(); |
865 var mediaKeySession; | 856 var promise = mediaKeySession.generateRequest(type, initData).th
en(function(result) { |
866 try { | |
867 mediaKeySession = mediaKeys.createSession('persistent-licens
e'); | |
868 } catch (error) { | |
869 // Not supported, so return a resolved promise. | |
870 assert_equals(error.name, 'NotSupportedError'); | |
871 return Promise.resolve(); | |
872 } | |
873 return mediaKeySession.generateRequest(type, initData).then(func
tion(result) { | |
874 return mediaKeySession.remove(); | 857 return mediaKeySession.remove(); |
| 858 }).then(function() { |
| 859 // remove() doesn't close the session, so must call close(). |
| 860 return mediaKeySession.close(); |
| 861 }).then(function() { |
| 862 try { |
| 863 // Clear Key may not support persistent-license sessions
. |
| 864 mediaKeySession = mediaKeys.createSession('persistent-li
cense'); |
| 865 return mediaKeySession.generateRequest(type, initData).t
hen(function(result) { |
| 866 return mediaKeySession.remove(); |
| 867 }).then(function() { |
| 868 return mediaKeySession.close(); |
| 869 }); |
| 870 } catch (error) { |
| 871 // Not supported, so return a resolved promise. |
| 872 assert_equals(error.name, 'NotSupportedError'); |
| 873 return Promise.resolve(); |
| 874 } |
875 }); | 875 }); |
876 } | 876 } |
877 | 877 |
878 async_test(function(test) | 878 async_test(function(test) |
879 { | 879 { |
880 var isWebmSupported; | 880 var isWebmSupported; |
881 var isCencSupported; | 881 var isCencSupported; |
882 | 882 |
883 isInitDataTypeSupported('webm').then(function(result) { | 883 isInitDataTypeSupported('webm').then(function(result) { |
884 isWebmSupported = result; | 884 isWebmSupported = result; |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1029 new MediaKeyMessageEvent('eventType', { messageType: 'licens
e-request' } ); | 1029 new MediaKeyMessageEvent('eventType', { messageType: 'licens
e-request' } ); |
1030 }); | 1030 }); |
1031 }, 'Test MediaKeyMessageEvent.'); | 1031 }, 'Test MediaKeyMessageEvent.'); |
1032 | 1032 |
1033 // FIXME: Add syntax checks for MediaKeys.IsTypeSupported(). | 1033 // FIXME: Add syntax checks for MediaKeys.IsTypeSupported(). |
1034 // FIXME: Add syntax checks for MediaKeyError and MediaKeySession ev
ents. | 1034 // FIXME: Add syntax checks for MediaKeyError and MediaKeySession ev
ents. |
1035 // FIXME: Add HTMLMediaElement syntax checks, e.g. setMediaKeys, med
iakeys, onencrypted. | 1035 // FIXME: Add HTMLMediaElement syntax checks, e.g. setMediaKeys, med
iakeys, onencrypted. |
1036 </script> | 1036 </script> |
1037 </body> | 1037 </body> |
1038 </html> | 1038 </html> |
OLD | NEW |