views:

91

answers:

0

Hi All,

I am developing extension for Firefox 3.0-3.5 versions using VS2008.

I want to set attribute to a tab once the document load request completes within that tab window.

So in OnStateChange method, I am checking for document load. I have used STATE_STOP & STATE_IS_DOCUMENT for it.

I want to determine which tab window has been associated with particular document request.

I have valid DOM Document pointer got from nsIWebProgress *aWebProgress which is 1st input parameter of OnStateChange.

if ((aStateFlags & STATE_STOP) && (aStateFlags & STATE_IS_DOCUMENT))
{
    nsCOMPtr<nsIDOMWindow> domwin;
    nsCOMPtr<nsIDOMDocument> domDoc;
    aWebProgress->GetDOMWindow(getter_AddRefs(domwin));
    domwin->GetDocument(getter_AddRefs(domDoc));
}

I have tried to get nsIDOMDocumentXBL pointer by QIing nsIDOMDocument pointer(domDoc in my example) but it fails with Error code 0x80004002 (2147500034) i.e.NS_ERROR_NO_INTERFACE.

How do I get the tab element corresponding to document load request.

Could any one please help me?

Thanks in Advance, Vaibhav D. Gade.