Bug 1362212 - Remove canPlayTelemetry from _delayedStartup. r=dao
☠☠ backed out by 5c9a70a7af09 ☠ ☠
authorChris Pearce <cpearce@mozilla.com>
Fri, 05 May 2017 17:38:40 +1200
changeset 356976 ccb5b3503b663283ce238d10db8fc0188dfe9f98
parent 356975 5f263d6fb16db08d0d7efc73aaccf53240d0b461
child 356977 5c9a70a7af09885ca53bfb26c3fcc194ba738a41
push id31777
push usercbook@mozilla.com
push dateMon, 08 May 2017 08:04:08 +0000
treeherdermozilla-central@81977c96c6ff [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdao
bugs1362212
milestone55.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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
browser/base/content/browser.js
--- 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();