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

Side by Side Diff: remoting/webapp/base/js/message_window.js

Issue 888323002: Improve HRD first run experience (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ready for Checkin Created 5 years, 10 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
« no previous file with comments | « remoting/webapp/base/js/ipc.js ('k') | remoting/webapp/crd/html/dialog_hangout_consent.css » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 'use strict'; 5 'use strict';
6 6
7 /** 7 /**
8 * @constructor 8 * @constructor
9 */ 9 */
10 function MessageWindowImpl() { 10 function MessageWindowImpl() {
(...skipping 27 matching lines...) Expand all
38 }; 38 };
39 parentWindow.postMessage(message, '*'); 39 parentWindow.postMessage(message, '*');
40 this.sentReply_ = true; 40 this.sentReply_ = true;
41 } else { 41 } else {
42 // Make sure that the reply we're ignoring is from the window close. 42 // Make sure that the reply we're ignoring is from the window close.
43 base.debug.assert(result == 0); 43 base.debug.assert(result == 0);
44 } 44 }
45 }; 45 };
46 46
47 /** 47 /**
48 * Size the window to its content vertically.
49 * @private
50 */
51 MessageWindowImpl.prototype.updateSize_ = function() {
52 var outerBounds = chrome.app.window.current().outerBounds;
53 var innerBounds = chrome.app.window.current().innerBounds;
54 var borderY = outerBounds.height - innerBounds.height;
55 window.resizeTo(outerBounds.width, document.body.clientHeight + borderY);
56 // Sometimes, resizing the window causes its position to be reset to (0, 0),
57 // so restore it explicitly.
58 window.moveTo(outerBounds.left, outerBounds.top);
59 };
60
61 /**
62 * Initializes the button with the label and the click handler. 48 * Initializes the button with the label and the click handler.
63 * Hides the button if the label is null or undefined. 49 * Hides the button if the label is null or undefined.
64 * 50 *
65 * @param{HTMLElement} button 51 * @param{HTMLElement} button
66 * @param{?string} label 52 * @param{?string} label
67 * @param{Function} clickHandler 53 * @param{Function} clickHandler
68 * @private 54 * @private
69 */ 55 */
70 MessageWindowImpl.prototype.initButton_ = 56 MessageWindowImpl.prototype.initButton_ =
71 function(button, label, clickHandler) { 57 function(button, label, clickHandler) {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 var buttonToFocus = (cancelButtonLabel) ? cancelButton : button; 124 var buttonToFocus = (cancelButtonLabel) ? cancelButton : button;
139 buttonToFocus.focus(); 125 buttonToFocus.focus();
140 126
141 // Add a close handler in case the window is closed without clicking one 127 // Add a close handler in case the window is closed without clicking one
142 // of the buttons. This will send a 0 as the result. 128 // of the buttons. This will send a 0 as the result.
143 // Note that when a button is pressed, this will result in sendReply_ 129 // Note that when a button is pressed, this will result in sendReply_
144 // being called multiple times (once for the button, once for close). 130 // being called multiple times (once for the button, once for close).
145 chrome.app.window.current().onClosed.addListener( 131 chrome.app.window.current().onClosed.addListener(
146 this.sendReply_.bind(this, event.source, messageId, 0)); 132 this.sendReply_.bind(this, event.source, messageId, 0));
147 133
148 this.updateSize_(); 134 base.resizeWindowToContent();
149 chrome.app.window.current().show(); 135 chrome.app.window.current().show();
150 break; 136 break;
151 137
152 case 'update_message': 138 case 'update_message':
153 var message = /** @type {string} */ (event.data['message']); 139 var message = /** @type {string} */ (event.data['message']);
154 if (typeof(message) != 'string') { 140 if (typeof(message) != 'string') {
155 console.log('Bad update_message message:', event.data); 141 console.log('Bad update_message message:', event.data);
156 break; 142 break;
157 } 143 }
158 144
159 var messageDiv = document.getElementById('message'); 145 var messageDiv = document.getElementById('message');
160 messageDiv.innerText = message; 146 messageDiv.innerText = message;
161 147
162 this.updateSize_(); 148 base.resizeWindowToContent();
163 break; 149 break;
164 150
165 default: 151 default:
166 console.error('Unexpected message:', event.data); 152 console.error('Unexpected message:', event.data);
167 } 153 }
168 }; 154 };
169 155
170 var messageWindow = new MessageWindowImpl(); 156 var messageWindow = new MessageWindowImpl();
OLDNEW
« no previous file with comments | « remoting/webapp/base/js/ipc.js ('k') | remoting/webapp/crd/html/dialog_hangout_consent.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698