- ochameau, ato
These minutes are largely a summary, rather than an accurate depiction of what individuals said.
We have made good progress on putting the CDP prototype into a state we both feel comfortable landing. Work is progressing in https://github.com/andreastt/gecko/tree/protocdp.
Domains are now implemented in the child process, but we would quite like to have support for “multi-modal” domains, as we need this for implementing the Browser domain. The idea is that domains should be target-scoped and be implemented within the realm of the target.
ochameau has added functional tests based on browser chrome, which use the web content version of chrome-remote-interface. This has the benefit that we don’t need the local workaround to chrome-remote-interface in place to get the protocol definition, and also does not require us to shell out to Node.js. We could have run these tests in xpcshell, but this would’ve required mocking out tabs and tab observation events.
Because the remote agent is not enabled in the build by default (it requires
--enable-cdp to be set in mozconfig) we decided that it is not a requirement to that we stand up Tier-3 jobs on try before landing this.
We have some areas that still require attention, in no particular order with a justification attached to each one:
- More tests
- To feel more comfortable making changes
- Serve WebSockets from original HTTPD
- Otherwise chrome-remote-interface as Node.js library won’t work
- Make it possible to implement domains in the parent process (multi-modal domains)
- Fixing the architecture before starting feature implementation
- Move schemas to Protocol.jsm, and generate protocol description from these
- Schemas spread around everywhere defeats lazy-loading to some extent, and means we end up loading every domain into the parent process
- Remove custom EventEmitter.jsm in favour of toolkit’s
- Only reason we have a custom fork is to support wildcard subscriptions, but we should instead make an explicit API to emit events so we don’t risk accidentally emitting irrelevant events
- Address remaining original feedback from ochameau in https://bugzilla.mozilla.org/show_bug.cgi?id=1523104#c4
- Secondary review
- Many things have changed since original feedback
Landing in central
We discussed what is required to land the prototype in central. ato shared some insights from meetings with ted and jgraham.
ato will follow up with Mossop.
- ochameau and ato will have another 1:1 next Monday 25 February same time, at 09:00 GMT/10:00 CET
- Depending on the need, ochameau/ato might have another 1:1 on Thursday 21 February
- yulia and ochameau in Paris next week so we should aim to have a Vidyo meeting on Wednesday/Thursday (27-28 February)
- ato away Tuesday 19 February
- ochameau away Friday 22 February