Bug 1101491 - Properly record SEARCH_DEFAULT_ENGINE on search service init and change events. r=mconley

This commit is contained in:
Georg Fritzsche 2014-12-16 18:10:28 +01:00
parent f18311f96b
commit 3e7955b253
2 changed files with 24 additions and 29 deletions

View File

@ -403,33 +403,6 @@ const gSessionHistoryObserver = {
} }
}; };
const gGatherTelemetryObserver = {
observe: function(subject, topic, data) {
if (topic != "gather-telemetry") {
return;
}
let engine;
try {
engine = Services.search.defaultEngine;
} catch (e) {}
let name;
if (!engine) {
name = "NONE";
} else if (engine.identifier) {
name = engine.identifier;
} else if (engine.name) {
name = "other-" + engine.name;
} else {
name = "UNDEFINED";
}
let engines = Services.telemetry.getKeyedHistogramById("SEARCH_DEFAULT_ENGINE");
engines.add(name, true)
},
};
/** /**
* Given a starting docshell and a URI to look up, find the docshell the URI * Given a starting docshell and a URI to look up, find the docshell the URI
* is loaded in. * is loaded in.
@ -1213,7 +1186,6 @@ var gBrowserInit = {
Services.obs.addObserver(gXPInstallObserver, "addon-install-blocked", false); Services.obs.addObserver(gXPInstallObserver, "addon-install-blocked", false);
Services.obs.addObserver(gXPInstallObserver, "addon-install-failed", false); Services.obs.addObserver(gXPInstallObserver, "addon-install-failed", false);
Services.obs.addObserver(gXPInstallObserver, "addon-install-complete", false); Services.obs.addObserver(gXPInstallObserver, "addon-install-complete", false);
Services.obs.addObserver(gGatherTelemetryObserver, "gather-telemetry", false);
window.messageManager.addMessageListener("Browser:URIFixup", gKeywordURIFixup); window.messageManager.addMessageListener("Browser:URIFixup", gKeywordURIFixup);
window.messageManager.addMessageListener("Browser:LoadURI", RedirectLoad); window.messageManager.addMessageListener("Browser:LoadURI", RedirectLoad);
@ -1534,7 +1506,6 @@ var gBrowserInit = {
Services.obs.removeObserver(gXPInstallObserver, "addon-install-blocked"); Services.obs.removeObserver(gXPInstallObserver, "addon-install-blocked");
Services.obs.removeObserver(gXPInstallObserver, "addon-install-failed"); Services.obs.removeObserver(gXPInstallObserver, "addon-install-failed");
Services.obs.removeObserver(gXPInstallObserver, "addon-install-complete"); Services.obs.removeObserver(gXPInstallObserver, "addon-install-complete");
Services.obs.removeObserver(gGatherTelemetryObserver, "gather-telemetry");
window.messageManager.removeMessageListener("Browser:URIFixup", gKeywordURIFixup); window.messageManager.removeMessageListener("Browser:URIFixup", gKeywordURIFixup);
window.messageManager.removeMessageListener("Browser:LoadURI", RedirectLoad); window.messageManager.removeMessageListener("Browser:LoadURI", RedirectLoad);

View File

@ -144,6 +144,28 @@ const BOOKMARKS_BACKUP_MIN_INTERVAL_DAYS = 1;
// days we will try to create a new one more aggressively. // days we will try to create a new one more aggressively.
const BOOKMARKS_BACKUP_MAX_INTERVAL_DAYS = 3; const BOOKMARKS_BACKUP_MAX_INTERVAL_DAYS = 3;
// Record the current default search engine in Telemetry.
function recordDefaultSearchEngine() {
let engine;
try {
engine = Services.search.defaultEngine;
} catch (e) {}
let name;
if (!engine) {
name = "NONE";
} else if (engine.identifier) {
name = engine.identifier;
} else if (engine.name) {
name = "other-" + engine.name;
} else {
name = "UNDEFINED";
}
let engines = Services.telemetry.getKeyedHistogramById("SEARCH_DEFAULT_ENGINE");
engines.add(name, true)
}
// Factory object // Factory object
const BrowserGlueServiceFactory = { const BrowserGlueServiceFactory = {
_instance: null, _instance: null,
@ -402,12 +424,14 @@ BrowserGlue.prototype = {
ss.defaultEngine = ss.currentEngine; ss.defaultEngine = ss.currentEngine;
else else
ss.currentEngine = ss.defaultEngine; ss.currentEngine = ss.defaultEngine;
recordDefaultSearchEngine();
break; break;
case "browser-search-service": case "browser-search-service":
if (data != "init-complete") if (data != "init-complete")
return; return;
Services.obs.removeObserver(this, "browser-search-service"); Services.obs.removeObserver(this, "browser-search-service");
this._syncSearchEngines(); this._syncSearchEngines();
recordDefaultSearchEngine();
break; break;
#ifdef NIGHTLY_BUILD #ifdef NIGHTLY_BUILD
case "nsPref:changed": case "nsPref:changed":