David Brittain wrote:
> 
> John Bandhauer wrote:
> 
> > David Brittain wrote:
> >
> >> In C++, it not a problem. Neither is it in Java where using the #pragma
> >> directive in IDL you can get the generated Java file to be placed in a
> >> package. However, in javascript in seems that there is a problem.
> >>
> >> In the scripting interface for our product we have the following sort of
> >> structure:
> >>
> >> interface IBrowser
> >> {
> >>    INode getNode();
> >> }
> >>
> >> interface INode
> >> {
> >>    function1();
> >> }
> >>
> >> interface IImage : INode
> >> {
> >>    function2();
> >> }
> >>
> >> Now if the IBrowser interface returns an INode which actually is on an
> >> object that supports the IImage interface, then the only way to call
> >> function2() is by using QI to get the IImage interface.
> >>
> >> It's bad enough that we have to call QI  (which we don't have to do
> >> under IE or NS4.x) but if we also have to use IID's in javascript (can
> >> you do this?)
> >
> >
> > No. Only named interfaces are allowed.
> >
> > I am working on an extention to xpconnect that does what we call
> > 'flattening'. The idea is that xpconnect will automatically
> > flatten the view of the interfaces of an object. So, JS code for
> > your example above would see an object containing all of the
> > methods of each of the interfaces on the object.
> >
> > This will require the native object implementor to give us access
> > to a 'ClassObject' from which the set of interfaces can be
> > discovered by xpconnect in order to make use of the feature.
> > There are issues with potential shadowing of like-named methods
> > and a scheme for disambiguation. We need this all in order to
> > convert the DOM system away from its big bundle of generated C++
> > code and toward using xpconnect. I am working on this. It will
> > not be ready to deploy for some time.
> >
> > John.
> 
> The flattening sounds like what I need, is there a enhancement request
> in Bugzilla for tracking the progress of this work. Is this likely to be
> included in Mozilla 1.0?
> 
> Dave

The bug is http://bugzilla.mozilla.org/show_bug.cgi?id=13422
You'll find it quite empty. I'm working on this. There will be a
ton of changes in xpconnect to land when the time comes. Yes, I
expect this to be part of Mozilla 1.0.

John.

Reply via email to