HTMLMediaElement.html (3916B)
1 <!DOCTYPE html> 2 <title>Custom Elements: CEReactions on HTMLMediaElement interface</title> 3 <link rel="author" title="Intel" href="http://www.intel.com"> 4 <meta name="assert" content="src, crossOrigin, preload, autoplay, loop, 5 controls, defaultMuted of HTMLMediaElement interface must have CEReactions"> 6 <meta name="help" content="https://html.spec.whatwg.org/#media-elements"> 7 <script src="/resources/testharness.js"></script> 8 <script src="/resources/testharnessreport.js"></script> 9 <script src="../../resources/custom-elements-helpers.js"></script> 10 <script src="../resources/reactions.js"></script> 11 12 <body> 13 <script> 14 15 function getParentElement() { 16 return document.body; 17 } 18 19 function setAttributes(instance, value) { 20 instance.setAttribute('src', value); 21 } 22 23 testReflectAttribute( 24 'src', 'src', '/media/sound_0.mp3', 25 '/media/sound_5.mp3', 'src on HTMLMediaElement in audio', 'audio', 26 HTMLAudioElement 27 ); 28 testReflectAttributeWithDependentAttributes( 29 'crossOrigin', 'crossorigin', 'use-credentials', 30 'anonymous', 'crossOrigin on HTMLMediaElement in audio', 'audio', 31 getParentElement, instance => setAttributes(instance, '/media/sound_5.mp3'), 32 HTMLAudioElement 33 ); 34 testReflectAttributeWithDependentAttributes( 35 'preload', 'preload', 'auto', 36 'none', 'preload on HTMLMediaElement in audio', 'audio', 37 getParentElement, instance => setAttributes(instance, '/media/sound_5.mp3'), 38 HTMLAudioElement 39 ); 40 testReflectBooleanAttributeWithDependentAttributes( 41 'autoplay', 'autoplay', 'autoplay on HTMLMediaElement in audio', 42 'audio', getParentElement, 43 instance => setAttributes(instance, '/media/sound_5.mp3'), 44 HTMLAudioElement 45 ); 46 testReflectBooleanAttributeWithDependentAttributes( 47 'loop', 'loop', 'loop on HTMLMediaElement in audio', 48 'audio', getParentElement, 49 instance => setAttributes(instance, '/media/sound_5.mp3'), HTMLAudioElement 50 ); 51 testReflectBooleanAttributeWithDependentAttributes( 52 'controls', 'controls', 'controls on HTMLMediaElement in audio', 53 'audio', getParentElement, 54 instance => setAttributes(instance, '/media/sound_5.mp3'), 55 HTMLAudioElement 56 ); 57 testReflectBooleanAttributeWithDependentAttributes( 58 'defaultMuted', 'muted', 'defaultMuted on HTMLMediaElement in audio', 59 'audio', getParentElement, 60 instance => setAttributes(instance, '/media/sound_5.mp3'), 61 HTMLAudioElement 62 ); 63 64 testReflectAttribute( 65 'src', 'src', '/media/video.webm', 66 '/media/movie_5.mp4', 'src on HTMLMediaElement in video', 'video', 67 HTMLVideoElement 68 ); 69 testReflectAttributeWithDependentAttributes( 70 'crossOrigin', 'crossorigin', 'use-credentials', 71 'anonymous', 'crossOrigin on HTMLMediaElement in video', 'video', 72 getParentElement, instance => setAttributes(instance, '/media/movie_5.mp4'), 73 HTMLVideoElement 74 ); 75 testReflectAttributeWithDependentAttributes( 76 'preload', 'preload', 'auto', 77 'none', 'preload on HTMLMediaElement in video', 'video', 78 getParentElement, instance => setAttributes(instance, '/media/movie_5.mp4'), 79 HTMLVideoElement 80 ); 81 testReflectBooleanAttributeWithDependentAttributes( 82 'autoplay', 'autoplay', 'autoplay on HTMLMediaElement in video', 83 'video', getParentElement, 84 instance => setAttributes(instance, '/media/movie_5.mp4'), 85 HTMLVideoElement 86 ); 87 testReflectBooleanAttributeWithDependentAttributes( 88 'loop', 'loop', 'loop on HTMLMediaElement in video', 89 'video', getParentElement, 90 instance => setAttributes(instance, '/media/movie_5.mp4'), 91 HTMLVideoElement 92 ); 93 testReflectBooleanAttributeWithDependentAttributes( 94 'controls', 'controls', 'controls on HTMLMediaElement in video', 95 'video', getParentElement, 96 instance => setAttributes(instance, '/media/movie_5.mp4'), 97 HTMLVideoElement 98 ); 99 testReflectBooleanAttributeWithDependentAttributes( 100 'defaultMuted', 'muted', 'defaultMuted on HTMLMediaElement in video', 101 'video', getParentElement, 102 instance => setAttributes(instance, '/media/movie_5.mp4'), 103 HTMLVideoElement 104 ); 105 106 </script> 107 </body>