Author: svasilyev
Date: 2007-09-11 08:49:01 -0400 (Tue, 11 Sep 2007)
New Revision: 3553
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/XulRunnerBrowser.java
Log:
http://jira.jboss.org/jira/browse/JBIDE-746 SWT.Browser has been decorated in
XulRunnerBrowser instead of implementation of Browser on XulRunner by ourself
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-09-11
11:54:58 UTC (rev 3552)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XPCOM.java 2007-09-11
12:49:01 UTC (rev 3553)
@@ -23,6 +23,7 @@
public static final String NS_DRAGSERVICE_CONTRACTID =
"(a)mozilla.org/widget/dragservice;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_PREFSERVICE_CONTRACTID =
"(a)mozilla.org/preferences-service;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/XulRunnerBrowser.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java 2007-09-11
11:54:58 UTC (rev 3552)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java 2007-09-11
12:49:01 UTC (rev 3553)
@@ -23,13 +23,12 @@
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
-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.nsIPrefService;
import org.mozilla.interfaces.nsIRequest;
import org.mozilla.interfaces.nsIServiceManager;
import org.mozilla.interfaces.nsISupports;
@@ -41,7 +40,6 @@
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;
@@ -60,6 +58,11 @@
static final String XULRUNNER_INITIALIZED =
"org.eclipse.swt.browser.XULRunnerInitialized"; //$NON-NLS-1$
static final String XULRUNNER_PATH = "org.eclipse.swt.browser.XULRunnerPath";
//$NON-NLS-1$
+ private static final String ROOT_BRANCH_NAME = ""; //$NON-NLS-1$
+
+ private static final String PREFERENCE_DISABLEOPENDURINGLOAD =
"dom.disable_open_during_load"; //$NON-NLS-1$
+ private static final String PREFERENCE_DISABLEWINDOWSTATUSCHANGE =
"dom.disable_window_status_change"; //$NON-NLS-1$
+
private Mozilla mozilla = null;
private Browser browser = null;
private nsIWebBrowser webBrowser = null;
@@ -80,7 +83,13 @@
}
browser = new Browser(parent, SWT.MOZILLA);
+
+ // TODO Sergey Vasilyelv insert observer here
+ // TODO Sergey Vasilyev add localization
+ setBoolRootPref(PREFERENCE_DISABLEOPENDURINGLOAD, true);
+ setBoolRootPref(PREFERENCE_DISABLEWINDOWSTATUSCHANGE, true);
+
// nsIComponentManager componentManager = mozilla.getComponentManager();
// nsIAppShell appShell = (nsIAppShell)
componentManager.createInstance(XPCOM.NS_IAPPSHELL_CID, null,
nsIAppShell.NS_IAPPSHELL_IID);
// appShell.create(null, null);
@@ -185,6 +194,9 @@
browser.setLayoutData(layoutData);
}
+ /**
+ * Decorate Widget.addListener(int eventType, Listener listener)
+ */
public void addListener(int eventType, Listener listener) {
browser.addListener(eventType, listener);
}
@@ -305,7 +317,46 @@
public void onLoadWindow() {
}
+
+ public nsIPrefService getPrefService() {
+ return (nsIPrefService)
getServiceManager().getServiceByContractID(XPCOM.NS_PREFSERVICE_CONTRACTID,
nsIPrefService.NS_IPREFSERVICE_IID);
+ }
+
+ public void setBoolRootPref(String aPrefName, boolean aValue) {
+ getPrefService().getBranch(ROOT_BRANCH_NAME).setBoolPref(aPrefName, aValue ? 1 : 0);
+ }
+
+
+ public void setCharRootPref(String aPrefName, String aValue) {
+ getPrefService().getBranch(ROOT_BRANCH_NAME).setCharPref(aPrefName, aValue);
+ }
+
+
+ public void setComplexRootValue(String aPrefName, String aType, nsISupports aValue) {
+ getPrefService().getBranch(ROOT_BRANCH_NAME).setComplexValue(aPrefName, aType,
aValue);
+ }
+
+ public void setIntRootPref(String aPrefName, int aValue) {
+ getPrefService().getBranch(ROOT_BRANCH_NAME).setIntPref(aPrefName, aValue);
+ }
+
+ public boolean getBoolRootPref(String aPrefName) {
+ return getPrefService().getBranch(ROOT_BRANCH_NAME).getBoolPref(aPrefName);
+ }
+
+ public String getCharRootPref(String aPrefName) {
+ return getPrefService().getBranch(ROOT_BRANCH_NAME).getCharPref(aPrefName);
+ }
+
+ public nsISupports getComplextRootPref(String aPrefName, String aType) {
+ return getPrefService().getBranch(ROOT_BRANCH_NAME).getComplexValue(aPrefName, aType);
+ }
+
+ public int getIntRootf(String aPrefName) {
+ return getPrefService().getBranch(ROOT_BRANCH_NAME).getIntPref(aPrefName);
+ }
+
/*
* nsISupports
*