Index: chrome/browser/resources/settings/device_page/display.js |
diff --git a/chrome/browser/resources/settings/device_page/display.js b/chrome/browser/resources/settings/device_page/display.js |
index dfea430d003437f671566475dd4921a694bcb0f8..2ef7a1102ec5fc5dad7acde916adf8e317fb540f 100644 |
--- a/chrome/browser/resources/settings/device_page/display.js |
+++ b/chrome/browser/resources/settings/device_page/display.js |
@@ -23,6 +23,17 @@ Polymer({ |
], |
properties: { |
+ pref: { |
stevenjb
2017/03/07 23:11:48
Given that there are many things being set here, c
dschuyler
2017/03/08 21:50:11
Done.
|
+ type: Object, |
+ value: function() { |
+ return { |
+ key: 'fakeDisplaySliderPref', |
+ type: chrome.settingsPrivate.PrefType.NUMBER, |
+ value: 0, |
+ }; |
+ }, |
+ }, |
+ |
/** |
* Array of displays. |
* @type {!Array<!chrome.system.display.DisplayUnitInfo>} |
@@ -55,9 +66,6 @@ Polymer({ |
/** @private {!Array<number>} Mode index values for slider. */ |
modeValues_: Array, |
- |
- /** @private Selected mode index value for slider. */ |
- selectedModeIndex_: Number, |
}, |
/** @private {number} Selected mode index received from chrome. */ |
@@ -151,18 +159,18 @@ Polymer({ |
/** @private */ |
selectedDisplayChanged_: function() { |
- // Set |modeValues_| before |selectedModeIndex_| so that the slider updates |
+ // Set |modeValues_| before |pref.value| so that the slider updates |
// correctly. |
var numModes = this.selectedDisplay.modes.length; |
if (numModes == 0) { |
this.modeValues_ = []; |
- this.selectedModeIndex_ = 0; |
+ this.set('pref.value', 0); |
this.currentSelectedModeIndex_ = 0; |
return; |
} |
this.modeValues_ = Array.from(Array(numModes).keys()); |
- this.selectedModeIndex_ = this.getSelectedModeIndex_(this.selectedDisplay); |
- this.currentSelectedModeIndex_ = this.selectedModeIndex_; |
+ this.set('pref.value', this.getSelectedModeIndex_(this.selectedDisplay)); |
+ this.currentSelectedModeIndex_ = this.pref.value; |
}, |
/** |
@@ -204,7 +212,7 @@ Polymer({ |
* primary or extended. |
* @param {!chrome.system.display.DisplayUnitInfo} selectedDisplay |
* @param {string} primaryDisplayId |
- * @return {number} Retruns 0 if the display is primary else returns 1. |
+ * @return {number} Returns 0 if the display is primary else returns 1. |
* @private |
*/ |
getDisplaySelectMenuIndex_: function(selectedDisplay, primaryDisplayId) { |
@@ -269,12 +277,12 @@ Polymer({ |
if (this.selectedDisplay.modes.length == 0 || |
this.currentSelectedModeIndex_ == -1) { |
// If currentSelectedModeIndex_ == -1, selectedDisplay and |
- // selectedModeIndex_ are not in sync. |
+ // |pref.value| are not in sync. |
return this.i18n( |
'displayResolutionText', this.selectedDisplay.bounds.width.toString(), |
this.selectedDisplay.bounds.height.toString()); |
} |
- var mode = this.selectedDisplay.modes[this.selectedModeIndex_]; |
+ var mode = this.selectedDisplay.modes[this.pref.value]; |
var best = |
this.selectedDisplay.isInternal ? mode.uiScale == 1.0 : mode.isNative; |
var widthStr = mode.width.toString(); |
@@ -298,7 +306,7 @@ Polymer({ |
continue; |
if (this.selectedDisplay != display) { |
// Set currentSelectedModeIndex_ to -1 so that getResolutionText_ does |
- // not flicker. selectedDisplayChanged will update selectedModeIndex_ |
+ // not flicker. selectedDisplayChanged will update |pref.value| |
// and currentSelectedModeIndex_ correctly. |
this.currentSelectedModeIndex_ = -1; |
this.selectedDisplay = display; |
@@ -355,13 +363,13 @@ Polymer({ |
*/ |
onSelectedModeChange_: function() { |
if (this.currentSelectedModeIndex_ == -1 || |
- this.currentSelectedModeIndex_ == this.selectedModeIndex_) { |
+ this.currentSelectedModeIndex_ == this.pref.value) { |
// Don't change the selected display mode until we have received an update |
// from Chrome and the mode differs from the current mode. |
return; |
} |
/** @type {!chrome.system.display.DisplayProperties} */ var properties = { |
- displayMode: this.selectedDisplay.modes[this.selectedModeIndex_] |
+ displayMode: this.selectedDisplay.modes[this.pref.value] |
}; |
settings.display.systemDisplayApi.setDisplayProperties( |
this.selectedDisplay.id, properties, |