I have created XPCOM component with nsIClassInfo.flags = nsIClassInfo.DOM_OBJECT and is registered it as a "JavaScript global property" with nsICategoryManager. Hence the instance of this class is injected into all window objects, i.e. window.myXPComp. And I'm able to access the XPCOM component and call methods on it from any webpage domain. However, I can't access properties and methods of return XPCOM types, say nsIDomDocument or nsIInputStream, being returned by the method. I guess, since they aren't registered with "JavaScript Global property", I get permission denied on accessing them. How can I access nsI* returned objects on the web page now? Can I wrap the object somehow, or do I need to create a wrapper XPCOM object with "JavaScript global property" set.
I also tried to modify the navigation window's DOM from inside the xpcom component in the extension. However, I can't get a hold of the window object for the navigation window. nsIWindowMediator and nsIWindowWatcher both return only one window object, the chromeWindow, while enumerating. Is there an alternative way of passing objects from within an xpcom component in an extension to a web page? _______________________________________________ dev-tech-xpcom mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-xpcom
