Closed Bug 178654 Opened 22 years ago Closed 22 years ago

Merge GFX Compositor and Views components

Categories

(bugzilla.mozilla.org :: Administration, task)

task
Not set
normal

Tracking

()

VERIFIED FIXED

People

(Reporter: ian, Assigned: ian)

Details

We would like to merge the GFX Compositor and Views components into one:

   Name: "Layout: View System"
   Description: "Painting problems. If the object is in the right place, but 
   doesn't paint correctly, it's a View System bug. If it paints ok, but in the 
   wrong place, then it belongs in another Layout component. Bugs with the 
   'opacity', 'z-index', 'overflow', and 'clip' properties usually belong in 
   this component."
   Default Assignee: roc+moz@cs.cmu.edu
   QA Contact: ian@hixie.ch

Kevin: Are you ok with us doing this?
perhaps: another => some other
Why call it "View System" if we can call it "Painting"?

Do we want this component to include all the painting code within layout? 
(e.g., the paint layer stuff, which I'm thinking of removing -- see bug 124478)
No. There's painting code in just about every frame class.
In terms of code, the new component should cover view/ and gfx/src/nsBlender*,
and that's about it.
So maybe want we really want to do is rename GFX Compositor to GFX and possible
separate it by port?
Oh, for some reason I assumed there was already a GFX component.

There should be a GFX Shared component and then per-platform GFX components ---
GFX/Win32, GFX/GTK, etc.
Severity: normal → enhancement
I've always wondered about the different between "GFX Compositor" and "Image:
GFX".  If the main difference between them is "GFX Compositor" is for
non-images, and "Image: GFX" is for images, then I suggest the "GFX Compositor"
or the new components (whatever you decide to call it) should really say
something along the lines of:  "This component is for non-images.  For
<b>image</b> rendering and drawing problems, use the Image: GFX component"

I'm not sure if we need a component for each gfx platform.  In most cases, the
OS points right to the gfx platform.  A whiteboard, keyword, or even "[Qt]" in
the summary is sufficient, IMO.
kmcclusk: Please indicate if you are against this idea.
I agree with Robert's comment #4 and comment #6

I think there should be: 

layout:view rendering "covers view module + compositing"
shared gfx
gfx-WIN32   
gfx-Linux
gfx-Mac

We need separate modules for gfx-WIN32, gfx-Linux, gfx-Mac so they can have
different owners. 

We may want to add a separate module which covers all of the
invalidation/painting areas in the frame code. 

layout:frame rendering
asa has been opposed to platform specific components (bug 77313), however i'm not.

that said gfx-linux is wrong, if we're going to create the components we should
have:
gfx-BeOS
gfx-carbon
gfx-cocoa
gfx-gtk
gfx-gtk2
gfx-photon (usually found on qnx, but photon can run on windows [phindows] and
x11 [phinx])
gfx-pm (presentation manager - os/2)
gfx-Qt
gfx-win
gfx-xlib

each really has its own assignee and it's unlikely that they'd share qa. the
codebase is different, the assignee is different, the userbase is different, ...

That said, adding lots of components to Browser for this stuff isn't a good idea
at the present time, nor is making a new product.  At some point when it's
easier to move across products it would make sense to have all of this stuff in
a Gecko product (layout, gfx, ...) and then it'd be less of a problem. It
probably belongs in one of the many bugs asking for this.
Alrighty. I propose adding:

   GFX                                  (new)
    Assignee: ?                         QA: ian@hixie.ch
    Description: ?

   GFX: GTK                             (new)
    Assignee: ?                         QA: ian@hixie.ch
    Description: ?

   GFX: Mac                             (new)
    Assignee: ?                         QA: ?
    Description: ?

   GFX: Win32                           (new)
    Assignee: ?                         QA: ian@hixie.ch
    Description: ?

   Layout: View Rendering               (bugs from Views and GFX Compositor)
    Assignee: roc+moz@cs.cmu.edu        QA: ian@hixie.ch
    Description: Painting problems. If the object is in the right place, but 
       doesn't paint correctly, it's a view system bug. If it paints ok, but in 
       the wrong place, then it belongs in another Layout component. Bugs with 
       the 'opacity', 'z-index', 'overflow', and 'clip' properties usually 
       belong in this component. (In terms of code, this covers the view/ and 
       gfx/src/nsBlender* directories.)


Is this right? Could someone fill in the fields marked with question marks?
GFX                                  
    Assignee: kmcclusk@netscape.com                      
    Description: Cross platform rendering interfaces and cross platform base
implementations.

GFX: GTK                             
    Assignee: pavlov@netscape.com                        
    Description:  Mapping of cross platform rendering interfaces to GTK platform
API's.

GFX: Mac                             
    Assignee: dcone@netscape.com         
    Description:  Mapping of cross platform rendering interfaces to Mac platform
API's.

   GFX: Win32                           
    Assignee: kmcclusk@netscape.com     
    Description: Mapping of cross platform rendering interfaces to WIN32
platform API's.
Last I heard, pav is no longer working on mozilla proper.  Has that changed?  If
not, he would _not_ be a good choice for component owner, imo
(nobody@mozilla.org would be a better choice, if only for clarity's sake).
You can assign GFX: GTK to me.  If nothing I can triage to the usual owners
(bstell/ftang, me and tor.)
Okay, that leaves five "?" fields in the current proposal that need to be filled
in before I can create the components.

   GFX                                  (new)
    Assignee: kmcclusk@netscape.com     QA: ian@hixie.ch
    Description: Cross platform rendering interfaces and cross platform base
       implementations. Sample bugs that belong in this component: ?

   GFX: GTK                             (new)
    Assignee: blizzard@mozilla.org      QA: ian@hixie.ch
    Description: Mapping of cross platform rendering interfaces to GTK platform
       APIs. Sample bugs that belong in this component: ?

   GFX: Mac                             (new)
    Assignee: dcone@netscape.com        QA: ?
    Description:: Mapping of cross platform rendering interfaces to Mac platform
       APIs. Sample bugs that belong in this component: ?

   GFX: Win32                           (new)
    Assignee: kmcclusk@netscape.com     QA: ian@hixie.ch
    Description:: Mapping of cross platform rendering interfaces to Windows
       platform APIs. Sample bugs that belong in this component: ?

   Layout: View Rendering               (bugs from Views and GFX Compositor)
    Assignee: roc+moz@cs.cmu.edu        QA: ian@hixie.ch
    Description: Painting problems. If the object is in the right place, but 
       doesn't paint correctly, it's a view system bug. If it paints ok, but in 
       the wrong place, then it belongs in another Layout component. Bugs with 
       the 'opacity', 'z-index', 'overflow', and 'clip' properties usually 
       belong in this component. (In terms of code, this covers the view/ and 
       gfx/src/nsBlender* directories.)
Nobody has even mentioned my OS/2 component for GFX - do I get one? :)
qt gfx needs work, and it will have enough bugs to merit a component
assi: timeless@b, qa:biesi

beos gfx also needs work
assi: arougthopher, qa:<whomever paul wants | timeless@m>

xlib gfx is actually mostly ok except for plugin crashes and a few things i'm
working on. I'd like a component for it so gisburn and i can get the bugs
assi: gisburn, qa:timeless@m

photon gfx is probably in worse shape than Qt, pick any two of the qnx people
guessing,
assi: briane@qnx, qa:dinglis@qnx

Again, -mac is wrong. It should probably be gfx-carbon and gfx-cocoa
i'd go w/ pinkerton for carbon and perhaps sdagley can suggest a cocoa assignee.
QA for cocoa can be hsivonen if no one from netscape can be found.
QA for carbon? *shrug*, it's a stable toolkit, i think sairuh can live with a
few bugs or find someone else.

gtk2 is developing and should have a component
assi: blizzard, qa: browser-china-gtk2

os/2 obviously should be mkaply and whomever he wants, and there is a os/2 qa
like person but i can't remember...
i should not be the owner for gfx-carbon, since i wrote almost none of the code.
dcone would be a better assignee, but i'm not sure if he's fixing mac gfx bugs
anymore.

as far as gfx-cocoa, no code has yet been written. maybe some day.
gfx-carbon: perhaps petersen@nscp? but if there's someone else (in nscp or
otherwise), that might be a better choice...
OS: Windows 2000 → All
Hardware: PC → All
so... what's the current state here? are the components ready for creation?
dcone is gone. any other suggestions?
ok. i'd say that we just get this done. Any changes that we need to make from
this list can be done later in smaller focused bugs. here's the list:

