Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / fast / compositorworker / compositor-proxy-disconnect-worker-terminate.html
blob31a1a37ae61926db015b8ecefa9cc4d9016a5770
1 <!DOCTYPE html>
2 <div id="container"></div>
3 <script src="../../fast/workers/resources/worker-util.js"></script>
4 <script src="../../resources/testharness.js"></script>
5 <script src="../../resources/testharnessreport.js"></script>
6 <script>
8 var test = async_test(function() {
9 assert_not_equals('undefined', typeof window.internals);
10 var worker = new CompositorWorker('resources/proxy-idle.js');
11 worker.onmessage = function() {
12 var docLayer = JSON.parse(window.internals.layerTreeAsText(document));
13 assert_equals(1, docLayer.children.length);
14 assert_equals(1, docLayer.children[0].children.length);
16 worker.terminate();
18 // Give some time for the worker to terminate.
19 waitUntilWorkerThreadsExit(function() {
20 docLayer = JSON.parse(window.internals.layerTreeAsText(document));
21 assert_equals(1, docLayer.children.length);
22 assert_equals('undefined', typeof docLayer.children[0].children);
23 test.done();
24 });
27 var proxy = new CompositorProxy(document.getElementById('container'), ['opacity']);
28 worker.postMessage(proxy);
30 var container = document.getElementById('container');
31 var docLayer = JSON.parse(window.internals.layerTreeAsText(document));
32 assert_equals(1, docLayer.children.length);
33 assert_equals(1, docLayer.children[0].children.length);
34 proxy.disconnect();
35 }, "This test checks that an element's compositor proxy cannot be mutated after disconnect().");
37 </script>