On 5 déc, 15:13, philippe <pa510...@exchange.france.ncr.com> wrote: > I use gecko 1.9.2.23 > > I have an error when I use the GetContentDomWindow on a > nsIWebBrowserObject > > What I do before is: > > I create a browser into a window. I navigate on a page using loadURI. > The page is OK > > I trap a key input and start to execute some code into my chrome when > a key is pressed. > > Here is the code > > nsIDOMWindow* domWindow=NULL; > rv=mWebBrowser->GetContentDOMWindow(&domWindow); > > nsCOMPtr<nsIScriptGlobalObjectOwner> > theGlobalObjectOwner(do_GetInterface(domWindow)); > > But domWindow is NULL and rv=mWebBrowser- > > >GetContentDOMWindow(&domWindow); returns 0x80004002. > > What is wrong with y code. Do you have some sample ? > > THank's a lot for your responses > > philippe
Here is my InitialisationProcess In the container rv = XPCOMGlueStartup(xpcomPath); ... rv = XRE_InitEmbedding(xuldir, nsnull, nsnull, nsnull, 0); Then in the chrome class (nsIInterfaceRequestor,nsIWebBrowserChrome,nsIWebBrowserChromeFocus,nsIEmbeddingSiteWindow,nsIWebProgressListener,nsSupportsWeakReference) NS_INTERFACE_MAP_BEGIN(WebBrowserChrome) NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIWebBrowserChrome) NS_INTERFACE_MAP_ENTRY(nsIInterfaceRequestor) NS_INTERFACE_MAP_ENTRY(nsIWebBrowserChrome) NS_INTERFACE_MAP_ENTRY(nsIWebBrowserChromeFocus) NS_INTERFACE_MAP_ENTRY(nsIEmbeddingSiteWindow) NS_INTERFACE_MAP_ENTRY(nsIWebProgressListener) NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference) NS_INTERFACE_MAP_END mWebBrowser = do_CreateInstance(NS_WEBBROWSER_CONTRACTID,&rv); // nsCOMPtr<nsIWebBrowser> mWebBrowser (class member) nsCOMPtr<nsIWebBrowserSetup> webBrowserAsSetup(do_QueryInterface(mWebBrowser)); webBrowserAsSetup- >SetProperty(nsIWebBrowserSetup::SETUP_ALLOW_JAVASCRIPT, allowJS); // alowJS equals PR_TRUE (void)mWebBrowser- >SetContainerWindow(static_cast<nsIWebBrowserChrome*>( this)); nsCOMPtr<nsIDocShellTreeItem> dsti = do_QueryInterface(mWebBrowser); dsti->SetItemType(nsIDocShellTreeItem::typeContentWrapper); browserBaseWindow = do_QueryInterface(mWebBrowser); // nsCOMPtr<nsIBaseWindow> browserBaseWindow (class member) // creates the native window RealWebBrowserEmbedded* embedder; // container class embedder = static_cast<RealWebBrowserEmbedded*>(mypWebBrowserEmbedded); // RealWebBrowserEmbedded* mypWebBrowserEmbedded; (class member) WebBrowserContainer* container = embedder->getContainer(); mNativeWindow = WebBrowserChromeUI::CreateNativeWindow(static_cast<nsIWebBrowserChrome*>( this),container); // creates a WINDOWs hWnd rv=browserBaseWindow->InitWindow( mNativeWindow, nsnull, aX, aY, aCX, aCY); rv=browserBaseWindow->Create(); nsCOMPtr<nsIWebProgressListener> listener(static_cast<nsIWebProgressListener*>( this)); nsCOMPtr<nsIWeakReference> thisListener(do_GetWeakReference(listener)); (void)mWebBrowser->AddWebBrowserListener(thisListener, NS_GET_IID(nsIWebProgressListener)); browserBaseWindow->SetVisibility(PR_TRUE); nsCOMPtr<nsIWebBrowserFocus> browserAsFocus=do_QueryInterface(mWebBrowser); browserAsFocus->Activate(); if (mWebBrowser) { *aBrowser = mWebBrowser; // arg nsIWebBrowser* NS_ADDREF(*aBrowser); return NS_OK; } This Initialisation returns NS_OK What is wrong ? Thak's for your responses _______________________________________________ dev-embedding mailing list dev-embedding@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-embedding