blob: 4f5498bd4b155a9848d1fb9f21194fc285d34865 [file] [log] [blame]
<html>
<head>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../../resources/testdriver.js"></script>
<script src="../../resources/testdriver-vendor.js"></script>
<title>This tests the memory leak issue in CachedTextInputInfo</title>
</head>
<body>
<div class="App" id="app"></div>
<span id="app1">
How to repro:<br/>
1. Click on this page before the "Watch me leak!" text disappears.<br/>
2. Once the text disappears, without clicking anywhere else, take a heap snapshot.<br/>
</span>
<script>
promise_test(async () => {
document.addEventListener("selectionchange", e => {
var app = document.getElementById("app");
var header = document.getElementById("header");
app.removeChild(header);
});
var app = document.getElementById("app");
var header = document.createElement("h1");
header.id = "header";
header.innerHTML = "Watch me leak!";
app.appendChild(header);
var app1 = document.getElementById("app1");
await test_driver.click(app1);
assert_equals(document.activeElement, document.body, 'activeElement');
assert_equals(app.firstChild, null, 'child');
}, 'Removing an element after clicking textnodes shouldn\'t cause memory leaks');
</script>
</body>
</html>