Highlights
- More new and improved documentation.
- Very encouraging progress on drag & drop (our longest
task).
(see below for details on these)
Lowlights
- Popup content menus cannot be positioned correctly for M6
due to screen x,y coordinates not being implemented in the DOM
event object. We didn't discover this until testing the
code and finding stubs. We are trying to work with Gecko to get
this implemented speedily. In the meantime, the popups will
all be displayed at (50,50). (hyatt, saari, joki, vidur)
Accomplishments
- Fixed 10 reported bugs in the last week, see our Fixed
Bug List for details. Also fixed some unknown number of other,
unreported bugs.
- Reworked and re-implemented parts of Clipboard and the D&D
interfaces and classes. We removed nsIGenericTransferable and
nsIDataFlavor, data flavors are now strings. (rods, pinkerton)
- Delivered Font Retriever API. Some questions remain
with respect to outline-based fonts (which can be rendered at
any point size). SCC thinks these questions
have fairly easy answers for us, however. (scc, rods)
- Completed Font discovery implementation for Windows. (rods)
- Landed Carbon changes into tip of Mozilla source. (pinkerton)
- Got Ender to recognize and accept plaintext drags from external
applications like NotePad on MacOS. This means events are being
routed correctly. (pinkerton)
- Moved several widget implementations from pseudo-class attributes
to real pseudo classes :active, :hover, :focus. (evaughan)
- Built box test cases and box based dialogs tests. (evaughan)
- Wrote and posted a report
on code bloat, giving the results of some code generation
size tests comparing raw pointers, nsCOMPtrs, and `nsIPtr's.
(scc)
- Came up with a solution for some Ender command propagation
problems. David Hyatt turned the proposal into a spec.
(scc, hyatt)
- Wrote/updated specs for Tree
Widget, Tab Widget,
Progress Meter,
Checkbox (Tri-state),
Broadcasters and
Observers. (hyatt)
- Outlined a new scheme for RDF->XUL translation that obviates
the need for hard-coded content model builders and allows us to
turn RDF graphs into arbitrary XUL trees (unscheduled).
Robert Churchill is working on implementing this. (hyatt)
- Popup Content (hyatt):
Added support for the popup, context, and tooltip attributes.
Implemented the new nsIXULPopupListener interface for observing
popups.
Modified the Window IDL to add a new method for creating popups.
- Landed Solaris XPConnect. (mcafee, ???)
- Landed Clipboard mini-carpool. (rods, pinkerton, mcafee)
Priorities
- Resolve the remaining open M6 bugs (currently 41, 27 untargeted).
- Implement native widget visibility to enable their use in
tab widget decks. (evaughan, kmcclusk, karnaze)
- Finish scrollbar implementation. (evaughan)
- Font discovery for GTK. (rods)
- Document Drag & Drop interfaces. (rods)
- Update Clipboard docs. (rods)
- Drag & drop implementation (pinkerton, mcafee)
- Convert AppCores to Components, now that XPConnect is ready.
(scc)
- Finish popup content in menus. (hyatt, saari)
- Focus implementation. (hyatt).
- Write popup content spec. (saari,hyatt)
- Finish and document openDialog. (danm)
- OpenDialog modality (danm)
- XUL chrome set. (danm)
- Finish up service to convert Win32 centric file extension
filters to Mac types. (sdagley)
Decisions
Issues
- Tree horkages are getting worse. We are working with
Chris Yeh to improve the situation.
- Unix platform-specific bugs are expanding beyond the capacity
for them to be dealt with within the module-owner's team (i.e,
mcafee is getting too many from Gecko). This further strains
our extremely limited ability to get Linux implementation work
done. We need more Linux brainpower!
- Windows build instructions are not explicit enough for well-intentioned
Win32 newbies from other platforms (especially Mac) who are trying
to test their code everywhere. PATHs and other environment variables
are a foreign concept for some...
People
- Scott Collins is once again working offsite in Michigan. (scc)
- Steve Dagley will be in FL 5/28 through 6/2. Back in
the office 6/3. (sdagley)
Scott writes:
"XPConnect is now part of the
build on all platforms!
Header files and .xpt typelib files are generated on-the-fly
from .idl files for the Windows and unix builds. XPIDL
is ready to go, and by the time you read this, these files will
be generated at build time for the Mac as well. (Building on the
Macintosh now requires installing the XPIDL compiler; if you build
on the Mac, you'll want to look at the updated Mac
build page.)
By writing interfaces in .idl, we get transparent scriptability
of C++ from Javascript without any compile-time glue whatsoever.
Drop-in modules are also scriptable with no recompilation needed.
To try it out, build xpcom/sample and point mozilla to
the html
page there.
So far, rdf and mail/news are defined in XPIDL, and some of
the AppCores modules are coming along as well. We recently made
a change to allow DOM elements to be used with XPConnect as well,
so as to reduce the barriers to transitioning to XPConnect.
Note: XPConnect depends on the xptcall
module to dynamically call C++ interfaces. If xptcall hasn't
yet been ported
to your platform, you will not be able to run mozilla. Drop us
an email
if you might be able to help port or test for your platform."
Rick Gessner has this NGLayout update:
The Raptor folks have been focused on performance, stability
and getting to feature complete for HTML 4.0, CSS, DOM and XML.
Notable improvements include:
- Linux:
- rendering performance work
- Mac
- GFX Widgets
- Option groups nearly done
- Making listbox more generic
- Layout
- Firstline/firstletter bug fixes
- DIR support from inline frames (pretty cool)
- Webshell API improvements
- Frame/DOM connections
- JS Security work
- Frameset printing
- Parser
- residual style handling
- better handling misplaced content
- better script support
- performance improvements in doctype detection
- Fragment interfaces (for paste)
Akkana Peck has our Editor update::
- Save and Save As are hooked up -- woohoo!
- Dialogs: image and link dialogs are working better, 90% complete
(modulo dialog bugs, different on different platforms). A new
page http://www.mozilla.org/editor/ui_specs/Composer_5_Dialogs_Multimode.html
discusses some new UE suggestions regarding splitting most of
our dialogs into Basic and Advanced sections.
- The spelling checker dialog has been wired up and put in place;
anyone wanting to plug a spelling checker in needs to implement
nsISpellChecker.
- Wrapping support has been added in the plaintext editor.
- Fixed bugs to make the M6 editor more solid.
Phil Peterson has news regarding the Mail/News client:
This week
- HTML composition is in using the editor widget. Applying HTML
attributes and multipart messages coming soon.
- News is more usable, since we're telling RDF there are fewer
messages than there really are. News is also working on all three
platforms.
- IMAP runs on all three platforms (although was unintentionally
omitted from a Linux makefile)
- The MIME parser builds
URLs out of www.mozilla.org and test@mozilla.org, in addition
to http://www.mozilla.org and mailto:test@mozilla.org
as it used to. It can also turn
emoticons into images.
- Marking
messages read works
- We have early UI (XUL only, no C++ code) on the Address Book
card editor, the Search Messages dialog, the Filters dialog, and
the Account Manager dialog.
- Resolved issue on multiple accounts design: one SMTP server
only. Maybe some people need one per account, but we think they're
a subset, and without dialer integration, this seems like the
simplest generally useful solution.
- Workaround for 5450
makes Mac and Linux three pane window look better.
Next week
- Our expectation is that performance will impove when we get
a fix for 3367
(for M6) and hyatt's "tree body
scrolling optimizations" (for M7). Then we'll see where we
are, but we don't expect those to be the last performance issues.
- Massive scheduling work underway for post-M9 work. Feature
cuts are doubtless in our future. Now would be a really good time
for some external folks to dive in.
- Scheduling work pre-empted work on Multiple Accounts spec,
so that should make progress next week.
- Meeting with Gecko and Navigator folks to resolve doc loader
issues: how to run URLs in the right kind of window, how to do
MIME type matchine.
- XPConnect-izing pushed out to M7.
- Triage M6
bugs
Footprint watch
- Win32: 875k. Pretty much every component is 10-20k larger,
including the tiny MIME emitters which didn't grow on Mac. Looks
like something broke in the build system this week.
- Mac: 1537k. Added News and IMAP this week, but each are much
larger than on Win32, so that seems broken. Also added vcard,
which is about the same size as on Win32.
- Linux: 1481k. About the same as last week. IMAP component
coming next week.
Previous Updates
|