aboutsummaryrefslogtreecommitdiffstats
path: root/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
diff options
context:
space:
mode:
authorOmair Majid <[email protected]>2013-10-09 12:12:44 -0400
committerOmair Majid <[email protected]>2013-10-09 12:12:44 -0400
commitf3db9f1486f6b9052f04152ae3c45cdff7a85ea2 (patch)
tree6a4fd0472624c60a7ea251a00d523573f1435171 /plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
parente7a13c92d739a1fa0259ea1d0cc3df60aecad124 (diff)
Move some proxy logic to BrowserAwareProxySelector
The logic for mangling URIs to be compatible with the browser seems more appropriate to keep in the ProxySelector rather than the catch-all PluginAppletViewer.
Diffstat (limited to 'plugin/icedteanp/java/sun/applet/PluginAppletViewer.java')
-rw-r--r--plugin/icedteanp/java/sun/applet/PluginAppletViewer.java37
1 files changed, 8 insertions, 29 deletions
diff --git a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
index bd4c0d5..b1abf19 100644
--- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
+++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
@@ -83,10 +83,8 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
import java.net.SocketPermission;
import java.net.URI;
-import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLConnection;
import java.security.AccessController;
@@ -1238,22 +1236,18 @@ public class PluginAppletViewer extends XEmbeddedFrame
return request.getObject();
}
- public static Object requestPluginProxyInfo(URI uri) {
-
- String requestURI = null;
+ /**
+ * Obtain information about the proxy from the browser.
+ *
+ * @param uri a String in url-encoded form
+ * @return a {@link URI} that indicates a proxy.
+ */
+ public static Object requestPluginProxyInfo(String uri) {
Long reference = getRequestIdentifier();
- try {
- requestURI = convertUriSchemeForProxyQuery(uri);
- } catch (Exception e) {
- PluginDebug.debug("Cannot construct URL from ", uri.toString(), " ... falling back to DIRECT proxy");
- OutputController.getLogger().log(OutputController.Level.ERROR_ALL,e);
- return null;
- }
-
PluginCallRequest request = requestFactory.getPluginCallRequest("proxyinfo",
"plugin PluginProxyInfo reference " + reference + " " +
- requestURI, reference);
+ uri, reference);
PluginMessageConsumer.registerPriorityWait(reference);
streamhandler.postCallRequest(request);
@@ -1274,21 +1268,6 @@ public class PluginAppletViewer extends XEmbeddedFrame
return request.getObject();
}
- public static String convertUriSchemeForProxyQuery(URI uri) throws URISyntaxException, UnsupportedEncodingException {
- // there is no easy way to get SOCKS proxy info. So, we tell mozilla that we want proxy for
- // an HTTP uri in case of non http/ftp protocols. If we get back a SOCKS proxy, we can
- // use that, if we get back an http proxy, we fallback to DIRECT connect
-
- String scheme = uri.getScheme();
- if (!scheme.startsWith("http") && !scheme.equals("ftp")) {
- scheme = "http";
- }
-
- URI result = new URI(scheme, uri.getUserInfo(), uri.getHost(), uri.getPort(),
- uri.getPath(), uri.getQuery(), uri.getFragment());
- return UrlUtil.encode(result.toString(), "UTF-8");
- }
-
public static void JavaScriptFinalize(long internal) {
Long reference = getRequestIdentifier();