Re: Electrolysis update: out-of-process plugins and more
Robert O'Callahan <[email protected]>
| Newsgroups | gmane.comp.mozilla.devel.dom |
|---|---|
| Organization | Mozilla Corporation |
| Message-ID | <[email protected]> |
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. Rob