Open Bug 1411513 Opened 2 years ago Updated 2 years ago
.jsm is not e10s compatible
It appears that Log.jsm isn’t e10s compatible. The Marionette remote protocol is rather special in that it uses Log.jsm in a content frame script that is injected via loadFrameScript. When Log.repository.getLogger is called and the repository was set up in another process, it doesn’t inherit the repository configuration (such as appenders) that was set up earlier in the main process. This was originally filed in https://bugzil.la/1384956, and explains why the problem only exhibits following a remoteness change to the <xul:browser>.
Mike, would you have an advice in what needs to be done to get this working across processes?
(In reply to Henrik Skupin (:whimboo) from comment #1) > Mike, would you have an advice in what needs to be done to get this working > across processes? Hm. Sounds to me like Log.jsm, when loaded in the content processes, should send messages to the parent which actually does the logging. You _could_ perhaps structure this like we do DevTools console logging; see bug 1382968 for reference. They, I believe, have added a message listener in the parent via MainProcessSingleton.js that listens to messages from content-process-forward.js. Perhaps we could have MainProcessSingleton.jsm add a listener for Log.jsm messages, and when Log.jsm is loaded in the content process, forward all log requests to the parent where it gets handled. That's how I'd start approaching it anyhow. Does that help?
You need to log in before you can comment on or make changes to this bug.