mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backed out changeset b88648a41ed2 (bug 1245891) for talos timeouts
MozReview-Commit-ID: BxDPXC2rA4m
This commit is contained in:
parent
b10d52b801
commit
dfb02515b1
@ -23,14 +23,9 @@ XPCOMUtils.defineLazyModuleGetter(this, "Promise",
|
|||||||
|
|
||||||
const COLLECT_RESULTS_AFTER_MS = 10000;
|
const COLLECT_RESULTS_AFTER_MS = 10000;
|
||||||
|
|
||||||
const OBSERVED_TOPICS = ["sessionstore-restoring-on-startup", "sessionstore-initiating-manual-restore"];
|
const TOPICS = ["sessionstore-restoring-on-startup", "sessionstore-initiating-manual-restore"];
|
||||||
|
|
||||||
this.StartupPerformance = {
|
this.StartupPerformance = {
|
||||||
/**
|
|
||||||
* Once we have finished restoring initial tabs, we broadcast on this topic.
|
|
||||||
*/
|
|
||||||
RESTORED_TOPIC: "sessionstore-finished-restoring-initial-tabs",
|
|
||||||
|
|
||||||
// Instant at which we have started restoration (notification "sessionstore-restoring-on-startup")
|
// Instant at which we have started restoration (notification "sessionstore-restoring-on-startup")
|
||||||
_startTimeStamp: null,
|
_startTimeStamp: null,
|
||||||
|
|
||||||
@ -55,26 +50,16 @@ this.StartupPerformance = {
|
|||||||
_totalNumberOfWindows: 0,
|
_totalNumberOfWindows: 0,
|
||||||
|
|
||||||
init: function() {
|
init: function() {
|
||||||
for (let topic of OBSERVED_TOPICS) {
|
for (let topic of TOPICS) {
|
||||||
Services.obs.addObserver(this, topic, false);
|
Services.obs.addObserver(this, topic, false);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the timestamp at which we finished restoring the latest tab.
|
|
||||||
*
|
|
||||||
* This information is not really interesting until we have finished restoring
|
|
||||||
* tabs.
|
|
||||||
*/
|
|
||||||
get latestRestoredTimeStamp() {
|
|
||||||
return this._latestRestoredTimeStamp;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Called when restoration starts.
|
// Called when restoration starts.
|
||||||
// Record the start timestamp, setup the timer and `this._promiseFinished`.
|
// Record the start timestamp, setup the timer and `this._promiseFinished`.
|
||||||
// Behavior is unspecified if there was already an ongoing measure.
|
// Behavior is unspecified if there was already an ongoing measure.
|
||||||
_onRestorationStarts: function(isAutoRestore) {
|
_onRestorationStarts: function(isAutoRestore) {
|
||||||
this._latestRestoredTimeStamp = this._startTimeStamp = Date.now();
|
this._startTimeStamp = Date.now();
|
||||||
this._totalNumberOfEagerTabs = 0;
|
this._totalNumberOfEagerTabs = 0;
|
||||||
this._totalNumberOfTabs = 0;
|
this._totalNumberOfTabs = 0;
|
||||||
this._totalNumberOfWindows = 0;
|
this._totalNumberOfWindows = 0;
|
||||||
@ -83,7 +68,7 @@ this.StartupPerformance = {
|
|||||||
// that's a very unusual case, and not really worth measuring, so let's
|
// that's a very unusual case, and not really worth measuring, so let's
|
||||||
// stop listening for further restorations.
|
// stop listening for further restorations.
|
||||||
|
|
||||||
for (let topic of OBSERVED_TOPICS) {
|
for (let topic of TOPICS) {
|
||||||
Services.obs.removeObserver(this, topic);
|
Services.obs.removeObserver(this, topic);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,9 +78,7 @@ this.StartupPerformance = {
|
|||||||
});
|
});
|
||||||
this._promiseFinished.then(() => {
|
this._promiseFinished.then(() => {
|
||||||
try {
|
try {
|
||||||
Services.obs.notifyObservers(null, this.RESTORED_TOPIC, "");
|
if (!this._latestRestoredTimeStamp) {
|
||||||
|
|
||||||
if (this._latestRestoredTimeStamp == this._startTimeStamp) {
|
|
||||||
// Apparently, we haven't restored any tab.
|
// Apparently, we haven't restored any tab.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -112,6 +95,7 @@ this.StartupPerformance = {
|
|||||||
Services.telemetry.getHistogramById("FX_SESSION_RESTORE_NUMBER_OF_TABS_RESTORED").add(this._totalNumberOfTabs);
|
Services.telemetry.getHistogramById("FX_SESSION_RESTORE_NUMBER_OF_TABS_RESTORED").add(this._totalNumberOfTabs);
|
||||||
Services.telemetry.getHistogramById("FX_SESSION_RESTORE_NUMBER_OF_WINDOWS_RESTORED").add(this._totalNumberOfWindows);
|
Services.telemetry.getHistogramById("FX_SESSION_RESTORE_NUMBER_OF_WINDOWS_RESTORED").add(this._totalNumberOfWindows);
|
||||||
|
|
||||||
|
|
||||||
// Reset
|
// Reset
|
||||||
this._startTimeStamp = null;
|
this._startTimeStamp = null;
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
|
@ -16,11 +16,10 @@ XPCOMUtils.defineLazyModuleGetter(this, "Services",
|
|||||||
"resource://gre/modules/Services.jsm");
|
"resource://gre/modules/Services.jsm");
|
||||||
XPCOMUtils.defineLazyModuleGetter(this, "setTimeout",
|
XPCOMUtils.defineLazyModuleGetter(this, "setTimeout",
|
||||||
"resource://gre/modules/Timer.jsm");
|
"resource://gre/modules/Timer.jsm");
|
||||||
XPCOMUtils.defineLazyModuleGetter(this, "StartupPerformance",
|
|
||||||
"resource://gre/modules/sessionstore/StartupPerformance.jsm");
|
|
||||||
|
|
||||||
// Observer Service topics.
|
// Observer Service topics.
|
||||||
const STARTUP_TOPIC = "profile-after-change";
|
const STARTUP_TOPIC = "profile-after-change";
|
||||||
|
const RESTORED_TOPIC = "sessionstore-windows-restored";
|
||||||
|
|
||||||
// Process Message Manager topics.
|
// Process Message Manager topics.
|
||||||
const MSG_REQUEST = "session-restore-test?duration";
|
const MSG_REQUEST = "session-restore-test?duration";
|
||||||
@ -46,7 +45,7 @@ nsSessionRestoreTalosTest.prototype = {
|
|||||||
case STARTUP_TOPIC:
|
case STARTUP_TOPIC:
|
||||||
this.init();
|
this.init();
|
||||||
break;
|
break;
|
||||||
case StartupPerformance.RESTORED_TOPIC:
|
case RESTORED_TOPIC:
|
||||||
this.onRestored();
|
this.onRestored();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -58,7 +57,7 @@ nsSessionRestoreTalosTest.prototype = {
|
|||||||
* Perform initialization on profile-after-change.
|
* Perform initialization on profile-after-change.
|
||||||
*/
|
*/
|
||||||
init: function() {
|
init: function() {
|
||||||
Services.obs.addObserver(this, StartupPerformance.RESTORED_TOPIC, false);
|
Services.obs.addObserver(this, RESTORED_TOPIC, false);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -66,9 +65,9 @@ nsSessionRestoreTalosTest.prototype = {
|
|||||||
*/
|
*/
|
||||||
onRestored: function() {
|
onRestored: function() {
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
// `StartupPerformance.latestRestoredTimeStamp` actually becomes available only on the next tick.
|
// `sessionRestored` actually becomes available only on the next tick.
|
||||||
let startup_info = Services.startup.getStartupInfo();
|
let startup_info = Services.startup.getStartupInfo();
|
||||||
let duration = StartupPerformance.latestRestoredTimeStamp - startup_info.sessionRestoreInit;
|
let duration = startup_info.sessionRestored - startup_info.sessionRestoreInit;
|
||||||
|
|
||||||
// Broadcast startup duration information immediately, in case the talos
|
// Broadcast startup duration information immediately, in case the talos
|
||||||
// page is already loaded.
|
// page is already loaded.
|
||||||
|
Loading…
Reference in New Issue
Block a user