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

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

Issue 1054273002: [Webapp Refactor] Implements remoting.Activity. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix typo Created 5 years, 8 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/me2me_activity.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/webapp/crd/js/me2me_connect_flow.js
diff --git a/remoting/webapp/crd/js/me2me_connect_flow.js b/remoting/webapp/crd/js/me2me_connect_flow.js
deleted file mode 100644
index 4cd4cd9ccdbab2088d782dd7fde45af868302a25..0000000000000000000000000000000000000000
--- a/remoting/webapp/crd/js/me2me_connect_flow.js
+++ /dev/null
@@ -1,197 +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 || {};
-
-(function() {
-
-'use strict';
-
-/**
- * @param {remoting.SessionConnector} sessionConnector
- * @param {remoting.Host} host
- *
- * @constructor
- */
-remoting.Me2MeConnectFlow = function(sessionConnector, host) {
- /** @private */
- this.host_ = host;
- /** @private */
- this.connector_ = sessionConnector;
-};
-
-remoting.Me2MeConnectFlow.prototype.start = function() {
- var webappVersion = chrome.runtime.getManifest().version;
- var needsUpdateDialog = new remoting.HostNeedsUpdateDialog(
- document.getElementById('host-needs-update-dialog'), this.host_);
- var that = this;
-
- needsUpdateDialog.showIfNecessary(webappVersion).then(function() {
- return that.host_.options.load();
- }).then(function() {
- that.connect_();
- }).catch(function(/** remoting.Error */ error) {
- if (error.hasTag(remoting.Error.Tag.CANCELLED)) {
- remoting.setMode(remoting.AppMode.HOME);
- }
- });
-};
-
-/** @private */
-remoting.Me2MeConnectFlow.prototype.connect_ = function() {
- remoting.setMode(remoting.AppMode.CLIENT_CONNECTING);
- var host = this.host_;
-
- /**
- * @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) {
- var thirdPartyTokenFetcher = new remoting.ThirdPartyTokenFetcher(
- tokenUrl, hostPublicKey, scope, host.tokenUrlPatterns,
- onThirdPartyTokenFetched);
- thirdPartyTokenFetcher.fetchToken();
- };
-
- /**
- * @param {boolean} supportsPairing
- * @param {function(string):void} onPinFetched
- */
- var requestPin = function(supportsPairing, onPinFetched) {
- var pinDialog =
- new remoting.PinDialog(document.getElementById('pin-dialog'), host);
- pinDialog.show(supportsPairing).then(function(/** string */ pin) {
- remoting.setMode(remoting.AppMode.CLIENT_CONNECTING);
- onPinFetched(pin);
- /** @type {boolean} */
- remoting.pairingRequested = pinDialog.pairingRequested();
- }).catch(function(/** remoting.Error */ error) {
- base.debug.assert(error.hasTag(remoting.Error.Tag.CANCELLED));
- remoting.setMode(remoting.AppMode.HOME);
- });
- };
-
- var pairingInfo = host.options.pairingInfo;
- this.connector_.connectMe2Me(host, requestPin, fetchThirdPartyToken,
- pairingInfo.clientId, pairingInfo.sharedSecret);
-};
-
-
-/**
- * @param {HTMLElement} rootElement
- * @param {remoting.Host} host
- * @constructor
- */
-remoting.HostNeedsUpdateDialog = function(rootElement, host) {
- /** @private */
- this.host_ = host;
- /** @private */
- this.rootElement_ = rootElement;
- /** @private {base.Deferred} */
- this.deferred_ = null;
- /** @private {base.Disposables} */
- this.eventHooks_ = null;
-
- l10n.localizeElementFromTag(
- rootElement.querySelector('.host-needs-update-message'),
- /*i18n-content*/'HOST_NEEDS_UPDATE_TITLE', host.hostName);
-};
-
-/**
- * Shows the HostNeedsUpdateDialog if the user is trying to connect to a legacy
- * host.
- *
- * @param {string} webappVersion
- * @return {Promise} Promise that resolves when no update is required or
- * when the user ignores the update warning. Rejects with
- * |remoting.Error.CANCELLED| if the user cancels the connection.
- */
-remoting.HostNeedsUpdateDialog.prototype.showIfNecessary =
- function(webappVersion) {
- if (!remoting.Host.needsUpdate(this.host_, webappVersion)) {
- return Promise.resolve();
- }
-
- this.eventHooks_ = new base.Disposables(
- new base.DomEventHook(this.rootElement_.querySelector('.connect-button'),
- 'click', this.onOK_.bind(this), false),
- new base.DomEventHook(this.rootElement_.querySelector('.cancel-button'),
- 'click', this.onCancel_.bind(this), false));
-
- base.debug.assert(this.deferred_ === null);
- this.deferred_ = new base.Deferred();
-
- remoting.setMode(remoting.AppMode.CLIENT_HOST_NEEDS_UPGRADE);
-
- return this.deferred_.promise();
-};
-
-/** @private */
-remoting.HostNeedsUpdateDialog.prototype.cleanup_ = function() {
- base.dispose(this.eventHooks_);
- this.eventHooks_ = null;
- this.deferred_ = null;
-};
-
-
-/** @private */
-remoting.HostNeedsUpdateDialog.prototype.onOK_ = function() {
- this.deferred_.resolve();
- this.cleanup_();
-};
-
-/** @private */
-remoting.HostNeedsUpdateDialog.prototype.onCancel_ = function() {
- this.deferred_.reject(new remoting.Error(remoting.Error.Tag.CANCELLED));
- this.cleanup_();
-};
-
-/**
- * @param {HTMLElement} rootElement
- * @param {remoting.Host} host
- * @constructor
- */
-remoting.PinDialog = function(rootElement, host) {
- /** @private */
- this.rootElement_ = rootElement;
- /** @private */
- this.pairingCheckbox_ = rootElement.querySelector('.pairing-checkbox');
- /** @private */
- this.pinInput_ = rootElement.querySelector('.pin-inputField');
- /** @private */
- this.host_ = host;
- /** @private */
- this.dialog_ = new remoting.InputDialog(
- remoting.AppMode.CLIENT_PIN_PROMPT,
- this.rootElement_.querySelector('form'),
- this.pinInput_,
- this.rootElement_.querySelector('.cancel-button'));
-};
-
-
-/**
- * @param {boolean} supportsPairing
- * @return {Promise<string>} Promise that resolves with the PIN or rejects with
- * |remoting.Error.CANCELLED| if the user cancels the connection.
- */
-remoting.PinDialog.prototype.show = function(supportsPairing) {
- // Reset the UI.
- this.pairingCheckbox_.checked = false;
- this.rootElement_.querySelector('.pairing-section').hidden = !supportsPairing;
- var message = this.rootElement_.querySelector('.pin-message');
- l10n.localizeElement(message, this.host_.hostName);
- this.pinInput_.value = '';
- return this.dialog_.show();
-};
-
-/** @return {boolean} */
-remoting.PinDialog.prototype.pairingRequested = function() {
- return this.pairingCheckbox_.checked;
-};
-
-})();
« no previous file with comments | « remoting/webapp/crd/js/me2me_activity.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698