INNER CODE UNIT · TypeScript
rendererUrlIsTrusted
SimonAKing/scrcpy-gui · src/main/main.ts:92
function rendererUrlIsTrusted(url: string): boolean {
return isTrustedRendererUrl(url, rendererEntryUrl, process.env.ELECTRON_RENDERER_URL)
}
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'