There is a new File global script object now?

Ideally I think jsLib should go in the direction of putting all it's objects behind a jslib namespace.

This will however break backwards compatibility and that is something I don't want do.

You might need to do this:

 File = null;
 include(jslib_file);

 var f = new File(du.getPrefsDir());

Right here is where the global object is defined:

http://mxr.mozilla.org/mozilla-central/source/dom/src/base/nsDOMClassInfo.cpp#3447

I think it should be called "DOMFile" and *not* "File".

--pete


Philip Chee wrote:
On trunk the following code doesn't work:

var du = new DirUtils();
var f = new File(du.getPrefsDir());

The second line causes the error:

Error: Cannot convert WrappedNative to function =
NS_ERROR_XPC_CANT_CONVERT_WN_TO_FUN

Looking at the properties of File.prototype I get:

Properties for object:
[xpconnect wrapped native prototype]


getAsText: function getAsText() {
    [native code]
}
getAsDataURL: function getAsDataURL() {
    [native code]
}
getAsBinary: function getAsBinary() {
    [native code]
}

This doesn't look like the jslib File() object at all. Looking through
DevMo I see that nsIDOMFile was added in Firefox 3. So it seems we have
a namespace clash.

<https://developer.mozilla.org/En/NsIDOMFile>

Unfortunately the extension I'm trying to update (Cookie Panel) is
orphaned, so I don't know what to do. On the JSLib side I guess you
could rename their File() object to JslibFile() or namespace it to
JsLib.File()

Phil


--
Pete Collins - Founder, Mozdev Group Inc.
www.mozdevgroup.com
Mozilla Software Development Solutions
tel: 1-719-302-5811
fax: 1-719-302-5813

_______________________________________________
Project_owners mailing list
[email protected]
https://www.mozdev.org/mailman/listinfo/project_owners

Reply via email to