From 8c76f85e34564e8fa2d38f2c2424ed4edc6d6c74 Mon Sep 17 00:00:00 2001
From: Hakim El Hattab <hakim.elhattab@gmail.com>
Date: Sat, 8 Nov 2014 09:06:17 +0100
Subject: [PATCH] reorder scale condition; if calculated scale is exactly 1
 don't apply any scale styles

---
 js/reveal.js | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/js/reveal.js b/js/reveal.js
index a6bd81a..ef3471c 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -1469,16 +1469,23 @@
 			dom.slides.style.width = size.width + 'px';
 			dom.slides.style.height = size.height + 'px';
 
-			// No point in calculating scale if the only possible
-			// result is 1
-			if( scale !== -1 || config.minScale !== 1 || config.maxScale !== 1 ) {
-				// Determine scale of content to fit within available space
-				scale = Math.min( size.presentationWidth / size.width, size.presentationHeight / size.height );
-
-				// Respect max/min scale settings
-				scale = Math.max( scale, config.minScale );
-				scale = Math.min( scale, config.maxScale );
-
+			// Determine scale of content to fit within available space
+			scale = Math.min( size.presentationWidth / size.width, size.presentationHeight / size.height );
+
+			// Respect max/min scale settings
+			scale = Math.max( scale, config.minScale );
+			scale = Math.min( scale, config.maxScale );
+
+			// Don't apply any scaling styles if scale is 1
+			if( scale === 1 ) {
+				dom.slides.style.zoom = '';
+				dom.slides.style.left = '';
+				dom.slides.style.top = '';
+				dom.slides.style.bottom = '';
+				dom.slides.style.right = '';
+				transformElement( dom.slides, '' );
+			}
+			else {
 				// Prefer zooming in desktop Chrome so that content remains crisp
 				if( !isMobileDevice && /chrome/i.test( navigator.userAgent ) && typeof dom.slides.style.zoom !== 'undefined' ) {
 					dom.slides.style.zoom = scale;
-- 
GitLab