As most people know by now, I'm having a lot of trouble getting multiprocess Servo landed :) Much of the trouble here is that changes keep coming in that are not multiprocess safe, and as multiprocess tends to trigger random test failures it ends up being a never-ending losing battle to keep up with the churn while simultaneously fixing test failures.
I propose *freezing the interfaces* for the following sections of Servo until they have been made multiprocess-safe: * Developer tools * Core script/constellation communication: ScriptListener/ScriptControlChan * Pipeline and constellation setup * Image cache task * Resource task * Display list By "freezing the interfaces" I mean that no new channels (anything in `mpsc`) may be added, no more data types may be added that go over those channels, and no more variants in those enums (i.e. messages) may be added. Additionally, I would like to propose that any instance of boxed trait objects being sent over channels requires signoff that they are not crossing over a chrome-content boundary. If they are, I think they should be also blocked from landing until the relevant parts of Servo have been converted to be e10s-safe. I apologize if this seems heavy-handed, but it's been very difficult to land this stuff. I'm working around the clock to try to lift these restrictions, but I don't know how much longer it will take. Thoughts? Patrick _______________________________________________ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo