Open main menu

CDOT Wiki β

Mozilla.dev.embedding

Revision as of 16:28, 13 October 2006 by Cdolivei (talk | contribs) (rebuilt a small part of the FAQ)

Newsgroup

Authors

  1. Cesar

There is already an FAQ on mozilla that probably wasn't properly linked in with Mozilla's FAQ page. Instead, I am going to make a list of asked questions on this page and mozilla can put it into their FAQ at their discretion.

FAQ

nsIPromptService with secure sites

The problem is getting "Security Error: Domain Name Mismatch" when visting certain secure sites. You get no text and no functionality. There are two possible solutions to this error.

  1. The Dialog is not handled by the prompt service. You must implement another interface (for example, nsIBadCertListener)
  2. The original dialog does not work correctly because your application is not handling chrome correctly. Here are some things other people have used to solve their problems :
    • This will get the text in the security popup and allow you to view the certificate :
      In the nsIWindowCreator::CreateChromeWindow() implementation, change the doc shell tree item's type to nsIDocShellTreeItem::typeChromeWrapper to nsIDocShellTreeItem::typeContentWrapper to view the certificate. You can nsIWebBrowserChrome::CHROME_OPENAS_CHROME to check when to use typeChromeWrapper and typeContentWrapper
    • This will tell the browser to progress to the secure site

:nsCOMPtr<nsIJSContextStack> stack(do_GetService("@mozilla.org/js/xpc/ContextStack;1"));
if (stack && NS_SUCCEEDED(stack->Push(nsnull))) {
  /* Display the modal window here */
  JSContext* cx;
  stack->Pop(&cx);
}