зеркало из https://github.com/mozilla/pjs.git
255 строки
5.5 KiB
HTML
255 строки
5.5 KiB
HTML
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta name="GENERATOR" content="Mozilla/4.51 [en] (WinNT; U) [Netscape]">
|
|
<meta name="Author" content="Suresh Duddi">
|
|
<title>TODO List for XPCOM</title>
|
|
</head>
|
|
<body>
|
|
|
|
<center>
|
|
<h1>
|
|
TODO List for XPCOM</h1></center>
|
|
|
|
<center>Last updated: 25 March 1999
|
|
<br><a href="mailto:dp@netscape.com">Suresh Duddi</a></center>
|
|
|
|
<table BORDER WIDTH="100%" NOSAVE >
|
|
<tr NOSAVE>
|
|
<th NOSAVE>Task</th>
|
|
|
|
<th NOSAVE><a href="http://bugzilla.mozilla.org/bug_status.html#priority">Priority</a></th>
|
|
|
|
<th NOSAVE>Owner</th>
|
|
|
|
<th NOSAVE>MileStone complete/Status</th>
|
|
</tr>
|
|
|
|
<tr BGCOLOR="#33CCFF" NOSAVE>
|
|
<td NOSAVE>Move xpcom from using NR_*() functions (modules/libreg) to nsIRegistry
|
|
(xpcom/src/nsRegistry.cpp)
|
|
<ul>
|
|
<li>
|
|
Mainly you want to change all the Platform*() functions in nsComponentManager.cpp</li>
|
|
|
|
<li>
|
|
Now we open/close the registry all the time. I want to keep the registry
|
|
open all the time. That would get performance up.</li>
|
|
|
|
<li>
|
|
Platform*() functions use the NR_*Raw() functions in some places. I wonder
|
|
if the nsRegistry has a equivalent. If not we need to create them.</li>
|
|
</ul>
|
|
Mostly, there is equivalence between NR_*() calls and nsRegistry calls. </td>
|
|
|
|
<td>P2</td>
|
|
|
|
<td>Nick Ambrose <<a href="mailto:nicka87@hotmail.com">nicka87@hotmail.com</a>></td>
|
|
|
|
<td>3/22/1999 started
|
|
<br>3/27/1999 Patch submitted
|
|
<br>3/30/1999 landing
|
|
<br><b>DONE</b></td>
|
|
</tr>
|
|
|
|
<tr BGCOLOR="#33CCFF">
|
|
<td>RegisterFactory() and RegisterComponent(..persist=0) ignoring PROGID.
|
|
Needs Fix.</td>
|
|
|
|
<td>P1</td>
|
|
|
|
<td>Nick Ambrose <<a href="mailto:nicka87@hotmail.com">nicka87@hotmail.com</a>></td>
|
|
|
|
<td>4/6/1999 started
|
|
<br>4/7/1999 Patch submitted
|
|
<br>4/12/1999 Patch Checked in
|
|
<br><b>DONE</b></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Startup components: Some components need to be created at startup.
|
|
Have a framework for them.</td>
|
|
|
|
<td>P1</td>
|
|
|
|
<td><a href="mailto:dp@netscape.com">Suresh Duddi</a></td>
|
|
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>nsIRegistry access via Javascript.</td>
|
|
|
|
<td>P1</td>
|
|
|
|
<td></td>
|
|
|
|
<td>IDL of nsIRegistry will fix this says <a href="mailto:jband@netscape.com">John
|
|
Bandhauer</a></td>
|
|
</tr>
|
|
|
|
<tr BGCOLOR="#33CCFF" NOSAVE>
|
|
<td NOSAVE>API changes: Remove all pathlist. XPCOM should support only
|
|
paths.</td>
|
|
|
|
<td>P1</td>
|
|
|
|
<td><a href="mailto:dp@netscape.com">Suresh Duddi</a></td>
|
|
|
|
<td>4/2/1999 Checked in
|
|
<br><b>DONE</b></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Fix xpcom from being initialized before main from static variables.</td>
|
|
|
|
<td>P1</td>
|
|
|
|
<td><a href="mailto:dp@netscape.com">Suresh Duddi</a></td>
|
|
|
|
<td>3/22/1999 Started.
|
|
<br>- checked in a fixed xpcom initialization sequence.
|
|
<br>- Now got to fix all code statically calling it. I know Netlib does.
|
|
<br>- 4/1/1999 Fixed netlib on unix from static intialization. WIN is left.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Path handling: Use nsFileSpec instead of file path names. Char * pathnames
|
|
are not intl, and cannot be stored in the registry. Plus that wont support
|
|
mac aliases.
|
|
<ul>
|
|
<li>
|
|
Possibly move autoreg out of xpcom</li>
|
|
</ul>
|
|
</td>
|
|
|
|
<td>P1</td>
|
|
|
|
<td><a href="mailto:dp@netscape.com">Suresh Duddi</a>
|
|
<br><a href="mailto:rjc@netscape.com">Robert Churchill</a></td>
|
|
|
|
<td>3/24/1999 started
|
|
<br><b>Blocked </b>on deciding which solution to pick.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Registry dump utility (regExport exists on windows) and about:registry
|
|
(or) better yet an rdf data source for the registry.</td>
|
|
|
|
<td>P3</td>
|
|
|
|
<td><a href="mailto:dp@netscape.com">Suresh Duddi</a></td>
|
|
|
|
<td>4/5/1999 Fixed regExport to accurately dump the registry on win and
|
|
unix.
|
|
<br>- regExport needs to be compiled on the mac.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Replace use of nsVector (PL_Vector) with nsISupportsArray</td>
|
|
|
|
<td>P3</td>
|
|
|
|
<td></td>
|
|
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>PATH argument to NSRegisterSelf() and NSUnregisterSelf() to be a nsISupports</td>
|
|
|
|
<td>P1</td>
|
|
|
|
<td></td>
|
|
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr BGCOLOR="#33CCFF" NOSAVE>
|
|
<td NOSAVE>Code Cleanup:
|
|
<ul>
|
|
<li>
|
|
Registry path strings in nsComponentManager.cpp #defined</li>
|
|
</ul>
|
|
</td>
|
|
|
|
<td>P3</td>
|
|
|
|
<td>Nick Ambrose <<a href="mailto:nicka87@hotmail.com">nicka87@hotmail.com</a>></td>
|
|
|
|
<td>4/1/1999 started
|
|
<br>4/5/1999 Patch submitted and checked in
|
|
<br><b>DONE</b></td>
|
|
</tr>
|
|
|
|
<tr BGCOLOR="#33CCFF">
|
|
<td>Performance
|
|
<ul>
|
|
<li>
|
|
Cache commonly used registry keys</li>
|
|
</ul>
|
|
</td>
|
|
|
|
<td>P1</td>
|
|
|
|
<td>Nick Ambrose <<a href="mailto:nicka87@hotmail.com">nicka87@hotmail.com</a>></td>
|
|
|
|
<td>4/1/1999 started
|
|
<br>4/5/1999 Patch submitted and checked in
|
|
<br><b>DONE</b></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Factories: Use previously created factories for object creation instead
|
|
of creating the factory everytime the object needs to be created.
|
|
<ul>
|
|
<li>
|
|
This is very tricky as the factory is owned by the component and when it
|
|
decides to unload itself on a CanUnload() call, the factory will be released.
|
|
Got to make sure that the component manager gets notified of this if it
|
|
caches the factory.</li>
|
|
</ul>
|
|
</td>
|
|
|
|
<td>P2</td>
|
|
|
|
<td></td>
|
|
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr BGCOLOR="#33CCFF" NOSAVE>
|
|
<td NOSAVE>nsIAllocator: wrap it in a static api</td>
|
|
|
|
<td>P2</td>
|
|
|
|
<td><a href="mailto:jband@netscape.com">John Bandhauer</a></td>
|
|
|
|
<td NOSAVE>3/31/1999 started
|
|
<br>4/2/1999 Check in
|
|
<br><b>DONE</b></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h2>
|
|
Documentation on XPCOM</h2>
|
|
|
|
<ul>
|
|
<li>
|
|
<a href="TODO.html">TODO List</a> <<i>this page></i></li>
|
|
|
|
<li>
|
|
XPCOM main page : <a href="http://www.mozilla.org/projects/xpcom">http://www.mozilla.org/projects/xpcom</a></li>
|
|
|
|
<li>
|
|
<a href="xpcom-code-faq.html">Code FAQ</a></li>
|
|
|
|
<li>
|
|
<a href="xpcom-component-registration.html">Component Registration</a></li>
|
|
</ul>
|
|
|
|
<hr WIDTH="100%">
|
|
</body>
|
|
</html>
|