Revision 92c857093784ffe21babd2d64564a9cba491c8b7 authored by Yuki Shiino on 26 December 2018, 13:48:42 UTC, committed by Chromium WPT Sync on 26 December 2018, 13:48:42 UTC
This is mostly a reland of Iee5c1d6917ad7770383e06a425f96000835a663a. This patch implements setTimeout/setInterval Web APIs with IDL callback function of type Function (i.e. V8Function in Blink). Also ensure eager finalization of ScheduledAction in DOMTimer to prevent a memory leak. Bug: 866610 Change-Id: I3f460247f27069e4054a984efd3f98a2ce0ceac7
1 parent cd31531
navigation.https.html
<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/test_utils.sub.js"></script>
</head>
<body>
<script>
/**
* @param Array.<Array.<Datatype>> combination A combination of datatypes.
* @param Dict.<string, boolean> report A map between a datatype name and
* whether it is empty.
* @return boolean Whether all datatypes are empty if and only if they are
* included in the |combination|.
*/
function verifyDatatypes(combination, report) {
TestUtils.DATATYPES.forEach(function(datatype) {
if (combination.indexOf(datatype) != -1) {
assert_true(
report[datatype.name],
datatype.name + " should have been cleared.");
} else {
assert_false(
report[datatype.name],
datatype.name + " should NOT have been cleared.");
}
});
}
TestUtils.COMBINATIONS.forEach(function(combination) {
var test_name =
"Clear datatypes on navigation: " +
combination.map(function(e) { return e.name; }).join(", ");
promise_test(function(test) {
return new Promise(function(resolve_test, reject_test) {
TestUtils.populateDatatypes()
.then(function() {
// Navigate to a resource with a Clear-Site-Data header in
// an iframe, then verify that the correct types have been
// deleted.
return new Promise(function(resolve, reject) {
window.addEventListener("message", resolve);
var iframe = document.createElement("iframe");
iframe.src = TestUtils.getClearSiteDataUrl(combination);
document.body.appendChild(iframe);
}).then(function(messageEvent) {
verifyDatatypes(combination, messageEvent.data);
resolve_test();
});
});
});
}, test_name);
});
</script>
</body>
</html>
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...