Author: mareshkau
Date: 2009-04-29 15:31:49 -0400 (Wed, 29 Apr 2009)
New Revision: 14966
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-3155, fixing errors in junit tests for vpe under
linux x86_64 platform
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java 2009-04-29
17:34:26 UTC (rev 14965)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java 2009-04-29
19:31:49 UTC (rev 14966)
@@ -12,10 +12,8 @@
package org.jboss.tools.vpe.xulrunner.browser;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URL;
-
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Platform;
import org.eclipse.swt.SWT;
@@ -41,6 +39,7 @@
import org.mozilla.interfaces.nsIWebProgressListener;
import org.mozilla.xpcom.GREVersionRange;
import org.mozilla.xpcom.Mozilla;
+import org.mozilla.xpcom.XPCOMException;
import org.osgi.framework.Bundle;
/**
@@ -70,6 +69,7 @@
private Browser browser = null;
private nsIWebBrowser webBrowser = null;
private long chrome_flags = nsIWebBrowserChrome.CHROME_ALL;
+ protected static final long NS_ERROR_FAILURE = 0x80004005L;
static {
XULRUNNER_BUNDLE = (new StringBuffer("org.mozilla.xulrunner")) //
$NON-NLS-1$
@@ -103,7 +103,7 @@
// nsIWebProgressListener.NS_IWEBPROGRESSLISTENER_IID);
nsIServiceManager serviceManager = mozilla.getServiceManager();
nsIWebProgress webProgress = (nsIWebProgress) serviceManager
- .getServiceByContractID("(a)mozilla.org/docloaderservice;1", //
$NON-NLS-1$
+ .getServiceByContractID("(a)mozilla.org/docloaderservice;1", //$NON-NLS-1$
nsIWebProgress.NS_IWEBPROGRESS_IID);
webProgress.addProgressListener(this, nsIWebProgress.NOTIFY_STATE_ALL);
webBrowser.addWebBrowserListener(this,
@@ -168,10 +168,18 @@
//if we hasn't do it, listener will be continue work even after close browser
nsIServiceManager serviceManager = mozilla.getServiceManager();
nsIWebProgress webProgress = (nsIWebProgress) serviceManager
- .getServiceByContractID("(a)mozilla.org/docloaderservice;1", // $NON-NLS-1$
+ .getServiceByContractID("(a)mozilla.org/docloaderservice;1", //$NON-NLS-1$
nsIWebProgress.NS_IWEBPROGRESS_IID);
- webProgress.removeProgressListener(this);
-
+ try {
+ webProgress.removeProgressListener(this);
+ } catch(XPCOMException xpcomException) {
+
+ //this exception throws when progress listener already has been deleted,
+ //so just ignore if error code NS_ERROR_FAILURE
+ if(xpcomException.errorcode!=XulRunnerBrowser.NS_ERROR_FAILURE) {
+ throw xpcomException;
+ }
+ }
browser.dispose();
browser = null;
}
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java 2009-04-29
17:34:26 UTC (rev 14965)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java 2009-04-29
19:31:49 UTC (rev 14966)
@@ -609,9 +609,18 @@
if (this.selectionListener != null) {
nsISelection selection = getSelection();
nsISelectionPrivate selectionPrivate = (nsISelectionPrivate)
selection.queryInterface(nsISelectionPrivate.NS_ISELECTIONPRIVATE_IID);
- selectionPrivate.removeSelectionListener(selectionListener);
+ try {
+ selectionPrivate.removeSelectionListener(this.selectionListener);
+ } catch (XPCOMException xpcomException) {
+ //this exception throws when progress listener already has been deleted,
+ //so just ignore if error code NS_ERROR_FAILURE
+ //mareshkau fix for jbide-3155
+ if(xpcomException.errorcode!=XulRunnerBrowser.NS_ERROR_FAILURE) {
+ throw xpcomException;
+ }
+ }
}
- selectionListener=null;
+ this.selectionListener=null;
}
/**
* get nsIDomElement from nsIDomNode