mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 20:35:50 +00:00
Re-applying blake's checkin for bug 112071 - timebomb not working. r=hewitt, sr=ben.
This commit is contained in:
parent
9e75be1a32
commit
e85c057950
@ -111,13 +111,15 @@
|
||||
#define ENABLE_PAGE_CYCLER
|
||||
#endif
|
||||
|
||||
#include "nsTimeBomb.h"
|
||||
|
||||
/* Define Class IDs */
|
||||
static NS_DEFINE_CID(kPrefServiceCID, NS_PREF_CID);
|
||||
static NS_DEFINE_IID(kProxyObjectManagerCID, NS_PROXYEVENT_MANAGER_CID);
|
||||
static NS_DEFINE_IID(kAppShellServiceCID, NS_APPSHELL_SERVICE_CID);
|
||||
static NS_DEFINE_IID(kCmdLineServiceCID, NS_COMMANDLINE_SERVICE_CID);
|
||||
static NS_DEFINE_IID(kCGlobalHistoryCID, NS_GLOBALHISTORY_CID);
|
||||
|
||||
static NS_DEFINE_CID(kTimeBombCID, NS_TIMEBOMB_CID);
|
||||
|
||||
#ifdef DEBUG
|
||||
static int APP_DEBUG = 0; // Set to 1 in debugger to turn on debugging.
|
||||
@ -732,8 +734,32 @@ NS_IMETHODIMP nsBrowserContentHandler::GetDefaultArgs(PRUnichar **aDefaultArgs)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsresult rv;
|
||||
static PRBool timebombChecked = PR_FALSE;
|
||||
nsAutoString args;
|
||||
|
||||
if (!timebombChecked) {
|
||||
// timebomb check
|
||||
timebombChecked = PR_TRUE;
|
||||
|
||||
PRBool expired;
|
||||
nsCOMPtr<nsITimeBomb> timeBomb(do_GetService(kTimeBombCID, &rv));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
rv = timeBomb->Init();
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
rv = timeBomb->CheckWithUI(&expired);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
if (expired) {
|
||||
nsXPIDLCString urlString;
|
||||
rv = timeBomb->GetTimebombURL(getter_Copies(urlString));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
args.AssignWithConversion(urlString);
|
||||
}
|
||||
}
|
||||
|
||||
if (args.IsEmpty()) {
|
||||
nsCOMPtr<nsIPref> prefs(do_GetService(kPrefServiceCID));
|
||||
if (!prefs) return NS_ERROR_FAILURE;
|
||||
|
Loading…
Reference in New Issue
Block a user