Bug 476596 - Malware 'why is this site blocked' button does not take me to safebrowsing diagnostic page. Patch by Christopher Henderson <trendyhendy2000@gmail.com>, r=murph, sr=smorgan
git-svn-id: svn://10.0.0.236/trunk@257206 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -236,6 +236,9 @@ pref("browser.safebrowsing.provider.0.reportPhishURL", "http://{moz:locale}.phis
|
||||
// Location to more information about the safe browsing feature
|
||||
pref("browser.safebrowsing.warning.infoURL", "http://en-us.www.mozilla.com/en-US/firefox/phishing-protection/");
|
||||
|
||||
// URL for checking the reason for a malware warning.
|
||||
pref("browser.safebrowsing.malware.reportURL", "http://safebrowsing.clients.google.com/safebrowsing/diagnostic?client={moz:client}&hl={moz:locale}&site=");
|
||||
|
||||
// Name of the about: page contributed by safebrowsing to handle display of error
|
||||
// pages on phishing/malware hits.
|
||||
pref("urlclassifier.alternate_error_page", "safebrowsingblocked");
|
||||
|
||||
@@ -84,6 +84,7 @@
|
||||
#import "ToolbarScriptItem.h"
|
||||
#import "SearchEngineManager.h"
|
||||
#import "SearchEngineEditor.h"
|
||||
#import "CmXULAppInfo.h"
|
||||
// For search plugin description keys:
|
||||
#import "XMLSearchPluginParser.h"
|
||||
|
||||
@@ -5166,6 +5167,30 @@ public:
|
||||
[self loadURL:blockingInformationURL referrer:nil focusContent:YES allowPopups:NO];
|
||||
}
|
||||
|
||||
- (void)showMalwareDiagnosticInformation
|
||||
{
|
||||
NSString *malwareDiagnosticURL =
|
||||
[[PreferenceManager sharedInstance] getStringPref:kGeckoPrefSafeBrowsingMalwareDiagnosticURL
|
||||
withSuccess:NULL];
|
||||
NSString *locale =
|
||||
[[PreferenceManager sharedInstance] getStringPref:kGeckoPrefUserAgentLocale
|
||||
withSuccess:NULL];
|
||||
|
||||
// Fill in certain URL parameter tokens with values.
|
||||
NSMutableString *filledURL = [[malwareDiagnosticURL mutableCopy] autorelease];
|
||||
[filledURL replaceOccurrencesOfString:@"{moz:client}"
|
||||
withString:[XULAppInfo name]
|
||||
options:NULL
|
||||
range:NSMakeRange(0, [filledURL length])];
|
||||
[filledURL replaceOccurrencesOfString:@"{moz:locale}"
|
||||
withString:locale
|
||||
options:NULL
|
||||
range:NSMakeRange(0, [filledURL length])];
|
||||
[filledURL appendString:[mBrowserView currentURI]];
|
||||
|
||||
[self loadURL:filledURL referrer:nil focusContent:YES allowPopups:NO];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
#pragma mark -
|
||||
|
||||
@@ -86,6 +86,7 @@ extern NSString* const kBrowserInstanceClosedNotification;
|
||||
// Called when the user clicks buttons on the about:safebrowsingblocked error page.
|
||||
- (void)runAwayFromSafeBrowsingBlockedSite;
|
||||
- (void)showSafeBrowsingInformation;
|
||||
- (void)showMalwareDiagnosticInformation;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@@ -1103,9 +1103,12 @@ static FlashblockWhitelistManager* sFlashblockWhitelistManager = nil;
|
||||
allowPopups:NO];
|
||||
}
|
||||
else if ([elementIdentifier isEqualToString:@"whyBlockedButton"]) {
|
||||
// Note: pageURI can be examined for e=phishingBlocked or e=malwareBlocked
|
||||
// to customize the blocking info location for each case...
|
||||
[mDelegate showSafeBrowsingInformation];
|
||||
// Examine pageURI for e=phishingBlocked or e=malwareBlocked
|
||||
// to customize the blocking info location for each case.
|
||||
if ([pageURI rangeOfString:@"e=malwareBlocked"].location != NSNotFound)
|
||||
[mDelegate showMalwareDiagnosticInformation];
|
||||
else // e=phishingBlocked
|
||||
[mDelegate showSafeBrowsingInformation];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -322,6 +322,7 @@ extern NSString* const kGeckoPrefSafeBrowsingDataProviderReportURL; // strin
|
||||
extern NSString* const kGeckoPrefSafeBrowsingDataProviderGetHashURL; // string
|
||||
|
||||
extern const char* const kGeckoPrefSafeBrowsingInformationURL; // string
|
||||
extern const char* const kGeckoPrefSafeBrowsingMalwareDiagnosticURL; // string
|
||||
extern const char* const kGeckoPrefSafeBrowsingPhishingCheckingEnabled; // bool
|
||||
extern const char* const kGeckoPrefSafeBrowsingMalwareCheckingEnabled; // bool
|
||||
extern const char* const kGeckoPrefSafeBrowsingDataProvider; // int
|
||||
|
||||
@@ -209,6 +209,7 @@ NSString* const kGeckoPrefSafeBrowsingDataProviderReportURL = @"browser.safebrow
|
||||
NSString* const kGeckoPrefSafeBrowsingDataProviderGetHashURL = @"browser.safebrowsing.provider.%i.gethashURL";
|
||||
|
||||
const char* const kGeckoPrefSafeBrowsingInformationURL = "browser.safebrowsing.warning.infoURL";
|
||||
const char* const kGeckoPrefSafeBrowsingMalwareDiagnosticURL = "browser.safebrowsing.malware.reportURL";
|
||||
const char* const kGeckoPrefSafeBrowsingPhishingCheckingEnabled = "browser.safebrowsing.enabled";
|
||||
const char* const kGeckoPrefSafeBrowsingMalwareCheckingEnabled = "browser.safebrowsing.malware.enabled";
|
||||
const char* const kGeckoPrefSafeBrowsingDataProvider = "browser.safebrowsing.dataProvider";
|
||||
|
||||
Reference in New Issue
Block a user