Skip to content

Commit

Permalink
Bug 1012526 - UITour.jsm only registers with UITelemetry when it's la…
Browse files Browse the repository at this point in the history
…zily imported on-demand. r=mconley
  • Loading branch information
Unfocused committed May 21, 2014
1 parent 16f121b commit 099f7e1
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
7 changes: 7 additions & 0 deletions browser/modules/BrowserUITelemetry.jsm
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ XPCOMUtils.defineLazyModuleGetter(this, "RecentWindow",
"resource:///modules/RecentWindow.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "CustomizableUI",
"resource:///modules/CustomizableUI.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "UITour",
"resource:///modules/UITour.jsm");
XPCOMUtils.defineLazyGetter(this, "Timer", function() {
let timer = {};
Cu.import("resource://gre/modules/Timer.jsm", timer);
Expand Down Expand Up @@ -169,6 +171,11 @@ this.BrowserUITelemetry = {
init: function() {
UITelemetry.addSimpleMeasureFunction("toolbars",
this.getToolbarMeasures.bind(this));
// Ensure that UITour.jsm remains lazy-loaded, yet always registers its
// simple measure function with UITelemetry.
UITelemetry.addSimpleMeasureFunction("UITour",
() => UITour.getTelemetry());

Services.obs.addObserver(this, "sessionstore-windows-restored", false);
Services.obs.addObserver(this, "browser-delayed-startup-finished", false);
CustomizableUI.addListener(this);
Expand Down
5 changes: 2 additions & 3 deletions browser/modules/UITour.jsm
Original file line number Diff line number Diff line change
Expand Up @@ -144,9 +144,6 @@ this.UITour = {
return Services.urlFormatter.formatURLPref("browser.uitour.url");
});

UITelemetry.addSimpleMeasureFunction("UITour",
this.getTelemetry.bind(this));

// Clear the availableTargetsCache on widget changes.
let listenerMethods = [
"onWidgetAdded",
Expand Down Expand Up @@ -541,6 +538,8 @@ this.UITour = {
BUCKET_TIMESTEPS);
},

// This is registered with UITelemetry by BrowserUITelemetry, so that UITour
// can remain lazy-loaded on-demand.
getTelemetry: function() {
return {
seenPageIDs: [...this.seenPageIDs.keys()],
Expand Down

0 comments on commit 099f7e1

Please sign in to comment.