Skip to content

Instantly share code, notes, and snippets.

@robozevel
Created January 26, 2014 20:30
Show Gist options
  • Save robozevel/8639103 to your computer and use it in GitHub Desktop.
Save robozevel/8639103 to your computer and use it in GitHub Desktop.
var shadowWrap = (function() {
var createShadowRoot = Element.prototype.createShadowRoot || Element.prototype.webkitCreateShadowRoot;
function createWrapper(content) {
var wrapper = document.createElement("shadow-wrap");
var shadowRoot = createShadowRoot.call(wrapper);
wrapper.resetStyleInheritance = true;
switch (typeof content) {
case "string":
shadowRoot.innerHTML = content;
break;
case "object":
if (content instanceof Node) shadowRoot.appendChild(content);
break;
}
return {
wrapper: wrapper,
shadowRoot: shadowRoot
};
}
return {
createWrapper: createShadowRoot ? createWrapper : function() { console.warn("shadowRoot not supported"); }
};
}());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment