| Index: third_party/polymer/v0_8/components-chromium/polymer/src/micro/attributes-extracted.js
|
| diff --git a/third_party/polymer/v0_8/components-chromium/polymer/src/micro/attributes-extracted.js b/third_party/polymer/v0_8/components-chromium/polymer/src/micro/attributes-extracted.js
|
| deleted file mode 100644
|
| index bd71fe3dc61fe3dc111952ce0c6a85de5e3edf62..0000000000000000000000000000000000000000
|
| --- a/third_party/polymer/v0_8/components-chromium/polymer/src/micro/attributes-extracted.js
|
| +++ /dev/null
|
| @@ -1,167 +0,0 @@
|
| -
|
| -
|
| - /**
|
| - * Support for `hostAttributes` property.
|
| - *
|
| - * hostAttributes: 'block vertical layout'
|
| - *
|
| - * `hostAttributes` is a space-delimited string of boolean attribute names to
|
| - * set true on each instance.
|
| - *
|
| - * Support for mapping attributes to properties.
|
| - *
|
| - * Properties that are configured in `properties` with a type are mapped
|
| - * to attributes.
|
| - *
|
| - * A value set in an attribute is deserialized into the specified
|
| - * data-type and stored into the matching property.
|
| - *
|
| - * Example:
|
| - *
|
| - * properties: {
|
| - * // values set to index attribute are converted to Number and propagated
|
| - * // to index property
|
| - * index: Number,
|
| - * // values set to label attribute are propagated to index property
|
| - * label: String
|
| - * }
|
| - *
|
| - * Types supported for deserialization:
|
| - *
|
| - * - Number
|
| - * - Boolean
|
| - * - String
|
| - * - Object (JSON)
|
| - * - Array (JSON)
|
| - * - Date
|
| - *
|
| - * This feature implements `attributeChanged` to support automatic
|
| - * propagation of attribute values at run-time. If you override
|
| - * `attributeChanged` be sure to call this base class method
|
| - * if you also want the standard behavior.
|
| - *
|
| - * @class base feature: attributes
|
| - */
|
| -
|
| - Polymer.Base._addFeature({
|
| -
|
| - _marshalAttributes: function() {
|
| - this._takeAttributes();
|
| - },
|
| -
|
| - _installHostAttributes: function(attributes) {
|
| - if (attributes) {
|
| - this.applyAttributes(this, attributes);
|
| - }
|
| - },
|
| -
|
| - applyAttributes: function(node, attr$) {
|
| - for (var n in attr$) {
|
| - this.serializeValueToAttribute(attr$[n], n, this);
|
| - }
|
| - },
|
| -
|
| - _takeAttributes: function() {
|
| - this._takeAttributesToModel(this);
|
| - },
|
| -
|
| - _takeAttributesToModel: function(model) {
|
| - for (var i=0, l=this.attributes.length; i<l; i++) {
|
| - var a = this.attributes[i];
|
| - var property = Polymer.CaseMap.dashToCamelCase(a.name);
|
| - var info = this.getPropertyInfo(property);
|
| - if (info || this._propertyEffects[property]) {
|
| - model[property] =
|
| - this.deserialize(a.value, info.type);
|
| - }
|
| - }
|
| - },
|
| -
|
| - setAttributeToProperty: function(model, attrName) {
|
| - // Don't deserialize back to property if currently reflecting
|
| - if (!this._serializing) {
|
| - var propName = Polymer.CaseMap.dashToCamelCase(attrName);
|
| - if (propName in this.properties) {
|
| - var type = this.getPropertyType(propName);
|
| - var val = this.getAttribute(attrName);
|
| - model[propName] = this.deserialize(val, type);
|
| - }
|
| - }
|
| - },
|
| -
|
| - _serializing: false,
|
| - reflectPropertyToAttribute: function(name) {
|
| - this._serializing = true;
|
| - this.serializeValueToAttribute(this[name],
|
| - Polymer.CaseMap.camelToDashCase(name));
|
| - this._serializing = false;
|
| - },
|
| -
|
| - serializeValueToAttribute: function(value, attribute, node) {
|
| - var str = this.serialize(value);
|
| - (node || this)
|
| - [str === undefined ? 'removeAttribute' : 'setAttribute']
|
| - (attribute, str);
|
| - },
|
| -
|
| - deserialize: function(value, type) {
|
| - switch (type) {
|
| - case Number:
|
| - value = Number(value);
|
| - break;
|
| -
|
| - case Boolean:
|
| - value = (value !== null);
|
| - break;
|
| -
|
| - case Object:
|
| - try {
|
| - value = JSON.parse(value);
|
| - } catch(x) {
|
| - // allow non-JSON literals like Strings and Numbers
|
| - }
|
| - break;
|
| -
|
| - case Array:
|
| - try {
|
| - value = JSON.parse(value);
|
| - } catch(x) {
|
| - value = null;
|
| - console.warn('Polymer::Attributes: couldn`t decode Array as JSON');
|
| - }
|
| - break;
|
| -
|
| - case Date:
|
| - value = new Date(value);
|
| - break;
|
| -
|
| - case String:
|
| - default:
|
| - break;
|
| - }
|
| - return value;
|
| - },
|
| -
|
| - serialize: function(value) {
|
| - switch (typeof value) {
|
| - case 'boolean':
|
| - return value ? '' : undefined;
|
| -
|
| - case 'object':
|
| - if (value instanceof Date) {
|
| - return value;
|
| - } else if (value) {
|
| - try {
|
| - return JSON.stringify(value);
|
| - } catch(x) {
|
| - return '';
|
| - }
|
| - }
|
| -
|
| - default:
|
| - return value != null ? value : undefined;
|
| - }
|
| - }
|
| -
|
| - });
|
| -
|
|
|