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

Side by Side Diff: chrome/browser/resources/extensions/extension_list.js

Issue 1008973002: [Extensions UI] Update extensions page to use api methods for permissions prompt (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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
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 <include src="extension_error.js"> 5 <include src="extension_error.js">
6 6
7 /////////////////////////////////////////////////////////////////////////////// 7 ///////////////////////////////////////////////////////////////////////////////
8 // ExtensionFocusRow: 8 // ExtensionFocusRow:
9 9
10 /** 10 /**
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 * @private 165 * @private
166 */ 166 */
167 optionsShown_: false, 167 optionsShown_: false,
168 168
169 /** @private {!cr.ui.FocusGrid} */ 169 /** @private {!cr.ui.FocusGrid} */
170 focusGrid_: new cr.ui.FocusGrid(), 170 focusGrid_: new cr.ui.FocusGrid(),
171 171
172 /** 172 /**
173 * Indicates whether an uninstall dialog is being shown to prevent multiple 173 * Indicates whether an uninstall dialog is being shown to prevent multiple
174 * dialogs from being displayed. 174 * dialogs from being displayed.
175 * @type {boolean} 175 * @private {boolean}
176 * @private
177 */ 176 */
178 uninstallIsShowing_: false, 177 uninstallIsShowing_: false,
179 178
180 /** 179 /**
180 * Indicates whether a permissions prompt is showing.
181 * @private {boolean}
182 */
183 permissionsPromptIsShowing_: false,
184
185 /**
181 * Necessary to only show the butterbar once. 186 * Necessary to only show the butterbar once.
182 * @private {boolean} 187 * @private {boolean}
183 */ 188 */
184 butterbarShown_: false, 189 butterbarShown_: false,
185 190
186 decorate: function() { 191 decorate: function() {
187 chrome.developerPrivate.getExtensionsInfo( 192 chrome.developerPrivate.getExtensionsInfo(
188 {includeDisabled: true, includeTerminated: true}, 193 {includeDisabled: true, includeTerminated: true},
189 function(extensions) { 194 function(extensions) {
190 // Sort in order of unpacked vs. packed, followed by name, followed by 195 // Sort in order of unpacked vs. packed, followed by name, followed by
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 row.setupColumn('.options-button', 'options', 'click', function(e) { 373 row.setupColumn('.options-button', 'options', 'click', function(e) {
369 this.showEmbeddedExtensionOptions_(extension.id, false); 374 this.showEmbeddedExtensionOptions_(extension.id, false);
370 e.preventDefault(); 375 e.preventDefault();
371 }.bind(this)); 376 }.bind(this));
372 377
373 // The 'View in Web Store/View Web Site' link. 378 // The 'View in Web Store/View Web Site' link.
374 row.querySelector('.site-link').setAttribute('column-type', 'website'); 379 row.querySelector('.site-link').setAttribute('column-type', 'website');
375 380
376 // The 'Permissions' link. 381 // The 'Permissions' link.
377 row.setupColumn('.permissions-link', 'details', 'click', function(e) { 382 row.setupColumn('.permissions-link', 'details', 'click', function(e) {
378 chrome.send('extensionSettingsPermissions', [extension.id]); 383 if (!this.permissionsPromptIsShowing_) {
384 chrome.developerPrivate.showPermissionsDialog(extension.id,
385 function() {
386 this.permissionsPromptIsShowing_ = false;
387 }.bind(this));
388 this.permissionsPromptIsShowing_ = true;
389 }
379 e.preventDefault(); 390 e.preventDefault();
380 }); 391 });
381 392
382 // The 'Reload' link. 393 // The 'Reload' link.
383 row.setupColumn('.reload-link', 'localReload', 'click', function(e) { 394 row.setupColumn('.reload-link', 'localReload', 'click', function(e) {
384 chrome.developerPrivate.reload(extension.id, {failQuietly: true}); 395 chrome.developerPrivate.reload(extension.id, {failQuietly: true});
385 extensionReloadedTimestamp[extension.id] = Date.now(); 396 extensionReloadedTimestamp[extension.id] = Date.now();
386 }); 397 });
387 398
388 // The 'Launch' link. 399 // The 'Launch' link.
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
903 // TODO(dbeam): why do we need to focus <extensionoptions> before and 914 // TODO(dbeam): why do we need to focus <extensionoptions> before and
904 // after its showing animation? Makes very little sense to me. 915 // after its showing animation? Makes very little sense to me.
905 overlay.setInitialFocus(); 916 overlay.setInitialFocus();
906 }, 917 },
907 }; 918 };
908 919
909 return { 920 return {
910 ExtensionList: ExtensionList 921 ExtensionList: ExtensionList
911 }; 922 };
912 }); 923 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698