diff --git a/lib/legacy/polymer.dom.js b/lib/legacy/polymer.dom.js index 6d7f0eb667..e81a6c2519 100644 --- a/lib/legacy/polymer.dom.js +++ b/lib/legacy/polymer.dom.js @@ -441,7 +441,7 @@ if (window['ShadyDOM'] && window['ShadyDOM']['inUse'] && window['ShadyDOM']['noP ]); forwardProperties(DomApiNative.prototype, [ - 'textContent', 'innerHTML' + 'textContent', 'innerHTML', 'className' ]); } diff --git a/lib/mixins/property-effects.js b/lib/mixins/property-effects.js index c92bea3fa6..cdff1f5b45 100644 --- a/lib/mixins/property-effects.js +++ b/lib/mixins/property-effects.js @@ -727,6 +727,10 @@ function setupCompoundStorage(node, binding) { storage[target] = literals; // Configure properties with their literal parts if (binding.literal && binding.kind == 'property') { + // Note, className needs style scoping so this needs wrapping. + if (target === 'className') { + node = wrap(node); + } node[target] = binding.literal; } } @@ -1407,6 +1411,10 @@ export const PropertyEffects = dedupingMixin(superClass => { // implement a whitelist of tag & property values that should never // be reset (e.g. .value &&