Bug 1425432 - Maintain original thumbnail aspect ratio for Ctrl-Tab previews. r?jaws draft
authorDão Gottwald <dao@mozilla.com>
Fri, 15 Dec 2017 13:32:51 +0100
changeset 711997 9c4852fcfdb8cd162fd01310ae410ceb9f01ff59
parent 710980 93b37aa497c48a6e28a9463eeb753b2ce3964f42
child 743948 00fbceee29ead967b7334a70fccfdd34456aabde
push id93222
push userdgottwald@mozilla.com
push dateFri, 15 Dec 2017 12:35:49 +0000
reviewersjaws
bugs1425432
milestone59.0a1
Bug 1425432 - Maintain original thumbnail aspect ratio for Ctrl-Tab previews. r?jaws MozReview-Commit-ID: F03AHwdplir
browser/base/content/browser-ctrlTab.js
--- a/browser/base/content/browser-ctrlTab.js
+++ b/browser/base/content/browser-ctrlTab.js
@@ -11,22 +11,23 @@
 var tabPreviews = {
   init: function tabPreviews_init() {
     if (this._selectedTab)
       return;
     this._selectedTab = gBrowser.selectedTab;
 
     gBrowser.tabContainer.addEventListener("TabSelect", this);
     gBrowser.tabContainer.addEventListener("SSTabRestored", this);
+  },
 
-    let screenManager = Cc["@mozilla.org/gfx/screenmanager;1"]
-                          .getService(Ci.nsIScreenManager);
-    let left = {}, top = {}, width = {}, height = {};
-    screenManager.primaryScreen.GetRectDisplayPix(left, top, width, height);
-    this.aspectRatio = height.value / width.value;
+  get aspectRatio() {
+    let { PageThumbUtils } = Cu.import("resource://gre/modules/PageThumbUtils.jsm", {});
+    let [ width, height ] = PageThumbUtils.getThumbnailSize(window);
+    delete this.aspectRatio;
+    return this.aspectRatio = height / width;
   },
 
   get: function tabPreviews_get(aTab) {
     let uri = aTab.linkedBrowser.currentURI.spec;
 
     if (aTab.__thumbnail_lastURI &&
         aTab.__thumbnail_lastURI != uri) {
       aTab.__thumbnail = null;