Hi, please help.

Using Windows, I've managed to embed Mozilla in a window and navigate
to a web page. However, the page doesn't show in the Mozilla box
until I go over it with my mouse. So if I run the program and the mouse
is not directly over the embedded section, it remains white until I
move the mouse over it. I can't figure out what I'm doing wrong.

This is the setup:

  nsresult rv;
  NS_InitEmbedding(nsnull, nsnull);

  nsCOMPtr<nsIWebBrowser> mWebBrowser;
  mWebBrowser= do_CreateInstance(NS_WEBBROWSER_CONTRACTID, &rv);

  chrome= new WebBrowserChrome;
  chrome->AddRef();
  chrome->SetWebBrowser(mWebBrowser);
  chrome->mNativeWindow= hwnd;
  mWebBrowser->SetContainerWindow(NS_STATIC_CAST(nsIWebBrowserChrome*,
chrome));

  nsCOMPtr<nsIDocShellTreeItem>dsti= do_QueryInterface(mWebBrowser);
  dsti->SetItemType(nsIDocShellTreeItem::typeContentWrapper);

  nsCOMPtr<nsIBaseWindow> mBaseWindow;
  mBaseWindow= do_QueryInterface(mWebBrowser, &rv);
  mBaseWindow->InitWindow(nsNativeWidget(hwnd), nsnull, 0, 0, 400,
400);
  mBaseWindow->Create();

  mBaseWindow->SetVisibility(PR_TRUE);
  mBaseWindow->SetFocus();
  mBaseWindow->Repaint(true);

  nsCOMPtr<nsIWebBrowserFocus>
webBrowserFocus(do_QueryInterface(mWebBrowser));
  webBrowserFocus->Activate();
  WebBrowserFocus->SetFocusAtFirstElement();

  nsWeakPtr listener(
do_GetWeakReference(NS_STATIC_CAST(nsIWebProgressListener*, chrome)));
  (void)mWebBrowser->AddWebBrowserListener(listener,
NS_GET_IID(nsIWebProgressListener));




My webbrowserchrome.h has:

class WebBrowserChrome:
    public nsIWebBrowserChrome,
    public nsIWebBrowserChromeFocus,
    public nsIWebProgressListener,                                              
    public
nsIEmbeddingSiteWindow,                                                     
public nsIInterfaceRequestor,
    public nsIContextMenuListener2,
    public nsSupportsWeakReference
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIWEBBROWSERCHROME
  NS_DECL_NSIWEBBROWSERCHROMEFOCUS
  NS_DECL_NSIWEBPROGRESSLISTENER
  NS_DECL_NSIEMBEDDINGSITEWINDOW
  NS_DECL_NSIOBSERVER
  NS_DECL_NSICONTEXTMENULISTENER2
  NS_DECL_NSIINTERFACEREQUESTOR

  nsCOMPtr<nsIWebBrowser>  mWebBrowser;
  nativeWindow             mNativeWindow;
  PRUint32                 mChromeFlags;
};

Please Help
Thanks

_______________________________________________
mozilla-embedding mailing list
[email protected]
http://mail.mozilla.org/listinfo/mozilla-embedding

Reply via email to