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
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.