Bug 278772 - Various Firefox code incorrectly constructs URIs. patch by Gavin Sharp <gavin.sharp@gmail.com> r=mconnor sr=darin
git-svn-id: svn://10.0.0.236/trunk@170015 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -325,9 +325,12 @@ const gPopupBlockerObserver = {
|
||||
|
||||
showBlockedPopup: function (aEvent)
|
||||
{
|
||||
var requestingWindowURI = Components.classes["@mozilla.org/network/standard-url;1"]
|
||||
.createInstance(Components.interfaces.nsIURI);
|
||||
requestingWindowURI.spec = aEvent.target.getAttribute("requestingWindowURI");
|
||||
var requestingWindow = aEvent.target.getAttribute("requestingWindowURI");
|
||||
var requestingWindowURI =
|
||||
Components.classes["@mozilla.org/network/io-service;1"]
|
||||
.getService(Components.interfaces.nsIIOService)
|
||||
.newURI(requestingWindow, null, null);
|
||||
|
||||
var popupWindowURI = aEvent.target.getAttribute("popupWindowURI");
|
||||
var features = aEvent.target.getAttribute("popupWindowFeatures");
|
||||
|
||||
@@ -3394,10 +3397,12 @@ nsBrowserAccess.prototype =
|
||||
.getInterface(nsCI.nsIDOMWindow);
|
||||
try {
|
||||
if (aOpener) {
|
||||
referrer = Components.classes["@mozilla.org/network/standard-url;1"]
|
||||
.createInstance(nsCI.nsIURI);
|
||||
referrer.spec = Components.lookupMethod(aOpener,"location")
|
||||
.call(aOpener);
|
||||
var location = Components.lookupMethod(aOpener,"location")
|
||||
.call(aOpener);
|
||||
var referrer =
|
||||
Components.classes["@mozilla.org/network/io-service;1"]
|
||||
.getService(Components.interfaces.nsIIOService)
|
||||
.newURI(location, null, null);
|
||||
}
|
||||
newWindow.QueryInterface(nsCI.nsIInterfaceRequestor)
|
||||
.getInterface(nsCI.nsIWebNavigation)
|
||||
@@ -3411,10 +3416,13 @@ nsBrowserAccess.prototype =
|
||||
if (aOpener) {
|
||||
newWindow = Components.lookupMethod(aOpener,"top")
|
||||
.call(aOpener);
|
||||
referrer = Components.classes["@mozilla.org/network/standard-url;1"]
|
||||
.createInstance(nsCI.nsIURI);
|
||||
referrer.spec = Components.lookupMethod(aOpener,"location")
|
||||
.call(aOpener);
|
||||
var location = Components.lookupMethod(aOpener,"location")
|
||||
.call(aOpener);
|
||||
var referrer =
|
||||
Components.classes["@mozilla.org/network/io-service;1"]
|
||||
.getService(Components.interfaces.nsIIOService)
|
||||
.newURI(location, null, null);
|
||||
|
||||
newWindow.QueryInterface(nsCI.nsIInterfaceRequestor)
|
||||
.getInterface(nsIWebNavigation)
|
||||
.loadURI(url, nsIWebNavigation.LOAD_FLAGS_NONE, referrer,
|
||||
@@ -3875,8 +3883,7 @@ nsContextMenu.prototype = {
|
||||
if (this.onImage) {
|
||||
var blockImage = document.getElementById("context-blockimage");
|
||||
|
||||
var uri = Components.classes['@mozilla.org/network/standard-url;1'].createInstance(Components.interfaces.nsIURI);
|
||||
uri.spec = this.imageURL;
|
||||
var uri = this.target.QueryInterface(Components.interfaces.nsIImageLoadingContent).currentURI;
|
||||
|
||||
var shortenedUriHost = uri.host.replace(/^www\./i,"");
|
||||
if (shortenedUriHost.length > 15)
|
||||
@@ -4251,10 +4258,10 @@ nsContextMenu.prototype = {
|
||||
var nsIPermissionManager = Components.interfaces.nsIPermissionManager;
|
||||
var permissionmanager =
|
||||
Components.classes["@mozilla.org/permissionmanager;1"]
|
||||
.getService(nsIPermissionManager);
|
||||
var uri = Components.classes["@mozilla.org/network/standard-url;1"]
|
||||
.createInstance(Components.interfaces.nsIURI);
|
||||
uri.spec = this.imageURL;
|
||||
.getService(nsIPermissionManager);
|
||||
|
||||
var uri = this.target.QueryInterface(Components.interfaces.nsIImageLoadingContent).currentURI;
|
||||
|
||||
permissionmanager.add(uri, "image",
|
||||
aBlock ? nsIPermissionManager.DENY_ACTION : nsIPermissionManager.ALLOW_ACTION);
|
||||
},
|
||||
@@ -4263,9 +4270,9 @@ nsContextMenu.prototype = {
|
||||
var permissionmanager =
|
||||
Components.classes["@mozilla.org/permissionmanager;1"]
|
||||
.getService(Components.interfaces.nsIPermissionManager);
|
||||
var uri = Components.classes["@mozilla.org/network/standard-url;1"]
|
||||
.createInstance(Components.interfaces.nsIURI);
|
||||
uri.spec = this.imageURL;
|
||||
|
||||
var uri = this.target.QueryInterface(Components.interfaces.nsIImageLoadingContent).currentURI;
|
||||
|
||||
return permissionmanager.testPermission(uri, "image") == nsIPermissionManager.DENY_ACTION;
|
||||
},
|
||||
// Generate email address and put it on clipboard.
|
||||
@@ -5480,10 +5487,8 @@ function AddKeywordForSearchField()
|
||||
var node = document.popupNode;
|
||||
var ioService = Components.classes["@mozilla.org/network/io-service;1"]
|
||||
.getService(Components.interfaces.nsIIOService);
|
||||
var uri = Components.classes["@mozilla.org/network/standard-url;1"]
|
||||
.getService(Components.interfaces.nsIURI);
|
||||
uri.spec = node.ownerDocument.URL;
|
||||
|
||||
var uri = ioService.newURI(node.ownerDocument.URL, node.ownerDocument.characterSet, null);
|
||||
|
||||
var keywordURL = ioService.newURI(node.form.action, node.ownerDocument.characterSet, uri);
|
||||
var spec = keywordURL.spec;
|
||||
var postData = "";
|
||||
|
||||
@@ -126,12 +126,10 @@ function urlSecurityCheck(url, doc)
|
||||
// URL Loading Security Check
|
||||
var focusedWindow = doc.commandDispatcher.focusedWindow;
|
||||
var sourceURL = getContentFrameURI(focusedWindow);
|
||||
var sourceURI = Components.classes["@mozilla.org/network/standard-url;1"]
|
||||
.createInstance(Components.interfaces.nsIURI);
|
||||
sourceURI.spec = sourceURL;
|
||||
var destURI = Components.classes["@mozilla.org/network/standard-url;1"]
|
||||
.createInstance(Components.interfaces.nsIURI);
|
||||
destURI.spec = url;
|
||||
|
||||
var sourceURI = makeURI(sourceURL);
|
||||
var destURI = makeURI(url);
|
||||
|
||||
const nsIScriptSecurityManager = Components.interfaces.nsIScriptSecurityManager;
|
||||
var secMan = Components.classes["@mozilla.org/scriptsecuritymanager;1"]
|
||||
.getService(nsIScriptSecurityManager);
|
||||
|
||||
@@ -92,8 +92,10 @@ function whitelistSite()
|
||||
|
||||
var selectedIndex = gSiteBox.getIndexOfItem(selectedItem);
|
||||
|
||||
var uri = Components.classes['@mozilla.org/network/standard-url;1'].createInstance(Components.interfaces.nsIURI);
|
||||
uri.spec = selectedItem.label;
|
||||
var uri = Components.classes["@mozilla.org/network/io-service;1"]
|
||||
.getService(Components.interfaces.nsIIOService)
|
||||
.newURI(selectedItem.label, null, null);
|
||||
|
||||
permissionmanager.add(uri, "popup", nsIPermissionManager.ALLOW_ACTION);
|
||||
gSiteBox.removeChild(selectedItem);
|
||||
|
||||
|
||||
@@ -239,9 +239,10 @@
|
||||
|
||||
# if the search box is empty, let''s load the host
|
||||
if (!this.value) {
|
||||
var uri = Components.classes['@mozilla.org/network/standard-url;1']
|
||||
.createInstance(Components.interfaces.nsIURI);
|
||||
uri.spec = searchURL;
|
||||
var uri = Components.classes["@mozilla.org/network/io-service;1"]
|
||||
.getService(Components.interfaces.nsIIOService)
|
||||
.newURI(searchURL, null, null);
|
||||
|
||||
searchURL = uri.host;
|
||||
if (!searchURL)
|
||||
return;
|
||||
|
||||
@@ -154,9 +154,10 @@ function handleHistoryClick(aEvent)
|
||||
|
||||
function checkURLSecurity(aURL)
|
||||
{
|
||||
var uri = Components.classes["@mozilla.org/network/standard-url;1"].
|
||||
createInstance(Components.interfaces.nsIURI);
|
||||
uri.spec = aURL;
|
||||
var uri = Components.classes["@mozilla.org/network/io-service;1"]
|
||||
.getService(Components.interfaces.nsIIOService)
|
||||
.newURI(aURL, null, null);
|
||||
|
||||
if (uri.schemeIs("javascript") || uri.schemeIs("data")) {
|
||||
var strBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"]
|
||||
.getService(Components.interfaces.nsIStringBundleService);
|
||||
|
||||
Reference in New Issue
Block a user