diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-05 01:06:51 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-05 01:06:51 +0000 |
commit | a24d9005a37c862e31aef15da691c9bcc582a560 (patch) | |
tree | 20142fe8dbdc2d28ee3e0092eb06eba3ab9f1107 | |
parent | 266d9d29a6f8dfbdcc9f199e719e065e079e65e0 (diff) | |
download | chromium_src-a24d9005a37c862e31aef15da691c9bcc582a560.zip chromium_src-a24d9005a37c862e31aef15da691c9bcc582a560.tar.gz chromium_src-a24d9005a37c862e31aef15da691c9bcc582a560.tar.bz2 |
uber extensions: add developer details
also tweak the timing of the trash lid animation
BUG=107323
TEST=manual
Review URL: http://codereview.chromium.org/8999007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116426 0039d316-1c4b-4281-b951-d872f2087c98
4 files changed, 100 insertions, 20 deletions
diff --git a/chrome/browser/resources/extensions/extension_list.js b/chrome/browser/resources/extensions/extension_list.js index 478c492..0da6cc0 100644 --- a/chrome/browser/resources/extensions/extension_list.js +++ b/chrome/browser/resources/extensions/extension_list.js @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. @@ -109,8 +109,17 @@ cr.define('options', function() { var description = node.querySelector('.extension-description'); description.textContent = extension.description; + // The 'Show Browser Action' button. + if (extension.enable_show_button) { + var showButton = node.querySelector('.show-button'); + showButton.addEventListener('click', function(e) { + chrome.send('extensionSettingsShowButton', [extension.id]); + }); + showButton.hidden = false; + } + // The 'allow in incognito' checkbox. - var incognito = node.querySelector('.incognito-checkbox'); + var incognito = node.querySelector('.incognito-control'); incognito.addEventListener('click', function(e) { var butterBar = node.querySelector('.butter-bar'); var checked = e.target.checked; @@ -121,15 +130,14 @@ cr.define('options', function() { incognito.querySelector('input').checked = extension.enabledIncognito; // The 'allow file:// access' checkbox. - var fileAccess = node.querySelector('.file-access-checkbox'); if (extension.wantsFileAccess) { + var fileAccess = node.querySelector('.file-access-control'); fileAccess.addEventListener('click', function(e) { chrome.send('extensionSettingsAllowFileAccess', [extension.id, String(e.target.checked)]); }); fileAccess.querySelector('input').checked = extension.allowFileAccess; - } else { - fileAccess.hidden = true; + fileAccess.hidden = false; } // The 'Options' checkbox. @@ -140,20 +148,19 @@ cr.define('options', function() { }); // The 'View in Web Store' checkbox. - var store = node.querySelector('.store-link'); - if (extension.homepageUrl) + if (extension.homepageUrl) { + var store = node.querySelector('.store-link'); store.href = extension.homepageUrl; - else - store.hidden = true; + store.hidden = false; + } // The 'Reload' checkbox. - var reload = node.querySelector('.reload-link'); if (extension.allow_reload) { + var reload = node.querySelector('.reload-link'); reload.addEventListener('click', function(e) { chrome.send('extensionSettingsReload', [extension.id]); }); - } else { - reload.hidden = true; + reload.hidden = false; } if (!extension.terminated) { @@ -188,6 +195,54 @@ cr.define('options', function() { }); node.querySelector('.enable-controls').appendChild(trash); + // Developer mode details. + if (this.data_.developerMode) { + // First we have the id. + var idLabel = node.querySelector('.extension-id'); + idLabel.textContent = ' ' + extension.id; + + // Then the path, if provided by unpacked extension. + if (extension.isUnpacked) { + var loadPath = node.querySelector('.load-path'); + loadPath.hidden = false; + loadPath.querySelector('span:nth-of-type(2)').textContent = + ' ' + extension.path; + } + + // Then the 'managed, cannot uninstall/disable' message. + if (!extension.mayDisable) + node.querySelector('.managed-message').hidden = false; + + // Then active views. + if (extension.views.length > 0) { + var activeViews = node.querySelector('.active-views'); + activeViews.hidden = false; + var link = activeViews.querySelector('a'); + + for (var i = 0; i < extension.views.length; ++i) { + var view = extension.views[i]; + + var label = view.path + (view.incognito ? + ' ' + localStrings.getString('viewIncognito') : ''); + link.textContent = label; + link.addEventListener('click', function(e) { + // TODO(estade): remove conversion to string? + chrome.send('extensionSettingsInspect', [ + String(view.renderProcessId), + String(view.renderViewId) + ]); + }); + + if (i < extension.views.length - 1) { + link = link.cloneNode(true); + activeViews.appendChild(link); + } + } + } + + node.querySelector('.developer-extras').hidden = false; + } + this.appendChild(node); }, }; diff --git a/chrome/browser/resources/extensions/extensions.css b/chrome/browser/resources/extensions/extensions.css index cd1fde6..473c8b4 100644 --- a/chrome/browser/resources/extensions/extensions.css +++ b/chrome/browser/resources/extensions/extensions.css @@ -1,5 +1,5 @@ /* -Copyright (c) 2011 The Chromium Authors. All rights reserved. +Copyright (c) 2012 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. */ @@ -128,6 +128,11 @@ body { -webkit-margin-end: 2em; } +.extension-list-item a { + -webkit-margin-start: 0.5em; + display: inline-block; +} + /* Trash */ .trash { diff --git a/chrome/browser/resources/extensions/extensions.html b/chrome/browser/resources/extensions/extensions.html index 5852c95..3426c99 100644 --- a/chrome/browser/resources/extensions/extensions.html +++ b/chrome/browser/resources/extensions/extensions.html @@ -79,21 +79,40 @@ <span class="extension-version"></span> </div> <div class="extension-description"></div> + <div class="developer-extras" hidden> + <div> + <span i18n-content="extensionSettingsExtensionId"></span> + <span class="extension-id"></span> + </div> + <div class="load-path" hidden> + <span i18n-content="extensionSettingsExtensionPath"></span> + <span></span> + </div> + <div class="managed-message" + i18n-content="extensionSettingsPolicyControlled" hidden> + </div> + <div class="active-views" hidden> + <span i18n-content="extensionSettingsInspectViews"></span> + <a href="#"></a> + </div> + </div> <div class="optional-controls"> - <label class="incognito-checkbox"> + <button class="show-button" + i18n-content="extensionSettingsShowButton" hidden ></button> + <label class="incognito-control"> <input type="checkbox"></input> <span i18n-content="extensionSettingsEnableIncognito"></span> </label> - <label class="file-access-checkbox"> + <label class="file-access-control" hidden> <input type="checkbox"></input> <span i18n-content="extensionSettingsAllowFileAccess"></span> </label> <a class="options-link" i18n-content="extensionSettingsOptions" href="#"></a> - <a class="store-link" i18n-content="extensionSettingsVisitWebsite"> - </a> + <a class="store-link" i18n-content="extensionSettingsVisitWebsite" + hidden></a> <a class="reload-link" i18n-content="extensionSettingsReload" - href="#"></a> + href="#" hidden></a> </div> <div class="butter-bar" i18n-values=".innerHTML:extensionSettingsIncognitoWarning" hidden> diff --git a/chrome/browser/resources/shared/css/trash.css b/chrome/browser/resources/shared/css/trash.css index ac9f1dc..59ee746 100644 --- a/chrome/browser/resources/shared/css/trash.css +++ b/chrome/browser/resources/shared/css/trash.css @@ -1,4 +1,4 @@ -/* Copyright (c) 2011 The Chromium Authors. All rights reserved. +/* Copyright (c) 2012 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. */ @@ -25,7 +25,7 @@ } .trash > .lid { - -webkit-transition: -webkit-transform 200ms; + -webkit-transition: -webkit-transform 150ms; -webkit-transform-origin: -7% 100%; height: 6px; width: 14px; @@ -37,6 +37,7 @@ html[dir='rtl'] .trash > .lid { .trash:focus > .lid, .trash:hover > .lid { + -webkit-transition: -webkit-transform 250ms; -webkit-transform: rotate(-45deg); } |