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

Unified Diff: polymer_1.2.3/bower_components/iron-behaviors/iron-button-state.html

Issue 1581713003: [third_party] add polymer 1.2.3 (Closed) Base URL: https://chromium.googlesource.com/infra/third_party/npm_modules.git@master
Patch Set: 1.2.3 Created 4 years, 11 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: polymer_1.2.3/bower_components/iron-behaviors/iron-button-state.html
diff --git a/polymer_1.0.4/bower_components/iron-behaviors/iron-button-state.html b/polymer_1.2.3/bower_components/iron-behaviors/iron-button-state.html
similarity index 72%
copy from polymer_1.0.4/bower_components/iron-behaviors/iron-button-state.html
copy to polymer_1.2.3/bower_components/iron-behaviors/iron-button-state.html
index fc52e172f920d899737e5800564b8730cff3764e..8114e2ddea8de7bfbe069304e56e7aef6640d425 100644
--- a/polymer_1.0.4/bower_components/iron-behaviors/iron-button-state.html
+++ b/polymer_1.2.3/bower_components/iron-behaviors/iron-button-state.html
@@ -50,8 +50,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
type: Boolean,
value: false,
notify: true,
- reflectToAttribute: true,
- observer: '_activeChanged'
+ reflectToAttribute: true
},
/**
@@ -72,6 +71,16 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
receivedFocusFromKeyboard: {
type: Boolean,
readOnly: true
+ },
+
+ /**
+ * The aria attribute to be set if the button is a toggle and in the
+ * active state.
+ */
+ ariaActiveAttribute: {
+ type: String,
+ value: 'aria-pressed',
+ observer: '_ariaActiveAttributeChanged'
}
},
@@ -82,7 +91,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
},
observers: [
- '_detectKeyboardFocus(focused)'
+ '_detectKeyboardFocus(focused)',
+ '_activeChanged(active, ariaActiveAttribute)'
],
keyBindings: {
@@ -91,6 +101,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
'space:keyup': '_spaceKeyUpHandler',
},
+ _mouseEventRe: /^mouse/,
+
_tapHandler: function() {
if (this.toggles) {
// a tap is needed to toggle the active state
@@ -107,11 +119,13 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
// to emulate native checkbox, (de-)activations from a user interaction fire
// 'change' events
_userActivate: function(active) {
- this.active = active;
- this.fire('change');
+ if (this.active !== active) {
+ this.active = active;
+ this.fire('change');
+ }
},
- _downHandler: function() {
+ _downHandler: function(event) {
this._setPointerDown(true);
this._setPressed(true);
this._setReceivedFocusFromKeyboard(false);
@@ -122,14 +136,35 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
this._setPressed(false);
},
+ /**
+ * @param {!KeyboardEvent} event .
+ */
_spaceKeyDownHandler: function(event) {
var keyboardEvent = event.detail.keyboardEvent;
+ var target = Polymer.dom(keyboardEvent).localTarget;
+
+ // Ignore the event if this is coming from a focused light child, since that
+ // element will deal with it.
+ if (this.isLightDescendant(/** @type {Node} */(target)))
+ return;
+
keyboardEvent.preventDefault();
keyboardEvent.stopImmediatePropagation();
this._setPressed(true);
},
- _spaceKeyUpHandler: function() {
+ /**
+ * @param {!KeyboardEvent} event .
+ */
+ _spaceKeyUpHandler: function(event) {
+ var keyboardEvent = event.detail.keyboardEvent;
+ var target = Polymer.dom(keyboardEvent).localTarget;
+
+ // Ignore the event if this is coming from a focused light child, since that
+ // element will deal with it.
+ if (this.isLightDescendant(/** @type {Node} */(target)))
+ return;
+
if (this.pressed) {
this._asyncClick();
}
@@ -150,11 +185,18 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
this._changedButtonState();
},
- _activeChanged: function(active) {
+ _ariaActiveAttributeChanged: function(value, oldValue) {
+ if (oldValue && oldValue != value && this.hasAttribute(oldValue)) {
+ this.removeAttribute(oldValue);
+ }
+ },
+
+ _activeChanged: function(active, ariaActiveAttribute) {
if (this.toggles) {
- this.setAttribute('aria-pressed', active ? 'true' : 'false');
+ this.setAttribute(this.ariaActiveAttribute,
+ active ? 'true' : 'false');
} else {
- this.removeAttribute('aria-pressed');
+ this.removeAttribute(this.ariaActiveAttribute);
}
this._changedButtonState();
},

Powered by Google App Engine
This is Rietveld 408576698