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

Unified Diff: third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html

Issue 1221923003: Update bower.json for Polymer elements and add PRESUBMIT.py (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html
diff --git a/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html b/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html
index b5503cc6ac6aa05452ddd55ff8fb15baf4beb033..5a1f9edc8b6f861a738dbf71d870147151c9739c 100644
--- a/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html
+++ b/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html
@@ -99,123 +99,101 @@ Custom property | Description | Default
<script>
- (function() {
-
- 'use strict';
-
- function classNames(obj) {
- var classNames = [];
- for (var key in obj) {
- if (obj.hasOwnProperty(key) && obj[key]) {
- classNames.push(key);
- }
- }
-
- return classNames.join(' ');
- }
-
- Polymer({
-
- is: 'paper-spinner',
-
- listeners: {
- 'animationend': 'reset',
- 'webkitAnimationEnd': 'reset'
+ Polymer({
+
+ is: 'paper-spinner',
+
+ listeners: {
+ 'animationend': 'reset',
+ 'webkitAnimationEnd': 'reset'
+ },
+
+ properties: {
+
+ /**
+ * Displays the spinner.
+ *
+ * @attribute active
+ * @type boolean
+ * @default false
+ */
+ active: {
+ type: Boolean,
+ value: false,
+ reflectToAttribute: true,
+ observer: '_activeChanged'
},
- properties: {
-
- /**
- * Displays the spinner.
- *
- * @attribute active
- * @type boolean
- * @default false
- */
- active: {
- observer: '_activeChanged',
- type: Boolean,
- value: false
- },
-
- /**
- * Alternative text content for accessibility support.
- * If alt is present, it will add an aria-label whose content matches alt when active.
- * If alt is not present, it will default to 'loading' as the alt value.
- *
- * @attribute alt
- * @type string
- * @default 'loading'
- */
- alt: {
- observer: '_altChanged',
- type: String,
- value: 'loading'
- },
-
- /**
- * True when the spinner is going from active to inactive. This is represented by a fade
- * to 0% opacity to the user.
- */
- _coolingDown: {
- type: Boolean,
- value: false
- },
-
- _spinnerContainerClassName: {
- type: String,
- computed: '_computeSpinnerContainerClassName(active, _coolingDown)'
- }
-
+ /**
+ * Alternative text content for accessibility support.
+ * If alt is present, it will add an aria-label whose content matches alt when active.
+ * If alt is not present, it will default to 'loading' as the alt value.
+ *
+ * @attribute alt
+ * @type string
+ * @default 'loading'
+ */
+ alt: {
+ type: String,
+ value: 'loading',
+ observer: '_altChanged'
},
- _computeSpinnerContainerClassName: function(active, _coolingDown) {
- return classNames({
- active: active || _coolingDown,
- cooldown: _coolingDown
- });
+ /**
+ * True when the spinner is going from active to inactive. This is represented by a fade
+ * to 0% opacity to the user.
+ */
+ _coolingDown: {
+ type: Boolean,
+ value: false
},
- ready: function() {
- // Allow user-provided `aria-label` take preference to any other text alternative.
- if (this.hasAttribute('aria-label')) {
- this.alt = this.getAttribute('aria-label');
- } else {
- this.setAttribute('aria-label', this.alt);
- }
-
- if (!this.active) {
- this.setAttribute('aria-hidden', 'true');
- }
- },
-
- _activeChanged: function() {
- if (this.active) {
- this.removeAttribute('aria-hidden');
- } else {
- this._coolingDown = true;
- this.setAttribute('aria-hidden', 'true');
- }
- },
+ _spinnerContainerClassName: {
+ type: String,
+ computed: '_computeSpinnerContainerClassName(active, _coolingDown)'
+ }
- _altChanged: function() {
- if (this.alt === '') {
- this.setAttribute('aria-hidden', 'true');
- } else {
- this.removeAttribute('aria-hidden');
- }
+ },
- this.setAttribute('aria-label', this.alt);
- },
+ _computeSpinnerContainerClassName: function(active, coolingDown) {
+ return [
+ active || coolingDown ? 'active' : '',
+ coolingDown ? 'cooldown' : ''
+ ].join(' ');
+ },
- reset: function() {
- this.active = false;
- this._coolingDown = false;
+ _activeChanged: function(active, old) {
+ this._setAriaHidden(!active);
+ if (!active && old) {
+ this._coolingDown = true;
+ }
+ },
+
+ _altChanged: function(alt) {
+ // user-provided `aria-label` takes precedence over prototype default
+ if (alt === this.getPropertyInfo('alt').value) {
+ this.alt = this.getAttribute('aria-label') || alt;
+ } else {
+ this._setAriaHidden(alt==='');
+ this.setAttribute('aria-label', alt);
}
+ },
+
+ _setAriaHidden: function(hidden) {
+ var attr = 'aria-hidden';
+ if (hidden) {
+ this.setAttribute(attr, 'true');
+ } else {
+ this.removeAttribute(attr);
+ }
+ },
- });
+ reset: function() {
+ this.active = false;
+ this._coolingDown = false;
+ }
- }());
+ });
</script>

Powered by Google App Engine
This is Rietveld 408576698