Skip to content

trailing space in polymer attributes causes exception in IE10 #313

@frankiefu

Description

@frankiefu
<polymer-element name="x-foo" noscript attributes="bar ">
  <template>
    {{bar}}
  </template>
</polymer-element>

<x-foo bar="hello"></x-foo>

output:

TypeError: Unable to get property 'hasAttribute' of undefined or null referenceTypeError: Unable to get property 'hasAttribute' of undefined or null reference
at parseDeclaration (http://172.31.55.70/polymer/polymer/src/instance/base.js:95:9)
at parseDeclarations (http://172.31.55.70/polymer/polymer/src/instance/base.js:88:9)
at prepareElement (http://172.31.55.70/polymer/polymer/src/instance/base.js:43:7)
at createdCallback (http://172.31.55.70/polymer/polymer/src/instance/base.js:25:9)
at created (http://172.31.55.70/polymer/CustomElements/src/CustomElements.js:264:7)
at upgrade (http://172.31.55.70/polymer/CustomElements/src/CustomElements.js:219:5)
at upgradeElement (http://172.31.55.70/polymer/CustomElements/src/CustomElements.js:321:7)
at upgrade (http://172.31.55.70/polymer/CustomElements/src/Observer.js:84:7)
at added (http://172.31.55.70/polymer/CustomElements/src/Observer.js:56:3)
at Anonymous function (http://172.31.55.70/polymer/CustomElements/src/Observer.js:66:5)

Debugging shows that in declaration/attributes.js::publishAttributes(), an empty string is added to the publish object, e.g. {bar: null, "": null}. Somehow this seems to be fatal in IE10.

In publishAttributes(), it should add to publish only if the name is not emtpy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions