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:
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.
Kipp writes,
"I'm back from sabbatical, and thats it..."
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. "
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."
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.
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
|