<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<script>
description("Verify that the custom properties on a Canvas 2D rendering context object are retained across GCs.");

window.jsTestIsAsync = true;

if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function runTest() {
    canvas = document.createElement("canvas");
    context = canvas.getContext("2d");
    context.customProperty = "value";
    shouldBeEqualToString("context.customProperty", "value");
    context = null;
    gc();
    context = canvas.getContext("2d");
    shouldBeEqualToString("context.customProperty", "value");
    finishJSTest();
}

window.onload = runTest;
</script>
</body>
</html>