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

Unified Diff: remoting/webapp/app_remoting/js/app_remoting_activity.js

Issue 1816653002: Remove app_remoting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
Index: remoting/webapp/app_remoting/js/app_remoting_activity.js
diff --git a/remoting/webapp/app_remoting/js/app_remoting_activity.js b/remoting/webapp/app_remoting/js/app_remoting_activity.js
deleted file mode 100644
index aff04df9058ea59072c1ae8d8d02f68830bd4f9b..0000000000000000000000000000000000000000
--- a/remoting/webapp/app_remoting/js/app_remoting_activity.js
+++ /dev/null
@@ -1,274 +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.
-
-/** @suppress {duplicate} */
-var remoting = remoting || {};
-
-/**
- * Type definition for the RunApplicationResponse returned by the API.
- * @typedef {{
- * status: string,
- * hostJid: string,
- * authorizationCode: string,
- * sharedSecret: string,
- * host: {
- * applicationId: string,
- * hostId: string
- * }
- * }}
- */
-remoting.AppHostResponse;
-
-(function() {
-
-'use strict';
-
-/**
- * @param {Array<string>} appCapabilities Array of application capabilities.
- * @param {remoting.Application} app
- * @param {remoting.WindowShape} windowShape
- * @param {string} subscriptionToken
- * @param {base.WindowMessageDispatcher} windowMessageDispatcher
- *
- * @constructor
- * @implements {remoting.Activity}
- */
-remoting.AppRemotingActivity = function(appCapabilities, app, windowShape,
- subscriptionToken,
- windowMessageDispatcher) {
- /** @private */
- this.sessionFactory_ = new remoting.ClientSessionFactory(
- document.querySelector('#client-container .client-plugin-container'),
- appCapabilities);
-
- /** @private {remoting.ClientSession} */
- this.session_ = null;
-
- /** @private {base.Disposables} */
- this.connectedDisposables_ = null;
-
- /** @private */
- this.app_ = app;
-
- /** @private */
- this.windowShape_ = windowShape;
-
- /** @private */
- this.subscriptionToken_ = subscriptionToken;
-
- /** @private {base.WindowMessageDispatcher} */
- this.windowMessageDispatcher_ = windowMessageDispatcher;
-};
-
-remoting.AppRemotingActivity.prototype.dispose = function() {
- this.cleanup_();
- remoting.LoadingWindow.close();
-};
-
-remoting.AppRemotingActivity.prototype.start = function() {
- remoting.LoadingWindow.show();
- var that = this;
- return remoting.identity.getToken().then(function(/** string */ token) {
- return that.getAppHostInfo_(token);
- }).then(function(/** !remoting.Xhr.Response */ response) {
- that.onAppHostResponse_(response);
- }).catch(function(/** !remoting.Error */ error) {
- that.onConnectionFailed(error);
- });
-};
-
-remoting.AppRemotingActivity.prototype.stop = function() {
- if (this.session_) {
- this.session_.disconnect(remoting.Error.none());
- }
-};
-
-/** @private */
-remoting.AppRemotingActivity.prototype.cleanup_ = function() {
- base.dispose(this.connectedDisposables_);
- this.connectedDisposables_ = null;
- base.dispose(this.session_);
- this.session_ = null;
-};
-
-/**
- * @param {string} token
- * @return {Promise<!remoting.Xhr.Response>}
- * @private
- */
-remoting.AppRemotingActivity.prototype.getAppHostInfo_ = function(token) {
- var url = remoting.settings.APP_REMOTING_API_BASE_URL + '/applications/' +
- this.app_.getApplicationId() + '/run';
- // TODO(kelvinp): Passes |this.subscriptionToken_| to the XHR.
- return new remoting.AutoRetryXhr({
- method: 'POST',
- url: url,
- oauthToken: token
- }).start();
-};
-
-/**
- * @param {!remoting.Xhr.Response} xhrResponse
- * @private
- */
-remoting.AppRemotingActivity.prototype.onAppHostResponse_ =
- function(xhrResponse) {
- if (xhrResponse.status == 200) {
- var response = /** @type {remoting.AppHostResponse} */
- (base.jsonParseSafe(xhrResponse.getText()));
- if (response &&
- response.status &&
- response.status == 'done' &&
- response.hostJid &&
- response.authorizationCode &&
- response.sharedSecret &&
- response.host &&
- response.host.hostId) {
- var hostJid = response.hostJid;
- var host = new remoting.Host(response.host.hostId);
- host.jabberId = hostJid;
- host.authorizationCode = response.authorizationCode;
- host.sharedSecret = response.sharedSecret;
-
- remoting.setMode(remoting.AppMode.CLIENT_CONNECTING);
-
- /**
- * @param {string} tokenUrl Token-issue URL received from the host.
- * @param {string} hostPublicKey Host public key (DER and Base64
- * encoded).
- * @param {string} scope OAuth scope to request the token for.
- * @param {function(string, string):void} onThirdPartyTokenFetched
- * Callback.
- */
- var fetchThirdPartyToken = function(
- tokenUrl, hostPublicKey, scope, onThirdPartyTokenFetched) {
- // Use the authentication tokens returned by the app-remoting server.
- onThirdPartyTokenFetched(host['authorizationCode'],
- host['sharedSecret']);
- };
-
- var credentialsProvider = new remoting.CredentialsProvider(
- {fetchThirdPartyToken: fetchThirdPartyToken});
- var that = this;
- var logger = remoting.SessionLogger.createForClient();
-
- this.sessionFactory_.createSession(this, logger).then(
- function(/** remoting.ClientSession */ session) {
- that.session_ = session;
- logger.setLogEntryMode(remoting.ChromotingEvent.Mode.LGAPP);
- session.connect(host, credentialsProvider);
- });
- } else if (response && response.status == 'pending') {
- this.onConnectionFailed(new remoting.Error(
- remoting.Error.Tag.SERVICE_UNAVAILABLE));
- }
- } else {
- console.error('Invalid "runApplication" response from server.');
- // The orchestrator returns 403 if the user is not whitelisted to run the
- // app, which gets translated to a generic error message, so pick something
- // a bit more user-friendly.
- var error = xhrResponse.status == 403 ?
- new remoting.Error(remoting.Error.Tag.APP_NOT_AUTHORIZED) :
- remoting.Error.fromHttpStatus(xhrResponse.status);
- this.onConnectionFailed(error);
- }
-};
-
-/**
- * @param {remoting.ConnectionInfo} connectionInfo
- */
-remoting.AppRemotingActivity.prototype.onConnected = function(connectionInfo) {
- var connectedView = new remoting.AppConnectedView(
- base.getHtmlElement('client-container'),
- this.windowShape_, connectionInfo, this.windowMessageDispatcher_);
-
- var idleDetector = new remoting.IdleDetector(
- base.getHtmlElement('idle-dialog'),
- this.windowShape_,
- this.app_.getApplicationName(),
- this.stop.bind(this));
-
- // Map Cmd to Ctrl on Mac since hosts typically use Ctrl for keyboard
- // shortcuts, but we want them to act as natively as possible.
- if (remoting.platformIsMac()) {
- connectionInfo.plugin().setRemapKeys({
- 0x0700e3: 0x0700e0,
- 0x0700e7: 0x0700e4
- });
- }
-
- // Drop the session after 30s of suspension as we cannot recover from a
- // connectivity loss longer than 30s anyways.
- this.session_.dropSessionOnSuspend(30 * 1000);
- this.connectedDisposables_ =
- new base.Disposables(idleDetector, connectedView);
-};
-
-/**
- * @param {remoting.Error} error
- */
-remoting.AppRemotingActivity.prototype.onDisconnected = function(error) {
- if (error.isNone()) {
- this.app_.quit();
- } else {
- this.onConnectionDropped_();
- }
-};
-
-/**
- * @param {!remoting.Error} error
- */
-remoting.AppRemotingActivity.prototype.onConnectionFailed = function(error) {
- remoting.LoadingWindow.close();
- this.showErrorMessage_(error);
- this.cleanup_();
-};
-
-/** @private */
-remoting.AppRemotingActivity.prototype.onConnectionDropped_ = function() {
- // Don't dispose the session here to keep the plugin alive so that we can show
- // the last frame of the remote application window.
- base.dispose(this.connectedDisposables_);
- this.connectedDisposables_ = null;
-
- if (base.isOnline()) {
- this.reconnect_();
- return;
- }
-
- var rootElement = /** @type {HTMLDialogElement} */ (
- document.getElementById('connection-dropped-dialog'));
- var dialog =
- new remoting.ConnectionDroppedDialog(rootElement, this.windowShape_);
- var that = this;
- dialog.show().then(function(){
- dialog.dispose();
- that.reconnect_();
- }).catch(function(){
- dialog.dispose();
- that.app_.quit();
- });
-};
-
-/** @private */
-remoting.AppRemotingActivity.prototype.reconnect_ = function() {
- // Hide the windows of the remote application with setDesktopRects([])
- // before tearing down the plugin.
- this.windowShape_.setDesktopRects([]);
- this.cleanup_();
- this.start();
-};
-
-/**
- * @param {!remoting.Error} error The error to be localized and displayed.
- * @private
- */
-remoting.AppRemotingActivity.prototype.showErrorMessage_ = function(error) {
- console.error('Connection failed: ' + error.toString());
- remoting.MessageWindow.showErrorMessage(
- this.app_.getApplicationName(),
- chrome.i18n.getMessage(error.getTag()));
-};
-
-})();
« no previous file with comments | « remoting/webapp/app_remoting/js/app_remoting.js ('k') | remoting/webapp/app_remoting/js/application_context_menu.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698