diff --git a/toolkit/components/telemetry/TelemetryPing.js b/toolkit/components/telemetry/TelemetryPing.js index 003ef5c23135..8572067ed0bf 100644 --- a/toolkit/components/telemetry/TelemetryPing.js +++ b/toolkit/components/telemetry/TelemetryPing.js @@ -1015,9 +1015,6 @@ TelemetryPing.prototype = { this._isIdleObserver = true; }).bind(this), Ci.nsIThread.DISPATCH_NORMAL); break; - case "test-save-histograms": - this.saveHistograms(aSubject.QueryInterface(Ci.nsIFile), aData != "async"); - break; case "test-load-histograms": this._pingsLoaded = 0; this._pingLoadsCompleted = 0; diff --git a/toolkit/components/telemetry/nsITelemetryPing.idl b/toolkit/components/telemetry/nsITelemetryPing.idl index 3fde75c18b91..d5e4081cc72e 100644 --- a/toolkit/components/telemetry/nsITelemetryPing.idl +++ b/toolkit/components/telemetry/nsITelemetryPing.idl @@ -5,7 +5,10 @@ #include "nsIObserver.idl" +interface nsIFile; + [scriptable, uuid(077ee790-3a9d-11e2-81c1-0800200c9a66)] interface nsITelemetryPing : nsIObserver { jsval getPayload(); + void saveHistograms(in nsIFile aFile, in boolean aSync); }; diff --git a/toolkit/components/telemetry/tests/unit/test_TelemetryPing.js b/toolkit/components/telemetry/tests/unit/test_TelemetryPing.js index 26c18dd35364..47b2529e0221 100644 --- a/toolkit/components/telemetry/tests/unit/test_TelemetryPing.js +++ b/toolkit/components/telemetry/tests/unit/test_TelemetryPing.js @@ -100,7 +100,7 @@ function telemetryObserver(aSubject, aTopic, aData) { setupTestData(); const TelemetryPing = Cc["@mozilla.org/base/telemetry-ping;1"].getService(Ci.nsITelemetryPing); - TelemetryPing.observe(histogramsFile, "test-save-histograms", null); + TelemetryPing.saveHistograms(histogramsFile, true); TelemetryPing.observe(histogramsFile, "test-load-histograms", null); telemetry_ping(); } @@ -288,7 +288,7 @@ function runAsyncTestObserver(aSubject, aTopic, aData) { TelemetryPing.observe(histogramsFile, "test-load-histograms", "async"); }, "telemetry-test-save-complete", false); - TelemetryPing.observe(histogramsFile, "test-save-histograms", "async"); + TelemetryPing.saveHistograms(histogramsFile, false); } function checkPersistedHistogramsAsync(request, response) { @@ -322,7 +322,7 @@ function runInvalidJSONTest() { function runOldPingFileTest() { let histogramsFile = getSavedHistogramsFile("old-histograms.dat"); const TelemetryPing = Cc["@mozilla.org/base/telemetry-ping;1"].getService(Ci.nsITelemetryPing); - TelemetryPing.observe(histogramsFile, "test-save-histograms", null); + TelemetryPing.saveHistograms(histogramsFile, true); do_check_true(histogramsFile.exists()); let mtime = histogramsFile.lastModifiedTime;