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'

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…