Bug 1362212 - Remove canPlayTelemetry from _delayedStartup. r=dao
Calling HTMLMediaElement.canPlayType() on the main thread will cause
us to do disk I/O to load system decoding libraries, so we shouldn't
do it on the main thread, let alone on the parent process' main thread.
I moved the telemetry into an idle service observer off main thread
into Gecko in the previous patch.
MozReview-Commit-ID: CH6LNNLzreJ
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -1542,30 +1542,16 @@ var gBrowserInit = {
// Delay this a minute into the idle time because there's no rush.
requestIdleCallback(() => {
this.gmpInstallManager = new GMPInstallManager();
// We don't really care about the results, if someone is interested they
// can check the log.
this.gmpInstallManager.simpleCheckAndInstall().then(null, () => {});
}, {timeout: 1000 * 60});
- // Report via telemetry whether we're able to play MP4/H.264/AAC video.
- // We suspect that some Windows users have a broken or have not installed
- // Windows Media Foundation, and we'd like to know how many. We'd also like
- // to know how good our coverage is on other platforms.
- // Note: we delay by 90 seconds reporting this, as calling canPlayType()
- // on Windows will cause DLLs to load, i.e. cause disk I/O.
- setTimeout(() => {
- let v = document.createElementNS("http://www.w3.org/1999/xhtml", "video");
- let aacWorks = v.canPlayType("audio/mp4") != "";
- Services.telemetry.getHistogramById("VIDEO_CAN_CREATE_AAC_DECODER").add(aacWorks);
- let h264Works = v.canPlayType("video/mp4") != "";
- Services.telemetry.getHistogramById("VIDEO_CAN_CREATE_H264_DECODER").add(h264Works);
- }, 90 * 1000);
-
SessionStore.promiseInitialized.then(() => {
// Bail out if the window has been closed in the meantime.
if (window.closed) {
return;
}
// Enable the Restore Last Session command if needed
RestoreLastSessionObserver.init();