Re: How to get currently selected tab index and its content

Jens Sorensen <[email protected]> Mon, 29 Mar 2010 14:23:56 -0700
Newsgroups gmane.comp.mozilla.devel.dom
Message-ID <[email protected]>
You are almost there.. You can get the Tab's document from the tabnode
(your domnode i assume) like this

	:
nodeList->Item(i, getter_AddRefs(domNode));


nsCOMPtr<nsIDOMXULElement> xulElement = do_QueryInterface(domNode);

nsCOMPtr<nsIBoxObject> boxObject;
xulElement->GetBoxObject( getter_AddRefs(boxObject);

nsCOMPtr<nsIBrowserBoxObject> browserObj = do_QueryInterface(boxObject);

nsCOMPtr<nsIDocShell> docShell;
browserObj->GetDocShell( getter_AddRefs(docShell) );

nsCOMPtr<nsIDOMWindow> domWindow = do_GetInterface(docShell)

nsCOMPtr<nsIDOMDocument> doc;
domWindow->GetDocument( getter_AddRefs((spDoc) );

Remember to check return values and NULL pointers :)... Keep in mind
that some of the interfaces are unfrozen as well.

Let me know how it goes..

Cheers,
Jens











On Mon, Mar 29, 2010 at 8:13 AM, Josh Matthews <[email protected]> wrote:
> On 03/29/2010 11:18 PM, veeru wrote:
>>
>> Hi,
>>
>> I am developing an XPCOM component in c++. I am able to get number of
>> tabs currently opened using XBL. Please see the code below:
>>
>> ////////////////////////////////////////////C O D
>> E//////////////////////////////////////////
>> nsresult rv;
>> nsCOMPtr<nsIWindowMediator>  windowMediator
>> = do_GetService(NS_WINDOWMEDIATOR_CONTRACTID,&rv);
>> NS_ENSURE_SUCCESS(rv,rv);
>> PRUint32 len;
>> nsString temp;
>>
>> nsCOMPtr<nsIDOMDocument>  curDoc;
>> nsCOMPtr<nsIDOMElement>  domEl;
>> nsCOMPtr<nsIDOMNodeList>  tabbrowser;
>> nsCOMPtr<nsIDOMDocument>  doc;
>> nsCOMPtr<nsIDOMWindowInternal>  dwi;
>> windowMediator->GetMostRecentWindow(L"navigator:browser",
>> getter_AddRefs(dwi));
>> if (dwi)
>> {
>>        dwi->GetDocument(getter_AddRefs(doc));
>>        if (doc)
>>        {
>>                nsCOMPtr<nsIDOMDocumentXBL>  xbl(do_QueryInterface(doc));
>
>
>>                if (xbl)
>>                        return NS_ERROR_FAILURE;
>
> This condition looks wrong to me, especially since you later use xbl->
>
> Cheers,
> Josh
> _______________________________________________
> dev-tech-dom mailing list
> [email protected]
> https://lists.mozilla.org/listinfo/dev-tech-dom
>