Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(31)

Unified Diff: LayoutTests/fast/compositorworker/compositor-proxy-disconnect-worker-terminate.html

Issue 1060973003: compositor-worker: Force elements to grow a layer when a CompositorProxy is created. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: . Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/fast/compositorworker/compositor-proxy-disconnect-worker-terminate.html
diff --git a/LayoutTests/fast/compositorworker/compositor-proxy-disconnect-worker-terminate.html b/LayoutTests/fast/compositorworker/compositor-proxy-disconnect-worker-terminate.html
new file mode 100644
index 0000000000000000000000000000000000000000..719708c7e8575012863d7e55d0e094b04c5e2cbb
--- /dev/null
+++ b/LayoutTests/fast/compositorworker/compositor-proxy-disconnect-worker-terminate.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<div id="container"></div>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script>
+
+if (window.testRunner)
+ testRunner.dumpAsText();
esprehn 2015/04/08 00:17:13 doesn't testharness take care of this?
sadrul 2015/04/08 02:35:03 You are right. Done.
+
+var test = async_test("This test checks that an element's compositor proxy cannot be mutated after disconnect().");
esprehn 2015/04/08 00:17:13 async_test("...", function() { });
sadrul 2015/04/08 02:35:03 Done.
+
+assert_not_equals('undefined', typeof window.internals);
+var worker = new CompositorWorker('resources/proxy-idle.js');
+worker.onmessage = function() {
+ var docLayer = JSON.parse(window.internals.layerTreeAsText(document));
+ assert_equals(1, docLayer.children.length);
+ assert_equals(1, docLayer.children[0].children.length);
+
+ worker.terminate();
+
+ // Give some time for the worker to terminate.
+ window.setTimeout(function() {
+ window.GCController.collect();
+ docLayer = JSON.parse(window.internals.layerTreeAsText(document));
+ assert_equals(1, docLayer.children.length);
+ assert_equals('undefined', typeof docLayer.children[0].children);
+ test.done();
+ }, 400);
esprehn 2015/04/08 00:17:13 This is not acceptable, this test is going to take
sadrul 2015/04/08 02:35:03 Removed. I didn't know about waitUntilWorkerThread
+}
+
+var proxy = new CompositorProxy(document.getElementById('container'), ['opacity']);
+worker.postMessage(proxy);
+
+var container = document.getElementById('container');
+var docLayer = JSON.parse(window.internals.layerTreeAsText(document));
+assert_equals(1, docLayer.children.length);
+assert_equals(1, docLayer.children[0].children.length);
+proxy.disconnect();
+
+</script>

Powered by Google App Engine
This is Rietveld 408576698