| Index: remoting/webapp/app_remoting/js/idle_detector.js
|
| diff --git a/remoting/webapp/app_remoting/js/idle_detector.js b/remoting/webapp/app_remoting/js/idle_detector.js
|
| deleted file mode 100644
|
| index a60099b95af94dc986bd2389390e2246210c4c14..0000000000000000000000000000000000000000
|
| --- a/remoting/webapp/app_remoting/js/idle_detector.js
|
| +++ /dev/null
|
| @@ -1,154 +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.
|
| -
|
| -/**
|
| - * @fileoverview
|
| - * Class for detecting when the application is idle. Note that chrome.idle is
|
| - * not suitable for this purpose because it detects when the computer is idle,
|
| - * and we'd like to close the application and free up VM resources even if the
|
| - * user has been using another application for a long time.
|
| - *
|
| - * There are two idle timeouts. The first controls the visibility of the idle
|
| - * timeout warning dialog and is reset on mouse input; when it expires, the
|
| - * idle warning dialog is displayed. The second controls the length of time
|
| - * for which the idle warning dialog is displayed; when it expires, the ctor
|
| - * callback is invoked, which it is assumed will exit the application--no
|
| - * further idle detection is done.
|
| - */
|
| -
|
| -'use strict';
|
| -
|
| -/** @suppress {duplicate} */
|
| -var remoting = remoting || {};
|
| -
|
| -/**
|
| - * @param {HTMLElement} rootElement The idle warning dialog.
|
| - * @param {remoting.WindowShape} windowShape
|
| - * @param {string} applicationName
|
| - * @param {function():void} callback Called when the idle warning dialog has
|
| - * timed out or the user has explicitly indicated that they are no longer
|
| - * using the session.
|
| - * @constructor
|
| - * @implements {base.Disposable}
|
| - */
|
| -remoting.IdleDetector = function(rootElement, windowShape, applicationName,
|
| - callback) {
|
| - /** @private */
|
| - this.callback_ = callback;
|
| -
|
| - /**
|
| - * @private {base.OneShotTimer}
|
| - */
|
| - this.timer_ = null;
|
| -
|
| - /** @private {?function():void} */
|
| - this.resetTimeoutRef_ = null;
|
| -
|
| - var message = rootElement.querySelector('.idle-warning-message');
|
| - l10n.localizeElement(message, applicationName);
|
| -
|
| - /** @private */
|
| - this.dialog_ = new remoting.Html5ModalDialog({
|
| - dialog: /** @type {HTMLDialogElement} */ (rootElement),
|
| - primaryButton: rootElement.querySelector('.idle-dialog-continue'),
|
| - secondaryButton: rootElement.querySelector('.idle-dialog-disconnect'),
|
| - closeOnEscape: false,
|
| - windowShape: windowShape
|
| - });
|
| -
|
| - this.resetTimeout_();
|
| -};
|
| -
|
| -remoting.IdleDetector.prototype.dispose = function() {
|
| - base.dispose(this.timer_);
|
| - this.timer_ = null;
|
| -
|
| - if (this.resetTimeoutRef_) {
|
| - this.registerInputDetectionCallbacks_(false);
|
| - }
|
| - base.dispose(this.dialog_);
|
| - this.dialog_ = null;
|
| -};
|
| -
|
| -/**
|
| - * @param {boolean} register True to register the callbacks; false to remove
|
| - * them.
|
| - * @private
|
| - */
|
| -remoting.IdleDetector.prototype.registerInputDetectionCallbacks_ =
|
| - function(register) {
|
| - var events = [ 'mousemove', 'mousedown', 'mouseup', 'click',
|
| - 'keyup', 'keydown', 'keypress' ];
|
| - if (register) {
|
| - console.assert(this.resetTimeoutRef_ == null,
|
| - '|resetTimeoutRef_| already exists.');
|
| - this.resetTimeoutRef_ = this.resetTimeout_.bind(this);
|
| - for (var i = 0; i < events.length; ++i) {
|
| - document.body.addEventListener(events[i], this.resetTimeoutRef_, true);
|
| - }
|
| - } else {
|
| - console.assert(this.resetTimeoutRef_ != null,
|
| - '|resetTimeoutRef_| does not exist.');
|
| - for (var i = 0; i < events.length; ++i) {
|
| - document.body.removeEventListener(events[i], this.resetTimeoutRef_, true);
|
| - }
|
| - this.resetTimeoutRef_ = null;
|
| - }
|
| -};
|
| -
|
| -/**
|
| - * @private
|
| - */
|
| -remoting.IdleDetector.prototype.resetTimeout_ = function() {
|
| - if (this.resetTimeoutRef_ == null) {
|
| - this.registerInputDetectionCallbacks_(true);
|
| - }
|
| - base.dispose(this.timer_);
|
| - this.timer_ = new base.OneShotTimer(this.onIdleTimeout_.bind(this),
|
| - remoting.IdleDetector.kIdleTimeoutMs);
|
| -};
|
| -
|
| -/**
|
| - * @private
|
| - */
|
| -remoting.IdleDetector.prototype.onIdleTimeout_ = function() {
|
| - this.registerInputDetectionCallbacks_(false);
|
| - this.timer_ = new base.OneShotTimer(this.onDialogTimeout_.bind(this),
|
| - remoting.IdleDetector.kDialogTimeoutMs);
|
| - this.showIdleWarning_();
|
| -};
|
| -
|
| -/**
|
| - * @private
|
| - */
|
| -remoting.IdleDetector.prototype.onDialogTimeout_ = function() {
|
| - base.dispose(this.timer_);
|
| - this.timer_ = null;
|
| - this.dialog_.close(remoting.MessageDialog.Result.SECONDARY);
|
| -};
|
| -
|
| -/**
|
| - * @private
|
| - */
|
| -remoting.IdleDetector.prototype.showIdleWarning_ = function() {
|
| - var that = this;
|
| - this.dialog_.show().then(function(
|
| - /** remoting.MessageDialog.Result */ result) {
|
| - if (result === remoting.MessageDialog.Result.PRIMARY) {
|
| - // Continue.
|
| - that.resetTimeout_();
|
| - } else if (result === remoting.MessageDialog.Result.SECONDARY) {
|
| - // Disconnect.
|
| - base.dispose(that.timer_);
|
| - that.timer_ = null;
|
| - that.callback_();
|
| - }
|
| - });
|
| -};
|
| -
|
| -// Time-out after 1hr of no activity.
|
| -remoting.IdleDetector.kIdleTimeoutMs = 60 * 60 * 1000;
|
| -
|
| -// Show the idle warning dialog for 2 minutes.
|
| -remoting.IdleDetector.kDialogTimeoutMs = 2 * 60 * 1000;
|
|
|