blob: 6fcde8f8fd7a2591b54bd6e22faebca1a354be61 [file] [log] [blame]
description('Tests using NetworkInfo from multiple frames.');
var bandwidth = 10;
var metered = false;
var connection = navigator.webkitConnection;
function checkNetworkInformation() {
shouldBe("typeof connection.bandwidth", '"number"');
shouldBe("typeof connection.metered", '"boolean"');
}
function checkChildNetworkInformation() {
shouldBe("typeof connection.bandwidth", '"number"');
shouldBe("typeof connection.metered", '"boolean"');
}
var hasMainFrameEventFired = false;
function mainFrameListener() {
hasMainFrameEventFired = true;
maybeFinishTest();
}
var hasChildFrameEventFired = false;
function childFrameListener() {
hasChildFrameEventFired = true;
maybeFinishTest();
}
function maybeFinishTest() {
if (hasMainFrameEventFired && hasChildFrameEventFired) {
checkNetworkInformation();
checkChildNetworkInformation();
finishJSTest();
}
}
var childFrame = document.createElement('iframe');
document.body.appendChild(childFrame);
var childConnection = childFrame.contentWindow.navigator.webkitConnection
childConnection.addEventListener('webkitnetworkinfochange', childFrameListener);
connection.addEventListener('webkitnetworkinfochange', mainFrameListener);
internals.setNetworkInformation('webkitnetworkinfochange', bandwidth, metered);
window.jsTestIsAsync = true;