mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-06 00:55:37 +00:00
294fcbd543
The help menu wasn't populating properly because gSafeBrowsing was attempting to get the URI for the loaded page by getting content.document.documentURI. Since bug 1051017 landed, content is unavailable for e10s windows. We use the selected browser's currentURI instead. --HG-- extra : rebase_source : 7dfa0f74b99ed35563bc4507c2a5ff70a703af3e
53 lines
1.7 KiB
JavaScript
53 lines
1.7 KiB
JavaScript
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
#ifdef MOZ_SAFE_BROWSING
|
|
var gSafeBrowsing = {
|
|
|
|
setReportPhishingMenu: function() {
|
|
// A phishing page will have a specific about:blocked content documentURI
|
|
var uri = getBrowser().currentURI;
|
|
var isPhishingPage = uri && uri.spec.startsWith("about:blocked?e=phishingBlocked");
|
|
|
|
// Show/hide the appropriate menu item.
|
|
document.getElementById("menu_HelpPopup_reportPhishingtoolmenu")
|
|
.hidden = isPhishingPage;
|
|
document.getElementById("menu_HelpPopup_reportPhishingErrortoolmenu")
|
|
.hidden = !isPhishingPage;
|
|
|
|
var broadcasterId = isPhishingPage
|
|
? "reportPhishingErrorBroadcaster"
|
|
: "reportPhishingBroadcaster";
|
|
|
|
var broadcaster = document.getElementById(broadcasterId);
|
|
if (!broadcaster)
|
|
return;
|
|
|
|
if (uri && (uri.schemeIs("http") || uri.schemeIs("https")))
|
|
broadcaster.removeAttribute("disabled");
|
|
else
|
|
broadcaster.setAttribute("disabled", true);
|
|
},
|
|
|
|
/**
|
|
* Used to report a phishing page or a false positive
|
|
* @param name String One of "Phish", "Error", "Malware" or "MalwareError"
|
|
* @return String the report phishing URL.
|
|
*/
|
|
getReportURL: function(name) {
|
|
var reportUrl = SafeBrowsing.getReportURL(name);
|
|
|
|
var pageUri = gBrowser.currentURI.clone();
|
|
|
|
// Remove the query to avoid including potentially sensitive data
|
|
if (pageUri instanceof Ci.nsIURL)
|
|
pageUri.query = '';
|
|
|
|
reportUrl += "&url=" + encodeURIComponent(pageUri.asciiSpec);
|
|
|
|
return reportUrl;
|
|
}
|
|
}
|
|
#endif
|