blob: b71b8def80cfc3fee78714832954cbfca7ea14d5 [file] [log] [blame] [edit]
<!DOCTYPE html><!-- webkit-test-runner [ IPCTestingAPIEnabled=true ] -->
<html>
<head>
<script>
function fuzz() {
if (window.testRunner) {
testRunner.waitUntilDone();
}
var calledParseMessage = false;
IPC.addOutgoingMessageListener("UI", (msg) => {
if (!calledParseMessage && msg.name == IPC.messages.WebPageProxy_UpdateMediaUsageManagerSessionState.name) {
calledParseMessage = true;
parseMessage(msg);
}
});
video=document.createElement('video');
video.src='resources/1080i60_SMPTE_8CH_audible.mov';
document.body.appendChild(video);
IPC.sendMessage('UI',0,IPC.messages.WebFullScreenManagerProxy_ExitFullScreen.name,[]);
IPC.sendMessage('UI',0,IPC.messages.WebFullScreenManagerProxy_BeganExitFullScreen.name,[{type: 'uint32_t',value: 247},{type: 'uint32_t',value: 204},{type: 'uint32_t',value: 4787946},{type: 'uint32_t',value: 713},{type: 'uint32_t',value: 238},{type: 'uint32_t',value: 749},{type: 'uint32_t',value: 30},{type: 'uint32_t',value: 1008}]);
window.setTimeout(timeout1,1000);
}
function parseMessage(msg) {
let buf = new Uint8Array(msg.buffer);
window.bada = buf;
if (buf.length < 0x18) {
return -1;
}
let view = new DataView(buf.buffer, 0x10);
o17 = view.getBigUint64(0, true);
}
function timeout1() {
IPC.sendSyncMessage('UI',IPC.webPageProxyID,IPC.messages.WebPageProxy_ReachedApplicationCacheOriginQuota.name,0.1,[{type: 'String',value: "text/html"},{type: 'uint64_t',value: 426},{type: 'uint64_t',value: 809}]);
video.play();
window.setTimeout(timeout2,300);
}
function timeout2() {
video.play();
IPC.sendMessage('UI',0,IPC.messages.WebFullScreenManagerProxy_BeganEnterFullScreen.name,[{type: 'uint32_t',value: 1212623797},{type: 'uint32_t',value: 2099646},{type: 'uint32_t',value: 315},{type: 'uint32_t',value: 204},{type: 'uint32_t',value: 48},{type: 'uint32_t',value: 64},{type: 'uint32_t',value: 3},{type: 'uint32_t',value: 403}]);
window.setTimeout(timeout3, 10);
}
function timeout3() {
IPC.sendMessage('UI',IPC.webPageProxyID,IPC.messages.WebPageProxy_RemoveMediaUsageManagerSession.name,[{type: 'uint64_t',value: o17}]);
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.notifyDone();
}
}
</script>
</head>
<body onload='fuzz()'></body>
<div>This test should not crash</div>
</html>