blob: d35e10f8cf44b2675e9231f51c1a54d23703da2a [file] [log] [blame]
(async function(testRunner) {
var {page, session, dp} = await testRunner.startHTML(`
<div id='container' style='display:none'><div>child1</div><div>child2</div></div>
`, 'Tests how DOM.childNodeCountUpdated event works.');
var NodeTracker = await testRunner.loadScript('../resources/node-tracker.js');
var nodeTracker = new NodeTracker(dp);
var containerNodeId;
dp.DOM.onChildNodeCountUpdated(message => {
if (message.params.nodeId === containerNodeId)
testRunner.log('childCountUpdated: ' + message.params.childNodeCount);
});
var response = await dp.DOM.getDocument();
var message = await dp.DOM.querySelector({nodeId: response.result.root.nodeId, selector: '#container' });
containerNodeId = message.result.nodeId;
testRunner.log('Node arrived with childNodeCount: ' + nodeTracker.nodeForId(containerNodeId).childNodeCount);
await Promise.all([
session.evaluate(addNode),
session.evaluate(removeNode),
session.evaluate(removeNode),
session.evaluate(removeNode),
]);
testRunner.completeTest();
function addNode() {
var container = document.getElementById('container');
container.appendChild(document.createElement('div'));
}
function removeNode() {
var container = document.getElementById('container');
container.firstChild.remove();
}
})