This commit is contained in:
Tommy D. Rossi
2026-01-29 20:30:10 +01:00
parent 1732e4e232
commit db54c35b83
2 changed files with 13 additions and 13 deletions
+2 -2
View File
@@ -27,14 +27,14 @@
* 4. Extension creates this offscreen document via chrome.offscreen.createDocument() * 4. Extension creates this offscreen document via chrome.offscreen.createDocument()
* 5. Extension sends streamId to offscreen document * 5. Extension sends streamId to offscreen document
* 6. Offscreen calls navigator.mediaDevices.getUserMedia() with streamId * 6. Offscreen calls navigator.mediaDevices.getUserMedia() with streamId
* 7. Offscreen creates MediaRecorder and starts encoding to webm * 7. Offscreen creates MediaRecorder and starts encoding to mp4
* 8. Chunks are sent back to extension → relay server → written to output file * 8. Chunks are sent back to extension → relay server → written to output file
* *
* KEY APIS: * KEY APIS:
* - chrome.tabCapture.getMediaStreamId() - Extension API, gets capture permission * - chrome.tabCapture.getMediaStreamId() - Extension API, gets capture permission
* - chrome.offscreen.createDocument() - Extension API, creates this document * - chrome.offscreen.createDocument() - Extension API, creates this document
* - navigator.mediaDevices.getUserMedia() - Web API, gets MediaStream from streamId * - navigator.mediaDevices.getUserMedia() - Web API, gets MediaStream from streamId
* - MediaRecorder - Web API, encodes video to webm * - MediaRecorder - Web API, encodes video to mp4
*/ */
import type { import type {
+1 -1
View File
@@ -485,7 +485,7 @@ await screenshotWithAccessibilityLabels({ page });
Labels are color-coded: yellow=links, orange=buttons, coral=inputs, pink=checkboxes, peach=sliders, salmon=menus, amber=tabs. Labels are color-coded: yellow=links, orange=buttons, coral=inputs, pink=checkboxes, peach=sliders, salmon=menus, amber=tabs.
**startRecording / stopRecording** - record the page as a video at native FPS (30-60fps). Uses `chrome.tabCapture` in the extension context, so **recording survives page navigation**. Video is saved as WebM. **startRecording / stopRecording** - record the page as a video at native FPS (30-60fps). Uses `chrome.tabCapture` in the extension context, so **recording survives page navigation**. Video is saved as mp4.
**Note**: Recording requires the user to have clicked the Playwriter extension icon on the tab. This grants `activeTab` permission needed for `chrome.tabCapture`. Recording works on tabs where the icon was clicked - if you need to record a new tab, ask the user to click the icon on it first. **Note**: Recording requires the user to have clicked the Playwriter extension icon on the tab. This grants `activeTab` permission needed for `chrome.tabCapture`. Recording works on tabs where the icon was clicked - if you need to record a new tab, ask the user to click the icon on it first.