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

Side by Side Diff: chrome/browser/resources/new_tab_sync_promo.js

Issue 7399015: Sync Promo: Add a way to collapse the sync promo (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove extra changes Created 9 years, 5 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
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 cr.define('new_tab', function() { 5 cr.define('new_tab', function() {
6 // Variable to track if the promo is expanded or collapsed.
7 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.
6 8
7 /** 9 /**
8 * NewTabSyncPromo class 10 * NewTabSyncPromo class
9 * Subclass of options.SyncSetupOverlay that customizes the sync setup 11 * Subclass of options.SyncSetupOverlay that customizes the sync setup
10 * overlay for use in the new tab page. 12 * overlay for use in the new tab page.
11 * @class 13 * @class
12 */ 14 */
13 function NewTabSyncPromo() { 15 function NewTabSyncPromo() {
14 options.SyncSetupOverlay.call(this, 'syncSetup', 16 options.SyncSetupOverlay.call(this, 'syncSetup',
15 templateData.syncSetupOverlayTitle, 17 templateData.syncSetupOverlayTitle,
16 'sync-setup-overlay'); 18 'sync-setup-overlay');
17 } 19 }
18 20
19 cr.addSingletonGetter(NewTabSyncPromo); 21 cr.addSingletonGetter(NewTabSyncPromo);
20 22
21 NewTabSyncPromo.prototype = { 23 NewTabSyncPromo.prototype = {
22 __proto__: options.SyncSetupOverlay.prototype, 24 __proto__: options.SyncSetupOverlay.prototype,
23 25
24 showOverlay_: function() { 26 showOverlay_: function() {
25 $('sync-setup-overlay').hidden = false; 27 this.expandSyncPromo_(true);
26 }, 28 },
27 29
28 initializePage: function() { 30 initializePage: function() {
29 options.SyncSetupOverlay.prototype.initializePage.call(this); 31 options.SyncSetupOverlay.prototype.initializePage.call(this);
30 chrome.send('SyncSetupAttachHandler'); 32
33 var self = this;
34 $('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.
35 self.onTogglePromo();
36 };
37
38 chrome.send('InitializeSyncPromo');
31 }, 39 },
32 40
33 showOverlay_: function() { 41 onTogglePromo: function() {
James Hawkins 2011/07/18 02:37:36 Document all functions.
sail 2011/07/20 01:30:46 Done.
34 $('sync-setup-overlay').hidden = false; 42 if (this.isExpanded_) {
43 this.expandSyncPromo_(false);
44 chrome.send('CollapseSyncPromo');
45 } else {
46 chrome.send('ExpandSyncPromo');
47 }
35 }, 48 },
49
50 expandSyncPromo_: function(shouldExpand) {
51 this.isExpanded_ = shouldExpand;
52 if (shouldExpand) {
53 $('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
54 $('sync-setup-overlay').hidden = false;
55 $('sync-promo').classList.remove('collapsed');
56 } else {
57 $('sync-promo-login-status').hidden = false;
58 $('sync-setup-overlay').hidden = true;
59 $('sync-promo').classList.add('collapsed');
60 }
61 layoutSections();
62 },
63
64 updateLogin_: function(user_name) {
65 if (user_name) {
66 $('sync-promo-toggle').hidden = true;
67 $('sync-promo-user-name').textContent = user_name;
68 $('sync-promo-not-connected').hidden = true;
69 } else {
70 $('sync-promo-toggle').hidden = false;
71 $('sync-promo-user-name').hidden = true;
72 $('sync-promo-not-connected').hidden = false;
73 }
74 layoutSections();
75 }
36 }; 76 };
37 77
38 NewTabSyncPromo.showErrorUI = function() { 78 NewTabSyncPromo.showErrorUI = function() {
39 NewTabSyncPromo.getInstance().showErrorUI_(); 79 NewTabSyncPromo.getInstance().showErrorUI_();
40 }; 80 };
41 81
42 NewTabSyncPromo.showSetupUI = function() { 82 NewTabSyncPromo.showSetupUI = function() {
43 NewTabSyncPromo.getInstance().showSetupUI_(); 83 NewTabSyncPromo.getInstance().showSetupUI_();
44 }; 84 };
45 85
(...skipping 10 matching lines...) Expand all
56 }; 96 };
57 97
58 NewTabSyncPromo.showStopSyncingUI = function() { 98 NewTabSyncPromo.showStopSyncingUI = function() {
59 NewTabSyncPromo.getInstance().showStopSyncingUI_(); 99 NewTabSyncPromo.getInstance().showStopSyncingUI_();
60 }; 100 };
61 101
62 NewTabSyncPromo.initialize = function() { 102 NewTabSyncPromo.initialize = function() {
63 NewTabSyncPromo.getInstance().initializePage(); 103 NewTabSyncPromo.getInstance().initializePage();
64 } 104 }
65 105
106 NewTabSyncPromo.showSynPromo = function() {
107 $('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.
108 }
109
110 NewTabSyncPromo.updateLogin = function(user_name) {
111 NewTabSyncPromo.getInstance().updateLogin_(user_name);
112 }
113
66 // Export 114 // Export
67 return { 115 return {
68 NewTabSyncPromo : NewTabSyncPromo 116 NewTabSyncPromo : NewTabSyncPromo
69 }; 117 };
70 }); 118 });
71 119
72 var OptionsPage = options.OptionsPage; 120 var OptionsPage = options.OptionsPage;
73 var SyncSetupOverlay = new_tab.NewTabSyncPromo; 121 var SyncSetupOverlay = new_tab.NewTabSyncPromo;
74 window.addEventListener('DOMContentLoaded', new_tab.NewTabSyncPromo.initialize); 122 window.addEventListener('DOMContentLoaded', new_tab.NewTabSyncPromo.initialize);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698