blob: e3b8dec5abe85962866e639295f59313f22b613b [file] [log] [blame]
<html>
<head>
<script src="../../http/tests/inspector/resources/protocol-test.js"></script>
<script src="../../http/tests/inspector/dom/resources/InspectorDOMListener.js"></script>
<!-- Loading the queries from external file to avoid having them show up in the results. -->
<script src="resources/dom-search-queries.js"></script>
<script>
function test()
{
// Create a DOM listener to convert nodeIds to tag names.
var dom = createDOMListener();
// Caching the output to avoid searching through the log.
var output = [];
InspectorProtocol.sendCommand("DOM.getDocument", {}, onGotDocument);
function onGotDocument(message) {
InspectorProtocol.checkForError(message);
dom.collectNode(message.result.root);
performSearches(domSearchQueries, testFinished);
}
function performSearches(list, callback)
{
function next() {
if (list.length)
search(list.shift(), next);
else
callback();
}
next();
}
function search(query, callback)
{
output.push("=== Query: " + JSON.stringify(query) + " ===");
InspectorProtocol.sendCommand("DOM.performSearch", {query, caseSensitive: true}, function(message) {
InspectorProtocol.checkForError(message);
printSearchResults(message.result, callback);
});
}
function printSearchResults(results, callback)
{
output.push("Count: " + results.resultCount);
if (!results.resultCount)
return callback();
var options = {"searchId": results.searchId, "fromIndex": 0, "toIndex": results.resultCount};
InspectorProtocol.sendCommand("DOM.getSearchResults", options, function onResultsReceived(message) {
for (var nodeId of message.result.nodeIds)
output.push(dom.getNodeIdentifier(nodeId));
callback();
});
}
function testFinished()
{
ProtocolTest.log(output.join("\n"));
ProtocolTest.completeTest();
}
}
</script>
</head>
<body onload="runTest()" class="main-frame">
<p>Testing DOM.performSearch with no parent node ids.</p>
<iframe src="resources/dom-search-iframe.html"></iframe>
</body>
</html>