Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / media / encrypted-media / encrypted-media-needkey.html
index eec1c2c..aff7cf6 100644 (file)
@@ -2,49 +2,40 @@
 <html>
     <head>
         <title>NeedKey</title>
-        <script src=../video-test.js></script>
+        <script src="encrypted-media-utils.js"></script>
+        <script src="../w3c-media-utils.js"></script>
+        <script src="../../resources/testharness.js"></script>
+        <script src="../../resources/testharnessreport.js"></script>
+    </head>
+    <body>
+        <video id="testVideo" controls></video>
+        <div id="log"></div>
+        <p>Test that needkey event is fired on an encrypted media file.</p>
         <script>
-            function stringToUint8Array(str)
-            {
-                var arr = [];
-                for(var i = 0,j = str.length; i < j; ++i)
-                  arr[i] = str.charCodeAt(i);
-                return new Uint8Array(arr);
-            }
-
-            var mediaKeys;
-            var mediaKeySession;
             var expectedInitData = stringToUint8Array('0123456789012345');
-            var validKey = stringToUint8Array(
-                '{"keys":[{"kty":"oct","kid":"691i8WgU0nto7xIq/OSuPA","k":"MDEyMzQ1Njc4OTAxMjM0"}]}');
 
             // Will get 2 identical events, one for audio, one for video.
             var expectedEvents = 2;
 
-            function runTest() 
+            async_test(function(test)
             {
-                video = document.getElementsByTagName('video')[0];
-                run('video.src = "../content/test-encrypted.webm"');
-                waitForEvent('needkey', needKey, false, false, video, false);
-            }
+                var video = document.getElementById("testVideo");
 
-            function needKey(event)
-            {
-                testExpected("event.target", video);
-                testExpected("event instanceof window.MediaKeyNeededEvent", true);
-                testExpected("event.type", "needkey");
+                var onNeedKey = function(event)
+                {
+                    assert_equals(event.target, video);
+                    assert_true(event instanceof window.MediaKeyNeededEvent);
+                    assert_equals(event.type, "needkey");
+                    assert_equals(event.contentType, "video/webm");
+                    assert_array_equals(event.initData, expectedInitData);
 
-                // FIXME: Enable the following line when contentType set.
-                // testExpected("event.contentType", "video/webm");
-                testArraysEqual("event.initData", expectedInitData);
+                    if (--expectedEvents == 0)
+                        test.done();
+                };
 
-                if (--expectedEvents == 0)
-                    endTest();
-            }
+                waitForEventAndRunStep("needkey", video, onNeedKey, test);
+                video.src = "../content/test-encrypted.webm";
+            }, "Needkey fired on encrypted media file.");
         </script>
-    </head>
-    <body onload="runTest()">
-        <p>This tests that the 'needkey' event is generated.</p>
-        <video></video>
     </body>
 </html>