Index: chrome/browser/resources/whispernet_proxy/js/wrapper.js |
diff --git a/chrome/browser/resources/whispernet_proxy/js/wrapper.js b/chrome/browser/resources/whispernet_proxy/js/wrapper.js |
deleted file mode 100644 |
index 29b57f7fc2f388b0cbc9a798c43525c102c3c065..0000000000000000000000000000000000000000 |
--- a/chrome/browser/resources/whispernet_proxy/js/wrapper.js |
+++ /dev/null |
@@ -1,169 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-'use strict'; |
- |
-/** |
- * Function to convert an array of bytes to a base64 string |
- * TODO(rkc): Change this to use a Uint8array instead of a string. |
- * @param {string} bytes String containing the bytes we want to convert. |
- * @return {string} String containing the base64 representation. |
- */ |
-function bytesToBase64(bytes) { |
- var bstr = ''; |
- for (var i = 0; i < bytes.length; ++i) |
- bstr += String.fromCharCode(bytes[i]); |
- return btoa(bstr).replace(/=/g, ''); |
-} |
- |
-/** |
- * Function to convert a string to an array of bytes. |
- * @param {string} str String to convert. |
- * @return {Array} Array containing the string. |
- */ |
-function stringToArray(str) { |
- var buffer = []; |
- for (var i = 0; i < str.length; ++i) |
- buffer[i] = str.charCodeAt(i); |
- return buffer; |
-} |
- |
-/** |
- * Creates a whispernet encoder. |
- * @constructor |
- * @param {Object} params Audio parameters for the whispernet encoder. |
- * @param {Object} whisperNacl The NaclBridge object, used to communicate with |
- * the whispernet wrapper. |
- * @param {string} clientId A string identifying the requester. |
- */ |
-function WhisperEncoder(params, whisperNacl, clientId) { |
- this.whisperNacl_ = whisperNacl; |
- this.whisperNacl_.addListener(this.onNaclMessage_.bind(this)); |
- this.clientId_ = clientId; |
- |
- var msg = { |
- type: 'initialize_encoder', |
- client_id: clientId, |
- params: params |
- }; |
- |
- this.whisperNacl_.send(msg); |
-} |
- |
-/** |
- * Method to encode a token. |
- * @param {Object} params Encode token parameters object. |
- */ |
-WhisperEncoder.prototype.encode = function(params) { |
- // Pad the token before decoding it. |
- var token = params.token.token; |
- while (token.length % 4 > 0) |
- token += '='; |
- |
- var msg = { |
- type: 'encode_token', |
- client_id: this.clientId_, |
- // Trying to send the token in binary form to Nacl doesn't work correctly. |
- // We end up with the correct string + a bunch of extra characters. This is |
- // true of returning a binary string too; hence we communicate back and |
- // forth by converting the bytes into an array of integers. |
- token: stringToArray(atob(token)), |
- repetitions: params.repetitions, |
- use_dtmf: params.token.audible, |
- use_crc: params.tokenParams.crc, |
- use_parity: params.tokenParams.parity |
- }; |
- |
- this.whisperNacl_.send(msg); |
-}; |
- |
-/** |
- * Method to handle messages from the whispernet NaCl wrapper. |
- * @param {Event} e Event from the whispernet wrapper. |
- * @private |
- */ |
-WhisperEncoder.prototype.onNaclMessage_ = function(e) { |
- var msg = e.data; |
- if (msg.type == 'encode_token_response' && msg.client_id == this.clientId_) { |
- chrome.copresencePrivate.sendSamples(this.clientId_, |
- { token: bytesToBase64(msg.token), audible: msg.audible }, msg.samples); |
- } |
-}; |
- |
-/** |
- * Creates a whispernet decoder. |
- * @constructor |
- * @param {Object} params Audio parameters for the whispernet decoder. |
- * @param {Object} whisperNacl The NaclBridge object, used to communicate with |
- * the whispernet wrapper. |
- * @param {string} clientId A string identifying the requester. |
- */ |
-function WhisperDecoder(params, whisperNacl, clientId) { |
- this.whisperNacl_ = whisperNacl; |
- this.whisperNacl_.addListener(this.onNaclMessage_.bind(this)); |
- this.clientId_ = clientId; |
- |
- var msg = { |
- type: 'initialize_decoder', |
- client_id: clientId, |
- params: params |
- }; |
- this.whisperNacl_.send(msg); |
-} |
- |
-/** |
- * Method to request the decoder to process samples. |
- * @param {Object} params Process samples parameters object. |
- */ |
-WhisperDecoder.prototype.processSamples = function(params) { |
- var msg = { |
- type: 'decode_tokens', |
- client_id: this.clientId_, |
- data: params.samples, |
- |
- decode_audible: params.decodeAudible, |
- token_length_dtmf: params.audibleTokenParams.length, |
- crc_dtmf: params.audibleTokenParams.crc, |
- parity_dtmf: params.audibleTokenParams.parity, |
- |
- decode_inaudible: params.decodeInaudible, |
- token_length_dsss: params.inaudibleTokenParams.length, |
- crc_dsss: params.inaudibleTokenParams.crc, |
- parity_dsss: params.inaudibleTokenParams.parity, |
- }; |
- |
- this.whisperNacl_.send(msg); |
-}; |
- |
-/** |
- * Method to handle messages from the whispernet NaCl wrapper. |
- * @param {Event} e Event from the whispernet wrapper. |
- * @private |
- */ |
-WhisperDecoder.prototype.onNaclMessage_ = function(e) { |
- var msg = e.data; |
- if (msg.type == 'decode_tokens_response' && msg.client_id == this.clientId_) { |
- this.handleCandidates_(msg.tokens, msg.audible); |
- } |
-}; |
- |
-/** |
- * Method to receive tokens from the decoder and process and forward them to the |
- * token callback registered with us. |
- * @param {!Array.string} candidates Array of token candidates. |
- * @param {boolean} audible Whether the received candidates are from the audible |
- * decoder or not. |
- * @private |
- */ |
-WhisperDecoder.prototype.handleCandidates_ = function(candidates, audible) { |
- if (!candidates || candidates.length == 0) |
- return; |
- |
- var returnCandidates = []; |
- for (var i = 0; i < candidates.length; ++i) { |
- returnCandidates[i] = { token: bytesToBase64(candidates[i]), |
- audible: audible }; |
- } |
- chrome.copresencePrivate.sendFound(this.clientId_, returnCandidates); |
-}; |