Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / media / test / data / eme_player_js / file_io_test_player.js
blob583d422a14e484001b222ba282cb2fd4d72cfda5
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // File IO test player is used to test File IO CDM functionality.
6 function FileIOTestPlayer(video, testConfig) {
7   this.video = video;
8   this.testConfig = testConfig;
11 FileIOTestPlayer.prototype.init = function() {
12   // Returns a promise.
13   return PlayerUtils.initEMEPlayer(this);
16 FileIOTestPlayer.prototype.registerEventListeners = function() {
17   // Returns a promise.
18   return PlayerUtils.registerPrefixedEMEEventListeners(this);
21 handleMessage = function(message) {
22   // The test result is either '0' or '1' appended to the header.
23   if (Utils.hasPrefix(message.message, FILE_IO_TEST_RESULT_HEADER)) {
24     if (message.message.length != FILE_IO_TEST_RESULT_HEADER.length + 1) {
25       Utils.failTest('Unexpected FileIOTest CDM message' + message.message);
26       return;
27     }
28     var result_index = FILE_IO_TEST_RESULT_HEADER.length;
29     var success = String.fromCharCode(message.message[result_index]) == 1;
30     Utils.timeLog('CDM file IO test: ' + (success ? 'Success' : 'Fail'));
31     if (success)
32       Utils.setResultInTitle(FILE_IO_TEST_SUCCESS);
33     else
34       Utils.failTest('File IO CDM message fail status.');
35   }
38 // Check message for prefixed API.
39 FileIOTestPlayer.prototype.onWebkitKeyMessage = handleMessage;
41 // Check message for unprefixed API.
42 FileIOTestPlayer.prototype.onMessage = handleMessage;