| <!-- webkit-test-runner [ IPCTestingAPIEnabled=true ] --> |
| <script> |
| class Helper { |
| constructor() { |
| this.connections = [{ |
| connection: IPC.connectionForProcessTarget('GPU') |
| }] |
| } |
| extractCallResult(b, path) { |
| let currentIdx = path; |
| let a = b.replyArguments[currentIdx].name |
| let c = b.parsedReply[a]; |
| return c |
| } |
| sendMessage(connectionID, messageDesc, destinationID, args) { |
| let connection = this.connections[connectionID].connection |
| if (messageDesc.replyArguments == null) { |
| |
| const serializedArguments = ArgumentSerializer.serializeArguments(messageDesc.arguments, args); |
| connection.sendMessage(destinationID, messageDesc.name, serializedArguments) |
| } else { |
| if (messageDesc.d); |
| else { |
| const serializedArguments = ArgumentSerializer.serializeArguments(messageDesc.arguments, args) |
| return new Promise((resolve) => { |
| try { |
| connection.sendWithAsyncReply(destinationID, messageDesc.name, serializedArguments, () => {}); |
| } catch { |
| resolve0; |
| } |
| }); |
| } |
| } |
| } |
| } |
| async function main() { |
| const res_0 = { |
| replyArguments: [{ |
| name: 'identifier' |
| }], |
| parsedReply: { |
| identifier: 0n |
| } |
| }; |
| const helper = new Helper(true); |
| let ref_105827994978832 = res_0 ? helper.extractCallResult(res_0, 0) : null; |
| if (ref_105827994978832 !== null) { |
| helper.sendMessage(0, IPC.messages.RemoteMediaPlayerManagerProxy_CreateMediaPlayer, ref_105827994978832, { |
| identifier: 18446744073709551614n, |
| clientIdentifier: 18446744073709551614n, |
| remoteEngineIdentifier: 0, |
| proxyConfiguration: { |
| referrer: 'x79', |
| userAgent: '', |
| sourceApplicationIdentifier: '', |
| networkInterfaceName: '\e', |
| audioOutputDeviceId: '', |
| mediaContentTypesRequiringHardwareSupport: [], |
| allowedMediaContainerTypes: {}, |
| allowedMediaCodecTypes: { |
| optionalValue: ['', ] |
| }, |
| allowedMediaVideoCodecIDs: {}, |
| allowedMediaAudioCodecIDs: {}, |
| allowedMediaCaptionFormatTypes: {}, |
| playerContentBoxRect: { |
| m_location: { |
| x: { |
| rawValue: 936288880, |
| }, |
| y: { |
| rawValue: 278, |
| } |
| }, |
| m_size: { |
| width: { |
| rawValue: 4252677577, |
| }, |
| height: { |
| rawValue: 9, |
| }, |
| } |
| }, |
| preferredAudioCharacteristics: [], |
| outOfBandTrackData: [], |
| documentSecurityOrigin: { |
| data: { |
| variantIndex: 0, |
| variant: { |
| protocol: '', |
| host: '\x2Ex31', |
| port: {}, |
| } |
| }, |
| }, |
| presentationSize: { |
| width: 3480689791, |
| height: 1, |
| }, |
| logIdentifier: 2n, |
| shouldUsePersistentCache: true, |
| isVideo: true, |
| renderingCanBeAccelerated: true, |
| shouldDisableHDR: false, |
| }, |
| }); |
| } |
| let ref_105827994982928 = res_0 ? helper.extractCallResult : null; |
| if (ref_105827994982928 !== null); |
| if (true) { |
| helper.sendMessage(0, IPC.messages.RemoteMediaPlayerProxy_Load, 18446744073709551614n, { |
| url: { |
| string: '\x77\x3Ax31x90x8Ax50x4ExA6xD6x77x4E', |
| }, |
| sandboxExtension: {}, |
| options: { |
| contentType: { |
| raw: '\f', |
| typeWasInferredFromExtension: true, |
| }, |
| requiresRemotePlayback: true, |
| supportsLimitedMatroska: false, |
| videoRendererPreferences: 9, |
| }, |
| }); |
| } |
| let ref_105827994983568 = res_0 ? helper.extractCallResult(res_0, 0) : null; |
| let ref_105827994983696 = 2n; |
| let ref_105827994983824 = 18446744073709551614n; |
| let ref_105827994983952 = 2n; |
| if (ref_105827994983568 !== null && ref_105827994983696 !== null && ref_105827994983824 !== null && ref_105827994983952 !== null) { |
| helper.sendMessage(0, IPC.messages.RemoteMediaResourceManager_LoadFailed, ref_105827994983568, { |
| identifier: ref_105827994983696, |
| error: { |
| ipcData: { |
| optionalValue: { |
| type: 3, |
| nsError: { |
| optionalValue: { |
| wrapper: { |
| domain: '', |
| code: ref_105827994983824, |
| userInfo: { |
| vector: {}, |
| }, |
| underlyingError: { |
| optionalValue: { |
| domain: 'x74', |
| code: ref_105827994983952, |
| userInfo: { |
| vector: {}, |
| }, |
| underlyingError: {}, |
| } |
| }, |
| }, |
| } |
| }, |
| isSanitized: true, |
| } |
| }, |
| }, |
| }); |
| } |
| if (true) |
| if (ref_105827994984144 !== null) |
| if (ref_105827994984400 !== null); |
| } |
| |
| globalThis.testRunner?.waitUntilDone(); |
| |
| </script> |
| <script type="module"> |
| |
| import { CoreIPC, ArgumentSerializer, ArgumentParser } from './coreipc.js'; |
| if (window.IPC) { |
| |
| window.CoreIPC = CoreIPC; |
| window.ArgumentSerializer = ArgumentSerializer; |
| window.ArgumentParser = ArgumentParser; |
| |
| setTimeout(() => { |
| main().catch(e => { |
| }).finally(() => { |
| globalThis.testRunner?.notifyDone(); |
| }); |
| }, 100); |
| } else { |
| window.testRunner?.notifyDone(); |
| } |
| |
| </script> |
| </head> |
| <body> |
| <p>This test passes if WebKit did not crash.</p> |
| </body> |
| </html> |