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

Unified 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: address review feedback 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 side-by-side diff with in-line comments
Download patch
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
new file mode 100644
index 0000000000000000000000000000000000000000..d341a7a514879638aa546433b57241e0f3264ab7
--- /dev/null
+++ b/chrome/browser/resources/new_tab_sync_promo.js
@@ -0,0 +1,130 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+cr.define('new_tab', function() {
+ /**
+ * NewTabSyncPromo class
+ * Subclass of options.SyncSetupOverlay that customizes the sync setup
+ * overlay for use in the new tab page.
+ * @class
+ */
+ function NewTabSyncPromo() {
+ options.SyncSetupOverlay.call(this, 'syncSetup',
+ templateData.syncSetupOverlayTitle,
+ 'sync-setup-overlay');
+ }
+
+ cr.addSingletonGetter(NewTabSyncPromo);
+
+ NewTabSyncPromo.prototype = {
+ __proto__: options.SyncSetupOverlay.prototype,
+
+ // Variable to track if the promo is expanded or collapsed.
+ isSyncPromoExpanded_: false,
+
+ showOverlay_: function() {
+ this.expandSyncPromo_(true);
+ },
+
+ // Initializes the page.
+ initializePage: function() {
+ options.SyncSetupOverlay.prototype.initializePage.call(this);
+ var self = this;
+ $('sync-promo-toggle-button').onclick = function() {
sail 2011/07/20 19:40:25 I needed to change the handler back to an anonymou
+ self.onTogglePromo();
+ }
+ chrome.send('InitializeSyncPromo');
+ },
+
+ // Handler for the toggle button to show or hide the sync promo.
+ onTogglePromo: function() {
+ if (this.isSyncPromoExpanded_) {
+ this.expandSyncPromo_(false);
+ chrome.send('CollapseSyncPromo');
+ } else {
+ chrome.send('ExpandSyncPromo');
+ }
+ },
+
+ // Shows or hides the sync promo.
+ expandSyncPromo_: function(shouldExpand) {
+ this.isSyncPromoExpanded_ = shouldExpand;
+ if (shouldExpand) {
+ $('sync-promo-login-status').hidden = true;
+ $('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();
+ },
+
+ // Sets the sync login name. If there's no login name then makes the
+ // 'not connected' UI visible and shows the sync promo toggle button.
+ 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();
+ },
+
+ // Shows the sync promo.
+ showSyncPromo_: function() {
+ $('sync-promo').hidden = false;
+ },
+ };
+
+ NewTabSyncPromo.showErrorUI = function() {
+ NewTabSyncPromo.getInstance().showErrorUI_();
+ };
+
+ NewTabSyncPromo.showSetupUI = function() {
+ NewTabSyncPromo.getInstance().showSetupUI_();
+ };
+
+ NewTabSyncPromo.showSyncSetupPage = function(page, args) {
+ NewTabSyncPromo.getInstance().showSyncSetupPage_(page, args);
+ };
+
+ NewTabSyncPromo.showSuccessAndClose = function() {
+ NewTabSyncPromo.getInstance().showSuccessAndClose_();
+ };
+
+ NewTabSyncPromo.showSuccessAndSettingUp = function() {
+ NewTabSyncPromo.getInstance().showSuccessAndSettingUp_();
+ };
+
+ NewTabSyncPromo.showStopSyncingUI = function() {
+ NewTabSyncPromo.getInstance().showStopSyncingUI_();
+ };
+
+ NewTabSyncPromo.initialize = function() {
+ NewTabSyncPromo.getInstance().initializePage();
+ }
+
+ NewTabSyncPromo.showSyncPromo = function() {
+ NewTabSyncPromo.getInstance().showSyncPromo_();
+ }
+
+ NewTabSyncPromo.updateLogin = function(user_name) {
+ NewTabSyncPromo.getInstance().updateLogin_(user_name);
+ }
+
+ // Export
+ return {
+ NewTabSyncPromo : NewTabSyncPromo
+ };
+});
+
+var OptionsPage = options.OptionsPage;
+var SyncSetupOverlay = new_tab.NewTabSyncPromo;
+window.addEventListener('DOMContentLoaded', new_tab.NewTabSyncPromo.initialize);
« no previous file with comments | « chrome/browser/resources/new_tab_sync_promo.css ('k') | chrome/browser/resources/options/google-transparent.png » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698