CaptureController
https://github.com/w3c/mediacapture-screen-share/issues/230
navigator.mediaDevices.getDisplayMedia({ controller })
setFocusBehavior("no-focus-change") BEFORE getDisplayMedia
setFocusBehavior("no-focus-change") DURING getDisplayMedia microtask
setFocusBehavior("no-focus-change") AFTER getDisplayMedia microtask
setFocusBehavior("focus-captured-surface") BEFORE getDisplayMedia
setFocusBehavior("focus-captured-surface") DURING getDisplayMedia microtask
setFocusBehavior("focus-captured-surface") AFTER getDisplayMedia microtask
getDisplayMedia without setFocusBehavior
getDisplayMedia without controller
stop tracks before setFocusBehavior("no-focus-change") DURING getDisplayMedia microtask
open window that calls setCaptureHandleConfig
setFocusBehavior(track.getCaptureHandle().handle) DURING getDisplayMedia microtask
setFocusBehavior(track.getCaptureHandle().handle) AFTER getDisplayMedia microtask
setFocusBehavior("focus-captured-surface") followed by setFocusBehavior("no-focus-change") BEFORE getDisplayMedia
setFocusBehavior("focus-captured-surface") followed by setFocusBehavior("no-focus-change") DURING getDisplayMedia
setFocusBehavior("focus-captured-surface") followed by setFocusBehavior("no-focus-change") AFTER getDisplayMedia
setFocusBehavior("no-focus-change") while picker is displayed
Reuse controller