Giorgio Maone wrote:
The instanceof operator calls QueryInterface internally, and it's actually the preferred way to cast interfaces in JavaScript .
Load Tabs Progressively completely screws up this because, as far as I can see, you tried to be "smart" and didn't implement QueryInterface() at all (nor any other method of webNavigation, for the matter), but used the __noSuchMethod__() catch-all trick, which is not "seen" by XPConnect at interface resolution time and therefore breaks instanceof (and possibly other XPCOM-related machinery). Technically speaking you're not implementing any interface, even though some code may see them as implemented.
No, this is not the cause. Isn't QueryInterface the only way to determine whether an interface is implemented? Gecko just didn't call QueryInterface as it promises for instanceof operator. Try the following code:
Guys, if you continue to lay the blame on each other, nobody will fix own plugin.
I'm one of many users of NS + LTP, and I've been wondering for last week why.t.f. do I have to allow the same sites every time I open them again ?
If NS_nightly get rids of the problem, then I look forward for stable release, as I don't want to use beta version.
But if I disable LTP , then I'd commit a suicide after launching FX with >150 saved tabs.
Mozilla/5.0 (Windows; U; Windows NT 6.0; PL; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)
edit: ohh well ... I've just checked if there are any actualizations to plugins, and there's LTP 1.0pre3
But FX cannot install the file, because there's a problem with downloading http://releases.mozilla.org/pub/mozilla ... re3-fx.xpi
reason -228
ehh
Mozilla/5.0 (Windows; U; Windows NT 6.0; PL; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)
I got your report, Jay, but I'll leave your posts as is. I'm not going to have a kitten because of a double post. Do it myself sometimes when it's called for.
Jay wrote:If NS_nightly get rids of the problem, then I look forward for stable release, as I don't want to use beta version.
Giorgio Maone wrote:
The instanceof operator calls QueryInterface internally, and it's actually the preferred way to cast interfaces in JavaScript .
Load Tabs Progressively completely screws up this because, as far as I can see, you tried to be "smart" and didn't implement QueryInterface() at all (nor any other method of webNavigation, for the matter), but used the __noSuchMethod__() catch-all trick, which is not "seen" by XPConnect at interface resolution time and therefore breaks instanceof (and possibly other XPCOM-related machinery). Technically speaking you're not implementing any interface, even though some code may see them as implemented.
No, this is not the cause. Isn't QueryInterface the only way to determine whether an interface is implemented? Gecko just didn't call QueryInterface as it promises for instanceof operator. Try the following code:
Another cause is that you probably didn't implement your wrapping inside a proper XPCOM component.
XPConnect machinery uses QueryInterface for instanceof on XPCWrappers, which are created for a JS object only when it crosses the XPCOM boundaries (e.g. when you pass them as arguments to a XPCOM method or obtain a JS-implemented XPCOM component trough createInstance()/createService()).
That's why your test on a raw (non XPCWrapped) JS Object fails.
thx Alan for information, seems I had obsolete version of NS
Scott: I can't remember which exactly, but one of plugins I use didn't like LTP 0.9, so I had to use 1.0alpha, or use reload tabs progressively plugin.
Mozilla/5.0 (Windows; U; Windows NT 6.0; PL; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)