Build fix. Don't fall into an infinite loop when value (renamed from bytes) is zero.
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 May 2015 21:49:59 +0000 (21:49 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 May 2015 21:49:59 +0000 (21:49 +0000)
* public/v2/manifest.js:
(App.Manifest.Ember.Controller.extend.):
(App.Manifest.Ember.Controller.extend):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184594 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Websites/perf.webkit.org/ChangeLog
Websites/perf.webkit.org/public/v2/manifest.js

index 14e90c0..38c1778 100644 (file)
@@ -1,5 +1,13 @@
 2015-05-19  Ryosuke Niwa  <rniwa@webkit.org>
 
+        Build fix. Don't fall into an infinite loop when value (renamed from bytes) is zero.
+
+        * public/v2/manifest.js:
+        (App.Manifest.Ember.Controller.extend.):
+        (App.Manifest.Ember.Controller.extend):
+
+2015-05-19  Ryosuke Niwa  <rniwa@webkit.org>
+
         Don't show unit (bytes) separaetly from SI suffixes (K, M, etc...)
         https://bugs.webkit.org/show_bug.cgi?id=145181
 
index 35b4787..ef68cae 100755 (executable)
@@ -326,15 +326,15 @@ App.Manifest = Ember.Controller.extend({
 
         var suffix = ['\u03BC', 'm', '', 'K', 'M', 'G', 'T', 'P', 'E'];
         var threshold = sigFig >= 3 ? divisor : (divisor / 10);
-        return function (bytes) {
+        return function (value) {
             var i;
-            var sign = bytes >= 0 ? (alwaysShowSign ? '+' : '') : '-';
-            bytes = Math.abs(bytes);
-            for (i = isMiliseconds ? 1 : 2; bytes < 1; i--)
-                bytes *= divisor;
-            for (; bytes >= threshold; i++)
-                bytes /= divisor;
-            return sign + bytes.toPrecision(Math.max(2, sigFig)) + ' ' + suffix[i] + (unit || '');
+            var sign = value >= 0 ? (alwaysShowSign ? '+' : '') : '-';
+            value = Math.abs(value);
+            for (i = isMiliseconds ? 1 : 2; value < 1 && i > 0; i--)
+                value *= divisor;
+            for (; value >= threshold; i++)
+                value /= divisor;
+            return sign + value.toPrecision(Math.max(2, sigFig)) + ' ' + suffix[i] + (unit || '');
         }
     },
     _formatFetchedData: function (metricName, configurations)