| <html> |
| <head> |
| <script src="../../resources/js-test.js"></script> |
| <script src="resources/webgl-test.js"></script> |
| </head> |
| <body> |
| <script> |
| description("Verify that the custom properties on a WebGL rendering context object are retained across GCs."); |
| |
| window.jsTestIsAsync = true; |
| |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| function runTest() { |
| canvas = document.createElement("canvas"); |
| context = create3DContext(canvas); |
| context.customProperty = "value"; |
| extensions = [ "EXT_blend_minmax" ]; |
| extensionObject = null; |
| |
| shouldBeEqualToString("context.customProperty", "value"); |
| extensions.forEach(function(extension) { |
| extensionObject = context.getExtension(extension); |
| extensionObject.customProperty = "value"; |
| shouldBeEqualToString("extensionObject.customProperty", "value"); |
| }); |
| context = null; |
| extensionObject = null; |
| gc(); |
| context = create3DContext(canvas); |
| shouldBeEqualToString("context.customProperty", "value"); |
| extensions.forEach(function(extension) { |
| extensionObject = context.getExtension(extension); |
| shouldBeEqualToString("extensionObject.customProperty", "value"); |
| }); |
| finishJSTest(); |
| } |
| |
| window.onload = runTest; |
| </script> |
| </body> |
| </html> |