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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.