| Index: third_party/polymer/v1_0/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js
|
| diff --git a/third_party/polymer/v1_0/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js
|
| index ce733745cafb60ec55844f4bbbcf649ff2e4713e..c16f335fbfacddf73e6764fd62dfd29d305d1587 100644
|
| --- a/third_party/polymer/v1_0/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js
|
| +++ b/third_party/polymer/v1_0/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js
|
| @@ -71,6 +71,14 @@
|
| },
|
|
|
| _calcStep: function(value) {
|
| + /**
|
| + * if we calculate the step using
|
| + * `Math.round(value / step) * step` we may hit a precision point issue
|
| + * eg. 0.1 * 0.2 = 0.020000000000000004
|
| + * http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
|
| + *
|
| + * as a work around we can divide by the reciprocal of `step`
|
| + */
|
| return this.step ? (Math.round(value / this.step) / (1 / this.step)) : value;
|
| },
|
|
|
|
|