Commit c8e5de6d authored by David Munro's avatar David Munro Committed by Commit Bot

crostini: Fix a race in setting the disk slider value.

The max value gets set automatically when we set the ticks on the
slider, but if the observer on slider ticks changing fires after the
observer on value changing, then the value gets clamped to the old max
meaning even if the user has a larger disk, we'll start the slider off
at tick 100. To fix this we explicitly set max, to ensure it's set to
the right value when the clamping happens.

Bug: chromium:1139722
Test: Manual
Change-Id: Ic35d84ce17febdf83ae607e12e0288aa669d55aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2497720Reviewed-by: default avatarDavid Munro <davidmunro@google.com>
Reviewed-by: default avatarcalamity <calamity@chromium.org>
Auto-Submit: David Munro <davidmunro@google.com>
Commit-Queue: calamity <calamity@chromium.org>
Cr-Commit-Position: refs/heads/master@{#821112}
parent aa4105d2
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<div hidden="[[isLowSpaceAvailable_]]" id="recommended-size"> <div hidden="[[isLowSpaceAvailable_]]" id="recommended-size">
$i18n{crostiniDiskResizeRecommended} $i18n{crostiniDiskResizeRecommended}
</div> </div>
<div hidden="[[!isLowSpaceAvailable_]]" <div hidden="[[!isLowSpaceAvailable_]]"
id="recommended-size-warning"> id="recommended-size-warning">
<iron-icon id="warningIcon" icon="cr:warning"></iron-icon> <iron-icon id="warningIcon" icon="cr:warning"></iron-icon>
$i18n{crostiniDiskResizeRecommendedWarning} $i18n{crostiniDiskResizeRecommendedWarning}
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
<div id="resize-block"> <div id="resize-block">
<cr-slider id="diskSlider" pin="true" <cr-slider id="diskSlider" pin="true"
value="[[defaultDiskSizeTick_]]" ticks="[[diskSizeTicks_]]" value="[[defaultDiskSizeTick_]]" ticks="[[diskSizeTicks_]]"
disabled="[[resizing_]]"> disabled="[[resizing_]]" max="[[maxDiskSizeTick_]]">
</cr-slider> </cr-slider>
<div id="disk-labels" aria-hidden="true"> <div id="disk-labels" aria-hidden="true">
<div id="label-begin">[[minDiskSize_]]</div> <div id="label-begin">[[minDiskSize_]]</div>
......
...@@ -55,6 +55,11 @@ Polymer({ ...@@ -55,6 +55,11 @@ Polymer({
type: Number, type: Number,
}, },
/** @private */
maxDiskSizeTick_: {
type: Number,
},
/** @private */ /** @private */
isLowSpaceAvailable_: { isLowSpaceAvailable_: {
type: Boolean, type: Boolean,
...@@ -118,6 +123,7 @@ Polymer({ ...@@ -118,6 +123,7 @@ Polymer({
} else { } else {
this.displayState_ = DisplayState.RESIZE; this.displayState_ = DisplayState.RESIZE;
this.maxDiskSizeTick = diskInfo.ticks.length - 1;
this.defaultDiskSizeTick_ = diskInfo.defaultIndex; this.defaultDiskSizeTick_ = diskInfo.defaultIndex;
this.diskSizeTicks_ = diskInfo.ticks; this.diskSizeTicks_ = diskInfo.ticks;
this.minDiskSize_ = diskInfo.ticks[0].label; this.minDiskSize_ = diskInfo.ticks[0].label;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment