diff --git a/Firefox addon/Firefox addon.vcxproj b/Firefox addon/Firefox addon.vcxproj index dc40c71..e051993 100644 --- a/Firefox addon/Firefox addon.vcxproj +++ b/Firefox addon/Firefox addon.vcxproj @@ -235,7 +235,10 @@ echo POSTBUILDSTEP for $(ProjectName) COMPLETED OK + + + diff --git a/Firefox addon/Firefox addon.vcxproj.filters b/Firefox addon/Firefox addon.vcxproj.filters index 6c2fcc0..7352037 100644 --- a/Firefox addon/Firefox addon.vcxproj.filters +++ b/Firefox addon/Firefox addon.vcxproj.filters @@ -271,6 +271,15 @@ JS + + JS + + + JS + + + JS + diff --git a/Firefox addon/KeeFox/chrome/content/KFILM.js b/Firefox addon/KeeFox/chrome/content/KFILM.js index e99d2f0..46cea69 100644 --- a/Firefox addon/KeeFox/chrome/content/KFILM.js +++ b/Firefox addon/KeeFox/chrome/content/KFILM.js @@ -724,6 +724,8 @@ keefox_win.ILM = { } var primaryURL = login.URLs[0]; + + this._kf.metricsManager.pushEvent ("feature", "addLogin"); if (this._kf._keeFoxExtension.prefs.getValue("saveFavicons",false)) { @@ -1047,6 +1049,8 @@ keefox_win.ILM = { keefox_win.Logger.debug("loading and auto submitting button " + button + ctrlClick + ":" + actionURL); else keefox_win.Logger.debug("loading and auto submitting button " + button + ctrlClick + "..."); + + this._kf.metricsManager.pushEvent ("feature", "loadAndAutoSubmit"); var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"] .getService(Components.interfaces.nsIWindowMediator); diff --git a/Firefox addon/KeeFox/chrome/content/KFILM_Fill.js b/Firefox addon/KeeFox/chrome/content/KFILM_Fill.js index dd3718c..1c37d5c 100644 --- a/Firefox addon/KeeFox/chrome/content/KFILM_Fill.js +++ b/Firefox addon/KeeFox/chrome/content/KFILM_Fill.js @@ -683,6 +683,7 @@ keefox_win.ILM.allSearchesComplete = function (findLoginDoc) window.keefox_win.ILM._fillManyFormFields(otherFields, matchingLogin.otherFields, findLoginDoc.currentTabPage, findLoginDoc.overWriteFieldsAutomatically); findLoginDoc.formsReadyForSubmit++; //TODO2: could we fill more than one form before? i don't think so but why is it a count rather than bool?! + window.keefox_win.ILM._kf.metricsManager.pushEvent ("feature", "AutoFill"); } } } @@ -798,6 +799,7 @@ keefox_win.ILM.allSearchesComplete = function (findLoginDoc) && findLoginDoc.formsReadyForSubmit == 1) { keefox_win.Logger.info("Auto-submitting form..."); + window.keefox_win.ILM._kf.metricsManager.pushEvent ("feature", "AutoSubmit"); keefox_win.ILM.submitForm(form); } else if (findLoginDoc.allMatchingLogins.length > 0) { @@ -1037,7 +1039,13 @@ keefox_win.ILM.fillFindLoginsComplete = function (resultWrapper, fillDocumentDat // now we can submit the form if desired if (autoSubmitForm) + { + window.keefox_win.ILM._kf.metricsManager.pushEvent ("feature", "MatchedFill"); window.keefox_win.ILM.submitForm(form); + } else + { + window.keefox_win.ILM._kf.metricsManager.pushEvent ("feature", "MatchedSubmit"); + } }; keefox_win.ILM._fillAllFrames = function (window, initialPageLoad) diff --git a/Firefox addon/KeeFox/chrome/content/KFToolBar.js b/Firefox addon/KeeFox/chrome/content/KFToolBar.js index 3800786..e3594d1 100644 --- a/Firefox addon/KeeFox/chrome/content/KFToolBar.js +++ b/Firefox addon/KeeFox/chrome/content/KFToolBar.js @@ -858,7 +858,9 @@ keefox_win.toolbar = { }, generatePassword: function () { - this._currentWindow.keefox_org.generatePassword(); + let kf = this._currentWindow.keefox_org; + kf.metricsManager.pushEvent ("feature", "generatePassword"); + kf.generatePassword(); }, removeNonMatchingEventHandlers: function (node) { diff --git a/Firefox addon/KeeFox/chrome/content/KFUI.js b/Firefox addon/KeeFox/chrome/content/KFUI.js index d92d170..bf33cfc 100644 --- a/Firefox addon/KeeFox/chrome/content/KFUI.js +++ b/Firefox addon/KeeFox/chrome/content/KFUI.js @@ -344,6 +344,7 @@ keefox_win.UI = { }; keefox_win.toolbar.clearTabFormRecordingData(); + keefox_win.ILM._kf.metricsManager.pushEvent ("feature", "SaveGroupChooser"); window.openDialog("chrome://keefox/content/groupChooser.xul", "group", "chrome,centerscreen", onOK, @@ -391,6 +392,7 @@ keefox_win.UI = { }; keefox_win.toolbar.clearTabFormRecordingData(); + keefox_win.ILM._kf.metricsManager.pushEvent ("feature", "SaveGroupChooser"); window.openDialog("chrome://keefox/content/groupChooser.xul", "group", "chrome,centerscreen", onOK, @@ -408,7 +410,9 @@ keefox_win.UI = { { label: notNowButtonText, accessKey: notNowButtonAccessKey, - callback: function(evt) { keefox_win.toolbar.clearTabFormRecordingData(); } + callback: function(evt) { + keefox_org.metricsManager.pushEvent ("feature", "SaveNotNow"); + keefox_win.toolbar.clearTabFormRecordingData(); } }, // "Never" button @@ -417,6 +421,7 @@ keefox_win.UI = { accessKey: neverButtonAccessKey, popup: null, callback: function() { + keefox_org.metricsManager.pushEvent ("feature", "SaveNever"); try { let newConfig = keefox_org.config.applyMoreSpecificConfig(JSON.parse(JSON.stringify(keefox_org.config.getConfigDefinitionForURL(urlSchemeHostPort))),{"preventSaveNotification": true}); //TODO1.4: faster clone? diff --git a/Firefox addon/KeeFox/chrome/content/commonDialog.js b/Firefox addon/KeeFox/chrome/content/commonDialog.js index 390b514..151cfd8 100644 --- a/Firefox addon/KeeFox/chrome/content/commonDialog.js +++ b/Firefox addon/KeeFox/chrome/content/commonDialog.js @@ -738,11 +738,13 @@ var keeFoxDialogManager = { if (autoFill) { // fill in the best matching login + keefox_org.metricsManager.pushEvent ("feature", "AutoFillDialog"); dialogFindLoginStorage.document.getElementById("loginTextbox").value = matchedLogins[bestMatch].username; dialogFindLoginStorage.document.getElementById("password1Textbox").value = matchedLogins[bestMatch].password; } if (autoSubmit || dialogFindLoginStorage.mustAutoSubmit) { + keefox_org.metricsManager.pushEvent ("feature", "AutoSubmitDialog"); Dialog.onButton0(); close(); } @@ -751,6 +753,7 @@ var keeFoxDialogManager = { fill : function (username, password) { + keefox_org.metricsManager.pushEvent ("feature", "MatchedSubmitDialog"); document.getElementById("loginTextbox").value = username; document.getElementById("password1Textbox").value = password; Dialog.onButton0(); diff --git a/Firefox addon/KeeFox/chrome/content/siteOptions.js b/Firefox addon/KeeFox/chrome/content/siteOptions.js index a08394a..c3e7695 100644 --- a/Firefox addon/KeeFox/chrome/content/siteOptions.js +++ b/Firefox addon/KeeFox/chrome/content/siteOptions.js @@ -307,6 +307,12 @@ function setMainPanelConfig(url, newConfig, effectiveConfig) function addSite() { let newURL = window.prompt("Type the new URL, remembering the http:// or https:// at the start"); + var wm = Cc["@mozilla.org/appshell/window-mediator;1"] + .getService(Ci.nsIWindowMediator); + var mainWindow = wm.getMostRecentWindow("navigator:browser") || + wm.getMostRecentWindow("mail:3pane"); + + mainWindow.keefox_org.metricsManager.pushEvent("feature", "SiteSpecificAdd"); configMan.setConfigForURL(newURL,{}); configMan.save(); go(newURL); diff --git a/Firefox addon/KeeFox/chrome/locale/cs/keefox.properties b/Firefox addon/KeeFox/chrome/locale/cs/keefox.properties index 5e5fe7d..ebdb14c 100644 --- a/Firefox addon/KeeFox/chrome/locale/cs/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/cs/keefox.properties @@ -274,7 +274,9 @@ KeeFox-browse.label= Procházet KeeFox-FAMS-Options.label= Nastavení oznamování zprávy/tipu KeeFox-pref-searchAllOpenDBs.label= Prohledat všechny otevřené KeePass databáze KeeFox-pref-listAllOpenDBs.label= Seznam přihlášení ze všech otevřených KeePass databazí - +# KeeFox-pref-metrics-desc=KeeFox collects anonymous system and usage statistics to fix problems and improve your experience. No private data is collected. +# KeeFox-pref-metrics-link=Read more about the anonymous data KeeFox collects +# KeeFox-pref-metrics-label=Send anonymous usage statistics KeeFox-pref-site-options-find.desc=KeeFox zkusí najít přihlašovací údaje pro všechny formuláře obsahující pole s hesly. Nastav toto a více v diff --git a/Firefox addon/KeeFox/chrome/locale/da/keefox.properties b/Firefox addon/KeeFox/chrome/locale/da/keefox.properties index f15fa15..99d1bea 100644 --- a/Firefox addon/KeeFox/chrome/locale/da/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/da/keefox.properties @@ -274,7 +274,9 @@ KeeFox-browse.label= Gennemse KeeFox-FAMS-Options.label= Besked/tip notifikationsindstillinger KeeFox-pref-searchAllOpenDBs.label= Søg i alle åbne KeePass databaser KeeFox-pref-listAllOpenDBs.label= Vis liste med logins fra alle åbne KeePass databaser - +# KeeFox-pref-metrics-desc=KeeFox collects anonymous system and usage statistics to fix problems and improve your experience. No private data is collected. +# KeeFox-pref-metrics-link=Read more about the anonymous data KeeFox collects +# KeeFox-pref-metrics-label=Send anonymous usage statistics KeeFox-pref-site-options-find.desc=KeeFox forsøger at finde login oplysninger til alle formularer der indeholder et felt til en adgangskode. Justér dette og andet i diff --git a/Firefox addon/KeeFox/chrome/locale/de/keefox.properties b/Firefox addon/KeeFox/chrome/locale/de/keefox.properties index 954bead..472aa05 100644 --- a/Firefox addon/KeeFox/chrome/locale/de/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/de/keefox.properties @@ -274,7 +274,9 @@ KeeFox-browse.label= Durchsuchen KeeFox-FAMS-Options.label= Nachricht / Tipp-Hinweis Optionen KeeFox-pref-searchAllOpenDBs.label= Alle offenen KeePass-Datenbanken suchen KeeFox-pref-listAllOpenDBs.label= Alle Anmeldungen aller geöffneten KeePass-Datenbanken auflisten - +KeeFox-pref-metrics-desc=KeeFox sammelt anonyme System- und Nutzungsstatistiken zur Problemlösung und zur Erfahrungsverbesserung. Keine privaten Daten werden gesammelt. +KeeFox-pref-metrics-link=Lesen Sie mehr über die anonymen Daten, die KeeFox sammelt +KeeFox-pref-metrics-label=Anonyme Nutzungsstatistiken senden KeeFox-pref-site-options-find.desc=KeeFox versucht Login-Details in allen Formularen zu finden, die ein Passwort-Feld enthalten. Konfigurieren Sie dies und mehr. diff --git a/Firefox addon/KeeFox/chrome/locale/fr/keefox.properties b/Firefox addon/KeeFox/chrome/locale/fr/keefox.properties index 0a4e4f3..0eec4a9 100644 --- a/Firefox addon/KeeFox/chrome/locale/fr/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/fr/keefox.properties @@ -274,7 +274,9 @@ KeeFox-browse.label= Parcourir KeeFox-FAMS-Options.label= Options des notifications de messages/astuces KeeFox-pref-searchAllOpenDBs.label= Chercher dans toutes les bases de données KeePass ouvertes KeeFox-pref-listAllOpenDBs.label= Lister les entrées de toutes les bases de données KeePass ouvertes - +# KeeFox-pref-metrics-desc=KeeFox collects anonymous system and usage statistics to fix problems and improve your experience. No private data is collected. +# KeeFox-pref-metrics-link=Read more about the anonymous data KeeFox collects +# KeeFox-pref-metrics-label=Send anonymous usage statistics KeeFox-pref-site-options-find.desc=KeeFox essaie de trouver des détails de connexion pour tous les formulaires qui contiennent un champ de mots de passe. Ajustez ceci et plus dans diff --git a/Firefox addon/KeeFox/chrome/locale/hu/keefox.properties b/Firefox addon/KeeFox/chrome/locale/hu/keefox.properties index 43929a8..225135f 100644 --- a/Firefox addon/KeeFox/chrome/locale/hu/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/hu/keefox.properties @@ -274,7 +274,9 @@ KeeFox-browse.label= Böngész KeeFox-FAMS-Options.label= Üzenet / tip értesítési beállítások KeeFox-pref-searchAllOpenDBs.label= Keresés minden nyitott KeePass adatbázisban KeeFox-pref-listAllOpenDBs.label= Belépési lista az egész megnyitott KeePass adatbázistól. - +# KeeFox-pref-metrics-desc=KeeFox collects anonymous system and usage statistics to fix problems and improve your experience. No private data is collected. +# KeeFox-pref-metrics-link=Read more about the anonymous data KeeFox collects +# KeeFox-pref-metrics-label=Send anonymous usage statistics # KeeFox-pref-site-options-find.desc=KeeFox tries to find log-in details for all forms that contain a password field. Adjust this and more in diff --git a/Firefox addon/KeeFox/chrome/locale/it/keefox.properties b/Firefox addon/KeeFox/chrome/locale/it/keefox.properties index a5e72c7..adf704d 100644 --- a/Firefox addon/KeeFox/chrome/locale/it/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/it/keefox.properties @@ -274,7 +274,9 @@ KeeFox-browse.label= Sfoglia KeeFox-FAMS-Options.label= Opzioni di notifica messaggi/suggerimenti KeeFox-pref-searchAllOpenDBs.label= Cerca in tutti i database KeePass aperti KeeFox-pref-listAllOpenDBs.label= Elenca gli account di accesso da tutti i database KeePass aperti - +# KeeFox-pref-metrics-desc=KeeFox collects anonymous system and usage statistics to fix problems and improve your experience. No private data is collected. +# KeeFox-pref-metrics-link=Read more about the anonymous data KeeFox collects +# KeeFox-pref-metrics-label=Send anonymous usage statistics KeeFox-pref-site-options-find.desc=KeeFox cerca di trovare dei dati identificativi in tutti i form che contengono un campo password. Impostare questo e più in diff --git a/Firefox addon/KeeFox/chrome/locale/ko-KR/keefox.properties b/Firefox addon/KeeFox/chrome/locale/ko-KR/keefox.properties index dfe77ea..a475a64 100644 --- a/Firefox addon/KeeFox/chrome/locale/ko-KR/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/ko-KR/keefox.properties @@ -274,7 +274,9 @@ KeeFox-browse.label= 찾아보기 # KeeFox-FAMS-Options.label= Message/tip notification options KeeFox-pref-searchAllOpenDBs.label= 열려있는 모든 KeePass 데이터베이스 검색 # KeeFox-pref-listAllOpenDBs.label= List logins from all open KeePass databases - +# KeeFox-pref-metrics-desc=KeeFox collects anonymous system and usage statistics to fix problems and improve your experience. No private data is collected. +# KeeFox-pref-metrics-link=Read more about the anonymous data KeeFox collects +# KeeFox-pref-metrics-label=Send anonymous usage statistics # KeeFox-pref-site-options-find.desc=KeeFox tries to find log-in details for all forms that contain a password field. Adjust this and more in diff --git a/Firefox addon/KeeFox/chrome/locale/nb-NO/FAMS.keefox.properties b/Firefox addon/KeeFox/chrome/locale/nb-NO/FAMS.keefox.properties index 19a25bf..4fb117d 100644 --- a/Firefox addon/KeeFox/chrome/locale/nb-NO/FAMS.keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/nb-NO/FAMS.keefox.properties @@ -35,8 +35,12 @@ # tips201201040000o-link=https://github.com/luckyrat/KeeFox/wiki/en-|-Tips-|-Open-Source-Safer # tips201201040000p-body=If you have old KeePass entries without website-specific icons (favicons) try the KeePass Favicon downloader plugin. # tips201201040000p-link=https://github.com/luckyrat/KeeFox/wiki/en-|-Tips-|-Favicon-Downloader -# tips201211040000a-body=NEW: You can configure individual websites to work better with KeeFox. +# tips201211040000a-body=You can configure individual websites to work better with KeeFox. # tips201211040000a-link=https://github.com/luckyrat/KeeFox/wiki/en-|-Tips-|-Site-Specific +# tips201312040000a-body=Keyboard shortcuts can speed up access to many KeeFox features. +# tips201312040000a-link=https://github.com/luckyrat/KeeFox/wiki/en-|-Tips-|-Keyboard-shortcuts +# tips201312040000b-body=KeeFox features can now be found on your context (right mouse click) menu. +# tips201312040000b-link=https://github.com/luckyrat/KeeFox/wiki/en-|-Tips-|-Context-menu # security-name=Security notices # security-description=Important security notices that users should not ignore if they wish to remain protected # security-default-title=KeeFox security warning @@ -47,3 +51,5 @@ # messages-help-keefox=Help KeeFox # messages201201040000a-body=You've been using KeeFox for a while now so please help others by adding a positive review to the Mozilla addons website. # messages201201040000a-link=https://addons.mozilla.org/en-US/firefox/addon/keefox/reviews/add +# messages201312080000a-body=KeeFox collects anonymous statistics to fix problems and improve your experience. Read more to find out what data is sent and what you can change. +# messages201312080000a-link=https://github.com/luckyrat/KeeFox/wiki/en-|-Metrics-collection diff --git a/Firefox addon/KeeFox/chrome/locale/nb-NO/keefox.properties b/Firefox addon/KeeFox/chrome/locale/nb-NO/keefox.properties index 0056a8e..81c53bc 100644 --- a/Firefox addon/KeeFox/chrome/locale/nb-NO/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/nb-NO/keefox.properties @@ -274,7 +274,9 @@ KeeFox_Install_admincopyKRPCToKnownKPLocationInstallExpander.description= Trykk # KeeFox-FAMS-Options.label= Message/tip notification options # KeeFox-pref-searchAllOpenDBs.label= Search all open KeePass databases # KeeFox-pref-listAllOpenDBs.label= List logins from all open KeePass databases - +# KeeFox-pref-metrics-desc=KeeFox collects anonymous system and usage statistics to fix problems and improve your experience. No private data is collected. +# KeeFox-pref-metrics-link=Read more about the anonymous data KeeFox collects +# KeeFox-pref-metrics-label=Send anonymous usage statistics # KeeFox-pref-site-options-find.desc=KeeFox tries to find log-in details for all forms that contain a password field. Adjust this and more in diff --git a/Firefox addon/KeeFox/chrome/locale/nl/keefox.properties b/Firefox addon/KeeFox/chrome/locale/nl/keefox.properties index 982e7dc..294ef1c 100644 --- a/Firefox addon/KeeFox/chrome/locale/nl/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/nl/keefox.properties @@ -274,7 +274,9 @@ KeeFox-browse.label= Blader KeeFox-FAMS-Options.label= Berichten/tips instellingen wijzigen KeeFox-pref-searchAllOpenDBs.label= Doorzoek alle open wachtwoordendatabases KeeFox-pref-listAllOpenDBs.label= Laat de inloggegevens van alle open wachtwoordendatabases zien in de lijst - +# KeeFox-pref-metrics-desc=KeeFox collects anonymous system and usage statistics to fix problems and improve your experience. No private data is collected. +# KeeFox-pref-metrics-link=Read more about the anonymous data KeeFox collects +# KeeFox-pref-metrics-label=Send anonymous usage statistics KeeFox-pref-site-options-find.desc=KeeFox probeert inloggegevens te vinden voor alle formulieren met een wachtwoord veld erin. U kunt dit en meer aanpassen in diff --git a/Firefox addon/KeeFox/chrome/locale/pl/FAMS.keefox.properties b/Firefox addon/KeeFox/chrome/locale/pl/FAMS.keefox.properties index 19a25bf..4fb117d 100644 --- a/Firefox addon/KeeFox/chrome/locale/pl/FAMS.keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/pl/FAMS.keefox.properties @@ -35,8 +35,12 @@ # tips201201040000o-link=https://github.com/luckyrat/KeeFox/wiki/en-|-Tips-|-Open-Source-Safer # tips201201040000p-body=If you have old KeePass entries without website-specific icons (favicons) try the KeePass Favicon downloader plugin. # tips201201040000p-link=https://github.com/luckyrat/KeeFox/wiki/en-|-Tips-|-Favicon-Downloader -# tips201211040000a-body=NEW: You can configure individual websites to work better with KeeFox. +# tips201211040000a-body=You can configure individual websites to work better with KeeFox. # tips201211040000a-link=https://github.com/luckyrat/KeeFox/wiki/en-|-Tips-|-Site-Specific +# tips201312040000a-body=Keyboard shortcuts can speed up access to many KeeFox features. +# tips201312040000a-link=https://github.com/luckyrat/KeeFox/wiki/en-|-Tips-|-Keyboard-shortcuts +# tips201312040000b-body=KeeFox features can now be found on your context (right mouse click) menu. +# tips201312040000b-link=https://github.com/luckyrat/KeeFox/wiki/en-|-Tips-|-Context-menu # security-name=Security notices # security-description=Important security notices that users should not ignore if they wish to remain protected # security-default-title=KeeFox security warning @@ -47,3 +51,5 @@ # messages-help-keefox=Help KeeFox # messages201201040000a-body=You've been using KeeFox for a while now so please help others by adding a positive review to the Mozilla addons website. # messages201201040000a-link=https://addons.mozilla.org/en-US/firefox/addon/keefox/reviews/add +# messages201312080000a-body=KeeFox collects anonymous statistics to fix problems and improve your experience. Read more to find out what data is sent and what you can change. +# messages201312080000a-link=https://github.com/luckyrat/KeeFox/wiki/en-|-Metrics-collection diff --git a/Firefox addon/KeeFox/chrome/locale/pl/keefox.properties b/Firefox addon/KeeFox/chrome/locale/pl/keefox.properties index d6701b5..478e3bb 100644 --- a/Firefox addon/KeeFox/chrome/locale/pl/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/pl/keefox.properties @@ -274,7 +274,9 @@ KeeFox-pref-excludedSaveSites.remove= Usun # KeeFox-FAMS-Options.label= Message/tip notification options # KeeFox-pref-searchAllOpenDBs.label= Search all open KeePass databases # KeeFox-pref-listAllOpenDBs.label= List logins from all open KeePass databases - +# KeeFox-pref-metrics-desc=KeeFox collects anonymous system and usage statistics to fix problems and improve your experience. No private data is collected. +# KeeFox-pref-metrics-link=Read more about the anonymous data KeeFox collects +# KeeFox-pref-metrics-label=Send anonymous usage statistics # KeeFox-pref-site-options-find.desc=KeeFox tries to find log-in details for all forms that contain a password field. Adjust this and more in diff --git a/Firefox addon/KeeFox/chrome/locale/pt-BR/keefox.properties b/Firefox addon/KeeFox/chrome/locale/pt-BR/keefox.properties index 86f0a51..3130bef 100644 --- a/Firefox addon/KeeFox/chrome/locale/pt-BR/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/pt-BR/keefox.properties @@ -274,7 +274,9 @@ KeeFox-browse.label= Procurar KeeFox-FAMS-Options.label= Opções de notificação com mensagens e dicas KeeFox-pref-searchAllOpenDBs.label= Procurar todos os bancos de dados do KeePass abertos KeeFox-pref-listAllOpenDBs.label= Listar logins de todos os bancos de dados do KeePass abertos - +# KeeFox-pref-metrics-desc=KeeFox collects anonymous system and usage statistics to fix problems and improve your experience. No private data is collected. +# KeeFox-pref-metrics-link=Read more about the anonymous data KeeFox collects +# KeeFox-pref-metrics-label=Send anonymous usage statistics # KeeFox-pref-site-options-find.desc=KeeFox tries to find log-in details for all forms that contain a password field. Adjust this and more in diff --git a/Firefox addon/KeeFox/chrome/locale/ro/keefox.properties b/Firefox addon/KeeFox/chrome/locale/ro/keefox.properties index 447999a..fe1645f 100644 --- a/Firefox addon/KeeFox/chrome/locale/ro/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/ro/keefox.properties @@ -274,7 +274,9 @@ KeeFox-browse.label= Caută # KeeFox-FAMS-Options.label= Message/tip notification options # KeeFox-pref-searchAllOpenDBs.label= Search all open KeePass databases # KeeFox-pref-listAllOpenDBs.label= List logins from all open KeePass databases - +# KeeFox-pref-metrics-desc=KeeFox collects anonymous system and usage statistics to fix problems and improve your experience. No private data is collected. +# KeeFox-pref-metrics-link=Read more about the anonymous data KeeFox collects +# KeeFox-pref-metrics-label=Send anonymous usage statistics # KeeFox-pref-site-options-find.desc=KeeFox tries to find log-in details for all forms that contain a password field. Adjust this and more in diff --git a/Firefox addon/KeeFox/chrome/locale/ru/keefox.properties b/Firefox addon/KeeFox/chrome/locale/ru/keefox.properties index d9e8e21..265611e 100644 --- a/Firefox addon/KeeFox/chrome/locale/ru/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/ru/keefox.properties @@ -274,7 +274,9 @@ KeeFox-browse.label= Обзор KeeFox-FAMS-Options.label= Настройки уведомлений о сообщениях и подсказках KeeFox-pref-searchAllOpenDBs.label= Искать все открытые базы данных KeePass KeeFox-pref-listAllOpenDBs.label= Список логинов из всех открытых баз данных KeePass - +# KeeFox-pref-metrics-desc=KeeFox collects anonymous system and usage statistics to fix problems and improve your experience. No private data is collected. +# KeeFox-pref-metrics-link=Read more about the anonymous data KeeFox collects +# KeeFox-pref-metrics-label=Send anonymous usage statistics KeeFox-pref-site-options-find.desc=KeeFox пытается найти детали входа для всех форм, содержащих поле пароля. Отрегулируйте это и многое другое в diff --git a/Firefox addon/KeeFox/chrome/locale/sv-SE/keefox.properties b/Firefox addon/KeeFox/chrome/locale/sv-SE/keefox.properties index 11216cb..5b12780 100644 --- a/Firefox addon/KeeFox/chrome/locale/sv-SE/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/sv-SE/keefox.properties @@ -274,7 +274,9 @@ KeeFox-browse.label= Bläddra KeeFox-FAMS-Options.label= Aviseringsinställningar KeeFox-pref-searchAllOpenDBs.label= Sök i alla öppna KeePass-databaser KeeFox-pref-listAllOpenDBs.label= Lista inloggningar från alla öppna KeePass-databaser - +# KeeFox-pref-metrics-desc=KeeFox collects anonymous system and usage statistics to fix problems and improve your experience. No private data is collected. +# KeeFox-pref-metrics-link=Read more about the anonymous data KeeFox collects +# KeeFox-pref-metrics-label=Send anonymous usage statistics KeeFox-pref-site-options-find.desc=KeeFox försöker hitta inloggningsinformation för alla formulär som innehåller ett lösenordsfält. Justera detta och mycket annat i diff --git a/Firefox addon/KeeFox/chrome/locale/zh-CN/keefox.properties b/Firefox addon/KeeFox/chrome/locale/zh-CN/keefox.properties index d8dd2de..e74e8d8 100644 --- a/Firefox addon/KeeFox/chrome/locale/zh-CN/keefox.properties +++ b/Firefox addon/KeeFox/chrome/locale/zh-CN/keefox.properties @@ -274,7 +274,9 @@ KeeFox-browse.label= 浏览 KeeFox-FAMS-Options.label= 消息/提示 通知选项 KeeFox-pref-searchAllOpenDBs.label= 搜索所有打开的 KeePass 数据库 KeeFox-pref-listAllOpenDBs.label= 列出所有打开的 KeePass 数据库的登录 - +KeeFox-pref-metrics-desc=KeeFox 收集匿名的系统和使用统计以解决问题和改善您的体验。收集的数据不会包含任何个人信息。 +KeeFox-pref-metrics-link=了解有关 KeeFox 收集匿名数据的细节 +KeeFox-pref-metrics-label=发送匿名统计信息 KeeFox-pref-site-options-find.desc=KeeFox 会试图从所有包含一个密码字段的表单中找到登录信息。调整这个的更多细节 diff --git a/Firefox addon/KeeFox/install.rdf b/Firefox addon/KeeFox/install.rdf index 4b8b995..7ef221a 100644 --- a/Firefox addon/KeeFox/install.rdf +++ b/Firefox addon/KeeFox/install.rdf @@ -5,7 +5,7 @@ keefox@chris.tomlinson - 1.3.0b1.5 + 1.3.0b2 2 true diff --git a/Firefox addon/KeeFox/modules/commands.js b/Firefox addon/KeeFox/modules/commands.js index d7c6d6e..e4cf9cc 100644 --- a/Firefox addon/KeeFox/modules/commands.js +++ b/Firefox addon/KeeFox/modules/commands.js @@ -414,6 +414,7 @@ function commandManager () { let win = utils.getWindow(); if (!win) return; + win.keefox_org.metricsManager.pushEvent ("feature", "detectForms"); win.keefox_org._KFLog.debug("context detectForms start"); var currentGBrowser = win.gBrowser; win.keefox_win.toolbar.setLogins(null, null); @@ -421,6 +422,7 @@ function commandManager () { }, generatePassword: function() { + utils.getWindow().keefox_org.metricsManager.pushEvent ("feature", "generatePassword"); utils.getWindow().keefox_org.generatePassword(); }, /* Not intending to support these features until at least 1.4 @@ -567,6 +569,7 @@ function commandManager () { if (!keefox_org.commandManager.conditions[commandName]()) continue; keefox_org._KFLog.debug("Executing command action: " + commandName); + keefox_org.metricsManager.adjustAggregate("keyboardShortcutsPressed", 1); //TODO: Pass event target information to action keefox_org.commandManager.actions[commandName](); break; @@ -679,7 +682,11 @@ function commandManager () { //item.setAttribute("accesskey", this.commands[i].accesskey); item.keeFoxCommandName = this.commands[i].name; item.keeFoxValidContexts = this.commands[i].contextLocationFlags; - item.addEventListener("command", function(event) { utils.getWindow().keefox_org.commandManager.actions[this.keeFoxCommandName](); }, false); + item.addEventListener("command", function(event) { + let kf = utils.getWindow().keefox_org; + kf.metricsManager.adjustAggregate("contextMenuItemsPressed", 1); + kf.commandManager.actions[this.keeFoxCommandName](); + }, false); } //TODO1.4: repeat for submenu context type diff --git a/Firefox addon/KeeFox/modules/metrics.js b/Firefox addon/KeeFox/modules/metrics.js index ae939b9..9c36c63 100644 --- a/Firefox addon/KeeFox/modules/metrics.js +++ b/Firefox addon/KeeFox/modules/metrics.js @@ -1,6 +1,6 @@ /* KeeFox - Allows Firefox to communicate with KeePass (via the KeePassRPC KeePass plugin) - Copyright 2008-2013 Chris Tomlinson + Copyright 2008-2014 Chris Tomlinson The metrics module collects anonymous statistics about key metrics and behaviours so we can improve KeeFox. @@ -128,11 +128,15 @@ function mm () { mm.ii.addonVersion = addon.version; // Make sure indexedDB is available somewhere consistent regardless - // of old Firefox differences + // of old Firefox differences. + // + // We can't assume that indexedDB and IDBKeyRange are accessed in the same + // way because there are definitely some non-release builds of Firefox + // where they differ but it does appear that they are consistently available + // if initWindowless() works. if (typeof indexedDB !== "undefined") { mm.indexedDB = indexedDB; - mm.IDBKeyRange = IDBKeyRange; } if (!mm.indexedDB) { try { @@ -141,7 +145,37 @@ function mm () { idbManager.initWindowless(mm); } catch (e) { - mm._KFLog.info("KeeFox metrics system disabled - browser version probably too low."); + // May have just failed becuase the API changed again so that + // calls to initWindowless now need to be replaced by... + try + { + Cu.importGlobalProperties(["indexedDB"]); + mm.indexedDB = indexedDB; + } + catch (ie) + { + // Still broken, we'll have to accept that the whole metrics + // system is fragile until Firefox settles on a stable API for IndexedDB... + mm._KFLog.info("KeeFox metrics system disabled due to exception: " + e + " and 2nd exception: " + ie); + return; + } + } + } + + if (!mm.IDBKeyRange) { + mm.IDBKeyRange = IDBKeyRange; + } + if (!mm.IDBKeyRange) { + try + { + Cu.importGlobalProperties(["IDBKeyRange"]); + mm.IDBKeyRange = IDBKeyRange; + } + catch (e) + { + // Still broken, we'll have to accept that the whole metrics + // system is fragile until Firefox settles on a stable API for IndexedDB... + mm._KFLog.info("KeeFox metrics system disabled because IDBKeyRange is not available in this Firefox build. Exception: " + e); return; } } @@ -612,7 +646,10 @@ function mm () { let agg = result.value; if (agg.value != undefined) { - agg.value = value; + if (agg.value > 0) + agg.value = agg.value + value; + else + agg.value = value; } else if (agg.avg != undefined) { let newCount = agg.count + 1.0; diff --git a/Jayrock/src/Jayrock.Json/obj/Release/Jayrock.Json.csproj.FileListAbsolute.txt b/Jayrock/src/Jayrock.Json/obj/Release/Jayrock.Json.csproj.FileListAbsolute.txt index 928ddeb..de39b21 100644 --- a/Jayrock/src/Jayrock.Json/obj/Release/Jayrock.Json.csproj.FileListAbsolute.txt +++ b/Jayrock/src/Jayrock.Json/obj/Release/Jayrock.Json.csproj.FileListAbsolute.txt @@ -3,3 +3,4 @@ C:\development\KeeFox\Jayrock\bin\net-4.0\release\Jayrock.Json.dll C:\development\KeeFox\Jayrock\bin\net-4.0\release\Jayrock.Json.pdb C:\development\KeeFox\Jayrock\src\Jayrock.Json\obj\Release\Jayrock.Json.dll C:\development\KeeFox\Jayrock\src\Jayrock.Json\obj\Release\Jayrock.Json.pdb +C:\development\keefox\Jayrock\src\Jayrock.Json\obj\Release\Jayrock.Json.csprojResolveAssemblyReference.cache diff --git a/XPI-package/latest.xpi b/XPI-package/latest.xpi index 38f6ba4..28ee196 100644 Binary files a/XPI-package/latest.xpi and b/XPI-package/latest.xpi differ