<!DOCTYPE html>
<html>
<head>
<script src="resources/shadow-dom.js"></script>
</head>
<body>
<div id="sandbox"></div>
<script>
var shadowStyle = document.createElement('style');
shadowStyle.innerHTML = 'div content::-webkit-distributed(div content::-webkit-distributed(div.green)) { color: green; }';

var sandbox = document.getElementById('sandbox');
sandbox.appendChild(
    createDOM('div', {'id': 'host'},
              createShadowRoot(
                  createDOM('div', {'id': 'nested-host'},
                            createShadowRoot(
                                shadowStyle,
                                document.createTextNode('text1'),
                                createDOM('div', {},
                                          document.createTextNode('text2'),
                                          createDOM('content', {'select': 'div'}))),
                            createDOM('div', {'class': 'green'},
                                      document.createTextNode('text3'),
                                      createDOM('content', {})))),
              createDOM('div', {'class': 'green'},
                        document.createTextNode('green')),
              createDOM('div', {},
                        document.createTextNode('normal'))));
</script>
</body>
</html>
