blob: a5b68f5c6f66c38125da8a5cbe0dbde1f6ecc7e3 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function() {
TestRunner.addResult(`Tests that XHR request type is detected on send.\n`);
await TestRunner.showPanel('network');
await TestRunner.evaluateInPagePromise(`
function sendScriptRequest() {
var script = document.createElement("script");
script.src = "resources/empty-script.js";
document.head.appendChild(script);
}
function sendXHRRequest() {
var xhr = new XMLHttpRequest();
xhr.open("GET", "resources/empty.html?xhr");
xhr.send();
}
function createIFrame() {
var iframe = document.createElement("iframe");
iframe.src = "resources/empty.html?iframe";
document.head.appendChild(iframe);
}
`);
function step1() {
requestName = 'empty.html?xhr';
nextStep = step2;
TestRunner.evaluateInPage('sendXHRRequest()');
}
function step2() {
requestName = 'empty.html?iframe';
nextStep = TestRunner.completeTest;
TestRunner.evaluateInPage('createIFrame()');
}
function onRequest(event) {
var request = event.data.request;
if (request.name() !== requestName)
return;
requestName = undefined;
TestRunner.addResult('');
TestRunner.addResult('Request: ' + request.name());
TestRunner.addResult('Type: ' + request.resourceType().name());
nextStep();
}
TestRunner.networkManager.addEventListener(SDK.NetworkManager.Events.RequestStarted, onRequest);
var requestName = 'empty-script.js';
var nextStep = step1;
TestRunner.evaluateInPage('sendScriptRequest()');
})();