Chromium Code Reviews| Index: pkg/polymer/lib/src/js/use_native_dartium_shadowdom.js |
| diff --git a/pkg/polymer/lib/src/js/use_native_dartium_shadowdom.js b/pkg/polymer/lib/src/js/use_native_dartium_shadowdom.js |
| index c2f51c1a60584267105f16d7f87e8b407273fb12..7b492b79bad1088d5d1cb7b95985064da95929f0 100644 |
| --- a/pkg/polymer/lib/src/js/use_native_dartium_shadowdom.js |
| +++ b/pkg/polymer/lib/src/js/use_native_dartium_shadowdom.js |
| @@ -7,4 +7,23 @@ if (navigator.userAgent.indexOf('(Dart)') !== -1) { |
| window.Platform = window.Platform || {}; |
| Platform.flags = Platform.flags || {}; |
| Platform.flags.shadow = 'native'; |
| + |
| + // Note: Dartium 34 hasn't turned on the unprefixed Shadow DOM |
| + // (this happens in Chrome 35), so unless "enable experimental platform |
| + // features" is enabled, things will break. So we expose them as unprefixed |
| + // names instead. |
| + var proto = Element.prototype; |
|
Jennifer Messerly
2014/04/02 23:43:50
this is the new change. it makes polymer.js code i
|
| + if (!proto.createShadowRoot) { |
| + proto.createShadowRoot = proto.webkitCreateShadowRoot; |
| + |
| + Object.defineProperty(proto, 'shadowRoot', { |
| + get: function() { |
| + return this.webkitShadowRoot; |
| + }, |
| + set: function(value) { |
| + this.webkitShadowRoot = value; |
| + }, |
| + configurable: true |
| + }); |
| + } |
| } |