Closed Bug 503320 Opened 16 years ago Closed 15 years ago

Fix possibility for mozilla/widget/gtk2/nsWindow.cpp to be headless

Categories

(Core :: Widget: Gtk, defect)

Other
Linux
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: romaxa, Unassigned)

Details

Attachments

(1 file, 1 obsolete file)

Attached patch WIP patch, first check (obsolete) — Splinter Review
Currently it is not possible to initialize headless gtk embedding (without providing realized GdkWindow). I think we can fix it... and allow to implement offscreen rendering.
Attachment #387659 - Flags: review?(roc)
Attachment #387659 - Flags: review?(roc) → review?(mozbugz)
IIUC, the proposal is essentially to enable an nsIWidget implementation that uses MozContainers to manage the widget hierarchy instead of GdkWindows (through MozDrawingareas). What is the GtkWidget at the top of the widget hierarchy (that is not a GTK_WINDOW)? Is this a special widget or could it be any widget that will never be realized? I wonder whether a GTK nsIWidget implementation is really the right solution for a headless backend? Is GTK desirable because the app doing the embedding is already using GTK and so it is easier to communicate with a GTK-based nsIWidget? Or is it because GTK already implements something that (doesn't involve X11 windows and) would need to be reimplemented in another framework? Would client-side windows (in git GDK) be sufficient to use the current GdkWindow hierarchy without any need to create X11 Windows?
> > What is the GtkWidget at the top of the widget hierarchy (that is not a > GTK_WINDOW)? Is this a special widget or could it be any widget that will > never be realized? Theoretically it is GtkContainer which is embedding "topLevel" nsWindow - gtk container, and it possible that there is not any widget... TopLevel MozContainer - can be last in that hierarchy. > > I wonder whether a GTK nsIWidget implementation is really the right solution QtWidget - is supporting headless implementation, I guess windows and probably some other widget backends also can live without main native window... > for a headless backend? Is GTK desirable because the app doing the embedding From one point of view It is ok to have separate nsIWidget headless backend, and it should be completely independent from platform (only NS API). that is the reason why I don't like current implementation of http://hg.mozilla.org/incubator/offscreen/ (it is glib dependent). From another point of view common headless implementation a bit complicated in use, because there are a lot of different problems and hacks need to be done to make friendly communication between Gecko stuff and other platforms... And most of that problems already fixed/tested in existing backends implementation. Also there are some complexity with Key converters... existing backends already have all Platform<->Gecko DOM converters, and with common headless backend embedders must implement it on their side. > is already using GTK and so it is easier to communicate with a GTK-based > nsIWidget? > Or is it because GTK already implements something that (doesn't involve X11 > windows and) would need to be reimplemented in another framework? > > Would client-side windows (in git GDK) be sufficient to use the current > GdkWindow hierarchy without any need to create X11 Windows?
Attachment #387659 - Attachment is obsolete: true
Attachment #398119 - Flags: review?
Attachment #387659 - Flags: review?(mozbugz)
You have a patch on this bug that is flagged for 'review?' and not assigned to any reviewer. If you want the patch to be reviewed please assign a reviewer. Thanks
Attachment #398119 - Flags: review? → review?(mozbugz)
I think nobody care about it anymore, because we are going to have fake widget in content process...
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WONTFIX
Attachment #398119 - Flags: review?(karlt)
Thanks. That sounds good.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: