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 65a2e31f80..8ea00b54e9 100644
--- a/lib/mixins/property-effects.js
+++ b/lib/mixins/property-effects.js
@@ -738,6 +738,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;
}
}
@@ -1428,6 +1432,10 @@ export const PropertyEffects = dedupingMixin(superClass => {
// implement a whitelist of tag & property values that should never
// be reset (e.g. .value &&