Bug 1950710 - Migrate histograms to use Glean APIs for FX_TAB_CLOSE_*, r=chutten,tabbrowser-reviewers,nsharpley.
Differential Revision: https://phabricator.services.mozilla.com/D242169
This commit is contained in:
@@ -4276,7 +4276,7 @@
|
||||
this._getSwitcher().warmupTab(toBlurTo);
|
||||
}
|
||||
} else if (!skipPermitUnload && this._hasBeforeUnload(tab)) {
|
||||
TelemetryStopwatch.start("FX_TAB_CLOSE_PERMIT_UNLOAD_TIME_MS", tab);
|
||||
let timerId = Glean.browserTabclose.permitUnloadTime.start();
|
||||
// We need to block while calling permitUnload() because it
|
||||
// processes the event queue and may lead to another removeTab()
|
||||
// call before permitUnload() returns.
|
||||
@@ -4288,9 +4288,8 @@
|
||||
tab.linkedBrowser.asyncPermitUnload("dontUnload").then(
|
||||
({ permitUnload }) => {
|
||||
tab._pendingPermitUnload = false;
|
||||
TelemetryStopwatch.finish(
|
||||
"FX_TAB_CLOSE_PERMIT_UNLOAD_TIME_MS",
|
||||
tab
|
||||
Glean.browserTabclose.permitUnloadTime.stopAndAccumulate(
|
||||
timerId
|
||||
);
|
||||
if (tab.closing) {
|
||||
// The tab was closed by the user while we were in permitUnload, don't
|
||||
@@ -4313,9 +4312,8 @@
|
||||
err => {
|
||||
console.error("error while calling asyncPermitUnload", err);
|
||||
tab._pendingPermitUnload = false;
|
||||
TelemetryStopwatch.finish(
|
||||
"FX_TAB_CLOSE_PERMIT_UNLOAD_TIME_MS",
|
||||
tab
|
||||
Glean.browserTabclose.permitUnloadTime.stopAndAccumulate(
|
||||
timerId
|
||||
);
|
||||
}
|
||||
)
|
||||
@@ -4571,14 +4569,11 @@
|
||||
|
||||
// Telemetry stopwatches may already be running if removeTab gets
|
||||
// called again for an already closing tab.
|
||||
if (
|
||||
!TelemetryStopwatch.running("FX_TAB_CLOSE_TIME_ANIM_MS", aTab) &&
|
||||
!TelemetryStopwatch.running("FX_TAB_CLOSE_TIME_NO_ANIM_MS", aTab)
|
||||
) {
|
||||
if (!aTab._closeTimeAnimTimerId && !aTab._closeTimeNoAnimTimerId) {
|
||||
// Speculatevely start both stopwatches now. We'll cancel one of
|
||||
// the two later depending on whether we're animating.
|
||||
TelemetryStopwatch.start("FX_TAB_CLOSE_TIME_ANIM_MS", aTab);
|
||||
TelemetryStopwatch.start("FX_TAB_CLOSE_TIME_NO_ANIM_MS", aTab);
|
||||
aTab._closeTimeAnimTimerId = Glean.browserTabclose.timeAnim.start();
|
||||
aTab._closeTimeNoAnimTimerId = Glean.browserTabclose.timeNoAnim.start();
|
||||
}
|
||||
|
||||
// Handle requests for synchronously removing an already
|
||||
@@ -4605,8 +4600,10 @@
|
||||
skipSessionStore,
|
||||
})
|
||||
) {
|
||||
TelemetryStopwatch.cancel("FX_TAB_CLOSE_TIME_ANIM_MS", aTab);
|
||||
TelemetryStopwatch.cancel("FX_TAB_CLOSE_TIME_NO_ANIM_MS", aTab);
|
||||
Glean.browserTabclose.timeAnim.cancel(aTab._closeTimeAnimTimerId);
|
||||
aTab._closeTimeAnimTimerId = null;
|
||||
Glean.browserTabclose.timeNoAnim.cancel(aTab._closeTimeNoAnimTimerId);
|
||||
aTab._closeTimeNoAnimTimerId = null;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4638,13 +4635,15 @@
|
||||
tabWidth == 0 /* fade-in transition hasn't moved yet */
|
||||
) {
|
||||
// We're not animating, so we can cancel the animation stopwatch.
|
||||
TelemetryStopwatch.cancel("FX_TAB_CLOSE_TIME_ANIM_MS", aTab);
|
||||
Glean.browserTabclose.timeAnim.cancel(aTab._closeTimeAnimTimerId);
|
||||
aTab._closeTimeAnimTimerId = null;
|
||||
this._endRemoveTab(aTab);
|
||||
return;
|
||||
}
|
||||
|
||||
// We're animating, so we can cancel the non-animation stopwatch.
|
||||
TelemetryStopwatch.cancel("FX_TAB_CLOSE_TIME_NO_ANIM_MS", aTab);
|
||||
Glean.browserTabclose.timeNoAnim.cancel(aTab._closeTimeNoAnimTimerId);
|
||||
aTab._closeTimeNoAnimTimerId = null;
|
||||
|
||||
aTab.style.maxWidth = ""; // ensure that fade-out transition happens
|
||||
aTab.removeAttribute("fadein");
|
||||
@@ -4707,7 +4706,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
TelemetryStopwatch.start("FX_TAB_CLOSE_PERMIT_UNLOAD_TIME_MS", aTab);
|
||||
let timerId = Glean.browserTabclose.permitUnloadTime.start();
|
||||
|
||||
// We need to block while calling permitUnload() because it
|
||||
// processes the event queue and may lead to another removeTab()
|
||||
@@ -4716,7 +4715,7 @@
|
||||
let { permitUnload } = browser.permitUnload();
|
||||
aTab._pendingPermitUnload = false;
|
||||
|
||||
TelemetryStopwatch.finish("FX_TAB_CLOSE_PERMIT_UNLOAD_TIME_MS", aTab);
|
||||
Glean.browserTabclose.permitUnloadTime.stopAndAccumulate(timerId);
|
||||
|
||||
// If we were closed during onbeforeunload, we return false now
|
||||
// so we don't (try to) close the same tab again. Of course, we
|
||||
@@ -4998,16 +4997,18 @@
|
||||
// closeWindow might wait an arbitrary length of time if we're supposed
|
||||
// to warn about closing the window, so we'll just stop the tab close
|
||||
// stopwatches here instead.
|
||||
TelemetryStopwatch.finish(
|
||||
"FX_TAB_CLOSE_TIME_ANIM_MS",
|
||||
aTab,
|
||||
true /* aCanceledOkay */
|
||||
);
|
||||
TelemetryStopwatch.finish(
|
||||
"FX_TAB_CLOSE_TIME_NO_ANIM_MS",
|
||||
aTab,
|
||||
true /* aCanceledOkay */
|
||||
);
|
||||
if (aTab._closeTimeAnimTimerId) {
|
||||
Glean.browserTabclose.timeAnim.stopAndAccumulate(
|
||||
aTab._closeTimeAnimTimerId
|
||||
);
|
||||
aTab._closeTimeAnimTimerId = null;
|
||||
}
|
||||
if (aTab._closeTimeNoAnimTimerId) {
|
||||
Glean.browserTabclose.timeNoAnim.stopAndAccumulate(
|
||||
aTab._closeTimeNoAnimTimerId
|
||||
);
|
||||
aTab._closeTimeNoAnimTimerId = null;
|
||||
}
|
||||
|
||||
if (aCloseWindow) {
|
||||
this._windowIsClosing = closeWindow(
|
||||
|
||||
Reference in New Issue
Block a user