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

Unified Diff: remoting/webapp/app_remoting/js/app_connected_view.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_connected_view.js
diff --git a/remoting/webapp/app_remoting/js/app_connected_view.js b/remoting/webapp/app_remoting/js/app_connected_view.js
deleted file mode 100644
index 6918a1e5f86416d49649267f4c4e5ec2a0935291..0000000000000000000000000000000000000000
--- a/remoting/webapp/app_remoting/js/app_connected_view.js
+++ /dev/null
@@ -1,277 +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.
-
-/**
- * @fileoverview
- * Implements a basic UX control for a connected app remoting session.
- */
-
-/** @suppress {duplicate} */
-var remoting = remoting || {};
-
-(function() {
-
-'use strict';
-
-/**
- * Interval to test the connection speed.
- * @const {number}
- */
-var CONNECTION_SPEED_PING_INTERVAL_MS = 10 * 1000;
-
-/**
- * Interval to refresh the google drive access token.
- * @const {number}
- */
-var DRIVE_ACCESS_TOKEN_REFRESH_INTERVAL_MS = 15 * 60 * 1000;
-
-/**
- * @param {HTMLElement} containerElement
- * @param {remoting.WindowShape} windowShape
- * @param {remoting.ConnectionInfo} connectionInfo
- * @param {base.WindowMessageDispatcher} windowMessageDispatcher
- *
- * @constructor
- * @implements {base.Disposable}
- * @implements {remoting.ProtocolExtension}
- */
-remoting.AppConnectedView = function(containerElement, windowShape,
- connectionInfo, windowMessageDispatcher) {
- /** @private */
- this.plugin_ = connectionInfo.plugin();
-
- /** @private */
- this.host_ = connectionInfo.host();
-
- var menuAdapter = new remoting.ContextMenuChrome();
-
- // Initialize the context menus.
- if (!remoting.platformIsChromeOS()) {
- menuAdapter = new remoting.ContextMenuDom(
- base.getHtmlElement('context-menu'), windowShape);
- }
-
- this.contextMenu_ = new remoting.ApplicationContextMenu(
- menuAdapter, this.plugin_, connectionInfo.session(), windowShape);
- this.contextMenu_.setHostId(connectionInfo.host().hostId);
-
- /** @private */
- this.keyboardLayoutsMenu_ = new remoting.KeyboardLayoutsMenu(menuAdapter);
-
- /** @private */
- this.windowActivationMenu_ = new remoting.WindowActivationMenu(menuAdapter);
-
- var baseView = new remoting.ConnectedView(
- this.plugin_, containerElement,
- containerElement.querySelector('.mouse-cursor-overlay'));
-
- var windowShapeHook = new base.EventHook(
- this.plugin_.hostDesktop(),
- remoting.HostDesktop.Events.shapeChanged,
- windowShape.setDesktopRects.bind(windowShape));
-
- var desktopSizeHook = new base.EventHook(
- this.plugin_.hostDesktop(),
- remoting.HostDesktop.Events.sizeChanged,
- this.onDesktopSizeChanged_.bind(this));
-
- /** @private */
- this.disposables_ =
- new base.Disposables(baseView, windowShapeHook, desktopSizeHook,
- this.contextMenu_, menuAdapter);
-
- /** @private */
- this.supportsGoogleDrive_ = this.plugin_.hasCapability(
- remoting.ClientSession.Capability.GOOGLE_DRIVE);
-
- this.resizeHostToClientArea_();
- this.plugin_.extensions().register(this);
-
- /** @private {remoting.CloudPrintDialogContainer} */
- this.cloudPrintDialogContainer_ = new remoting.CloudPrintDialogContainer(
- /** @type {!Webview} */ (document.getElementById('cloud-print-webview')),
- windowShape, windowMessageDispatcher, baseView);
-
- this.disposables_.add(this.cloudPrintDialogContainer_);
-};
-
-/**
- * @return {void} Nothing.
- */
-remoting.AppConnectedView.prototype.dispose = function() {
- this.windowActivationMenu_.setExtensionMessageSender(base.doNothing);
- this.keyboardLayoutsMenu_.setExtensionMessageSender(base.doNothing);
- base.dispose(this.disposables_);
-};
-
-/**
- * Resize the host to the dimensions of the current window.
- * @private
- */
-remoting.AppConnectedView.prototype.resizeHostToClientArea_ = function() {
- var hostDesktop = this.plugin_.hostDesktop();
- var desktopScale = this.host_.options.getDesktopScale();
- hostDesktop.resize(window.innerWidth * desktopScale,
- window.innerHeight * desktopScale,
- window.devicePixelRatio);
-};
-
-/**
- * Adjust the size of the plugin according to the dimensions of the hostDesktop.
- *
- * @param {{width:number, height:number, xDpi:number, yDpi:number}} hostDesktop
- * @private
- */
-remoting.AppConnectedView.prototype.onDesktopSizeChanged_ =
- function(hostDesktop) {
- // The first desktop size change indicates that we can close the loading
- // window.
- remoting.LoadingWindow.close();
-
- var hostSize = { width: hostDesktop.width, height: hostDesktop.height };
- var hostDpi = { x: hostDesktop.xDpi, y: hostDesktop.yDpi };
- var clientArea = { width: window.innerWidth, height: window.innerHeight };
- var newSize = remoting.Viewport.choosePluginSize(
- clientArea, window.devicePixelRatio,
- hostSize, hostDpi, this.host_.options.getDesktopScale(),
- true /* fullscreen */ , true /* shrinkToFit */ );
-
- this.plugin_.element().style.width = newSize.width + 'px';
- this.plugin_.element().style.height = newSize.height + 'px';
-};
-
-/**
- * @return {Array<string>}
- * @override {remoting.ProtocolExtension}
- */
-remoting.AppConnectedView.prototype.getExtensionTypes = function() {
- return ['openURL', 'onWindowRemoved', 'onWindowAdded',
- 'onAllWindowsMinimized', 'setKeyboardLayouts', 'pingResponse'];
-};
-
-/**
- * @param {function(string,string)} sendMessageToHost Callback to send a message
- * to the host.
- * @override {remoting.ProtocolExtension}
- */
-remoting.AppConnectedView.prototype.startExtension = function(
- sendMessageToHost) {
- this.windowActivationMenu_.setExtensionMessageSender(sendMessageToHost);
- this.keyboardLayoutsMenu_.setExtensionMessageSender(sendMessageToHost);
-
- remoting.identity.getUserInfo().then(function(userInfo) {
- sendMessageToHost('setUserDisplayInfo',
- JSON.stringify({fullName: userInfo.name}));
- });
-
- var onRestoreHook = new base.ChromeEventHook(
- chrome.app.window.current().onRestored, function() {
- sendMessageToHost('restoreAllWindows', '');
- });
-
- var pingTimer = new base.RepeatingTimer(function() {
- var message = {timestamp: new Date().getTime()};
- sendMessageToHost('pingRequest', JSON.stringify(message));
- }, CONNECTION_SPEED_PING_INTERVAL_MS);
-
- this.disposables_.add(onRestoreHook, pingTimer);
-
- if (this.supportsGoogleDrive_) {
- this.disposables_.add(new base.RepeatingTimer(
- this.sendGoogleDriveAccessToken_.bind(this, sendMessageToHost),
- DRIVE_ACCESS_TOKEN_REFRESH_INTERVAL_MS, true));
- }
-};
-
-/**
- * @param {string} command The message command.
- * @param {Object} message The parsed extension message data.
- * @override {remoting.ProtocolExtension}
- */
-remoting.AppConnectedView.prototype.onExtensionMessage =
- function(command, message) {
- switch (command) {
- case 'openURL':
- // URL requests from the hosted app are untrusted, so disallow anything
- // other than HTTP or HTTPS.
- var url = base.getStringAttr(message, 'url');
- if (url.indexOf('http:') != 0 && url.indexOf('https:') != 0) {
- console.error('Bad URL: ' + url);
- } else {
- window.open(url);
- }
- return true;
-
- case 'onWindowRemoved':
- var id = base.getNumberAttr(message, 'id');
- this.windowActivationMenu_.remove(id);
- return true;
-
- case 'onWindowAdded':
- var id = base.getNumberAttr(message, 'id');
- var title = base.getStringAttr(message, 'title');
- this.windowActivationMenu_.add(id, title);
- return true;
-
- case 'onAllWindowsMinimized':
- chrome.app.window.current().minimize();
- return true;
-
- case 'setKeyboardLayouts':
- var supportedLayouts = base.getArrayAttr(message, 'supportedLayouts');
- var currentLayout = base.getStringAttr(message, 'currentLayout');
- console.log('Current host keyboard layout: ' + currentLayout);
- console.log('Supported host keyboard layouts: ' + supportedLayouts);
- this.keyboardLayoutsMenu_.setLayouts(supportedLayouts, currentLayout);
- return true;
-
- case 'pingResponse':
- var then = base.getNumberAttr(message, 'timestamp');
- var now = new Date().getTime();
- this.contextMenu_.updateConnectionRTT(now - then);
- return true;
-
- case 'printDocument':
- var title = base.getStringAttr(message, 'title');
- var type = base.getStringAttr(message, 'type');
- var data = base.getStringAttr(message, 'data');
- if (type == '' || data == '') {
- console.error('"type" and "data" cannot be empty.');
- return true;
- }
-
- this.cloudPrintDialogContainer_.printDocument(title, type, data);
- return true;
- }
-
- return false;
-};
-
-/**
- * Timer callback to send the access token to the host.
- * @param {function(string, string)} sendExtensionMessage
- * @private
- */
-remoting.AppConnectedView.prototype.sendGoogleDriveAccessToken_ =
- function(sendExtensionMessage) {
- var googleDriveScopes = [
- 'https://docs.google.com/feeds/',
- 'https://www.googleapis.com/auth/drive'
- ];
- remoting.identity.getNewToken(googleDriveScopes).then(
- function(/** string */ token){
- console.assert(token !== previousToken_,
- 'getNewToken() returned the same token.');
- previousToken_ = token;
- sendExtensionMessage('accessToken', token);
- }).catch(remoting.Error.handler(function(/** remoting.Error */ error) {
- console.log('Failed to refresh access token: ' + error.toString());
- }));
-};
-
-// The access token last received from getNewToken. Saved to ensure that we
-// get a fresh token each time.
-var previousToken_ = '';
-
-})();
« no previous file with comments | « remoting/webapp/app_remoting/html/template_loading_window.html ('k') | remoting/webapp/app_remoting/js/app_remoting.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698