OLD | NEW |
| (Empty) |
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. | |
4 | |
5 // Test configuration used by test page to configure the player app and other | |
6 // test specific configurations. | |
7 function TestConfig() { | |
8 this.mediaFile = null; | |
9 this.keySystem = null; | |
10 this.mediaType = null; | |
11 this.licenseServerURL = null; | |
12 this.useMSE = false; | |
13 this.usePrefixedEME = false; | |
14 this.runFPS = false; | |
15 } | |
16 | |
17 TestConfig.prototype.loadQueryParams = function() { | |
18 // Load query parameters and set default values. | |
19 var r = /([^&=]+)=?([^&]*)/g; | |
20 // Lambda function for decoding extracted match values. Replaces '+' with | |
21 // space so decodeURIComponent functions properly. | |
22 var decodeURI = function decodeURI(s) { | |
23 return decodeURIComponent(s.replace(/\+/g, ' ')); | |
24 }; | |
25 var match; | |
26 while (match = r.exec(window.location.search.substring(1))) | |
27 this[decodeURI(match[1])] = decodeURI(match[2]); | |
28 this.useMSE = this.useMSE == '1' || this.useMSE == 'true'; | |
29 this.usePrefixedEME = | |
30 this.usePrefixedEME == '1' || this.usePrefixedEME == 'true'; | |
31 }; | |
32 | |
33 TestConfig.updateDocument = function() { | |
34 this.loadQueryParams(); | |
35 Utils.addOptions(KEYSYSTEM_ELEMENT_ID, KEY_SYSTEMS); | |
36 Utils.addOptions(MEDIA_TYPE_ELEMENT_ID, MEDIA_TYPES); | |
37 Utils.addOptions(USE_PREFIXED_EME_ID, EME_VERSIONS_OPTIONS, | |
38 EME_DISABLED_OPTIONS); | |
39 | |
40 document.getElementById(MEDIA_FILE_ELEMENT_ID).value = | |
41 this.mediaFile || DEFAULT_MEDIA_FILE; | |
42 | |
43 document.getElementById(LICENSE_SERVER_ELEMENT_ID).value = | |
44 this.licenseServerURL || DEFAULT_LICENSE_SERVER; | |
45 | |
46 if (this.keySystem) | |
47 Utils.ensureOptionInList(KEYSYSTEM_ELEMENT_ID, this.keySystem); | |
48 if (this.mediaType) | |
49 Utils.ensureOptionInList(MEDIA_TYPE_ELEMENT_ID, this.mediaType); | |
50 document.getElementById(USE_MSE_ELEMENT_ID).value = this.useMSE; | |
51 if (this.usePrefixedEME) | |
52 document.getElementById(USE_PREFIXED_EME_ID).value = EME_PREFIXED_VERSION; | |
53 }; | |
54 | |
55 TestConfig.init = function() { | |
56 // Reload test configuration from document. | |
57 this.mediaFile = document.getElementById(MEDIA_FILE_ELEMENT_ID).value; | |
58 this.keySystem = document.getElementById(KEYSYSTEM_ELEMENT_ID).value; | |
59 this.mediaType = document.getElementById(MEDIA_TYPE_ELEMENT_ID).value; | |
60 this.useMSE = document.getElementById(USE_MSE_ELEMENT_ID).value == 'true'; | |
61 this.usePrefixedEME = document.getElementById(USE_PREFIXED_EME_ID).value == | |
62 EME_PREFIXED_VERSION; | |
63 this.licenseServerURL = | |
64 document.getElementById(LICENSE_SERVER_ELEMENT_ID).value; | |
65 }; | |
OLD | NEW |