Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 'use strict'; | 5 'use strict'; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * Function to convert an array of bytes to a base64 string | 8 * Function to convert an array of bytes to a base64 string |
| 9 * TODO(rkc): Change this to use a Uint8array instead of a string. | 9 * TODO(rkc): Change this to use a Uint8array instead of a string. |
| 10 * @param {string} bytes String containing the bytes we want to convert. | 10 * @param {string} bytes String containing the bytes we want to convert. |
| 11 * @return {string} String containing the base64 representation. | 11 * @return {string} String containing the base64 representation. |
| 12 */ | 12 */ |
| 13 function bytesToBase64(bytes) { | 13 function bytesToBase64(bytes) { |
| 14 var bstr = ''; | 14 var bstr = ''; |
| 15 for (var i = 0; i < bytes.length; ++i) | 15 for (var i = 0; i < bytes.length; ++i) |
| 16 bstr += String.fromCharCode(bytes[i]); | 16 bstr += String.fromCharCode(bytes[i]); |
| 17 return btoa(bstr); | 17 return btoa(bstr).replace('=', ''); |
| 18 } | 18 } |
| 19 | 19 |
| 20 /** | 20 /** |
| 21 * Function to convert a string to an array of bytes. | 21 * Function to convert a string to an array of bytes. |
| 22 * @param {string} str String to convert. | 22 * @param {string} str String to convert. |
| 23 * @return {Array} Array containing the string. | 23 * @return {Array} Array containing the string. |
| 24 */ | 24 */ |
| 25 function stringToArray(str) { | 25 function stringToArray(str) { |
| 26 var buffer = []; | 26 var buffer = []; |
| 27 for (var i = 0; i < str.length; ++i) | 27 for (var i = 0; i < str.length; ++i) |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 79 | 79 |
| 80 /** | 80 /** |
| 81 * Method to handle messages from the whispernet NaCl wrapper. | 81 * Method to handle messages from the whispernet NaCl wrapper. |
| 82 * @param {Event} e Event from the whispernet wrapper. | 82 * @param {Event} e Event from the whispernet wrapper. |
| 83 * @private | 83 * @private |
| 84 */ | 84 */ |
| 85 WhisperEncoder.prototype.onNaclMessage_ = function(e) { | 85 WhisperEncoder.prototype.onNaclMessage_ = function(e) { |
| 86 var msg = e.data; | 86 var msg = e.data; |
| 87 if (msg.type == 'encode_token_response') { | 87 if (msg.type == 'encode_token_response') { |
| 88 this.audioDataCallback_( | 88 this.audioDataCallback_( |
| 89 { token: bytesToBase64(msg.token), audible: msg.audible }, msg.samples); | 89 { token: bytesToBase64(msg.token), audible: msg.audible }, msg.samples); |
|
Charlie
2015/01/29 22:51:24
Does it matter that this line is now passing back
xiyuan
2015/01/30 02:16:54
This looks okay to me since we uses it as an opaqu
| |
| 90 } | 90 } |
| 91 }; | 91 }; |
| 92 | 92 |
| 93 /** | 93 /** |
| 94 * Creates a whispernet decoder. | 94 * Creates a whispernet decoder. |
| 95 * @constructor | 95 * @constructor |
| 96 * @param {Object} params Dictionary of parameters used to initialize the | 96 * @param {Object} params Dictionary of parameters used to initialize the |
| 97 * whispernet decoder. | 97 * whispernet decoder. |
| 98 * @param {Object} whisperNacl The NaclBridge object to use to communicate with | 98 * @param {Object} whisperNacl The NaclBridge object to use to communicate with |
| 99 * the whispernet wrapper. | 99 * the whispernet wrapper. |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 192 return; | 192 return; |
| 193 | 193 |
| 194 var returnCandidates = []; | 194 var returnCandidates = []; |
| 195 for (var i = 0; i < candidates.length; ++i) { | 195 for (var i = 0; i < candidates.length; ++i) { |
| 196 returnCandidates[i] = { token: bytesToBase64(candidates[i]), | 196 returnCandidates[i] = { token: bytesToBase64(candidates[i]), |
| 197 audible: audible }; | 197 audible: audible }; |
| 198 } | 198 } |
| 199 this.tokenCallback_(returnCandidates); | 199 this.tokenCallback_(returnCandidates); |
| 200 }; | 200 }; |
| 201 | 201 |
| OLD | NEW |