INNER CODE UNIT · TypeScript
assertTrustedIpcSender
SimonAKing/scrcpy-gui · src/main/main.ts:96
function assertTrustedIpcSender(event: Electron.IpcMainInvokeEvent): void {
if (
!mainWindow ||
event.sender !== mainWindow.webContents ||
event.senderFrame !== mainWindow.webContents.mainFrame ||
!rendererUrlIsTrusted(event.senderFrame.url)
) {
throw new Error('Rejected IPC request from an untrusted renderer.')
}
}
function domainForChannel(channel: string): 'runtime' | 'device' | 'session' | 'config' | 'automation' | 'artifact' {
if (channel.includes('automation') || channel.startsWith('batch:')) return 'automation'
if (channel.includes('screenshot') || channel.startsWith('dialog:record') || channel.startsWith('artifact:') || channel.startsWith('diagnostics:')) return 'artifact'
if (channel.startsWith('device:')) return 'device'
if (channel.startsWith('session:') || channel.startsWith('scrcpy:')) return 'session'
if (channel.startsWith('config:') || channel.startsWith('profile:')) return 'config'
if (channel.startsWith('capability:')) return 'runtime'