Chromium Code Reviews| Index: chrome/browser/resources/md_extensions/item.html |
| diff --git a/chrome/browser/resources/md_extensions/item.html b/chrome/browser/resources/md_extensions/item.html |
| index 845f3186c8d71c3f43499dd09964d95b7e9bf851..c9da1137d8702022d61a9b79b9287e104efb7b6c 100644 |
| --- a/chrome/browser/resources/md_extensions/item.html |
| +++ b/chrome/browser/resources/md_extensions/item.html |
| @@ -31,21 +31,18 @@ |
| width: 36px; |
| } |
| - #card, |
| - #card-wrapper { |
| - min-height: 154px; |
| - width: 400px; |
| - } |
| - |
| - #card-wrapper { |
| + #card { |
| @apply(--shadow-elevation-2dp); |
| background: white; |
| - } |
| - |
| - #card { |
| display: flex; |
|
michaelpg
2017/02/23 04:22:08
Is there any convention you're using for when to u
Devlin
2017/02/23 19:09:21
I always use the raw css unless someone expresses
|
| flex-direction: column; |
| font-size: 13px; |
| + height: 160px; |
| + width: 400px; |
| + } |
| + |
| + #card.dev-mode { |
| + height: 208px; |
| } |
| #card.disabled { |
| @@ -55,27 +52,33 @@ |
| #main { |
| display: flex; |
| flex-grow: 1; |
| - padding: 16px; |
| + padding: 16px 20px 17px; |
| } |
| #content { |
| -webkit-margin-start: 24px; |
| + display: flex; |
| + flex-direction: column; |
| width: 100%; |
| } |
| #name-and-version { |
| + line-height: 15px; |
| margin-bottom: 4px; |
| } |
| #name { |
| -webkit-margin-end: 8px; |
| - color: var(--paper-grey-800); |
| + color: #333; |
| } |
| - #description { |
| + #description, |
| + #warnings { |
| + flex-grow: 1; |
| margin-bottom: 8px; |
| } |
| + #description, |
| #version, |
| #extension-id, |
| #inspect-views, |
| @@ -91,40 +94,44 @@ |
| #inspect-views paper-button { |
| color: var(--google-blue-700); |
| + height: 20px; |
| + padding: 0; |
| + text-transform: none; |
| } |
| #button-strip { |
| border-top: 1px solid var(--paper-grey-400); |
| + box-sizing: border-box; |
| + height: 48px; |
| + padding: 8px 20px 8px 4px; |
|
michaelpg
2017/02/23 04:22:08
make RTL-friendly
Devlin
2017/02/23 19:09:21
Done.
|
| } |
| #source-indicator { |
| - align-items: center; |
| - align-self: flex-end; |
| - border-radius: 0 2px; |
| - color: var(--paper-grey-800); |
| - display: flex; |
| - min-height: 32px; |
| - padding: 0 8px; |
| + -webkit-margin-start: 30px; |
| + margin-top: 30px; |
| position: absolute; |
| - white-space: nowrap; |
| } |
| #source-indicator iron-icon { |
| - height: 16px; |
| - width: 16px; |
| - } |
| - |
| - #source-indicator span { |
| - -webkit-margin-end: 8px; |
| - display: none; |
| + height: 22px; |
| + width: 22px; |
| } |
| - #source-indicator:hover { |
| - background-color: var(--paper-grey-700); |
| + #source-indicator-text { |
| + -webkit-margin-start: 11px; /* To align with the center of the icon. */ |
| + background: black; |
| + border-radius: 2px; |
| color: white; |
| + display: none; |
| + margin-top: 8px; |
| + opacity: 0.6; |
| + padding: 8px 12px; |
| + position: absolute; |
| + transform: translateX(-50%); /* Move back 50% of width so that the |
|
michaelpg
2017/02/23 04:22:08
nit: two spaces after ; (as above)
Devlin
2017/02/23 19:09:21
Done.
|
| + text and icon share an x-center. */ |
| } |
| - #source-indicator:hover span { |
| + #source-indicator:hover #source-indicator-text { |
| display: block; |
| } |
| @@ -136,115 +143,109 @@ |
| #button-strip paper-button { |
| align-items: center; |
| display: flex; |
| - margin: 4px; |
| + margin: 0 4px; |
| min-height: 32px; |
| padding: 0 12px; |
| text-transform: uppercase; |
| } |
| - #enable-toggle { |
| - -webkit-margin-end: 16px; |
| + .action-button { |
| + color: var(--google-blue-500); |
| } |
| - .warning { |
| - align-items: center; |
| - display: flex; |
| - font-size: 13px; |
| - justify-content: space-between; |
| - padding: 12px 16px; |
| - } |
| - |
| - .warning paper-button { |
| - -webkit-margin-start: 12px; |
| - align-items: center; |
| - display: flex; |
| - text-transform: uppercase; |
| - } |
| - |
| - .severe.warning { |
| - background-color: var(--paper-red-50); |
| - color: var(--paper-red-700); |
| - } |
| - |
| - .mild.warning { |
| - background-color: var(--paper-yellow-50); |
| - color: var(--paper-grey-600); |
| + #warnings { |
| + color: var(--google-red-700); |
| } |
| #blacklisted-warning:empty { |
| display: none; |
| } |
| </style> |
| - <div id="card-wrapper" class$="[[computeClasses_(data.state)]]"> |
| - <div id="card"> |
| + <div id="card" class$="[[computeClasses_(data.state, inDevMode)]]"> |
| + <div id="main"> |
| <template is="dom-if" |
| if="[[computeSourceIndicatorIcon_(data.*)]]"> |
| <div id="source-indicator"> |
| - <span>[[computeSourceIndicatorText_(data.*)]]</span> |
| <iron-icon icon="[[computeSourceIndicatorIcon_(data.*)]]"> |
| </iron-icon> |
| + <div id="source-indicator-text"> |
| + [[computeSourceIndicatorText_(data.*)]] |
| + </div> |
| </div> |
| </template> |
| - <div id="main"> |
| - <div id="icon-wrapper"> |
| - <img alt="" id="icon" src="[[data.iconUrl]]"> |
| - </div> |
| - <div id="content"> |
| - <div id="name-and-version" class="layout horizontal center"> |
| - <div id="name">[[data.name]]</div> |
| - <template is="dom-if" if="[[inDevMode]]"> |
| - <span id="version">[[data.version]]</span> |
| - </template> |
| - </div> |
| - <div id="description">[[data.description]]</div> |
| + <div id="icon-wrapper"> |
| + <img alt="" id="icon" src="[[data.iconUrl]]"> |
| + </div> |
| + <div id="content"> |
| + <div id="name-and-version" class="layout horizontal center"> |
| + <div id="name">[[data.name]]</div> |
| <template is="dom-if" if="[[inDevMode]]"> |
| - <div id="extension-id">[[data.id]]</div> |
| - <div id="inspect-views"> |
| - <span>$i18n{itemInspectViews}</span> |
| - <template is="dom-repeat" items="[[data.views]]"> |
| - <paper-button on-tap="onInspectTap_"> |
| - [[computeInspectLabel_(item)]] |
| - </paper-button> |
| - </template> |
| - </div> |
| - </div> |
| + <span id="version">[[data.version]]</span> |
| </template> |
| </div> |
| - </div> |
| - <div id="button-strip" class="layout horizontal"> |
| - <div class="layout flex horizontal center"> |
| - <paper-button id="details-button" on-tap="onDetailsTap_"> |
| - $i18n{itemDetails} |
| - </paper-button> |
| - <paper-button id="errors-button" on-tap="onErrorsTap_" |
| - hidden$="[[computeErrorsHidden_(data.*)]]"> |
| - $i18n{itemErrors} |
| - </paper-button> |
| - <paper-button id="remove-button" on-tap="onRemoveTap_"> |
| - $i18n{itemRemove} |
| - </paper-button> |
| + <div id="description" hidden$="[[hasWarnings_(data.*)]]"> |
| + [[data.description]] |
| </div> |
| - <paper-toggle-button id="enable-toggle" |
| - checked="[[isEnabled_(data.state)]]" on-change="onEnableChange_"> |
| - </paper-toggle-button> |
| + <div id="warnings" hidden$="[[!hasWarnings_(data.*)]]"> |
| + <div id="suspicious-warning" |
| + hidden$="[[!data.disableReasons.suspiciousInstall]]"> |
| + $i18n{itemSuspiciousInstall} |
| + </div> |
| + <div id="corrupted-warning" |
| + hidden$="[[!data.disableReasons.corruptInstall]]"> |
| + $i18n{itemCorruptInstall} |
| + </div> |
| + <div id="blacklisted-warning"><!-- No whitespace |
| + -->[[data.blacklistText]]<!-- so we can use :empty in css. |
| + --></div> |
| + </div> |
| + <template is="dom-if" if="[[inDevMode]]"> |
| + <div id="extension-id">[[data.id]]</div> |
| + <template is="dom-if" |
| + if="[[computeInspectViewsHidden_(data.views)]]"> |
|
michaelpg
2017/02/23 04:22:08
should this have a !, since it shows if it's not h
Devlin
2017/02/23 19:09:21
Yes, done. Funnily enough, my boolean dyslexia ca
|
| + <div id="inspect-views"> |
| + <span>$i18n{itemInspectViews}</span> |
| + <paper-button on-tap="onInspectTap_"> |
| + [[computeFirstInspectLabel_(data.views)]] |
| + </paper-button> |
| + <paper-button |
| + hidden$="[[computeExtraViewsHidden_(data.views)]]" |
| + on-tap="onExtraInspectTap_"> |
| + [[computeExtraInspectLabel_(data.views)]] |
| + </paper-button> |
| + </div> |
| + </template> |
| + </template> |
| </div> |
| </div> |
| - <template is="dom-if" if="[[hasWarnings_(data.*)]]"> |
| - <div id="suspicious-warning" class="warning mild" |
| - hidden$="[[!data.disableReasons.suspiciousInstall]]"> |
| - $i18n{itemSuspiciousInstall} |
| - </div> |
| - <div id="corrupted-warning" class="warning severe" |
| - hidden$="[[!data.disableReasons.corruptInstall]]"> |
| - <span>$i18n{itemCorruptInstall}</span> |
| - <paper-button id="repair-button" on-tap="onRepairTap_"> |
| - $i18n{itemRepair} |
| + <div id="button-strip" class="layout horizontal"> |
| + <div class="layout flex horizontal center"> |
| + <paper-button id="details-button" on-tap="onDetailsTap_"> |
| + $i18n{itemDetails} |
| + </paper-button> |
| + <paper-button id="remove-button" on-tap="onRemoveTap_"> |
| + $i18n{itemRemove} |
| + </paper-button> |
| + <paper-button id="errors-button" on-tap="onErrorsTap_" |
| + hidden$="[[computeErrorsHidden_(data.*)]]"> |
| + $i18n{itemErrors} |
| </paper-button> |
| </div> |
| - <div id="blacklisted-warning" class="warning severe"><!-- No whitespace |
| - -->[[data.blacklistText]]<!-- ... so we can use :empty in css |
| - --></div> |
| - </template> |
| + <paper-button id="repair-button" class="action-button" |
| + on-tap="onRepairTap_" |
| + hidden$="[[!data.disableReasons.corruptInstall]]"> |
| + $i18n{itemRepair} |
| + </paper-button> |
| + <paper-button id="reload-button" on-tap="onReloadTap_" |
| + class="action-button" |
| + hidden$="[[!isTerminated_(data.state)]]"> |
| + $i18n{itemReload} |
| + </paper-button> |
| + <paper-toggle-button id="enable-toggle" class="action-button" |
| + checked="[[isEnabled_(data.state)]]" on-change="onEnableChange_" |
| + hidden$="[[!showEnableToggle_(data.*)]]"> |
| + </paper-toggle-button> |
| + </div> |
| </div> |
| </template> |
| <script src="chrome://extensions/item.js"></script> |