blob: 0202a49e78f6615b9ba1d02739d3d6cd0b85e000 [file] [log] [blame]
(async function(testRunner) {
const {page, session, dp} = await testRunner.startURL('resources/inline-wrap.html', 'Tests DOM.getContentQuads method.');
var NodeTracker = await testRunner.loadScript('../resources/node-tracker.js');
var nodeTracker = new NodeTracker(dp);
await dp.DOM.enable();
const document = (await dp.DOM.getDocument()).result.root;
const node = (await dp.DOM.querySelector({nodeId: document.nodeId, selector: 'span'})).result;
const quads = (await dp.DOM.getContentQuads({nodeId: node.nodeId})).result.quads;
testRunner.log('Returned quads amount: ' + quads.length);
for (let i = 0; i < quads.length; ++i) {
const quad = quads[i];
const nodeId = (await dp.DOM.getNodeForLocation(middlePoint(quad))).result.nodeId;
const node = nodeTracker.nodeForId(nodeId);
testRunner.log(`node at quad #${i}: ${node.nodeName}`);
}
testRunner.completeTest();
function middlePoint(quad) {
let x = 0, y = 0;
for (let i = 0; i < 8; i += 2) {
x += quad[i];
y += quad[i + 1];
}
return {
x: Math.round(x / 4),
y: Math.round(y / 4)
};
}
})