| // 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 hyperlink auditing (ping) requests appear in network panel') |
| await TestRunner.loadModule('network_test_runner'); |
| await TestRunner.showPanel('network'); |
| await TestRunner.loadHTML(`<a id="pingLink" href="#" ping="ping.js">ping</a>`); |
| await TestRunner.evaluateInPagePromise(` |
| testRunner.overridePreference("WebKitHyperlinkAuditingEnabled", 1); |
| function navigateLink() |
| { |
| var evt = document.createEvent("MouseEvents"); |
| evt.initMouseEvent("click"); |
| var link = document.getElementById("pingLink"); |
| link.dispatchEvent(evt); |
| } |
| `); |
| |
| const snifferPromise = TestRunner.addSnifferPromise(SDK.NetworkDispatcher.prototype, 'requestWillBeSent'); |
| TestRunner.evaluateInPage('navigateLink()'); |
| await snifferPromise; |
| |
| const networkRequests = NetworkTestRunner.networkRequests(); |
| var request = networkRequests[networkRequests.length - 1]; |
| if (request.url().endsWith('/')) { |
| await TestRunner.addSnifferPromise(SDK.NetworkDispatcher.prototype, 'requestWillBeSent'); |
| request = NetworkTestRunner.networkRequests().pop(); |
| } |
| |
| TestRunner.addResult(request.url()); |
| TestRunner.addResult('resource.requestContentType: ' + request.requestContentType()); |
| |
| TestRunner.completeTest(); |
| })(); |