GFX
Assignee: kmcclusk@netscape.com     QA: ian@hixie.ch
Description: Cross platform rendering interfaces and the cross platform base
implementation.
GFX: BeOS
Assignee: arougthopher              QA: timeless@m
Description: BeOS implementation of GFX APIs
GFX: Carbon
Assignee: sfraser@netscape.com      QA: peterson@netscape.com
Description: Carbon (Mac OS 8+) implementation of GFX APIs
GFX: GTK
Assignee: blizzard@mozilla.org      QA: ian@hixie.ch
Description: GTK implementation of GFX APIs
GFX: GTK2
Assignee: blizzard@mozilla.org      QA: browser-china-gtk2
Description: GTK2 implementation of GFX APIs
GFX: Photon
Assignee: briane@qnx                QA: dinglis@qnx
Description: Photon (qnx based, available on win32 and x11) implementation of
GFX APIs
GFX: PM
Assignee: mkaply                    QA: mozilla@us
Description: Presentation Manager (OS/2) implementation of GFX APIs
GFX: Qt
Assignee: timeless@b                QA: biesi
Description: Qt implementation of GFX APIs
GFX: Win32
Assignee: kmcclusk@netscape.com     QA: ian@hixie.ch
Description: Win32 implementation of GFX APIs
GFX: Xlib
Assignee: gisburn                   QA: timeless@m
Description: Xlib implementation of GFX APIs
Layout: View Rendering
Assignee: roc+moz@cs.cmu.edu        QA: ian@hixie.ch
Description: Painting problems. For bugs where the object is in the right place,
but doesn't paint correctly. Bugs with the 'opacity', 'z-index', 'overflow', and
'clip' properties usually belong here. If it paints ok, but in the wrong place,
then it belongs in some Layout component. (In terms of code, this covers the
view/ directory and gfx/src/nsBlender* files.)
Status: NEW → ASSIGNED
We already have a views component. We don't need "Layout: View Rendering".
"GFX: PM" should be "GFX: OS/2" if you want most bugzilla users to
pick the right component.
(someone has got to teach timeless about how to use white space to make things
more readable)

   GFX                                    (renamed from GFX Compositor)
    Assignee: kmcclusk@netscape.com       QA: ian@hixie.ch
    Description: Cross platform rendering interfaces and cross platform base
       implementations. Bugs that belong in this component are cross-platform
       problems with painting, such as fonts getting cropped or underlines not
       getting correctly removed with dynamic effects. Bugs like this that only
       occur on one platform belong in the appropriate component listed below.

   GFX: BeOS                              (new)
    Assignee: arougthopher@lizardland.net QA: timeless@mozilla.org
    Description: Mapping of cross platform rendering interfaces to BeOS platform
       APIs.

   GFX: GTK                               (new)
    Assignee: blizzard@mozilla.org        QA: ian@hixie.ch
    Description: Mapping of cross platform rendering interfaces to GTK platform
       APIs (both versions).

   GFX: Mac                               (new)
    Assignee: sfraser@netscape.com        QA: ?
    Description:: Mapping of cross platform rendering interfaces to Mac platform
       APIs.

   GFX: OS/2                              (new)
    Assignee: mkaply@us.ibm.com           QA: ?
    Description:: Mapping of cross platform rendering interfaces to Windows
       platform APIs.

   GFX: Win32                             (new)
    Assignee: kmcclusk@netscape.com       QA: ian@hixie.ch
    Description:: Mapping of cross platform rendering interfaces to Windows
       platform APIs.

   GFX: Xlib                              (new)
    Assignee: Roland.Mainz@informatik.med.uni-giessen.de
                                          QA: timeless@myrealbox.com
    Description:: Mapping of cross platform rendering interfaces to Xlib
       platform APIs.

   Layout: View Rendering                 (renamed from Views)
    Assignee: roc+moz@cs.cmu.edu          QA: ian@hixie.ch
    Description: Painting problems. If the object is in the right place, but 
       doesn't paint correctly, it's a view system bug. If it paints ok, but in 
       the wrong place, then it belongs in another Layout component. Bugs with 
       the 'opacity', 'z-index', 'overflow', and 'clip' properties usually 
       belong in this component. (In terms of code, this covers the view/ and 
       gfx/src/nsBlender* directories.)


We still need QA for Mac and OS/2. (I'm not sure why timeless suggested
peterson@netscape.com for Mac.)

I'm not going to create components for Qt and Photon, because they don't have
any open bugs that I can see. Also, I'm going to merge GFX and GFX2 since they
have the same assignee and that was the only reason to split the components in
the first place.

Unless there are any objections, I'll go ahead with the changes listed above
shortly. We can always add the QAs for Mac and OS/2 later.
done
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
vrfy fixed. note that hixie used my QA account for all of the places where my
name appeared (not the ficticious account listed in comment 25. hixie: sorry
about the mess i hope there's a bug filed about completion).

hixie took qa for Mac too.
Status: RESOLVED → VERIFIED
Component: Bugzilla: Keywords & Components → Administration
Product: mozilla.org → bugzilla.mozilla.org
You need to log in before you can comment on or make changes to this bug.