blob: 8b76a2998edaf9462947ab791d5a6c850a968624 [file] [log] [blame] [edit]
<!DOCTYPE html><!-- webkit-test-runner [ IPCTestingAPIEnabled=true ] -->
<script>
function test() {
if (window.testRunner) {
testRunner.waitUntilDone();
testRunner.dumpAsText();
}
if (window.IPC) {
IPC.addOutgoingMessageListener("UI", (msg) => {
if (msg.name == IPC.messages.VideoPresentationManagerProxy_SetHasVideo.name) {
parseSetHasVideo(msg);
}
});
o8=document.createElement('video');
o8.src='resources/1080i60_SMPTE_8CH_audible.mov';
document.body.appendChild(o8);
o9=document.createElement('canvas');
} else {
console.log("Can't run test");
}
}
function parseSetHasVideo(msg) {
destinationId=msg['destinationID'];
contextId=msg['arguments'][0]['value'];
window.setTimeout(timeout1,200);
}
function timeout1() {
o39=document.createElement('iframe');
document.body.appendChild(o39);
IPC.sendMessage('UI',destinationId,IPC.messages.VideoPresentationManagerProxy_SetupFullscreenWithID.name,
[{type: 'uint64_t',value: contextId}, // PlaybackSessionContextIdentifier contextId
{type: 'uint32_t',value: 8}, // WebKit::LayerHostingContextID videoLayerID
{type: 'float',value: 338},{type: 'float',value: -429},{type: 'float',value: 117},{type: 'float',value: 1411}, // WebCore::FloatRect& screenRect
{type: 'float',value: 557},{type: 'float',value: 885}, // WebCore::FloatSize& initialSize
{type: 'float',value: 215},{type: 'float',value: 537}, // WebCore::FloatSize& videoDimensions
{type: 'float',value: 299}, // float hostingDeviceScaleFactor
{type: 'uint32_t',value: 2n}, // HTMLMediaElementEnums::VideoFullscreenMode videoFullscreenMode
{type: 'bool',value: 0}, // bool allowsPictureInPicture
{type: 'bool',value: 1}, // bool standby
{type: 'bool',value: 1} // bool blocksReturnToFullscreenFromPictureInPicture
]);
window.setTimeout(timeout2,200);
}
function timeout2() {
window.open('empty.html',"InsertTab",'heigth=100,width=200');
IPC.sendMessage('UI',destinationId,IPC.messages.VideoPresentationManagerProxy_SetupFullscreenWithID.name,
[{type: 'uint64_t',value: contextId}, // PlaybackSessionContextIdentifier contextId
{type: 'uint32_t',value: 8}, // WebKit::LayerHostingContextID videoLayerID
{type: 'float',value: 2659},{type: 'float',value: 2032},{type: 'float',value: 69},{type: 'float',value: 713}, // WebCore::FloatRect& screenRect
{type: 'float',value: 3444},{type: 'float',value: 23}, // WebCore::FloatSize& initialSize
{type: 'float',value: 463},{type: 'float',value: 938}, // WebCore::FloatSize& videoDimensions
{type: 'float',value: 950}, // float hostingDeviceScaleFactor
{type: 'uint32_t',value: 68n}, // HTMLMediaElementEnums::VideoFullscreenMode videoFullscreenMode
{type: 'bool',value: 1}, // bool allowsPictureInPicture
{type: 'bool',value: 0}, // bool standby
{type: 'bool',value: 0}]); // bool blocksReturnToFullscreenFromPictureInPicture
o70=document.createElement('iframe');
document.body.appendChild(o70);
o8.srcObject=o9.captureStream();
window.setTimeout(timeout3,200);
}
function timeout3() {
IPC.sendMessage('UI',IPC.webPageProxyID,IPC.messages.WebPageProxy_SetWindowFrame.name,[{type: 'float',value: 1142},{type: 'float',value: 1330},{type: 'float',value: 168},{type: 'float',value: 1869}]);
window.setTimeout(timeout4,500);
}
function timeout4() {
if (window.testRunner)
testRunner.notifyDone();
}
</script>
<body onload='test()'>
<div>This test should not crash</div>
</body>
</html>