Author: svasilyev
Date: 2007-08-14 07:25:12 -0400 (Tue, 14 Aug 2007)
New Revision: 3114
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XPCOM.java
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/AppFileLocProvider.java
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java
Log:
http://jira.jboss.org/jira/browse/EXIN-450 nsIAppShell and nsIWindowCreator were added
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XPCOM.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XPCOM.java 2007-08-14
11:04:01 UTC (rev 3113)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XPCOM.java 2007-08-14
11:25:12 UTC (rev 3114)
@@ -21,5 +21,9 @@
* Contract IDs
*/
public static final String NS_DRAGSERVICE_CONTRACTID =
"(a)mozilla.org/widget/dragservice;1;"; //$NON-NLS-1$
- public static final String NS_ITRANSFERABLE_CONTRACTID =
"(a)mozilla.org/widget/transferable;1"; //$NON-NLS-1$
+ public static final String NS_TRANSFERABLE_CONTRACTID =
"(a)mozilla.org/widget/transferable;1"; //$NON-NLS-1$
+ public static final String NS_WINDOWWATCHER_CONTRACTID =
"(a)mozilla.org/embedcomp/window-watcher;1"; //$NON-NLS-1$
+
+ public static final String NS_IWEBBROWSER_CID =
"F1EAC761-87E9-11d3-AF80-00A024FFC08C"; // $NON-NLS-1$
+ public static final String NS_IAPPSHELL_CID =
"2d96b3df-c051-11d1-a827-0040959a28c9"; // $NON-NLS-1$
}
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/AppFileLocProvider.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/AppFileLocProvider.java 2007-08-14
11:04:01 UTC (rev 3113)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/AppFileLocProvider.java 2007-08-14
11:25:12 UTC (rev 3114)
@@ -17,21 +17,24 @@
public AppFileLocProvider(File xulRunnerPath) {
this.xulRunnerPath = xulRunnerPath;
- this.userDataPath = Platform.getLocation().append(".metadata/.plugins")
+ this.userDataPath = Platform.getLocation().append(".metadata/.plugins") //
$NON-NLS-1$
.append(BrowserPlugin.PLUGIN_ID)
- .append("xulrunner").toFile();
+ .append("xulrunner").toFile(); // $NON-NLS-1$
}
public File getFile(String prop, boolean[] persistent) {
persistent[0] = false;
- if ("ProfD".equals(prop)) {
+ // TODO Sergey Vasilyev remove debug output
+ System.out.println("AppFileLocProvider.getFile(" + prop + ")");
+
+ if ("ProfD".equals(prop)) { // $NON-NLS-1$
return userDataPath;
- } else if ("UHist".equals(prop)) {
+ } else if ("UHist".equals(prop)) { // $NON-NLS-1$
return new File(userDataPath, HISTORY_FILE);
- } else if ("ComRegF".equals(prop)) {
+ } else if ("ComRegF".equals(prop)) { // $NON-NLS-1$
return new File(userDataPath, COMPREG_FILE);
- } else if ("XptiRegF".equals(prop)) {
+ } else if ("XptiRegF".equals(prop)) { // $NON-NLS-1$
return new File(userDataPath, XPTI_FILE);
}
@@ -39,7 +42,10 @@
}
public File[] getFiles(String prop) {
- if("APluginsDL".equals(prop)) {
+ // TODO Sergey Vasilyev remove debug output
+ System.out.println("AppFileLocProvider.getFiles(" + prop + ")");
+
+ if("APluginsDL".equals(prop)) { // $NON-NLS-1$
return new File[] {new File(xulRunnerPath, PLUGINS_DIRECTORY)};
}
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java 2007-08-14
11:04:01 UTC (rev 3113)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java 2007-08-14
11:25:12 UTC (rev 3114)
@@ -22,7 +22,9 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
+import org.jboss.tools.vpe.xulrunner.XPCOM;
import org.jboss.tools.vpe.xulrunner.XulRunnerException;
+import org.mozilla.interfaces.nsIAppShell;
import org.mozilla.interfaces.nsIBaseWindow;
import org.mozilla.interfaces.nsIComponentManager;
import org.mozilla.interfaces.nsIRequest;
@@ -36,6 +38,7 @@
import org.mozilla.interfaces.nsIWebNavigation;
import org.mozilla.interfaces.nsIWebProgress;
import org.mozilla.interfaces.nsIWebProgressListener;
+import org.mozilla.interfaces.nsIWindowWatcher;
import org.mozilla.xpcom.Mozilla;
import org.osgi.framework.Bundle;
@@ -76,7 +79,15 @@
}
nsIComponentManager componentManager = mozilla.getComponentManager();
- webBrowser = (nsIWebBrowser)
componentManager.createInstance("F1EAC761-87E9-11d3-AF80-00A024FFC08C", null,
nsIWebBrowser.NS_IWEBBROWSER_IID); //$NON-NLS-1$
+ nsIAppShell appShell = (nsIAppShell)
componentManager.createInstance(XPCOM.NS_IAPPSHELL_CID, null,
nsIAppShell.NS_IAPPSHELL_IID);
+ appShell.create(null, null);
+ appShell.spinup();
+
+ nsIServiceManager serviceManager = mozilla.getServiceManager();
+ nsIWindowWatcher windowWatcher = (nsIWindowWatcher)
serviceManager.getServiceByContractID(XPCOM.NS_WINDOWWATCHER_CONTRACTID,
nsIWindowWatcher.NS_IWINDOWWATCHER_IID);
+ windowWatcher.setWindowCreator(new WindowCreator());
+
+ webBrowser = (nsIWebBrowser) componentManager.createInstance(XPCOM.NS_IWEBBROWSER_CID,
null, nsIWebBrowser.NS_IWEBBROWSER_IID); //$NON-NLS-1$
webBrowser.setContainerWindow(this);
nsIBaseWindow baseWindow = (nsIBaseWindow)
webBrowser.queryInterface(nsIBaseWindow.NS_IBASEWINDOW_IID);
@@ -358,15 +369,4 @@
*/
public void onShowTooltip(int aXCoords, int aYCoords, String aTipText) {
}
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.widgets.Widget#dispose()
- */
- @Override
- public void dispose() {
- if (mozilla != null) {
- mozilla.termEmbedding();
- }
- super.dispose();
- }
}
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java 2007-08-14
11:04:01 UTC (rev 3113)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java 2007-08-14
11:25:12 UTC (rev 3114)
@@ -143,6 +143,6 @@
public nsITransferable createTransferable() {
nsIComponentManager componentManager = getComponentManager();
- return (nsITransferable)
componentManager.createInstanceByContractID(XPCOM.NS_ITRANSFERABLE_CONTRACTID, this,
nsITransferable.NS_ITRANSFERABLE_IID);
+ return (nsITransferable)
componentManager.createInstanceByContractID(XPCOM.NS_TRANSFERABLE_CONTRACTID, this,
nsITransferable.NS_ITRANSFERABLE_IID);
}
}