Make LayerManager works without nsIWidget.

NEW
Unassigned

Status

()

Core
Graphics
5 years ago
5 years ago

People

(Reporter: romaxa, Unassigned)

Tracking

Trunk
x86
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

5 years ago
I'm trying to make LayerManager running outside XPCOM/Widget context, but LayerManagerOGL does not work without nsIWidget.

All accelerated LayerManager's call GetClientBounds, 
gl::GLContextProviderXXX::CreateForWindow(mWidget) (native display and stuff required for GL context creation)
On Mac we call mWidget->DrawOver(...
LayerManagerOGL::CopyToTarget call GetBounds
Also mWidget mark LayerManager retained state, GetRetainerWidget, IsRetained

What is best way here to get rid of nsIWidget here, make another virtual interface for these methods, or make public methods in LayerManager which supposed to be called by LayerManager creators?
Can you create a fake nsIWidget implementation?
(Reporter)

Comment 2

5 years ago
This is what I did temporary:
http://hg.mozilla.org/users/romaxa_gmail.com/embedipc_queue/file/2369066c5c5f/embed_ipc_unsorted.diff#l3487

but it looks a bit ugly
You need to log in before you can comment on or make changes to this bug.