Re: Electrolysis update: out-of-process plugins and more
Chris Jones <[email protected]>
| Newsgroups | gmane.comp.mozilla.devel.dom |
|---|---|
| Message-ID | <[email protected]> |
Robert O'Callahan wrote: > On 17/6/09 10:49 AM, Jeff Muizelaar wrote: >> On 16-Jun-09, at 2:55 PM, Robert O'Callahan <[email protected]> wrote: >>> On 16/6/09 6:23 AM, Jeff Muizelaar wrote: >>>> Shouldn't windowless plugins be easier to support then windowed >>>> ones? Is >>>> there any reason you can't just create a surface in a region of memory >>>> shared between the plugin process and the Gecko process? >>> >>> Yes, there is a reason. Windowless plugins require an X drawable to be >>> passed into them. >> >> Oh. Well in that case things should be even easier. Just ship a drawable >> id to the plugin process and have it draw to that just like you would a >> window id. > > Do you mean "whenever we paint our content window, ship the drawable ID > to the plugin process and have it synchronously draw to that"? That > would work, but it would lose some of the benefits of out-of-process > plugins; a slow or hung plugin would retard drawing of the window. The > overhead of the synchronous IPC would also impact painting. > > Or do you mean "have the plugin process paint to an X pixmap > asynchronously, and copy that pixmap whenever we paint our content > window"? That would work, but for transparent plugins you actually need > two pixmaps, one with a white background and one with a black > background, so you can compute the plugin's alpha values. > > We discussed this at length on IRC a while back. I guess no-one took > notes, oops. > I saved the raw IRC conversation, but didn't extract clean notes from it. Here's the raw conversation: http://pastebin.mozilla.org/657908 These notes will probably materialize near http://wiki.mozilla.org/Content_Processes, but they're not my top priority at the moment. Cheers, Chris