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

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

Issue 10818031: Alternative GDrive promo for the File Manager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Some tweaks Created 8 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 /** 5 /**
6 * FileManager constructor. 6 * FileManager constructor.
7 * 7 *
8 * FileManager objects encapsulate the functionality of the file selector 8 * FileManager objects encapsulate the functionality of the file selector
9 * dialogs, as well as the full screen file manager application (though the 9 * dialogs, as well as the full screen file manager application (though the
10 * latter is not yet implemented). 10 * latter is not yet implemented).
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 var DOWNLOADS_FAQ_URL = 74 var DOWNLOADS_FAQ_URL =
75 'http://support.google.com/chromeos/bin/answer.py?answer=1061547'; 75 'http://support.google.com/chromeos/bin/answer.py?answer=1061547';
76 76
77 /** 77 /**
78 * Location of the FAQ about Google Drive. 78 * Location of the FAQ about Google Drive.
79 */ 79 */
80 var GOOGLE_DRIVE_FAQ_URL = 80 var GOOGLE_DRIVE_FAQ_URL =
81 'https://support.google.com/chromeos/?p=filemanager_drive'; 81 'https://support.google.com/chromeos/?p=filemanager_drive';
82 82
83 /** 83 /**
84 * Location of the Chromebook information page.
85 */
86 var CHROMEBOOK_INFO_URL = 'http://google.com/chromebook';
87
88 /**
84 * Location of the page to buy more storage for Google Drive. 89 * Location of the page to buy more storage for Google Drive.
85 */ 90 */
86 var GOOGLE_DRIVE_BUY_STORAGE = 91 var GOOGLE_DRIVE_BUY_STORAGE =
87 'https://www.google.com/settings/storage'; 92 'https://www.google.com/settings/storage';
88 93
89 /** 94 /**
90 * Location of Google Drive specific help. 95 * Location of Google Drive specific help.
91 */ 96 */
92 var GOOGLE_DRIVE_HELP = 97 var GOOGLE_DRIVE_HELP =
93 'https://support.google.com/chromeos/?p=filemanager_drivehelp'; 98 'https://support.google.com/chromeos/?p=filemanager_drivehelp';
(...skipping 3930 matching lines...) Expand 10 before | Expand all | Expand 10 after
4024 }; 4029 };
4025 4030
4026 FileManager.prototype.showGDataWelcome_ = function(type) { 4031 FileManager.prototype.showGDataWelcome_ = function(type) {
4027 if (this.dialogContainer_.getAttribute('gdrive-welcome') != type) { 4032 if (this.dialogContainer_.getAttribute('gdrive-welcome') != type) {
4028 this.dialogContainer_.setAttribute('gdrive-welcome', type); 4033 this.dialogContainer_.setAttribute('gdrive-welcome', type);
4029 this.requestResize_(200); // Resize only after the animation is done. 4034 this.requestResize_(200); // Resize only after the animation is done.
4030 } 4035 }
4031 }; 4036 };
4032 4037
4033 FileManager.prototype.createGDataWelcomeHandler_ = function() { 4038 FileManager.prototype.createGDataWelcomeHandler_ = function() {
4039 var board = str('CHROMEOS_RELEASE_BOARD');
4040 var new_welcome = board.match(/^(stumpy|lumpy)/i);
4041
4034 var WELCOME_HEADER_COUNTER_KEY = 'gdataWelcomeHeaderCounter'; 4042 var WELCOME_HEADER_COUNTER_KEY = 'gdataWelcomeHeaderCounter';
4035 var WELCOME_HEADER_COUNTER_LIMIT = 5; 4043 var WELCOME_HEADER_COUNTER_LIMIT = 5;
4036 4044
4037 function getHeaderCounter() { 4045 function getHeaderCounter() {
4038 return parseInt(localStorage[WELCOME_HEADER_COUNTER_KEY] || '0'); 4046 return parseInt(localStorage[WELCOME_HEADER_COUNTER_KEY] || '0');
4039 } 4047 }
4040 4048
4041 if (getHeaderCounter() >= WELCOME_HEADER_COUNTER_LIMIT) 4049 if (getHeaderCounter() >= WELCOME_HEADER_COUNTER_LIMIT)
4042 return null; 4050 return null;
4043 4051
(...skipping 25 matching lines...) Expand all
4069 4077
4070 var wrapper = createDiv('gdrive-welcome-wrapper', container); 4078 var wrapper = createDiv('gdrive-welcome-wrapper', container);
4071 createDiv('gdrive-welcome-icon', wrapper); 4079 createDiv('gdrive-welcome-icon', wrapper);
4072 4080
4073 var close = createDiv('cr-dialog-close', wrapper); 4081 var close = createDiv('cr-dialog-close', wrapper);
4074 close.addEventListener('click', closeBanner); 4082 close.addEventListener('click', closeBanner);
4075 4083
4076 var message = createDiv('gdrive-welcome-message', wrapper); 4084 var message = createDiv('gdrive-welcome-message', wrapper);
4077 4085
4078 var title = createDiv('gdrive-welcome-title', message); 4086 var title = createDiv('gdrive-welcome-title', message);
4079 title.textContent = str('GDATA_WELCOME_TITLE');
4080 4087
4081 var text = createDiv('gdrive-welcome-text', message); 4088 var text = createDiv('gdrive-welcome-text', message);
4082 text.innerHTML = str(messageId); 4089 text.innerHTML = str(messageId);
4083 4090
4084 var links = createDiv('gdrive-welcome-links', message); 4091 var links = createDiv('gdrive-welcome-links', message);
4085 4092
4086 var more = createDiv('gdrive-welcome-more plain-link', links); 4093 var more;
4087 more.textContent = str('GDATA_LEARN_MORE'); 4094 if (new_welcome) {
4088 more.addEventListener('click', 4095 title.textContent = str('GDATA_WELCOME_TITLE_ALTERNATIVE');
4089 self.onExternalLinkClick_.bind(self, GOOGLE_DRIVE_FAQ_URL)); 4096 more = self.document_.createElement('a');
4097 more.className = 'gdata-welcome-button gdata-welcome-start';
4098 more.textContent = str('GDATA_WELCOME_GET_STARTED');
4099 more.addEventListener('click',
4100 self.onExternalLinkClick_.bind(self, CHROMEBOOK_INFO_URL));
4101 } else {
4102 title.textContent = str('GDATA_WELCOME_TITLE');
4103 more = self.document_.createElement('div');
4104 more.className = 'plain-link';
4105 more.textContent = str('GDATA_LEARN_MORE');
4106 more.addEventListener('click',
4107 self.onExternalLinkClick_.bind(self, GOOGLE_DRIVE_FAQ_URL));
4108 }
4109 links.appendChild(more);
4090 4110
4091 var dismiss = createDiv('gdrive-welcome-dismiss plain-link', links); 4111 var dismiss;
4112 if (new_welcome) {
4113 dismiss = self.document_.createElement('a');
4114 dismiss.className = 'gdata-welcome-button';
4115 } else {
4116 dismiss = self.document_.createElement('div');
4117 dismiss.className = 'plain-link';
4118 }
4119 dismiss.classList.add('gdrive-welcome-dismiss');
4092 dismiss.textContent = str('GDATA_WELCOME_DISMISS'); 4120 dismiss.textContent = str('GDATA_WELCOME_DISMISS');
4093 dismiss.addEventListener('click', closeBanner); 4121 dismiss.addEventListener('click', closeBanner);
4122 links.appendChild(dismiss);
4094 } 4123 }
4095 4124
4096 var previousDirWasOnGData = false; 4125 var previousDirWasOnGData = false;
4097 4126
4098 function maybeShowBanner() { 4127 function maybeShowBanner() {
4099 if (!self.isOnGData()) { 4128 if (!self.isOnGData()) {
4100 self.showGDataWelcome_('none'); 4129 self.showGDataWelcome_('none');
4101 previousDirWasOnGData = false; 4130 previousDirWasOnGData = false;
4102 return; 4131 return;
4103 } 4132 }
(...skipping 22 matching lines...) Expand all
4126 } 4155 }
4127 previousDirWasOnGData = true; 4156 previousDirWasOnGData = true;
4128 } 4157 }
4129 4158
4130 function closeBanner() { 4159 function closeBanner() {
4131 self.cleanupGDataWelcome_(); 4160 self.cleanupGDataWelcome_();
4132 // Stop showing the welcome banner. 4161 // Stop showing the welcome banner.
4133 localStorage[WELCOME_HEADER_COUNTER_KEY] = WELCOME_HEADER_COUNTER_LIMIT; 4162 localStorage[WELCOME_HEADER_COUNTER_KEY] = WELCOME_HEADER_COUNTER_LIMIT;
4134 } 4163 }
4135 4164
4136 return maybeShowBanner; 4165 function checkSpaceAndShowBanner() {
4166 if (new_welcome && self.isOnGData())
4167 chrome.fileBrowserPrivate.getSizeStats(self.getCurrentDirectoryURL(),
4168 function(result) {
4169 if (result.totalSizeKB >= 100 * 1024 * 1024) // Already >= 100 GB.
4170 new_welcome = false;
4171 maybeShowBanner();
4172 });
4173 else
4174 maybeShowBanner();
4175 }
4176
4177 return checkSpaceAndShowBanner;
4137 }; 4178 };
4138 4179
4139 /** 4180 /**
4140 * Listener invoked on gdata menu show event, to update gdata free/total 4181 * Listener invoked on gdata menu show event, to update gdata free/total
4141 * space info in opened menu. 4182 * space info in opened menu.
4142 * @private 4183 * @private
4143 */ 4184 */
4144 FileManager.prototype.onGDataMenuShow_ = function() { 4185 FileManager.prototype.onGDataMenuShow_ = function() {
4145 this.updateCommands_(); 4186 this.updateCommands_();
4146 this.gdataSpaceInfoBar_.setAttribute('pending', ''); 4187 this.gdataSpaceInfoBar_.setAttribute('pending', '');
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
4178 this.defaultActionMenuItem_.taskId = taskItem.taskId; 4219 this.defaultActionMenuItem_.taskId = taskItem.taskId;
4179 } 4220 }
4180 4221
4181 var defaultActionSeparator = 4222 var defaultActionSeparator =
4182 this.dialogDom_.querySelector('#default-action-separator'); 4223 this.dialogDom_.querySelector('#default-action-separator');
4183 4224
4184 this.defaultActionMenuItem_.hidden = !taskItem; 4225 this.defaultActionMenuItem_.hidden = !taskItem;
4185 defaultActionSeparator.hidden = !taskItem; 4226 defaultActionSeparator.hidden = !taskItem;
4186 } 4227 }
4187 })(); 4228 })();
OLDNEW
« no previous file with comments | « chrome/browser/resources/file_manager/css/gdrive_welcome.css ('k') | chrome/browser/resources/file_manager/js/mock_chrome.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698