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

Unified Diff: remoting/webapp/app_remoting/js/idle_detector.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/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;
« no previous file with comments | « remoting/webapp/app_remoting/js/gaia_license_manager.js ('k') | remoting/webapp/app_remoting/js/keyboard_layouts_menu.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698