Closed
Bug 430413
Opened 18 years ago
Closed 4 years ago
Port Mozilla to GDK
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: jh0421.sung, Unassigned)
Details
Attachments
(1 file, 2 obsolete files)
|
2.07 KB,
patch
|
vlad
:
review+
vlad
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2; .NET CLR 1.1.4322)
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b5) Gecko/2008032619 Firefox/3.0b5
If you look into Firefox3's APIs, you can find out that some of them directly use GDK/X11 methods. It generates dependency with X11.
Actually Firefox3 supports only X11 backend on Linux platform.
However, there is a possibility that several different back-end are supported.
This bug intends to port Mozilla regardless of back-end. Therefore, we need to remove specific X dependency and raise it to GDK which acts as a wrapper around the low-level drawing and windowing functions provided by the underlying graphics system. By converting X APIs to GDK's, it will be more flexible. A wiki page (http://wiki.mozilla.org/Mobile/DFBPorting) and bug 422221 explaining DirectFB porting strategy have been opened by my coworker, Mohan Reddy Duggi. Compared with previous bug, this bug makes Firefox act under GDK (DirectFB as well as X11) without defects.
Reproducible: Always
Three files (nsSystemFontsGTK2.cpp, nsThebesDeviceContext.cpp and gfxPlatformGtk.h) in gfx (except surface) module are modified in order to remove direct X dependency.
This patch will be cleaned up X dependency of the two files (nsGTKRemoteService.h and nsGTKRemote.cpp) in toolkit module.
Attachment #317215 -
Flags: superreview?(vladimir)
Attachment #317215 -
Flags: review?(rbs)
Attachment #317234 -
Flags: superreview?(benjamin)
Attachment #317234 -
Flags: review?(mconnor)
Comment on attachment 317215 [details] [diff] [review]
gfx.patch for GDK porting
This looks fine, but please don't nest the #ifdefs.. e.g.,
#ifdef MOZ_ENABLE_GTK2
#ifdef MOZ_X11
should just be
#if defined(MOZ_ENABLE_GTK2) && defined(MOZ_X11)
I'll take a look at the other patch in a bit.
Attachment #317215 -
Flags: superreview?(vladimir)
Attachment #317215 -
Flags: superreview+
Attachment #317215 -
Flags: review?(rbs)
Attachment #317215 -
Flags: review+
Comment 4•18 years ago
|
||
Comment on attachment 317234 [details] [diff] [review]
toolkit.patch for GDK porting
Caillon, could you look at this? I don't know much about gdk, and I want to make sure that switching from X to GDK will retain backwards compatibility with older clients.
Attachment #317234 -
Flags: superreview?(benjamin)
Attachment #317234 -
Flags: review?(mconnor)
Attachment #317234 -
Flags: review?(caillon)
Updated•18 years ago
|
Assignee: nobody → jh0421.sung
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 5•18 years ago
|
||
Comment on attachment 317234 [details] [diff] [review]
toolkit.patch for GDK porting
>- XInternAtoms(GDK_DISPLAY(), XAtomNames, NS_ARRAY_LENGTH(XAtomNames),
>- False, XAtoms);
>+ for(int i=0 ; i<NS_ARRAY_LENGTH(GdkAtomNames) ; i++)
>+ {
>+ GdkAtoms[i] = gdk_atom_intern_static_string(GdkAtomNames[i]);
>+ }
So, there is no GDK equivalent to XInternAtoms. This change specifically will regress us in terms of roundtrips to the X server, not to mention the additional calls to gdk_intern_atom() below. On the local machine, this is probably not too bad. But a big use case of the remote service is from remote machines, and this will significantly hurt performance where roundtrips are not cheap...
As pointed out above, it's better to leave original source code in case of using X backend. So, I tried to divide this part into two branches (when using X11 or not).
However, I wonder whether it demands our serious consideration or not. Because Firefox's remote control feature seems to be only effective through X properties.
This feature is included in 'toolkit.patch for GDK porting'. Without using X backend, I guess that 'remote' directory which is a higher rank of 'nsGTKRemoteService.cpp' and 'nsGTKRemoteService.h' is excluded.
Comment on attachment 317215 [details] [diff] [review]
gfx.patch for GDK porting
In order to make the patch be coincident with Bugzilla's rules
Attachment #317215 -
Attachment is obsolete: true
The previous patch was modified with Bugzilla's style.
You can simply comfirm the details of the changed part.
***Old version***
#ifdef MOZ_ENABLE_GTK2
#ifdef MOZ_X11
***New version***
#if defined(MOZ_ENABLE_GTK2) && defined(MOZ_X11)
Attachment #320147 -
Flags: superreview?(vladimir)
Attachment #320147 -
Flags: review?(vladimir)
Comment on attachment 320147 [details] [diff] [review]
The patch was modified with Bugzilla's style.
This looks fine, thanks!
Attachment #320147 -
Flags: superreview?(vladimir)
Attachment #320147 -
Flags: superreview+
Attachment #320147 -
Flags: review?(vladimir)
Attachment #320147 -
Flags: review+
Comment 10•18 years ago
|
||
Comment on attachment 317234 [details] [diff] [review]
toolkit.patch for GDK porting
minusing based on my previous comment 5
Attachment #317234 -
Flags: review?(caillon) → review-
| Reporter | ||
Comment 11•18 years ago
|
||
Comment on attachment 317234 [details] [diff] [review]
toolkit.patch for GDK porting
Consider 'XRemote' service
Attachment #317234 -
Attachment is obsolete: true
Comment 13•4 years ago
|
||
The bug assignee didn't login in Bugzilla in the last 7 months.
:stransky, could you have a look please?
For more information, please visit auto_nag documentation.
Assignee: jh0421.sung → nobody
Flags: needinfo?(stransky)
Updated•4 years ago
|
Status: NEW → RESOLVED
Closed: 4 years ago
Flags: needinfo?(stransky)
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•