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

Unified Diff: remoting/webapp/crd/js/fullscreen_v2.js

Issue 863123002: Fix minimize -> fullscreen transition. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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
« no previous file with comments | « no previous file | remoting/webapp/js_proto/chrome_proto.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/webapp/crd/js/fullscreen_v2.js
diff --git a/remoting/webapp/crd/js/fullscreen_v2.js b/remoting/webapp/crd/js/fullscreen_v2.js
index ea20f9000f7185ce7554154ac9890fc1bbec28dc..d6ce402d8bd67dca037918eeca96b35fcb0612fe 100644
--- a/remoting/webapp/crd/js/fullscreen_v2.js
+++ b/remoting/webapp/crd/js/fullscreen_v2.js
@@ -18,13 +18,13 @@ var remoting = remoting || {};
*/
remoting.FullscreenAppsV2 = function() {
/**
- * @type {boolean} True if the next onRestored event should cause callbacks
- * to be notified of a full-screen changed event. onRestored fires when
- * full-screen mode is exited and also when the window is restored from
- * being minimized; callbacks should not be notified of the latter.
+ * @type {boolean} True if the window is minimized. onRestored fires when the
+ * the window transitions from minimized to any other state, but since we
+ * only want transitions from full-screen to windowed to cause a callback,
kelvinp 2015/01/22 17:42:08 s/cause/call
Jamie 2015/01/22 23:27:31 Cause is acceptable here. Apart from anything else
kelvinp 2015/01/23 00:14:59 Acknowledged.
+ * we must keep track of the minimized state of the window.
* @private
*/
- this.notifyCallbacksOnRestore_ = this.isActive();
+ this.isMinimized_ = chrome.app.window.current().isMinimized();
/**
* @type {string} Internal 'full-screen changed' event name
@@ -43,6 +43,8 @@ remoting.FullscreenAppsV2 = function() {
this.onFullscreened_.bind(this));
chrome.app.window.current().onRestored.addListener(
this.onRestored_.bind(this));
+ chrome.app.window.current().onMinimized.addListener(
+ this.onMinimized_.bind(this));
};
remoting.FullscreenAppsV2.prototype.activate = function(
@@ -91,15 +93,20 @@ remoting.FullscreenAppsV2.prototype.removeListener = function(callback) {
};
remoting.FullscreenAppsV2.prototype.onFullscreened_ = function() {
- this.notifyCallbacksOnRestore_ = true;
+ this.isMinimized_ = false;
this.eventSource_.raiseEvent(this.kEventName_, true);
document.body.classList.add('fullscreen');
};
remoting.FullscreenAppsV2.prototype.onRestored_ = function() {
- document.body.classList.remove('fullscreen');
- if (this.notifyCallbacksOnRestore_) {
+ if (!this.isMinimized_) {
kelvinp 2015/01/22 17:42:08 According to OnRestored is called whenever the wi
Jamie 2015/01/22 23:27:31 That's a valid observation. I had a go at adding a
kelvinp 2015/01/23 00:14:59 Maybe we can add a member variable isFullScreened
Jamie 2015/01/23 00:44:16 Done.
+ document.body.classList.remove('fullscreen');
this.notifyCallbacksOnRestore_ = false;
this.eventSource_.raiseEvent(this.kEventName_, false);
}
+ this.isMinimized_ = false;
+};
+
+remoting.FullscreenAppsV2.prototype.onMinimized_ = function() {
+ this.isMinimized_ = true;
};
« no previous file with comments | « no previous file | remoting/webapp/js_proto/chrome_proto.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698