WIP: screen recording via chrome.tabCapture
Work in progress for navigation-safe screen recording. Implemented: - tabCapture permission in manifest - Recording handlers in extension background.ts - Recording endpoints in relay server - Binary WebSocket streaming for video chunks - Protocol types for recording messages - Executor integration Needs: - Offscreen document implementation (tabCapture not available in service workers) - Connect background.ts to offscreen document via messages - Update manifest for offscreen document The offscreen.ts/html files are scaffolding for this next step.
This commit is contained in:
@@ -8,6 +8,7 @@ export interface TabInfo {
|
||||
errorText?: string
|
||||
pinnedCount?: number
|
||||
attachOrder?: number
|
||||
isRecording?: boolean
|
||||
}
|
||||
|
||||
export interface ExtensionState {
|
||||
@@ -16,3 +17,15 @@ export interface ExtensionState {
|
||||
currentTabId: number | undefined
|
||||
errorText: string | undefined
|
||||
}
|
||||
|
||||
/**
|
||||
* Recording state - kept separate from store since MediaRecorder/MediaStream can't be serialized.
|
||||
* Note: MediaRecorder and MediaStream types are available in the extension's browser context.
|
||||
*/
|
||||
export interface RecordingInfo {
|
||||
tabId: number
|
||||
startedAt: number
|
||||
recorder: any // MediaRecorder - using any to avoid DOM type dependency
|
||||
stream: any // MediaStream - using any to avoid DOM type dependency
|
||||
mimeType: string
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user