mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 00:35:44 +00:00
Bug 1380377 part 1 - Calculate FX_NEW_WINDOW_MS using MozAfterPaint. r=florian
MozReview-Commit-ID: KQ6aSkw423P --HG-- extra : rebase_source : 167d55bfb7eba3fa4a3c1089132770aa595b364e
This commit is contained in:
parent
1a84bdf7ed
commit
fa087214bb
@ -4162,28 +4162,6 @@ function OpenBrowserWindow(options) {
|
||||
var telemetryObj = {};
|
||||
TelemetryStopwatch.start("FX_NEW_WINDOW_MS", telemetryObj);
|
||||
|
||||
function newDocumentShown(doc, topic, data) {
|
||||
if (topic == "document-shown" &&
|
||||
doc != document &&
|
||||
doc.defaultView == win) {
|
||||
Services.obs.removeObserver(newDocumentShown, "document-shown");
|
||||
Services.obs.removeObserver(windowClosed, "domwindowclosed");
|
||||
TelemetryStopwatch.finish("FX_NEW_WINDOW_MS", telemetryObj);
|
||||
}
|
||||
}
|
||||
|
||||
function windowClosed(subject) {
|
||||
if (subject == win) {
|
||||
Services.obs.removeObserver(newDocumentShown, "document-shown");
|
||||
Services.obs.removeObserver(windowClosed, "domwindowclosed");
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure to remove the 'document-shown' observer in case the window
|
||||
// is being closed right after it was opened to avoid leaking.
|
||||
Services.obs.addObserver(newDocumentShown, "document-shown");
|
||||
Services.obs.addObserver(windowClosed, "domwindowclosed");
|
||||
|
||||
var handler = Components.classes["@mozilla.org/browser/clh;1"]
|
||||
.getService(Components.interfaces.nsIBrowserHandler);
|
||||
var defaultArgs = handler.defaultArgs;
|
||||
@ -4228,6 +4206,10 @@ function OpenBrowserWindow(options) {
|
||||
win = window.openDialog("chrome://browser/content/", "_blank", "chrome,all,dialog=no" + extraFeatures, defaultArgs);
|
||||
}
|
||||
|
||||
win.addEventListener("MozAfterPaint", () => {
|
||||
TelemetryStopwatch.finish("FX_NEW_WINDOW_MS", telemetryObj);
|
||||
}, {once: true});
|
||||
|
||||
return win;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user