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

Side by Side Diff: remoting/webapp/me2mom/remoting.js

Issue 7583018: Add beforeUnload handler to confirm exit. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed client/host confusion. Created 9 years, 4 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « remoting/webapp/me2mom/choice.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 var remoting = remoting || {}; 5 var remoting = remoting || {};
6 6
7 (function() { 7 (function() {
8 'use strict'; 8 'use strict';
9 9
10 window.addEventListener('blur', pluginLostFocus_, false); 10 window.addEventListener('blur', pluginLostFocus_, false);
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 var hidden = true; 182 var hidden = true;
183 for (var m = 0; m < modes.length; ++m) { 183 for (var m = 0; m < modes.length; ++m) {
184 if (hasClass(element.getAttribute('data-ui-mode'), modes[m])) { 184 if (hasClass(element.getAttribute('data-ui-mode'), modes[m])) {
185 hidden = false; 185 hidden = false;
186 break; 186 break;
187 } 187 }
188 } 188 }
189 element.hidden = hidden; 189 element.hidden = hidden;
190 } 190 }
191 remoting.debug.log('App mode: ' + mode); 191 remoting.debug.log('App mode: ' + mode);
192 remoting.currentMode = modes[0]; 192 remoting.currentMode = mode;
193 }
194
195 /**
196 * Get the major mode that the app is running in.
197 * @return {remoting.Mode} The app's current major mode.
198 */
199 remoting.getMajorMode = function(mode) {
200 return remoting.currentMode.split('.')[0];
193 } 201 }
194 202
195 remoting.tryShare = function() { 203 remoting.tryShare = function() {
196 remoting.debug.log('Attempting to share...'); 204 remoting.debug.log('Attempting to share...');
197 if (remoting.oauth2.needsNewAccessToken()) { 205 if (remoting.oauth2.needsNewAccessToken()) {
198 remoting.debug.log('Refreshing token...'); 206 remoting.debug.log('Refreshing token...');
199 remoting.oauth2.refreshAccessToken(function() { 207 remoting.oauth2.refreshAccessToken(function() {
200 if (remoting.oauth2.needsNewAccessToken()) { 208 if (remoting.oauth2.needsNewAccessToken()) {
201 // If we still need it, we're going to infinite loop. 209 // If we still need it, we're going to infinite loop.
202 showShareError_('unable-to-get-token'); 210 showShareError_('unable-to-get-token');
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 } 521 }
514 remoting.doTryConnect(); 522 remoting.doTryConnect();
515 }); 523 });
516 } else { 524 } else {
517 remoting.doTryConnect(); 525 remoting.doTryConnect();
518 } 526 }
519 } 527 }
520 528
521 remoting.cancelPendingOperation = function() { 529 remoting.cancelPendingOperation = function() {
522 document.getElementById('cancel-button').disabled = true; 530 document.getElementById('cancel-button').disabled = true;
523 if (remoting.currentMode == remoting.AppMode.HOST) { 531 if (remoting.getMajorMode() == remoting.AppMode.HOST) {
524 remoting.cancelShare(); 532 remoting.cancelShare();
525 } 533 }
526 } 534 }
527 535
528 /** 536 /**
529 * Changes the major-mode of the application (Eg., client or host). 537 * Changes the major-mode of the application (Eg., client or host).
530 * 538 *
531 * @param {remoting.AppMode} mode The mode to shift the application into. 539 * @param {remoting.AppMode} mode The mode to shift the application into.
532 * @return {void} Nothing. 540 * @return {void} Nothing.
533 */ 541 */
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
583 */ 591 */
584 remoting.disconnect = function() { 592 remoting.disconnect = function() {
585 if (remoting.session) { 593 if (remoting.session) {
586 remoting.session.disconnect(); 594 remoting.session.disconnect();
587 remoting.session = null; 595 remoting.session = null;
588 remoting.debug.log('Disconnected.'); 596 remoting.debug.log('Disconnected.');
589 remoting.setMode(remoting.AppMode.CLIENT_SESSION_FINISHED); 597 remoting.setMode(remoting.AppMode.CLIENT_SESSION_FINISHED);
590 } 598 }
591 } 599 }
592 600
601 /** If the client is connected, or the host is shared, prompt before closing.
602 *
603 * @return {string|void} The prompt string if a connection is active.
604 */
605 remoting.promptClose = function() {
606 var token = null;
awong 2011/08/05 23:17:25 How about messageId instead of token
Jamie 2011/08/05 23:36:51 Done.
607 if (remoting.getMajorMode() == remoting.AppMode.HOST &&
608 remoting.currentMode != remoting.AppMode.HOST_UNSHARED) {
609 token = 'closePromptHost';
610 } else if (remoting.getMajorMode() == remoting.AppMode.IN_SESSION ||
611 remoting.currentMode == remoting.AppMode.CLIENT_CONNECTING) {
612 token = 'closePromptClient';
613 }
614 if (token) {
615 var result = chrome.i18n.getMessage(token);
616 return result;
617 }
618 }
619
593 }()); 620 }());
OLDNEW
« no previous file with comments | « remoting/webapp/me2mom/choice.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698