Changes

Jump to: navigation, search

Mozilla.dev.embedding

2,555 bytes added, 17:29, 13 October 2006
FAQ
== FAQ ==
 
===How to start Embedding===
You can find a examples, FAQs, and the API from [http://www.mozilla.org/projects/embedding/ mozilla] itself. <br/>
You can get more detailed information on what interfaces are required and which are optional to impelement [http://developer.mozilla.org/en/docs/Gecko_Embedding_Basics here]. Scroll down to "Initalization and Teardown.
 
===How to customize document retrieval===
One method is to implement your own protocol method. You can find more information on adding new protocols [http://kb.mozillazine.org/Dev_:_Protocol_Handlers here]
 
===How to embedding mozilla inside of Java===
There hasn't been any good code examples found. However, there is a stripped down, uncommented code with eclipse libraries in [http://groups.google.com/group/mozilla.dev.embedding/browse_thread/thread/46c259db088ee584/76f2073388eaffdd#76f2073388eaffdd this] thread. Here is the code :
<pre>
import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.MozillaBrowser;
import org.eclipse.swt.browser.ProgressEvent;
import org.eclipse.swt.browser.ProgressListener;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.mozilla.xpcom.nsIDOMDocument;
 
public class Test {
public static void main(String args[]) {
Display display = new Display();
Shell shell = new Shell(display);
 
final MozillaBrowser browser = new MozillaBrowser(shell,WT.BORDER);
browser.setUrl("http://www.google.com");
browser.addProgressListener(new ProgressListener() {
public void changed(ProgressEvent event) {
}
 
public void completed(ProgressEvent event) {
nsIDOMDocument doc = browser.getDocument();
System.out.println(doc);
}
});
 
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
</pre>
 
===How to map a Javascript function to a C++ function===
Define an XPCOM class defining the function you'll be doing in javascript. Then pass the object to your XPCOM coded object and call it from C++. You can find a better quality answer repeated and with an example in [http://groups.google.com/group/mozilla.dev.embedding/browse_thread/thread/af33a04e00387f5d/34d897200d736061#34d897200d736061 this newsgroup thread].
 
===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
edit

Navigation menu