update TODO to reflect reality

git-svn-id: svn://10.0.0.236/branches/XPCDOM_20010329_BRANCH@92300 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
jband%netscape.com
2001-04-14 18:47:19 +00:00
parent bbb012f0d1
commit 45b6a56d1a

View File

@@ -1,96 +1,48 @@
/* jband - 07/08/99 - stuff to do */
/* jband - 03/06/01 - Stuff to do soon */
**** DOCS ****
- FIX these things:
! FIX resolve in setProperty brendan bug 72354
! FIX Soap stuff in xmlextras needs fix for nsIXPCScriptable usage
- FIX nested enumerate with scriptable helper
- FIX xpccomponets.cpp use scriptable to deal better with prototype use
- Docs
- FEATURES
! jst NEEDS 'rescope' method (really 'reparent')
- mstoltz wants 'clearAllSecurityPolicy' method
- followup with shaver on classinfo maps (shared with table driven QI?)
- deal with shaver's string changes
? add HasInstance (or whatever) to nsIClassInfo
? nsXPConnect should impl nsISupportsWeakReference
**** TESTING ****
- VERIFY these things:
- VERIFY that locking work is DONE.
- VERIFY that scriptable flags are being honored
- VERIFY that we honor nsIClassInfo flags
- VERIFY cleanup of unused stuff
- for xpconnect
- for xptcall
- FOORPRINT & PERFORMANCE
- convert maps to use jsdhash
? look into optional hashtable in interface sets
**** PORTS ****
- CODE MAINTAINABILITY
- reorg xpcprivate.h
- more code comments
- additional xptcall ports
- CODE INSTRUMENTATION
- improve DebugDump stuff
- stats gathering/reporting code
- FINISH debug code to point out shadowed members in interface sets
- debug code to point out *use* of potentially shadowed members
- add code to discover QIable interfaces not mentioned in nsIClassInfo
**** GENERAL ****
- TESTS - we need tests for:
- look into hooking up to JS test suite
- use what can be used from cbegle's xpconnect tests
- add multi-threaded tests
- versioning
- binary compatibility
- componentization
- debugging
**** FEATURES ****
- namespaces
- xptinfo work
- XPConnect work
- reimplement nsSJIID and nsJSCID using multiple inheritence
- flattened component scheme
- xpidl extensions
- XPConnect support
- simple aggregatable interface for GetCID()
- coclass design
- registry 'merging'
- work in JS engine to track more info when exceptions thrown so that
the uncaught exceptions will not be so mysterious (filename and lineno)
- proto object per class
- safer use of jsdoubles
- refactor wrapper tracking based on JSRuntime no JSContext
- Constants for WrappedJS objects?
- Even for WrappedNatives the constants should (perhaps) be in the
(as yet not created) class proto object rather than props of each object?
This makes then overwritable?
- Add thread safety to xpconnect (and xptinfo)
- JS examples emitted from xpidl compiler
- Add support for further wrapping the component manager to allow
registering services and factories implemented in JS.
- XPJS
- Add better error support - reflect more xpcom error codes into
JS. I'd like to be able to declare xpcom error (and success)
codes in idl
- Improve exception scheme so that exceptions thrown by JS are
not just strings, but instead are more interesting objects.
- better debug and exception loocation support
- reflect js lcations and stacks as an xpcom service
- expose a debugger callable eval and dump stack
- write better tests (for xpconnect *and* xptcall)
- add coclass-like and flattened interfaces scheme. Needed for
DOM. Requires xpidl and typelib extensions in addition to runtime
support.
- define and enforce data conversion limits; e.g. what happens
when we try to coerce an out of range conversion, like converting
1232.2 into an 8-bit signed value? Fail, truncate? etc.
- possibly support opaque pointer typedefs and/or structs.
- declare C arrays in xpidl and map to JS
- cycle breaking issues
- recomended patterns?
- weak refs for JS -> native
- weak refs for native -> JS
- We need better error reporting across the xpconnect boundary!
- xpconnect specific nsresult error codes ?
- expose 'get last error details' to native xpcom?
- a global object will need global namespace interface
- DOCS
- update typelib spec ([astring] and [function])
- add isSuccessCode to Components doc
- xpconnect api docs
- discussion of flattening and implications
- add to the faqs