|
|
|
@ -47,11 +47,6 @@ var gPage = { |
|
|
|
|
let enabled = gAllPages.enabled; |
|
|
|
|
this._updateAttributes(enabled); |
|
|
|
|
|
|
|
|
|
// Update thumbnails to the new enhanced setting
|
|
|
|
|
if (aData == "browser.newtabpage.enhanced") { |
|
|
|
|
this.update(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Initialize the whole page if we haven't done that, yet.
|
|
|
|
|
if (enabled) { |
|
|
|
|
this._init(); |
|
|
|
@ -166,16 +161,6 @@ var gPage = { |
|
|
|
|
*/ |
|
|
|
|
_handleUnloadEvent: function Page_handleUnloadEvent() { |
|
|
|
|
gAllPages.unregister(this); |
|
|
|
|
// compute page life-span and send telemetry probe: using milli-seconds will leave
|
|
|
|
|
// many low buckets empty. Instead we use half-second precision to make low end
|
|
|
|
|
// of histogram linear and not lose the change in user attention
|
|
|
|
|
let delta = Math.round((Date.now() - this._firstVisibleTime) / 500); |
|
|
|
|
if (this._suggestedTilePresent) { |
|
|
|
|
Services.telemetry.getHistogramById("NEWTAB_PAGE_LIFE_SPAN_SUGGESTED").add(delta); |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
Services.telemetry.getHistogramById("NEWTAB_PAGE_LIFE_SPAN").add(delta); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -250,43 +235,10 @@ var gPage = { |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
onPageVisibleAndLoaded() { |
|
|
|
|
// Send the index of the last visible tile.
|
|
|
|
|
this.reportLastVisibleTileIndex(); |
|
|
|
|
// Maybe tell the user they can undo an initial automigration
|
|
|
|
|
this.maybeShowAutoMigrationUndoNotification(); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
reportLastVisibleTileIndex() { |
|
|
|
|
let cwu = window.QueryInterface(Ci.nsIInterfaceRequestor) |
|
|
|
|
.getInterface(Ci.nsIDOMWindowUtils); |
|
|
|
|
|
|
|
|
|
let rect = cwu.getBoundsWithoutFlushing(gGrid.node); |
|
|
|
|
let nodes = cwu.nodesFromRect(rect.left, rect.top, 0, rect.width, |
|
|
|
|
rect.height, 0, true, false); |
|
|
|
|
|
|
|
|
|
let i = -1; |
|
|
|
|
let lastIndex = -1; |
|
|
|
|
let sites = gGrid.sites; |
|
|
|
|
|
|
|
|
|
for (let node of nodes) { |
|
|
|
|
if (node.classList && node.classList.contains("newtab-cell")) { |
|
|
|
|
if (sites[++i]) { |
|
|
|
|
lastIndex = i; |
|
|
|
|
if (sites[i].link.targetedSite) { |
|
|
|
|
// record that suggested tile is shown to use suggested-tiles-histogram
|
|
|
|
|
this._suggestedTilePresent = true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
toggleEnabled: function(aEvent) { |
|
|
|
|
gAllPages.enabled = !gAllPages.enabled; |
|
|
|
|
event.stopPropagation(); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
maybeShowAutoMigrationUndoNotification() { |
|
|
|
|
// sendAsyncMessage("NewTab:MaybeShowAutoMigrationUndoNotification");
|
|
|
|
|
}, |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|