status update

maintained by Chris Nelson <chrisn@statecollege.com>

Last Updated Saturday, July 3, 1999

This status update page is updated every weekend. To get updates and news throughout the week , I invite you to check out mozillaZine, a site I maintain devoted to Mozilla advocacy.

Previous Updates

Friends of the Tree

Thanks to Duncan Wilcox <duncan@be.com> and Chris McAfee. Duncan worked with Chris in merging the BeOS port this week and getting it in the tree. Chris is also workign on landing the OS/2 port. - Bruce Mitchener, Seth Spitzer

Tim Rowley <tor@boojum.cs.brown.edu>: solaris patches and help with build bustage. - S.S.

Bruce Mitchener Jr. <bruce@cybersight.com>: Makefile work for necko, adding |GetIID()| implementations where they were missing, fixing build bustage - S.S.

Christopher Blizzard <blizzard@redhat.com>: more amazing xlib work. See this page - S.S.

Alexander Larsson <alex@signum.se>: submitted monster work to help reduce symbol bloat on Linux. See here for details. - S.S.

James Lewis Nance <jlnance@sailboat.mis.uncwil.edu>: patches to make libreg do memory-mapped i/o in an effort to speed startup (to be checked in soon) - Dan Veditz

"Who says we don't have external contributors?" - Seth Spitzer

Module Updates
XPCOM
July 3
Submitted by Suresh Duddi <dp@netscape.com>

Suresh Duddi has our XPCOM update this week:

  • cata@netscape.com eliminated 4 dll loads (intl charset converters) at startup
  • law@netscape.com eliminated 3 dll loads (appshell components) at startup
  • XPCOM has been branched (XPCOM_M8_PERF_BRANCH) and will land monday. Optimizations in the branch include:
Necko (New Netlib)
July 2
Submitted by Warren Harris <warren@netscape.com>

Our Necko update is from Warren Harris

  • By defining NECKO=1 (or the --enable-necko configure flag in Linux) in your environment, you should be able to build with necko on Linux and Windows.
  • Gordon is hot on the heals with the Mac build, but it will probably be another day or two.
  • Rick and Gagan have been working on the http protocol itself. The stand-alone test is able to fetch numerous pages without leaking (substantially) or crashing. (http 1.0 only for now.) No cache yet though, so don't expect blinding speed.
  • file: and resource: protocols are there, although file: still needs some work (on my plate).
  • The basics for the about: protocol are there, but there's nothing to talk about yet.
  • David Hyatt is working on the chrome: protocol which is required to launch the browser. This is a pretty straightforward translation from one URL to another.
  • Judson and I have been working on the NECKO ifdefs in the rest of the codebase, and Jud has html showing up in viewer. Now we're trying to get past a few issues to get it to work with apprunner: filetype->mime mapping, chrome protocol, massive doc loader damage.
  • Jevering even thinks he's helping out. :-)

Sorry for not having more details, but we're all working pretty hard to pull this together. We're this ->| |<- close.

 

NGLayout
July 2
Submitted by Kipp Hickman <kipp@netscape.com>

Kipp writes,

"I'm back from sabbatical, and thats it..."

Javascript
July 2
Submitted by Mike McCabe <mccabe@netscape.com>

Mike McCabe has our Javascript update:

"Christine Begle has expanded the JavaScript test library to include tests for the LiveConnect connectivity layer between Java and JavaScript. Frank Mitchell has used the tests to verify his recent update to the LiveConnect implementation in Rhino. "

XPConnect
July 2
Submitted by John Bandauer <jband@netscape.com>

John Bandauer writes:

"With mccabe's help I've written a proposal for something called XPJS Components. This will be a system to allow aryone to implement first class xpcom components, services, and factories in JavaScript. These components will not be limited to browser windows. They will be accessed and used 'just like' native xpcom components and services by any native or JS code. I've been spending as much time this week kicking around ideas and developing plans then actual coding. We are: working on a coclass-like system for xpcom, working out a clsid/progid strategy, and attacking xptcall 'this adjustor' issues. With brendan's help I've implemented a JSArgumentFormatter that will allow code which is working with the JS api to easily wrap and unwrap xpcom objects to and from JS objects. Christine Begle is laying plans for coherent test frameworks for xpidl and xpconnect."

Plugins in Linux
July 2
Submitted by Hoa Nguyen<hoa.nguyen@intel.com>

We've been spending the last couple weeks looking into inline plugin (<embed> tag) support on Linux/Unix. Our first priority is focusing on supporting the new XPCOM based plugins as defined by the appropriate interfaces in mozilla/modules/plugin/public/. The first step that we have been working on has been to clean up the sample plugin code in mozilla/modules/plugin/public/. Also we've looked at ways in which we could associate a plugin's mime type with the appropriate CLSID. What seems to work so far, and seems to be consistent with how content viewers in the layout engine and protocol handlers in Necko work, is to define a ProgID with a given prefix and concatonate the mime type to construct a full ProgID for the XPCOM plugin. Each plugin would be required to expose a NSRegisterSelf function which registers the proper ProgID and CLSID. To instantiate the plugin, the type param in the embed tage would be concatonated with the proper prefix to construct the ProgID for the plugin of interest through ComponentManger::CreateInstance.

Example:

#define PLUGIN_MIME_TYPE "application/x-hello-world"
#define NS_INLINE_PLUGIN_PROGID_PREFIX "component://netscape/inline-plugin/"

nsresult rv;
nsIPluginInstance *hello;
nsString2 strProgID (NS_INLINE_PLUGIN_PROGID_PREFIX);
char buf[255]; // todo: need to use a const

strProgID += PLUGIN_MIME_TYPE;
strProgID.ToCString(buf, sizeof(buf));

rv = nsComponentManager::CreateInstance(buf, null, nsIPluginInstance::GetIID(), (void**)&hello);

// do stuff with the plugin

Note that none of this code has actually been checked into the tree yet, but will be soon. We're in the process of getting access to CVS.

Mail/News
July 2
Submitted by Phil Peterson<phil@netscape.com>

This week

  • Fixed 20 bugs (4 by engineers in other groups)
  • Address book can save entries into the DB
  • New MIME quoting code turned on
  • Work on new account wizard
  • Tree widget performance getting significantly better
  • Removed dependency on windows.h
  • Spent lots of time fixing up nsCOMPtr usage to work with new assertions
  • Started thinking about address book import
  • Converted the message searching interface to IDL
  • Converted all time_t code to PRTime for portability (Mac was hosed)
  • Message copy service starting to run
  • Undo delete local message works
  • Addressing news messages using URLs and subscription-guessing works now
  • Message compose window can choose from-identity
  • Updated the jobs document with some feature ideas which were rattling around but not recorded.
Footprint watch
  • Win32: 1045k, Mac 1856k (apparently, ~1485k is as good as we could do if we took out Macsbug symbols), Thanks to Chris Yeh, we know that the Linux build is 2053k. Yes, that's the stripped number. Still pretty big, and 7623 remains open. [ramiro landed some symbol bloat fixes for linux last night. But I don't any of the fixes are turned on yet. - Seth Spitzer]
People
  • Phil Peterson on sabbatical 7/6 - 8/17. David Bienvenu and Scott Putterman will be working feats of administrative prestidigitation, for three weeks each, in that order.
  • Candice Huang and Rich Pizzarro will also be taking sabbaticals later in the summer.

Previous Updates