Index: chrome/browser/resources/new_tab_sync_promo.js |
diff --git a/chrome/browser/resources/new_tab_sync_promo.js b/chrome/browser/resources/new_tab_sync_promo.js |
index df8887c8596eef7ce162590c633bb5c8a675a313..f4d5e150b711b470fd901b245dee16f8bb6163b5 100644 |
--- a/chrome/browser/resources/new_tab_sync_promo.js |
+++ b/chrome/browser/resources/new_tab_sync_promo.js |
@@ -3,6 +3,8 @@ |
// found in the LICENSE file. |
cr.define('new_tab', function() { |
+ // Variable to track if the promo is expanded or collapsed. |
+ var isExpanded_ = false; |
James Hawkins
2011/07/18 02:37:36
Var name not descriptive enough for the context. i
sail
2011/07/20 01:30:46
Done.
|
/** |
* NewTabSyncPromo class |
@@ -22,17 +24,55 @@ cr.define('new_tab', function() { |
__proto__: options.SyncSetupOverlay.prototype, |
showOverlay_: function() { |
- $('sync-setup-overlay').hidden = false; |
+ this.expandSyncPromo_(true); |
}, |
initializePage: function() { |
options.SyncSetupOverlay.prototype.initializePage.call(this); |
- chrome.send('SyncSetupAttachHandler'); |
+ |
+ var self = this; |
+ $('sync-promo-toggle-button').onclick = function() { |
James Hawkins
2011/07/18 02:37:36
onclick = this.onTogglePromo;
sail
2011/07/20 01:30:46
Done.
|
+ self.onTogglePromo(); |
+ }; |
+ |
+ chrome.send('InitializeSyncPromo'); |
}, |
- showOverlay_: function() { |
- $('sync-setup-overlay').hidden = false; |
+ onTogglePromo: function() { |
James Hawkins
2011/07/18 02:37:36
Document all functions.
sail
2011/07/20 01:30:46
Done.
|
+ if (this.isExpanded_) { |
+ this.expandSyncPromo_(false); |
+ chrome.send('CollapseSyncPromo'); |
+ } else { |
+ chrome.send('ExpandSyncPromo'); |
+ } |
+ }, |
+ |
+ expandSyncPromo_: function(shouldExpand) { |
+ this.isExpanded_ = shouldExpand; |
+ if (shouldExpand) { |
+ $('sync-promo-login-status').hidden = true; |
James Hawkins
2011/07/18 02:37:36
These hide/shows should be animated (specified in
sail
2011/07/20 01:30:46
Mind if I do this in a separate change? This UI is
|
+ $('sync-setup-overlay').hidden = false; |
+ $('sync-promo').classList.remove('collapsed'); |
+ } else { |
+ $('sync-promo-login-status').hidden = false; |
+ $('sync-setup-overlay').hidden = true; |
+ $('sync-promo').classList.add('collapsed'); |
+ } |
+ layoutSections(); |
}, |
+ |
+ updateLogin_: function(user_name) { |
+ if (user_name) { |
+ $('sync-promo-toggle').hidden = true; |
+ $('sync-promo-user-name').textContent = user_name; |
+ $('sync-promo-not-connected').hidden = true; |
+ } else { |
+ $('sync-promo-toggle').hidden = false; |
+ $('sync-promo-user-name').hidden = true; |
+ $('sync-promo-not-connected').hidden = false; |
+ } |
+ layoutSections(); |
+ } |
}; |
NewTabSyncPromo.showErrorUI = function() { |
@@ -63,6 +103,14 @@ cr.define('new_tab', function() { |
NewTabSyncPromo.getInstance().initializePage(); |
} |
+ NewTabSyncPromo.showSynPromo = function() { |
+ $('sync-promo').hidden = false; |
James Hawkins
2011/07/18 02:37:36
Delegate to a private method in NewTabSyncPromo, a
sail
2011/07/20 01:30:46
Done.
|
+ } |
+ |
+ NewTabSyncPromo.updateLogin = function(user_name) { |
+ NewTabSyncPromo.getInstance().updateLogin_(user_name); |
+ } |
+ |
// Export |
return { |
NewTabSyncPromo : NewTabSyncPromo |