Gecko:Obsolete API: Difference between revisions

m
Links; Updates
(Improved bug links (use template), and add link to mailnews nsISupportsArray removal bug.)
m (Links; Updates)
 
Line 3: Line 3:
If at all possible, please provide a) a suggested alternate class or function that provides similar functionality; and b) a link to a bug for removing the obsolete API from the codebase.  The bug should contain rationale for obsoleting that API.  To propose an API for obsolescence, please file a bug and add it to the proposed obsolete API section.
If at all possible, please provide a) a suggested alternate class or function that provides similar functionality; and b) a link to a bug for removing the obsolete API from the codebase.  The bug should contain rationale for obsoleting that API.  To propose an API for obsolescence, please file a bug and add it to the proposed obsolete API section.


= Obsolete API =
== Obsolete API ==
* nsIFileSpec, nsFileSpec
* nsIFileSpec, nsFileSpec
** FileSpec has various issues, including being limited to the system character set for filenames. <!-- more? -->
** FileSpec has various issues, including being limited to the system character set for filenames. <!-- more? -->
** Use nsIFile/nsILocalFile/nsILocalFile{In,Out}putStream
** Use nsIFile/nsILocalFile/nsILocalFile{In,Out}putStream
** {{Bug|38122}}
** {{Bug|38122}}
* nsIPref
* nsIPref ('''GONE''')
** Use nsIPrefService/nsIPrefBranch/nsIPrefBranch2
** Use nsIPrefService/nsIPrefBranch/nsIPrefBranch2
** {{Bug|175193}}
** {{Bug|175193}}
Line 48: Line 48:
** nsIDOMXULListener
** nsIDOMXULListener


= Proposed Obsolete API =
== Proposed Obsolete API ==


* NS_GET_IID, NS_DEFINE_IID, and T::GetIID, except when NS_GET_IID is used on a template parameter.
* NS_GET_IID, NS_DEFINE_IID, and T::GetIID, except when NS_GET_IID is used on a template parameter.
Line 56: Line 56:
* NS_NewAtom, NS_NewPermanentAtom
* NS_NewAtom, NS_NewPermanentAtom
** use do_GetAtom, do_GetPermanentAtom instead
** use do_GetAtom, do_GetPermanentAtom instead
* nsIRenderingContext, nsIDrawingSurface, nsIFontMetrics, nsTransform2D, nsFont, etc
* nsIRenderingContext, nsIDrawingSurface, nsIFontMetrics, nsTransform2D, nsFont, etc. (see [[Gfx glue layer removal]].)
** any substantial new rendering code should be written to Thebes directly; that is, gfxContext, gfx*Surface, gfxPlatform, gfxFontGroup, gfxTextRun.
** any substantial new rendering code should be written to Thebes directly; that is, gfxContext, gfx*Surface, gfxPlatform, gfxFontGroup, gfxTextRun.
Confirmed users
97

edits