Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(945)

Unified Diff: remoting/webapp/crd/js/tcp_socket.js

Issue 1133913002: [Chromoting] Move shared webapp JS files from crd/js -> base/js (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/webapp/crd/js/stats_accumulator.js ('k') | remoting/webapp/crd/js/typecheck.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/webapp/crd/js/tcp_socket.js
diff --git a/remoting/webapp/crd/js/tcp_socket.js b/remoting/webapp/crd/js/tcp_socket.js
deleted file mode 100644
index f3644109a3df3dbaa9fbae25a57f65598d17cdeb..0000000000000000000000000000000000000000
--- a/remoting/webapp/crd/js/tcp_socket.js
+++ /dev/null
@@ -1,200 +0,0 @@
-// Copyright 2015 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';
-
-/** @suppress {duplicate} */
-var remoting = remoting || {};
-
-(function() {
-
-/** @type {Object<number, remoting.TcpSocket>} */
-var sockets = {};
-var receiveListenersAdded = false;
-
-function addReceiveListeners() {
- if (receiveListenersAdded) {
- return;
- }
-
- receiveListenersAdded = true;
-
- chrome.sockets.tcp.onReceive.addListener(function(
- /** chrome.sockets.tcp.ReceiveInfo */ info) {
- var socket = sockets[info.socketId];
- if (socket === undefined) {
- console.warn("Received data for unknown socket " + info.socketId);
- return;
- }
- if (socket.receiveCallback_ === null) {
- console.warn("Received data when socket was paused.");
- return;
- }
- socket.receiveCallback_(info.data);
- });
-
- chrome.sockets.tcp.onReceiveError.addListener(function(
- /** chrome.sockets.tcp.ReceiveErrorInfo */ info) {
- var socket = sockets[info.socketId];
- if (socket === undefined) {
- console.warn("Received error for unknown socket " + info.socketId);
- return;
- }
- if (socket.receiveErrorCallback_ === null) {
- console.warn("Recv() failed when socket was paused: " + info.resultCode);
- return;
- }
- socket.receiveErrorCallback_(info.resultCode);
- });
-}
-
-/**
- * Wrapper for chrome.sockets.tcp API.
- *
- * @constructor
- * @implements {base.Disposable}
- */
-remoting.TcpSocket = function() {
- /** @private */
- this.destroyed_ = false;
- /** @private */
- this.socketId_ = -1;
- /** @private {?function(ArrayBuffer):void} */
- this.receiveCallback_ = null;
- /** @private {?function(number):void} */
- this.receiveErrorCallback_ = null;
-
- addReceiveListeners();
-};
-
-/**
- * Connects the socket to the specified host and port.
- *
- * @returns {Promise} Promise that's resolved when the socket is connected.
- */
-remoting.TcpSocket.prototype.connect = function(/** string */ host,
- /** number */ port) {
- var that = this;
-
- return new Promise(function(resolve, reject) {
- chrome.sockets.tcp.create({}, onCreated);
-
-
- function onCreated(/** chrome.sockets.tcp.CreateInfo */ createInfo) {
- // Check if the socket was destroyed.
- if (that.destroyed_) {
- chrome.sockets.tcp.close(createInfo.socketId);
- return;
- }
-
- that.socketId_ = createInfo.socketId;
- sockets[that.socketId_] = that;
-
- // Pause the socket so that we start receiving only after startReceiving()
- // is called.
- chrome.sockets.tcp.setPaused(that.socketId_, true);
-
- chrome.sockets.tcp.connect(that.socketId_, host, port, onConnected);
- }
-
- function onConnected(/** number */ result) {
- if (that.destroyed_) {
- return;
- }
-
- if (result < 0) {
- reject(result);
- } else {
- resolve(0);
- }
- }
- });
-};
-
-remoting.TcpSocket.prototype.dispose = function() {
- if (this.socketId_ != -1) {
- chrome.sockets.tcp.close(this.socketId_);
- delete sockets[this.socketId_];
- this.socketId_ = -1;
- }
- this.destroyed_ = true;
- this.receiveCallback_ = null;
-};
-
-/**
- * Starts receiving data on the socket. Calls receiveCallback when new data is
- * received or receiveErrorCallback when recv() returns an error.
- */
-remoting.TcpSocket.prototype.startReceiving = function(
- /** ?function(ArrayBuffer):void */ receiveCallback,
- /** ?function(number):void */ receiveErrorCallback) {
- base.debug.assert(this.receiveCallback_ == null);
- this.receiveCallback_ = receiveCallback;
- this.receiveErrorCallback_ = receiveErrorCallback;
- chrome.sockets.tcp.setPaused(this.socketId_, false);
-};
-
-/**
- * Sends |data|.
- *
- * @returns {Promise}
- */
-remoting.TcpSocket.prototype.send = function(/** ArrayBuffer */ data) {
- var that = this;
-
- return new Promise(function(resolve, reject) {
- chrome.sockets.tcp.send(that.socketId_, data, function(sendInfo) {
- if (sendInfo.resultCode < 0) {
- reject(sendInfo.resultCode);
- } else {
- resolve(sendInfo.bytesSent);
- }
- });
- });
-};
-
-/**
- * Starts TLS on the socket. Once TLS is negotiated the caller will need to call
- * startReceiving() to start receiving data, even if startReceiving() was called
- * before.
- *
- * @returns {Promise}
- */
-remoting.TcpSocket.prototype.startTls = function() {
- var that = this;
-
- return new Promise(function(resolve, reject) {
- function doStartTls() {
- chrome.sockets.tcp.secure(that.socketId_, {}, function(result) {
- if (result < 0) {
- reject(result);
- } else {
- resolve(0);
- }
- });
- }
-
- if (!that.receiveCallback_) {
- // Socket is already paused.
- doStartTls();
- } else {
- // Socket must be paused before staring TLS. This won't work correctly
- // until crbug.com/403076 is fixed. Log a warning and try anyway.
- console.warn(
- "remoting.TcpSocket.secure() was called after some data was " +
- "received on the socket. This won't work properly until " +
- "crbug.com/403076 is fixed.");
- chrome.sockets.tcp.setPaused(that.socketId_, true, function() {
- if (that.destroyed_) {
- return;
- }
- that.receiveCallback_ = null;
- that.receiveErrorCallback_ = null;
- doStartTls();
- });
- }
- });
-};
-
-})();
« no previous file with comments | « remoting/webapp/crd/js/stats_accumulator.js ('k') | remoting/webapp/crd/js/typecheck.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698