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 |