Highlights
- Finished M5.
- We got some requests recently for more and clearer documention,
so David Hyatt took it on himself to revamp all of our online
doc, including a whole new Table
of Contents, Introduction,
Overview of Packages,
Introduction to a XUL
Document, specs on Menu
Bars and Menus, Toolbars
and Toolboxes, Titled
Buttons, and Tree
Widget. He is also coordinating the updating of all other
existing docs and writing any missing ones. (hyatt, et.
al.)
Lowlights
- Haven't been able to fix the Tab Widget's tab visibility bug
for native widgets. Waiting on an answer from PeterL. But it works
for non native gfx widgets. (evaughan)
Accomplishments
- Fixed 6 reported bugs in the last week, see our Fixed
Bug List for details. (pinkerton, scc, danm, rods, hyatt,
evaughan)
- Completed XP FileList for D&D of file lists. (rods)
- Added file list support in the Windows platform specific code
in clipboard object. (rods)
- Made window.open work synchronously on Windows. (hyatt)
- Implemented a new event queue to wrap our crufty old C PLEventQueues
(nsIEventQueue). (hyatt)
- Rewrote the event queue service to handle stacks of nsIEventQueues
per thread instead of a single event queue per thread. (hyatt)
- Changed our modal dialog code and our window.open code to
push and pop event queues to allow NetLib to continue to perform
loads while inside the event processing of an outer queue. (hyatt)
- Converted the rest of the product over to nsIEventQueues and
worked with the Necko team to convert their next-generation Netlib
code over. (hyatt)
- Implemented event addition through script in the AOM.
(Added support for addEventListener and removeEventListener.)
(hyatt)
- Changed tristatecheckbox tag to checkbox. (pinkerton)
- Posted new checkbox spec.
(pinkerton)
- Fixed some of the XPToolkit tests and gave them
debug menus. (mcafee)
- Added verification URL's to debug menu. (mcafee)
- Added a COM box interface called nsIBox to fix numerous box
bugs. (evaughan)
- Built one of German's more complex dialogs entirely with boxes.
(evaughan)
- Posted a completely new revision of the XPToolkit
schedule, broken down by milestones, in PDF format.
We sure could use more help in getting it done though. If
you'd like to do any of it, please let me know. (trudelle)
Priorities
- Documentation for Drag & Drop. (rods)
- Checking in D&D stuff. (rods)
- To crank out the rest of our documentation. (hyatt et. al.)
- Popup menu infrastructure in the AOM. (hyatt)
- Drag & Drop. (pinkerton, until he's dragging and dropping
himself)
- File filter and type selection. (sdagley)
- Scrollbar widget (evaughan)
- Finish Font Retriever API. (scc)
- Get more buy-in on explicit, intentional, working, ownership
models. (scc)
- Start converting AppCores to Components. (scc)
Decisions
We've decided that the modal dialog threading issue is not worth
solving in the current Netlib implementation, so we will consider
that Necko is a requirement for it to work, and will postpone it
until Necko lands. (danm, hyatt, warren, don, et. al.)
Issues
- Recent Mac builds crash very quickly, when they run at all.
- Only one week after fixing 'the mother of all leaks', are
we leaking WebShells again already? Could everyone please try
a bit harder to implement a rational ownership model? It's not
easy, but it's worth it.
People
- Steve Dagley will be on vacation 5/28 through 6/2.
- Rod Spears will be vacating 5/20 through 6/6.
- Peter Trudelle will be vacant 5/20 through 5/23.
- Scott Collins will return to Michigan 5/11.
Dave Hyatt has this update on XPToolkit documentation:
"I'm in the process of rewriting all of the XPToolkit documentation.
Some of the new docs are now online at http://www.mozilla.org/xpfe."
Nisheeth has this update on the status of the webshell module
- Bugs 5472, 5850 got fixed.
- A bunch of work happened to unblock PICS. PICS can now observe
document loads and call methods on the new nsIWebShellServices
interface for loading and stopping urls, enabling/disabling rendering,
etc.
Nisheeth also has a layout update:
"I'm working on implementing the CSS direction property
for block elements."
Akkana Peck has our Editor update::
We stabilized M5 and began working on our M6 features (see http://www.mozilla.org/editor/milestones.html
for feature list and milestone schedule).
Some features we added this week:
- Insert link and other dialogs: some nice features, like preview,
have been added. Unfortunately we're still wrestling with basic
dialog functionality, so our new features work inconsistently
because of problems with the underlying dialogs. Other UI elements,
such as heading style, color, and font size, are being added to
the toolbar and will be hooked up over the next few weeks.
- A Save dialog has been hooked up, and backend code has been
written to allow for file saving; work will continue on that next
week.
- Text services work is progressing, and should be usable for
spell checking and find and replace (both of which are actively
being added and have made great progress), and similar services;
internationalization work is also progressing.
- Lots of backend work, including splitting/joining of html
block elements, hooks for insert html (waiting on a parser/dom
implementation).
- Research is taking place on the implications of using the
editor as the cross-platform text/rich text field widget; we're
hoping to make progress on this
- Middle mouse paste has been hooked up, though currently it
only pastes to the current caret position. - Work continues on
selection, particularly getting arrow keys working again.
Phil Peterson has news regarding the Mail/News client:
This week
- Mac version of mail/news added to Tinderbox and default build
process
- Address
Book spec posted to mozilla.org
- More decisions on message
composition, spec update coming next week
- Work in progress for IMAP, News, and incremental writing in
Mork
- 10 M5 bugs fixed since last week
- General stability work on checking for null pointers from
allocations, improving reference counting using nsCOMPtr and NS_WITH_SERVICE
Next week
- First UI review on multiple accounts/identities. Public spec
to follow.
- Platform parity: IMAP to be added to Linux, and IMAP and news
to be added to Mac
- XPConnect-izing the Messenger app core (msg compose app core
to follow)
- RDF group providing performance help, esp. for IMAP
- M6 work. Schedule notes
- Milestones
doc receives a major update
- M4 removed for brevity, M9 added by necessity
- Scriptable modal dialogs and RDF drag/drop moved out into
M8 to reflect dependencies on XPFE.
Footprint watch
Pretty much the same as last week. Win32 is currently building the
whole mailnews tree, while Mac is not building IMAP or news and
Linux is not building IMAP. Next week, we'll add these components
to all platforms, which will widen the footprint gap shown below,
but it will give us an apples-to-apples comparison of footprint
across platforms.
- Win32: 739k
- Mac: 948k
- Linux: 1452k
Robert Churchill has this RDF update for us:
Checked in some preliminary support for template nodes for
XUL content builders. This means that a <xul:tree> can contain
a <xul:template> which specifies how the builder should
construct rows in the tree when they are added. Previously, this
logic was hard-coded, inflexible C++ code. Now, you can have XUL
trees with just about any type of content. We need to add much
better "rule" support on templates to make the row construction
more powerful... maybe in the next week or two, it will be good
enough to construct menus and toolbars via templates as well.
Anyway, as an example of what a <xul:template> looks like,
take a look at "mozilla/rdf/resources/sidebar.xul" (look for the
<xul:tree> near the end of the file.) The sidebar is the
only thing to be using <xul:template> at the moment, but
the interesting thing is that the code for template construction
actually sets all attributes on nodes before adding them, so just
by using templates some CSS style bugs are worked around. For
example, now all items in the sidebar get their proper icons from
CSS. (Before, to work around the bug, one had to sort on a column
for the proper CSS styles to be picked up for icons, for example.)
Scott writes:
"This week Netscape released the source code to Rhino,
a production-grade JavaScript implementation written in 100% pure
Java. Rhino has all the features of the JavaScript engine
that will be used in the Mozilla browser, including LiveConnect,
and an interactive shell for executing scripts.
The version of JavaScript implemented by Rhino is JavaScript
1.4, which implements several significant extensions to the ECMAScript-262
standard, including
- regular expressions
- switch statements
- do...while loops
- statement labels and labelled break and continue
- object literals
- nested functions
- the Script object
- exception handling
- the instanceof operator
the in operator
Finally, Rhino has implemented JavaAdapters, which allows JavaScript
to implement any Java interface or extend any Java class with a
JavaScript object."
Previous Updates
|