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

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

Issue 265563004: Add a note to chrome://extensions to explain when an extension has been... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add enum Created 6 years, 7 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 <include src="extension_error.js"></include> 5 <include src="extension_error.js"></include>
6 6
7 cr.define('options', function() { 7 cr.define('options', function() {
8 'use strict'; 8 'use strict';
9 9
10 /** 10 /**
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 '.extension-list-item-wrapper'); 81 '.extension-list-item-wrapper');
82 var node = template.cloneNode(true); 82 var node = template.cloneNode(true);
83 node.id = extension.id; 83 node.id = extension.id;
84 84
85 if (!extension.enabled || extension.terminated) 85 if (!extension.enabled || extension.terminated)
86 node.classList.add('inactive-extension'); 86 node.classList.add('inactive-extension');
87 87
88 if (extension.managedInstall) { 88 if (extension.managedInstall) {
89 node.classList.add('may-not-modify'); 89 node.classList.add('may-not-modify');
90 node.classList.add('may-not-remove'); 90 node.classList.add('may-not-remove');
91 } else if (extension.suspiciousInstall) { 91 } else if (extension.suspiciousInstall || extension.corruptInstall) {
92 node.classList.add('may-not-modify'); 92 node.classList.add('may-not-modify');
93 } 93 }
94 94
95 var idToHighlight = this.getIdQueryParam_(); 95 var idToHighlight = this.getIdQueryParam_();
96 if (node.id == idToHighlight) 96 if (node.id == idToHighlight)
97 node.classList.add('extension-highlight'); 97 node.classList.add('extension-highlight');
98 98
99 var item = node.querySelector('.extension-list-item'); 99 var item = node.querySelector('.extension-list-item');
100 // Prevent the image cache of extension icon by using the reloaded 100 // Prevent the image cache of extension icon by using the reloaded
101 // timestamp as a query string. The timestamp is recorded when the user 101 // timestamp as a query string. The timestamp is recorded when the user
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 chrome.send('extensionSettingsLaunch', [extension.id]); 216 chrome.send('extensionSettingsLaunch', [extension.id]);
217 }); 217 });
218 launch.hidden = false; 218 launch.hidden = false;
219 } 219 }
220 } 220 }
221 221
222 if (!extension.terminated) { 222 if (!extension.terminated) {
223 // The 'Enabled' checkbox. 223 // The 'Enabled' checkbox.
224 var enable = node.querySelector('.enable-checkbox'); 224 var enable = node.querySelector('.enable-checkbox');
225 enable.hidden = false; 225 enable.hidden = false;
226 enable.querySelector('input').disabled = extension.managedInstall || 226 var hosedExtension =
asargent_no_longer_on_chrome 2014/05/02 16:53:40 nice variable name!
227 extension.suspiciousInstall; 227 extension.suspiciousInstall || extension.corruptInstall;
228 enable.querySelector('input').disabled =
229 extension.managedInstall || hosedExtension;
Bernhard Bauer 2014/05/05 11:27:18 You could probably extract this into a variable th
Finnur 2014/05/05 13:02:02 Done. Antony won't be happy I ruined his favorite
228 230
229 if (!extension.managedInstall && !extension.suspiciousInstall) { 231 if (!extension.managedInstall && !hosedExtension) {
230 enable.addEventListener('click', function(e) { 232 enable.addEventListener('click', function(e) {
231 // When e.target is the label instead of the checkbox, it doesn't 233 // When e.target is the label instead of the checkbox, it doesn't
232 // have the checked property and the state of the checkbox is 234 // have the checked property and the state of the checkbox is
233 // left unchanged. 235 // left unchanged.
234 var checked = e.target.checked; 236 var checked = e.target.checked;
235 if (checked == undefined) 237 if (checked == undefined)
236 checked = !e.currentTarget.querySelector('input').checked; 238 checked = !e.currentTarget.querySelector('input').checked;
237 chrome.send('extensionSettingsEnable', 239 chrome.send('extensionSettingsEnable',
238 [extension.id, checked ? 'true' : 'false']); 240 [extension.id, checked ? 'true' : 'false']);
239 241
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 if (extension.isUnpacked) { 277 if (extension.isUnpacked) {
276 var loadPath = node.querySelector('.load-path'); 278 var loadPath = node.querySelector('.load-path');
277 loadPath.hidden = false; 279 loadPath.hidden = false;
278 loadPath.querySelector('span:nth-of-type(2)').textContent = 280 loadPath.querySelector('span:nth-of-type(2)').textContent =
279 ' ' + extension.path; 281 ' ' + extension.path;
280 } 282 }
281 283
282 // Then the 'managed, cannot uninstall/disable' message. 284 // Then the 'managed, cannot uninstall/disable' message.
283 if (extension.managedInstall) { 285 if (extension.managedInstall) {
284 node.querySelector('.managed-message').hidden = false; 286 node.querySelector('.managed-message').hidden = false;
285 } else if (extension.suspiciousInstall) { 287 } else {
286 // Then the 'This isn't from the webstore, looks suspicious' message. 288 if (extension.suspiciousInstall) {
287 node.querySelector('.suspicious-install-message').hidden = false; 289 // Then the 'This isn't from the webstore, looks suspicious' message.
290 node.querySelector('.suspicious-install-message').hidden = false;
291 }
292 if (extension.corruptInstall) {
293 // Then the 'This is a corrupt extension' message.
294 node.querySelector('.corrupt-install-message').hidden = false;
295 }
288 } 296 }
289 297
290 // Then active views. 298 // Then active views.
291 if (extension.views.length > 0) { 299 if (extension.views.length > 0) {
292 var activeViews = node.querySelector('.active-views'); 300 var activeViews = node.querySelector('.active-views');
293 activeViews.hidden = false; 301 activeViews.hidden = false;
294 var link = activeViews.querySelector('a'); 302 var link = activeViews.querySelector('a');
295 303
296 extension.views.forEach(function(view, i) { 304 extension.views.forEach(function(view, i) {
297 var displayName = view.generatedBackgroundPage ? 305 var displayName = view.generatedBackgroundPage ?
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 topScroll -= pad / 2; 373 topScroll -= pad / 2;
366 setScrollTopForDocument(document, topScroll); 374 setScrollTopForDocument(document, topScroll);
367 } 375 }
368 }, 376 },
369 }; 377 };
370 378
371 return { 379 return {
372 ExtensionsList: ExtensionsList 380 ExtensionsList: ExtensionsList
373 }; 381 };
374 }); 382 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698