| This page tests whether custom properties on DOM objects persist after garbage collection. |
| |
| If the test passes, you'll see a series of 'PASS' messages below. |
| |
| Because neither WinIE nor FF has reasonable or predictable behavior in this scenario, this test just documents our behavior to ensure that we don't change it accidentally. It is not a prescription for how things should behave. |
| |
| DOM OBJECTS BEFORE GARBAGE COLLECTION: |
| PASS: document.implementation.myCustomProperty should be 1 and is. |
| PASS: document.myCustomProperty should be 1 and is. |
| PASS: document.body.myCustomProperty should be 1 and is. |
| PASS: document.body.attributes.myCustomProperty should be 1 and is. |
| PASS: document.getElementsByTagName('body').myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('canvas')[0].getContext('2d').myCustomProperty should be 1 and is. |
| PASS: document.getElementsByTagName('canvas')[0].getContext('2d').createLinearGradient(0, 0, 0, 0).myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('canvas')[0].getContext('2d').createPattern(new Image(), 'no-repeat').myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('select')[0].options.myCustomProperty should be undefined and is. |
| PASS: document.all.myCustomProperty should be undefined and is. |
| PASS: document.body.childNodes.myCustomProperty should be undefined and is. |
| PASS: document.images.myCustomProperty should be undefined and is. |
| PASS: document.embeds.myCustomProperty should be undefined and is. |
| PASS: document.applets.myCustomProperty should be undefined and is. |
| PASS: document.links.myCustomProperty should be undefined and is. |
| PASS: document.forms.myCustomProperty should be undefined and is. |
| PASS: document.anchors.myCustomProperty should be undefined and is. |
| PASS: document.scripts.myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('form')[0].elements.myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('table')[0].rows.myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('table')[0].rows[0].cells.myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('table')[0].tBodies.myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('table')[0].tBodies[0].rows.myCustomProperty should be undefined and is. |
| PASS: document.body.children.myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('map')[0].areas.myCustomProperty should be undefined and is. |
| PASS: document.body.style.myCustomProperty should be 1 and is. |
| PASS: document.body.style.getPropertyCSSValue('color').myCustomProperty should be 1 and is. |
| PASS: document.styleSheets.myCustomProperty should be 1 and is. |
| PASS: document.styleSheets[0].myCustomProperty should be 1 and is. |
| PASS: document.styleSheets[0].cssRules.myCustomProperty should be undefined and is. |
| PASS: document.styleSheets[0].cssRules[0].myCustomProperty should be 1 and is. |
| PASS: new XPathEvaluator().myCustomProperty should be undefined and is. |
| PASS: new XPathEvaluator().evaluate('/', document, null, 0, null).myCustomProperty should be undefined and is. |
| PASS: document.createNSResolver(document).myCustomProperty should be undefined and is. |
| PASS: document.createExpression('/', document.createNSResolver(document)).myCustomProperty should be undefined and is. |
| DOM OBJECTS AFTER GARBAGE COLLECTION: |
| PASS: document.implementation.myCustomProperty should be undefined and is. |
| PASS: document.myCustomProperty should be 1 and is. |
| PASS: document.body.myCustomProperty should be 1 and is. |
| PASS: document.body.attributes.myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('body').myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('canvas')[0].getContext('2d').myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('canvas')[0].getContext('2d').createLinearGradient(0, 0, 0, 0).myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('canvas')[0].getContext('2d').createPattern(new Image(), 'no-repeat').myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('select')[0].options.myCustomProperty should be undefined and is. |
| PASS: document.all.myCustomProperty should be undefined and is. |
| PASS: document.body.childNodes.myCustomProperty should be undefined and is. |
| PASS: document.images.myCustomProperty should be undefined and is. |
| PASS: document.embeds.myCustomProperty should be undefined and is. |
| PASS: document.applets.myCustomProperty should be undefined and is. |
| PASS: document.links.myCustomProperty should be undefined and is. |
| PASS: document.forms.myCustomProperty should be undefined and is. |
| PASS: document.anchors.myCustomProperty should be undefined and is. |
| PASS: document.scripts.myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('form')[0].elements.myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('table')[0].rows.myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('table')[0].rows[0].cells.myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('table')[0].tBodies.myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('table')[0].tBodies[0].rows.myCustomProperty should be undefined and is. |
| PASS: document.body.children.myCustomProperty should be undefined and is. |
| PASS: document.getElementsByTagName('map')[0].areas.myCustomProperty should be undefined and is. |
| PASS: document.body.style.myCustomProperty should be undefined and is. |
| PASS: document.body.style.getPropertyCSSValue('color').myCustomProperty should be undefined and is. |
| PASS: document.styleSheets.myCustomProperty should be undefined and is. |
| PASS: document.styleSheets[0].myCustomProperty should be undefined and is. |
| PASS: document.styleSheets[0].cssRules.myCustomProperty should be undefined and is. |
| PASS: document.styleSheets[0].cssRules[0].myCustomProperty should be undefined and is. |
| PASS: new XPathEvaluator().myCustomProperty should be undefined and is. |
| PASS: new XPathEvaluator().evaluate('/', document, null, 0, null).myCustomProperty should be undefined and is. |
| PASS: document.createNSResolver(document).myCustomProperty should be undefined and is. |
| PASS: document.createExpression('/', document.createNSResolver(document)).myCustomProperty should be undefined and is. |
| DOM EVENT BEFORE GARBAGE COLLECTION |
| PASS: event.myCustomProperty should be 1 and is. |
| DOM EVENT AFTER GARBAGE COLLECTION |
| PASS: event.myCustomProperty should be 1 and is. |
| |