| Index: third_party/WebKit/LayoutTests/media/remoteplayback/availability-callback-gc.html
|
| diff --git a/third_party/WebKit/LayoutTests/media/remoteplayback/availability-callback-gc.html b/third_party/WebKit/LayoutTests/media/remoteplayback/availability-callback-gc.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..da2e209e073c1dbfc6dd770ab85155b9de738e79
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/media/remoteplayback/availability-callback-gc.html
|
| @@ -0,0 +1,36 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| + <head>
|
| + <title>Test that the callback is not garbage collected if registered.</title>
|
| + <script src="../../resources/testharness.js"></script>
|
| + <script src="../../resources/testharnessreport.js"></script>
|
| + <script src="../media-file.js"></script>
|
| + </head>
|
| + <body>
|
| + <script>
|
| + function gc() {
|
| + if (window.GCController)
|
| + GCController.collect();
|
| + else {
|
| + for (var i = 0; i < 10000; ++i) {
|
| + ({ });
|
| + }
|
| + }
|
| + }
|
| +
|
| + async_test(function(t)
|
| + {
|
| + var v = document.createElement('video');
|
| + v.src = findMediaFile('video', 'content/test');
|
| + document.body.appendChild(v);
|
| +
|
| + function callback(available) {}
|
| + var callbackRef = t.step_func_done(callback);
|
| +
|
| + v.remote.watchAvailability(callbackRef).then(
|
| + function() { callbackRef = null; gc(); },
|
| + t.unreached_func());
|
| + }, 'Test that the callback is not garbage collected if registered.');
|
| + </script>
|
| + </body>
|
| +</html>
|
|
|