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'

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…