Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / fast / dom / shadow / import-rule-in-shadow-tree-needs-document-style-recalc.html
1 <!DOCTYPE html>
2 <script src="../../../resources/run-after-display.js"></script>
3 <script>
4 onload = function() {
5     var host = document.getElementById('host');
6     var sr = host.createShadowRoot();
7     // To make documentScopeDirty clean, add fake style element to document.
8     document.head.appendChild(document.createElement('style'));
9     // Should invoke style recalc here.
10     document.body.offsetLeft;
11
12     // Need a parent element of a shadow host.
13     // Shadow hosts' styles are recalc-ed by updating styles in shadow trees, but
14     // Their parents are not recalc-ed.
15     var parentOfHostInShadow = document.createElement('div');
16     var hostInShadow = document.createElement('div');
17     parentOfHostInShadow.appendChild(hostInShadow);
18
19     // Create shadow tree with style which has @import.
20     var sr2 = hostInShadow.createShadowRoot();
21     sr2.innerHTML = '<style>@import url("../../css/resources/green.css");</style><div>PASS</div></style>';
22     sr.appendChild(parentOfHostInShadow);
23
24     // Force style recalc before sheetLoaded here.
25     // document.body.offset is slow. It causes style recalc after sheetLoaded.
26     // Instead, use internals.updateStyleAndReturnAffectedElementCount
27     // (to emulate @import's network delay).
28     internals.updateStyleAndReturnAffectedElementCount();
29
30     if (window.testRunner)
31         testRunner.waitUntilDone();
32     runAfterDisplay(function() {
33         if (window.testRunner)
34             testRunner.notifyDone();
35     });
36 }
37 </script>
38 <div id="host"></div>