yep This is how I was using nsIDOMWindow before:
NS_IMETHODIMP WebBrowserChrome::OnLocationChange(nsIWebProgress* aWebProgress, nsIRequest* aRequest, nsIURI *location, uint32_t aFlags) { PRBool isSubFrameLoad = PR_FALSE; // Is this a subframe load if (aWebProgress) { nsCOMPtr<nsIDOMWindow> domWindow; nsCOMPtr<nsIDOMWindow> topDomWindow; aWebProgress->GetDOMWindow(getter_AddRefs(domWindow)); if (domWindow) { // Get root domWindow domWindow->GetTop(getter_AddRefs(topDomWindow)); } if (domWindow != topDomWindow) isSubFrameLoad = PR_TRUE; } if (!isSubFrameLoad) CWebBrowserChromeUI::UpdateCurrentURI(this); return NS_OK; } So here just changing nsCOMPtr<nsIDOMWindow> to nsCOMPtr<nsPIDOMWindow> and using QueryInterface should do the trick right? Also I am using a function called SizeToContent() from nsIDOMWindow which I do not see exists any more in nsPIDOMWindow either was this one removed completly. On Wed, Feb 10, 2016 at 8:24 PM, Kyle Huey <m...@kylehuey.com> wrote: > Right, that will work, although you could nsCOMPtr to make it a lot > prettier: > > void test(nsIDOMWindow* aDOMWindow, nsIBaseWindow** aBaseWindow) > { > nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(aDOMWindow); > nsCOMPtr<nsIDocShell> docShell; > if (window) > window->GetDocShell(getter_AddRefs(docShell)); > nsIWebShell* rootWebShell = 0; > NS_IF_RELEASE(rootWebShell); > // return status; > } > > - Kyle > > On Wed, Feb 10, 2016 at 5:22 PM, Devan Shah <devan.sha...@gmail.com> > wrote: > >> Do you happen to have a QueryInterface example, >> >> Would something like the following work: >> >> void test(nsIDOMWindow* aDOMWindow, nsIBaseWindow** aBaseWindow) >> { >> nsPIDOMWindow* window = 0; >> nsresult status = aDOMWindow->QueryInterface(NS_GET_IID(nsPIDOMWindow), >> (void**)&window); >> nsIDocShell* docShell = 0; >> if (window) >> window->GetDocShell(&docShell); >> nsIWebShell* rootWebShell = 0; >> NS_IF_RELEASE(rootWebShell); >> NS_IF_RELEASE(docShell); >> NS_IF_RELEASE(window); >> // return status; >> } >> >> On Wed, Feb 10, 2016 at 8:16 PM, Kyle Huey <m...@kylehuey.com> wrote: >> >>> Alright, just QueryInterface between nsIDOMWindow and nsPIDOMWindow when >>> you have one and need the other and you should be fine. >>> >>> - Kyle >>> >>> On Wed, Feb 10, 2016 at 5:15 PM, Devan Shah <devan.sha...@gmail.com> >>> wrote: >>> >>>> Currently I just want to get it up and running again on FF 45 again, >>>> with out making too much changes because we plan to deprecate this feature >>>> mid this year or so. >>>> >>>> Just need to get it working on Firefox 45, currently works perfectly on >>>> Firefox 38. >>>> >>>> >>> >> > _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform