The tabCapture API's IDL was defined around the getUserMedia API's IDL back in 2011. Since then, the use of "mandatory" and "optional" objects has not only been deprecated, but support for them is lacking and breaking. Thus, we need to revisit the tabCapture IDL definition and adjust for the current state-of-the-world.
Link to the bad stuff in the IDL: https://cs.chromium.org/chromium/src/chrome/common/extensions/api/tab_capture.idl?rcl=0&l=30
Proposal: Delete the MediaStreamConstraint and CaptureOptions definitions in the IDL, and have the functions take an "amiguous" object named "constraints" (instead of CaptureOptions). The documentation would mention that this object will be interpreted according to the currently-supported getUserMedia() implementation (with link to W3C spec). This solution should be backwards-compatible with all existing users of this extension API.
Note: Along with the IDL change, code in chrome/browser/extensions/api/tab_capture/... will need to change around this. The tabCapture API impl does look for and read/remove some options before passing the "constraints" options on to getUserMedia().
Comment 1 by m...@chromium.org
, May 10 2017Status: Assigned (was: Available)