Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 /** @suppress {duplicate} */ | 5 /** @suppress {duplicate} */ |
| 6 var remoting = remoting || {}; | 6 var remoting = remoting || {}; |
| 7 | 7 |
| 8 (function(){ | 8 (function(){ |
| 9 | 9 |
| 10 'use strict'; | 10 'use strict'; |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 100 remoting.ActivationHandler.prototype.onLaunched_ = function() { | 100 remoting.ActivationHandler.prototype.onLaunched_ = function() { |
| 101 this.createWindow_(); | 101 this.createWindow_(); |
| 102 }; | 102 }; |
| 103 | 103 |
| 104 /** | 104 /** |
| 105 * Create a new app window and register for the closed event. | 105 * Create a new app window and register for the closed event. |
| 106 * | 106 * |
| 107 * @private | 107 * @private |
| 108 */ | 108 */ |
| 109 remoting.ActivationHandler.prototype.createWindow_ = function() { | 109 remoting.ActivationHandler.prototype.createWindow_ = function() { |
| 110 this.appLauncher_.launch().then(this.onWindowCreated_.bind(this)); | 110 var that = this; |
| 111 return this.isPublicSession_().then( | |
| 112 this.launchPublicSession_.bind(this) | |
| 113 ).catch(function() { | |
| 114 that.appLauncher_.launch().then(that.onWindowCreated_.bind(that)); | |
| 115 }); | |
| 111 }; | 116 }; |
| 112 | 117 |
| 113 /** | 118 /** |
| 114 * @param {string} windowId | 119 * @param {string} windowId |
| 115 * | 120 * |
| 116 * @private | 121 * @private |
| 117 */ | 122 */ |
| 118 remoting.ActivationHandler.prototype.onWindowCreated_ = function( | 123 remoting.ActivationHandler.prototype.onWindowCreated_ = function( |
| 119 windowId) { | 124 windowId) { |
| 120 // Send the client heartbeat. | 125 // Send the client heartbeat. |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 137 */ | 142 */ |
| 138 remoting.ActivationHandler.prototype.onWindowClosed_ = function(id) { | 143 remoting.ActivationHandler.prototype.onWindowClosed_ = function(id) { |
| 139 // Unhook the event. | 144 // Unhook the event. |
| 140 var hook = /** @type {base.Disposable} */ (this.windowClosedHooks_.get(id)); | 145 var hook = /** @type {base.Disposable} */ (this.windowClosedHooks_.get(id)); |
| 141 base.dispose(hook); | 146 base.dispose(hook); |
| 142 this.windowClosedHooks_.delete(id); | 147 this.windowClosedHooks_.delete(id); |
| 143 | 148 |
| 144 this.raiseEvent(remoting.ActivationHandler.Events.windowClosed, id); | 149 this.raiseEvent(remoting.ActivationHandler.Events.windowClosed, id); |
| 145 }; | 150 }; |
| 146 | 151 |
| 152 /** | |
| 153 * @return {Promise} A Promise that resolves if this is a public session or | |
| 154 * rejects if it is not. | |
| 155 * @private | |
| 156 */ | |
| 157 remoting.ActivationHandler.prototype.isPublicSession_ = function() { | |
| 158 // Check whether this is a service account to determine whether we are | |
| 159 // currently signed-in as a public session or not. | |
| 160 return remoting.identity.getEmail().then(function(/** string */ email) { | |
| 161 if (email.indexOf('@gserviceaccount.com') == -1) { | |
|
Jamie
2015/09/30 17:46:13
Please add a TODO to clean this up once we have an
kelvinp
2015/09/30 19:35:47
Fixed to use the actual flag instead.
| |
| 162 return Promise.reject(); | |
| 163 } | |
| 164 }); | |
| 165 }; | |
| 166 | |
| 167 /** @private */ | |
| 168 remoting.ActivationHandler.prototype.launchPublicSession_ = function() { | |
| 169 chrome.app.window.create("public_session.html", { | |
| 170 'width': 570, | |
| 171 'height': 300, | |
|
Jamie
2015/09/30 17:46:13
In general, you can't hard-code a height because i
kelvinp
2015/09/30 19:35:47
Fixed in public_session_main.js
| |
| 172 'resizable': false | |
| 173 }); | |
| 174 }; | |
| 175 | |
| 147 })(); | 176 })(); |
| 148 | 177 |
| 149 /** @enum {string} */ | 178 /** @enum {string} */ |
| 150 remoting.ActivationHandler.Events = { | 179 remoting.ActivationHandler.Events = { |
| 151 windowClosed: 'windowClosed' | 180 windowClosed: 'windowClosed' |
| 152 }; | 181 }; |
| OLD | NEW |