Commit 0ad7d2d0 authored by Esmael El-Moslimany's avatar Esmael El-Moslimany Committed by Commit Bot

PDF WebUI: replace paper-button with cr-button

Bug: 967793
Change-Id: I67cef5afc4cabc111be9163e895623e09c0c05f9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645149Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Commit-Queue: Esmael El-Moslimany <aee@chromium.org>
Cr-Commit-Position: refs/heads/master@{#667343}
parent 454a31ad
<link rel="import" href="chrome://resources/html/polymer.html"> <link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/cr_elements/cr_button/cr_button.html">
<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html"> <link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
<link rel="import" href="chrome://resources/cr_elements/hidden_style_css.html"> <link rel="import" href="chrome://resources/cr_elements/hidden_style_css.html">
<link rel="import" href="chrome://resources/cr_elements/paper_button_style_css.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-button/paper-button.html">
<dom-module id="viewer-error-screen"> <dom-module id="viewer-error-screen">
<template> <template>
<style include="paper-button-style cr-hidden-style"></style> <style include="cr-hidden-style"></style>
<cr-dialog id="dialog" no-cancel> <cr-dialog id="dialog" no-cancel>
<div slot="title">[[strings.errorDialogTitle]]</div> <div slot="title">[[strings.errorDialogTitle]]</div>
<div slot="body">[[strings.pageLoadFailed]]</div> <div slot="body">[[strings.pageLoadFailed]]</div>
<div slot="button-container" hidden$="[[!reloadFn]]"> <div slot="button-container" hidden$="[[!reloadFn]]">
<paper-button class="action-button" on-click="reload"> <cr-button class="action-button" on-click="reload">
[[strings.pageReload]] [[strings.pageReload]]
</paper-button> </cr-button>
</div> </div>
</cr-dialog> </cr-dialog>
</template> </template>
......
<link rel="import" href="chrome://resources/html/polymer.html"> <link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/cr_elements/cr_button/cr_button.html">
<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html"> <link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
<link rel="import" href="chrome://resources/cr_elements/hidden_style_css.html"> <link rel="import" href="chrome://resources/cr_elements/hidden_style_css.html">
<link rel="import" href="chrome://resources/cr_elements/paper_button_style_css.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-button/paper-button.html">
<dom-module id="viewer-form-warning"> <dom-module id="viewer-form-warning">
<template> <template>
<style include="paper-button-style cr-hidden-style"></style> <style include="cr-hidden-style"></style>
<cr-dialog id="dialog" no-cancel> <cr-dialog id="dialog" no-cancel>
<div slot="title">[[strings.annotationFormWarningTitle]]</div> <div slot="title">[[strings.annotationFormWarningTitle]]</div>
<div slot="body">[[strings.annotationFormWarningDetail]]</div> <div slot="body">[[strings.annotationFormWarningDetail]]</div>
<div slot="button-container"> <div slot="button-container">
<paper-button class="cancel-button" on-click="onCancel"> <cr-button class="cancel-button" on-click="onCancel">
[[strings.annotationFormWarningKeepEditing]] [[strings.annotationFormWarningKeepEditing]]
</paper-button> </cr-button>
<paper-button class="action-button" on-click="onAction"> <cr-button class="action-button" on-click="onAction">
[[strings.annotationFormWarningDiscard]] [[strings.annotationFormWarningDiscard]]
</paper-button> </cr-button>
</div> </div>
</cr-dialog> </cr-dialog>
</template> </template>
......
<link rel="import" href="chrome://resources/html/polymer.html"> <link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/cr_elements/cr_button/cr_button.html">
<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html"> <link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
<link rel="import" href="chrome://resources/cr_elements/cr_input/cr_input.html"> <link rel="import" href="chrome://resources/cr_elements/cr_input/cr_input.html">
<link rel="import" href="chrome://resources/cr_elements/paper_button_style_css.html">
<link rel="import" href="chrome://resources/cr_elements/shared_style_css.html"> <link rel="import" href="chrome://resources/cr_elements/shared_style_css.html">
<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html"> <link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-button/paper-button.html">
<dom-module id="viewer-password-screen"> <dom-module id="viewer-password-screen">
<template> <template>
<style include="cr-shared-style paper-button-style"> <style include="cr-shared-style">
#password { #password {
margin-top: var(--cr-form-field-bottom-spacing); margin-top: var(--cr-form-field-bottom-spacing);
} }
...@@ -26,9 +25,9 @@ ...@@ -26,9 +25,9 @@
</cr-input> </cr-input>
</div> </div>
<div slot="button-container"> <div slot="button-container">
<paper-button id="submit" class="action-button" on-click="submit"> <cr-button id="submit" class="action-button" on-click="submit">
[[strings.passwordSubmit]] [[strings.passwordSubmit]]
</paper-button> </cr-button>
</div> </div>
</cr-dialog> </cr-dialog>
</template> </template>
......
<link rel="import" href="chrome://resources/html/polymer.html"> <link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-button/paper-button.html"> <link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html">
<link rel="import" href="chrome://resources/cr_elements/icons.html"> <link rel="import" href="chrome://resources/cr_elements/icons.html">
<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html"> <link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
...@@ -49,23 +49,11 @@ ...@@ -49,23 +49,11 @@
} }
#button { #button {
border-radius: 4px; --cr-icon-button-color: currentColor;
cursor: pointer; --cr-icon-button-height: 32px;
display: inline-block; --cr-icon-button-icon-start-offset: 4px;
height: 32px; --cr-icon-button-width: 48px;
margin: 0; margin: 0;
min-width: 48px;
opacity: 0.38;
padding-bottom: 6px;
padding-inline-end: 2px;
padding-inline-start: 6px;
padding-top: 6px;
width: 48px;
}
#button:focus {
background-color: rgba(255, 255, 255, 0.24);
opacity: 1;
} }
#button:hover { #button:hover {
...@@ -89,11 +77,9 @@ ...@@ -89,11 +77,9 @@
padding: 14px 28px; padding: 14px 28px;
} }
</style> </style>
<paper-button on-click="toggleDropdown" id="button" <cr-icon-button on-click="toggleDropdown" id="button"
aria-label$="{{header}}" title$="{{header}}"> iron-icon="[[dropdownIcon]],cr:arrow-drop-down" title$="[[header]]">
<iron-icon icon="[[dropdownIcon]]"></iron-icon> </cr-icon-button>
<iron-icon icon="cr:arrow-drop-down"></iron-icon>
</paper-button>
<div id="container"> <div id="container">
<div id="dropdown" style="display: none"> <div id="dropdown" style="display: none">
......
...@@ -77,4 +77,22 @@ suite('cr-icon-button', function() { ...@@ -77,4 +77,22 @@ suite('cr-icon-button', function() {
button = document.body.querySelector('cr-icon-button'); button = document.body.querySelector('cr-icon-button');
assertEquals('-1', button.getAttribute('tabindex')); assertEquals('-1', button.getAttribute('tabindex'));
}); });
test('ripple is a circle with background icon or single iron-icon', () => {
const ripple = button.getRipple();
assertEquals(undefined, button.ironIcon);
assertTrue(ripple.classList.contains('circle'));
button.ironIcon = 'icon';
assertTrue(ripple.classList.contains('circle'));
button.ironIcon = 'icon,icon';
assertFalse(ripple.classList.contains('circle'));
});
test('multiple iron icons', () => {
button.ironIcon = 'icon1,icon2';
const elements = button.shadowRoot.querySelectorAll('iron-icon');
assertEquals(2, elements.length);
assertEquals('icon1', elements[0].icon);
assertEquals('icon2', elements[1].icon);
});
}); });
...@@ -9,26 +9,28 @@ ...@@ -9,26 +9,28 @@
<style> <style>
:host { :host {
--cr-icon-button-color: var(--google-grey-refresh-700); --cr-icon-button-color: var(--google-grey-refresh-700);
--cr-icon-button-icon-padding: calc((var(--cr-icon-button-size) - --cr-icon-button-icon-start-offset: 0;
var(--cr-icon-button-icon-size)) / 2);
--cr-icon-button-icon-size: 20px; --cr-icon-button-icon-size: 20px;
--cr-icon-button-size: 36px; --cr-icon-button-size: 36px;
--cr-icon-button-height: var(--cr-icon-button-size);
--cr-icon-button-width: var(--cr-icon-button-size);
/* Copied from paper-fab.html. Prevents square touch highlight. */ /* Copied from paper-fab.html. Prevents square touch highlight. */
-webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent;
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: var(--cr-icon-button-icon-size); background-size: var(--cr-icon-button-icon-size);
border-radius: 4px;
color: var(--cr-icon-button-color); color: var(--cr-icon-button-color);
cursor: pointer; cursor: pointer;
display: inline-flex; display: inline-flex;
height: var(--cr-icon-button-size); height: var(--cr-icon-button-height);
margin-inline-end: var(--cr-icon-button-margin-end, margin-inline-end: var(--cr-icon-button-margin-end,
var(--cr-icon-ripple-margin)); var(--cr-icon-ripple-margin));
margin-inline-start: var(--cr-icon-button-margin-start); margin-inline-start: var(--cr-icon-button-margin-start);
outline: none; outline: none;
user-select: none; user-select: none;
vertical-align: middle; vertical-align: middle;
width: var(--cr-icon-button-size); width: var(--cr-icon-button-width);
} }
:host([disabled]) { :host([disabled]) {
...@@ -59,17 +61,20 @@ ...@@ -59,17 +61,20 @@
} }
#icon { #icon {
align-items: center;
border-radius: 4px;
display: flex; display: flex;
height: var(--cr-icon-button-size); height: 100%;
justify-content: center;
padding-inline-start: var(--cr-icon-button-icon-start-offset);
/* The |_rippleContainer| must be position relative. */ /* The |_rippleContainer| must be position relative. */
position: relative; position: relative;
width: var(--cr-icon-button-size); width: 100%;
} }
iron-icon { iron-icon {
--iron-icon-height: var(--cr-icon-button-icon-size); --iron-icon-height: var(--cr-icon-button-icon-size);
--iron-icon-width: var(--cr-icon-button-icon-size); --iron-icon-width: var(--cr-icon-button-icon-size);
padding: var(--cr-icon-button-icon-padding);
} }
</style> </style>
<div id="icon"></div> <div id="icon"></div>
......
...@@ -102,18 +102,20 @@ Polymer({ ...@@ -102,18 +102,20 @@ Polymer({
/** @private */ /** @private */
onIronIconChanged_: function() { onIronIconChanged_: function() {
let ironIconElement = this.$$('iron-icon'); this.shadowRoot.querySelectorAll('iron-icon').forEach(el => el.remove());
if (this.ironIcon) { if (!this.ironIcon) {
if (!ironIconElement) {
ironIconElement = document.createElement('iron-icon');
this.$.icon.appendChild(ironIconElement);
}
ironIconElement.icon = this.ironIcon;
return; return;
} }
const icons = (this.ironIcon || '').split(',');
if (ironIconElement) { icons.forEach(icon => {
ironIconElement.remove(); const element = document.createElement('iron-icon');
element.icon = icon;
this.$.icon.appendChild(element);
});
if (icons.length > 1) {
this.getRipple().classList.remove('circle');
} else {
this.getRipple().classList.add('circle');
} }
}, },
...@@ -158,7 +160,9 @@ Polymer({ ...@@ -158,7 +160,9 @@ Polymer({
const ripple = Polymer.PaperRippleBehavior._createRipple(); const ripple = Polymer.PaperRippleBehavior._createRipple();
ripple.id = 'ink'; ripple.id = 'ink';
ripple.setAttribute('recenters', ''); ripple.setAttribute('recenters', '');
ripple.classList.add('circle'); if (!(this.ironIcon || '').includes(',')) {
ripple.classList.add('circle');
}
return ripple; return ripple;
}, },
}); });
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment