X-Git-Url: http://secure.phpeclipse.com

diff --git a/net.sourceforge.phpeclipse.webbrowser/src/net/sourceforge/phpeclipse/webbrowser/views/BrowserView.java b/net.sourceforge.phpeclipse.webbrowser/src/net/sourceforge/phpeclipse/webbrowser/views/BrowserView.java
index 52f6ab4..bb4c837 100644
--- a/net.sourceforge.phpeclipse.webbrowser/src/net/sourceforge/phpeclipse/webbrowser/views/BrowserView.java
+++ b/net.sourceforge.phpeclipse.webbrowser/src/net/sourceforge/phpeclipse/webbrowser/views/BrowserView.java
@@ -10,10 +10,12 @@
  *******************************************************************************/
 package net.sourceforge.phpeclipse.webbrowser.views;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+
 import net.sourceforge.phpeclipse.webbrowser.internal.WebBrowser;
 import net.sourceforge.phpeclipse.webbrowser.internal.WebBrowserUtil;
 
-import org.eclipse.core.resources.IFile;
 import org.eclipse.swt.browser.Browser;
 import org.eclipse.swt.browser.CloseWindowListener;
 import org.eclipse.swt.browser.ProgressListener;
@@ -85,10 +87,18 @@ public class BrowserView extends ViewPart implements IShowInTarget {
 		super.dispose();
 	}
 
+	public String getUrl() {
+		if (fInstance != null) {
+			return fInstance.getURL();
+		} else {
+			return null;
+		}
+	}
+
 	public void setUrl(final String url) {
 		if (fInstance != null) {
-			fUrl = url;
-			fInstance.setURL(url);
+				fUrl = url;
+				fInstance.setURL(url);
 			// try {
 			// ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
 			// public void run(IProgressMonitor monitor) throws CoreException {
@@ -118,14 +128,24 @@ public class BrowserView extends ViewPart implements IShowInTarget {
 		}
 	}
 
+	
+	
 	public void refresh(String url) {
 		if (fInstance != null && url != null) {
 			if (fUrl == null) {
 				setUrl(url);
 			} else {
 				Browser browser = fInstance.getBrowser();
-				if (browser != null && !browser.getUrl().equals(url)) {
-					setUrl(url);
+				if (browser != null) {
+					String browserUrl = browser.getUrl();
+					try {
+						browserUrl = URLDecoder.decode(browserUrl, J5CharsetEmulator.defaultCharset().name());
+					} catch (UnsupportedEncodingException e) {
+						// e.printStackTrace();
+					}
+					if (!url.equals(browserUrl)) {
+						setUrl(url);
+					}
 				}
 			}
 		}
@@ -158,13 +178,19 @@ public class BrowserView extends ViewPart implements IShowInTarget {
 				return true;
 			}
 		}
-		if (context.getInput() instanceof IFile) {
-			IFile file = (IFile) context.getInput();
-			String localhostURL;
-			localhostURL = "file:///" + file.getLocation().toString();
-			setUrl(localhostURL);
-			return true;
-		}
+		// *WARNING*
+		// This causes unexpected behaviour such as downloading (save file).
+		// It depends on mime-types setting and native browser, it isn't under control of eclipse.
+		// (IE shows script as plain text since .php is unknown type by default.
+		//  Mozilla downloads script file since .php is defined in mimeTypes.rdf as such.)
+		//
+		//if (context.getInput() instanceof IFile) {
+		//	IFile file = (IFile) context.getInput();
+		//	String localhostURL;
+		//	localhostURL = "file:///" + file.getLocation().toString();
+		//	setUrl(localhostURL);
+		//	return true;
+		//}
 		return false;
 	}
 }
\ No newline at end of file