| <!doctype html><!-- webkit-test-runner [ IPCTestingAPIEnabled=true ] --> | |
| <script src="../resources/js-test.js"></script> | |
| <script> | |
| function fuzz() { | |
| description("Send IPC messages between GPU process and WebProcess to create RenderingBackend then ImageBuffer then get the ShareableBitmap"); | |
| window.jsTestIsAsync = true; | |
| if (!window.IPC) { | |
| finishJSTest(); | |
| return; | |
| } | |
| const defaultTimeout = 1000; | |
| o4=IPC.pageID; | |
| o5=IPC.webPageProxyID; | |
| let pair = IPC.createStreamClientConnection(14, defaultTimeout); | |
| o35=pair[0]; | |
| o36=pair[1]; | |
| o35.open(); | |
| // Use random identifiers in case this test is run multiple times in the same process. | |
| let backendID = Math.floor(Math.random() * 100000000) + 1; | |
| let imageBufferID = Math.floor(Math.random() * 100000000) + 1; | |
| try { | |
| IPC.sendMessage('GPU',0,IPC.messages.GPUConnectionToWebProcess_CreateRenderingBackend.name, | |
| [{type: 'uint64_t', value: backendID}, | |
| {type: 'uint64_t', value: o5}, | |
| {type: 'uint64_t', value: o4}, | |
| {type: 'StreamServerConnectionHandle', value: o36}]) | |
| } catch (error) { | |
| if (!(error instanceof TypeError)) | |
| debug("Failed: " + error) | |
| } | |
| try { | |
| o35.sendMessage(backendID, IPC.messages.RemoteRenderingBackend_CreateImageBuffer.name, | |
| [{type: 'float', value: 804}, | |
| {type: 'float', value: 486}, | |
| {type: 'uint8_t', value: 0}, | |
| {type: 'uint8_t', value: 2}, | |
| {type: 'float', value: 184}, | |
| {type: 'uint8_t', value: 0}, | |
| {type: 'uint8_t', value: 0}, | |
| {type: 'uint64_t', value: imageBufferID}]) | |
| } catch (error) { | |
| if (!(error instanceof TypeError)) | |
| debug("Failed: " + error) | |
| } | |
| try { | |
| o35.sendSyncMessage(imageBufferID,IPC.messages.RemoteImageBuffer_GetShareableBitmap.name, [{type: 'bool',value: 0}]); | |
| } catch (error) { | |
| if (!(error instanceof TypeError)) | |
| debug("Failed: " + error) | |
| } finally { | |
| o35.invalidate(); | |
| finishJSTest(); | |
| } | |
| } | |
| </script> | |
| <body onload='fuzz()'></body> |