51 lines
1.5 KiB
HTML
51 lines
1.5 KiB
HTML
<!-- webkit-test-runner [ UsesBackForwardCache=true WebRTCMDNSICECandidatesEnabled=true ] -->
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<body>
|
|
<script src="../resources/testharness.js"></script>
|
|
<script src="../resources/testharnessreport.js"></script>
|
|
<canvas id="canvas" width=320px height=240px></canvas>
|
|
<script>
|
|
t = async_test();
|
|
|
|
if (window.internals) {
|
|
internals.useMockRTCPeerConnectionFactory("ICECandidatesWithDelay");
|
|
internals.setICECandidateFiltering(true);
|
|
}
|
|
|
|
window.addEventListener("pageshow", t.step_func(function(event) {
|
|
if (!event.persisted)
|
|
return;
|
|
t.hasPageShow = true;
|
|
if (t.hasMDNSCandidate)
|
|
t.done();
|
|
}));
|
|
|
|
window.addEventListener("pagehide", t.step_func((event) => {
|
|
if (!event.persisted)
|
|
assert_uneached("Page failed to enter page cache");
|
|
|
|
}));
|
|
t.pc = new RTCPeerConnection;
|
|
t.hasMDNSCandidate = false;
|
|
t.hasPageShow = false;
|
|
onload = async () => {
|
|
t.pc.onicecandidate = t.step_func((event) => {
|
|
if (!event.candidate || t.pasPageShow) {
|
|
t.done();
|
|
return;
|
|
}
|
|
if (event.candidate.candidate.includes('.local'))
|
|
t.hasMDNSCandidate = true;
|
|
});
|
|
const stream = canvas.captureStream();
|
|
t.pc.addTrack(stream.getVideoTracks()[0], stream);
|
|
const offer = await t.pc.createOffer();
|
|
window.location = "../fast/history/resources/page-cache-helper-100ms.html";
|
|
|
|
t.pc.setLocalDescription(offer);
|
|
assert_false(t.hasMDNSCandidate);
|
|
};
|
|
</script>
|
|
</html>
|