home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Minami 83
/
MINAMI83.iso
/
Extra
/
DivXInstaller.exe
/
$PLUGINSDIR
/
GoogleToolbarFirefox.msi
/
xpi
/
amulet-jslib
/
application.js
next >
Wrap
Text File
|
2006-08-07
|
4KB
|
115 lines
var PROT_globalStore;
var PROT_listManager;
var PROT_phishingWarden;
function PROT_Application() {
this.debugZone= "application";
function runUnittests() {
if (G_GDEBUG) {
G_DebugL("UNITTESTS", "STARTING UNITTESTS");
TEST_G_Protocol4Parser();
TEST_G_Base64();
TEST_G_CryptoHasher();
TEST_PROT_EnchashDecrypter();
TEST_PROT_TRTable();
TEST_PROT_ListManager();
TEST_PROT_ListWarden();
TEST_PROT_PhishingWarden();
TEST_PROT_TRFetcher();
TEST_G_ObjectSafeMap();
TEST_PROT_URLCanonicalizer();
TEST_G_Preferences();
TEST_G_Observer();
TEST_G_File();
TEST_PROT_WireFormat();
TEST_PROT_UrlCrypto();
TEST_PROT_UrlCryptoKeyManager();
TEST_G_MozVersionNumber();
TEST_G_ThisFirefoxVersion();
G_DebugL("UNITTESTS", "END UNITTESTS");
}
};
PROT_globalStore =
new PROT_GlobalStore("google.toolbar.button_option.safebrowsing.",
this.getLocale());
var prefs = new G_Preferences();
if (!prefs.getPref(PROT_globalStore.getHaveRunBeforePrefName(), false)) {
prefs.setPref(PROT_globalStore.getHaveRunBeforePrefName(), true);
var optedIn = prefs.getPref(PROT_globalStore.getToolbarPageRankPrefName(),
false);
G_Debug(this, "First run of SafeBrowsing. Disabling advanced " +
"due to page rank being off? " +
(optedIn === false));
prefs.setPref(PROT_globalStore.getServerCheckEnabledPrefName(), optedIn);
prefs.setPref(PROT_globalStore.getServerCheckEnabledDefaultPrefName(),
optedIn);
}
PROT_listManager = new PROT_ListManager();
PROT_phishingWarden = new PROT_PhishingWarden(PROT_listManager);
var threadConfig = {
"interleave": true,
"runtime": 80,
"delay": 700,
};
var threadQueue = new TH_ThreadQueue(threadConfig);
this.contentAnalyzer = new PROT_ContentAnalyzer(PROT_phishingWarden,
threadQueue,
false /* testing */);
new PROT_UrlCryptoKeyManager();
runUnittests();
PROT_listManager.maybeStartManagingUpdates();
}
PROT_Application.isCompatibleWithThisFirefox = function() {
var z = "application";
var compatibleVersion = (new G_ThisFirefoxVersion()).isVersionOf("1.5");
G_Debug(z, "Firefox version is compatible (1.5)? " + compatibleVersion);
var binaryCompatible = false;
var dbcomp = Cc["@google.com/dbupdateservice;1"];
if (dbcomp)
binaryCompatible = true;
G_Debug(z, "Binary compatible? " + binaryCompatible);
var extensionInstalled = false;
try {
var em = Cc["@mozilla.org/extensions/manager;1"]
.getService(Ci.nsIExtensionManager);
var loc = em.getInstallLocation("safebrowsing@google.com");
if (loc != null)
extensionInstalled = true;
} catch(e) {
dump("Masked in isCompatibleWithThisFirefox: " + e);
}
G_Debug(z, "SafeBrowsing extension already installed? " +
extensionInstalled);
return !extensionInstalled && compatibleVersion && binaryCompatible;
}
PROT_Application.prototype.getLocale = function() {
var locale = 'en';
var bundle_service = Cc["@mozilla.org/intl/stringbundle;1"]
.getService(Ci.nsIStringBundleService);
var stringBundle = bundle_service.createBundle(
"chrome://google-toolbar/locale/prefs.properties");
if (stringBundle) {
locale = stringBundle.GetStringFromName('lang');
}
return locale;
}
function PROT_ApplicationDirectory() {
this.debugZone = "appdir";
this.appDir_ = G_File.getProfileFile();
this.appDir_.append(PROT_globalStore.getAppDirectoryName());
G_Debug(this, "Application directory is " + this.appDir_.path);
}
PROT_ApplicationDirectory.prototype.exists = function() {
return this.appDir_.exists() && this.appDir_.isDirectory();
}
PROT_ApplicationDirectory.prototype.create = function() {
G_Debug(this, "Creating app directory: " + this.appDir_.path);
try {
this.appDir_.create(Ci.nsIFile.DIRECTORY_TYPE, 0700);
} catch(e) {
G_Error(this, this.appDir_.path + " couldn't be created.");
}
}
PROT_ApplicationDirectory.prototype.getAppDirFileInterface = function() {
return this.appDir_;
}