Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(333)

Side by Side Diff: chrome/browser/resources/options/pref_ui.js

Issue 2939273002: DO NOT SUBMIT: what chrome/browser/resources/ could eventually look like with clang-format (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 cr.define('options', function() { 5 cr.define('options', function() {
6 var Preferences = options.Preferences; 6 var Preferences = options.Preferences;
7 7
8 /** 8 /**
9 * Allows an element to be disabled for several reasons. 9 * Allows an element to be disabled for several reasons.
10 * The element is disabled if at least one reason is true, and the reasons 10 * The element is disabled if at least one reason is true, and the reasons
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 this.updatePrefFromState(); 192 this.updatePrefFromState();
193 }, 193 },
194 194
195 /** 195 /**
196 * Update the associated pref when when the user makes changes to the 196 * Update the associated pref when when the user makes changes to the
197 * checkbox state. 197 * checkbox state.
198 * @override 198 * @override
199 */ 199 */
200 updatePrefFromState: function() { 200 updatePrefFromState: function() {
201 var value = this.inverted_pref ? !this.checked : this.checked; 201 var value = this.inverted_pref ? !this.checked : this.checked;
202 Preferences.setBooleanPref(this.pref, value, 202 Preferences.setBooleanPref(
203 !this.dialogPref, this.metric); 203 this.pref, value, !this.dialogPref, this.metric);
204 }, 204 },
205 205
206 /** @override */ 206 /** @override */
207 updateStateFromPref: function(event) { 207 updateStateFromPref: function(event) {
208 if (!this.customPrefChangeHandler(event)) 208 if (!this.customPrefChangeHandler(event))
209 this.defaultPrefChangeHandler(event); 209 this.defaultPrefChangeHandler(event);
210 }, 210 },
211 211
212 /** 212 /**
213 * @param {Event} event A pref change event. 213 * @param {Event} event A pref change event.
(...skipping 26 matching lines...) Expand all
240 PrefInputElement.prototype.decorate.call(this); 240 PrefInputElement.prototype.decorate.call(this);
241 this.type = 'number'; 241 this.type = 'number';
242 }, 242 },
243 243
244 /** 244 /**
245 * Update the associated pref when the user inputs a number. 245 * Update the associated pref when the user inputs a number.
246 * @override 246 * @override
247 */ 247 */
248 updatePrefFromState: function() { 248 updatePrefFromState: function() {
249 if (this.validity.valid) { 249 if (this.validity.valid) {
250 Preferences.setIntegerPref(this.pref, this.value, 250 Preferences.setIntegerPref(
251 !this.dialogPref, this.metric); 251 this.pref, this.value, !this.dialogPref, this.metric);
252 } 252 }
253 }, 253 },
254 }; 254 };
255 255
256 ///////////////////////////////////////////////////////////////////////////// 256 /////////////////////////////////////////////////////////////////////////////
257 // PrefRadio class: 257 // PrefRadio class:
258 258
259 //Define a constructor that uses an input element as its underlying element. 259 // Define a constructor that uses an input element as its underlying element.
260 var PrefRadio = cr.ui.define('input'); 260 var PrefRadio = cr.ui.define('input');
261 261
262 PrefRadio.prototype = { 262 PrefRadio.prototype = {
263 // Set up the prototype chain 263 // Set up the prototype chain
264 __proto__: PrefInputElement.prototype, 264 __proto__: PrefInputElement.prototype,
265 265
266 /** 266 /**
267 * Initialization function for the cr.ui framework. 267 * Initialization function for the cr.ui framework.
268 */ 268 */
269 decorate: function() { 269 decorate: function() {
270 PrefInputElement.prototype.decorate.call(this); 270 PrefInputElement.prototype.decorate.call(this);
271 this.type = 'radio'; 271 this.type = 'radio';
272 }, 272 },
273 273
274 /** 274 /**
275 * Update the associated pref when when the user selects the radio button. 275 * Update the associated pref when when the user selects the radio button.
276 * @override 276 * @override
277 */ 277 */
278 updatePrefFromState: function() { 278 updatePrefFromState: function() {
279 if (this.value == 'true' || this.value == 'false') { 279 if (this.value == 'true' || this.value == 'false') {
280 Preferences.setBooleanPref(this.pref, 280 Preferences.setBooleanPref(
281 this.value == String(this.checked), 281 this.pref, this.value == String(this.checked), !this.dialogPref,
282 !this.dialogPref, this.metric); 282 this.metric);
283 } else { 283 } else {
284 Preferences.setIntegerPref(this.pref, this.value, 284 Preferences.setIntegerPref(
285 !this.dialogPref, this.metric); 285 this.pref, this.value, !this.dialogPref, this.metric);
286 } 286 }
287 }, 287 },
288 288
289 /** @override */ 289 /** @override */
290 updateStateFromPref: function(event) { 290 updateStateFromPref: function(event) {
291 if (!this.customPrefChangeHandler(event)) 291 if (!this.customPrefChangeHandler(event))
292 this.checked = this.value == String(event.value.value); 292 this.checked = this.value == String(event.value.value);
293 }, 293 },
294 }; 294 };
295 295
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 this.addEventListener('touchcancel', this.handleRelease_.bind(this)); 328 this.addEventListener('touchcancel', this.handleRelease_.bind(this));
329 this.addEventListener('touchend', this.handleRelease_.bind(this)); 329 this.addEventListener('touchend', this.handleRelease_.bind(this));
330 }, 330 },
331 331
332 /** 332 /**
333 * Update the associated pref when when the user releases the slider. 333 * Update the associated pref when when the user releases the slider.
334 * @override 334 * @override
335 */ 335 */
336 updatePrefFromState: function() { 336 updatePrefFromState: function() {
337 Preferences.setIntegerPref( 337 Preferences.setIntegerPref(
338 this.pref, 338 this.pref, this.mapPositionToPref(parseInt(this.value, 10)),
339 this.mapPositionToPref(parseInt(this.value, 10)), 339 !this.dialogPref, this.metric);
340 !this.dialogPref,
341 this.metric);
342 }, 340 },
343 341
344 /** @override */ 342 /** @override */
345 handleChange: function() { 343 handleChange: function() {
346 // Ignore changes to the slider position made by the user while the slider 344 // Ignore changes to the slider position made by the user while the slider
347 // has not been released. 345 // has not been released.
348 }, 346 },
349 347
350 /** 348 /**
351 * Handle changes to the slider position made by the user when the slider is 349 * Handle changes to the slider position made by the user when the slider is
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 handleChange: PrefInputElement.prototype.handleChange, 397 handleChange: PrefInputElement.prototype.handleChange,
400 398
401 /** 399 /**
402 * Update the associated pref when when the user selects an item. 400 * Update the associated pref when when the user selects an item.
403 * @override 401 * @override
404 */ 402 */
405 updatePrefFromState: function() { 403 updatePrefFromState: function() {
406 var value = this.options[this.selectedIndex].value; 404 var value = this.options[this.selectedIndex].value;
407 switch (this.dataType) { 405 switch (this.dataType) {
408 case 'number': 406 case 'number':
409 Preferences.setIntegerPref(this.pref, value, 407 Preferences.setIntegerPref(
410 !this.dialogPref, this.metric); 408 this.pref, value, !this.dialogPref, this.metric);
411 break; 409 break;
412 case 'double': 410 case 'double':
413 Preferences.setDoublePref(this.pref, value, 411 Preferences.setDoublePref(
414 !this.dialogPref, this.metric); 412 this.pref, value, !this.dialogPref, this.metric);
415 break; 413 break;
416 case 'boolean': 414 case 'boolean':
417 Preferences.setBooleanPref(this.pref, value == 'true', 415 Preferences.setBooleanPref(
418 !this.dialogPref, this.metric); 416 this.pref, value == 'true', !this.dialogPref, this.metric);
419 break; 417 break;
420 case 'string': 418 case 'string':
421 Preferences.setStringPref(this.pref, value, 419 Preferences.setStringPref(
422 !this.dialogPref, this.metric); 420 this.pref, value, !this.dialogPref, this.metric);
423 break; 421 break;
424 default: 422 default:
425 console.error('Unknown data type for <select> UI element: ' + 423 console.error(
426 this.dataType); 424 'Unknown data type for <select> UI element: ' + this.dataType);
427 } 425 }
428 }, 426 },
429 427
430 /** @override */ 428 /** @override */
431 updateStateFromPref: function(event) { 429 updateStateFromPref: function(event) {
432 if (this.customPrefChangeHandler(event)) 430 if (this.customPrefChangeHandler(event))
433 return; 431 return;
434 432
435 // Make sure the value is a string, because the value is stored as a 433 // Make sure the value is a string, because the value is stored as a
436 // string in the HTMLOptionElement. 434 // string in the HTMLOptionElement.
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 }); 518 });
521 }, 519 },
522 520
523 /** 521 /**
524 * Update the associated pref when when the user inputs text. 522 * Update the associated pref when when the user inputs text.
525 * @override 523 * @override
526 */ 524 */
527 updatePrefFromState: function(event) { 525 updatePrefFromState: function(event) {
528 switch (this.dataType) { 526 switch (this.dataType) {
529 case 'number': 527 case 'number':
530 Preferences.setIntegerPref(this.pref, this.value, 528 Preferences.setIntegerPref(
531 !this.dialogPref, this.metric); 529 this.pref, this.value, !this.dialogPref, this.metric);
532 break; 530 break;
533 case 'double': 531 case 'double':
534 Preferences.setDoublePref(this.pref, this.value, 532 Preferences.setDoublePref(
535 !this.dialogPref, this.metric); 533 this.pref, this.value, !this.dialogPref, this.metric);
536 break; 534 break;
537 case 'url': 535 case 'url':
538 Preferences.setURLPref(this.pref, this.value, 536 Preferences.setURLPref(
539 !this.dialogPref, this.metric); 537 this.pref, this.value, !this.dialogPref, this.metric);
540 break; 538 break;
541 default: 539 default:
542 Preferences.setStringPref(this.pref, this.value, 540 Preferences.setStringPref(
543 !this.dialogPref, this.metric); 541 this.pref, this.value, !this.dialogPref, this.metric);
544 break; 542 break;
545 } 543 }
546 }, 544 },
547 }; 545 };
548 546
549 ///////////////////////////////////////////////////////////////////////////// 547 /////////////////////////////////////////////////////////////////////////////
550 // PrefPortNumber class: 548 // PrefPortNumber class:
551 549
552 // Define a constructor that uses an input element as its underlying element. 550 // Define a constructor that uses an input element as its underlying element.
553 var PrefPortNumber = cr.ui.define('input'); 551 var PrefPortNumber = cr.ui.define('input');
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
592 decorate: function() { 590 decorate: function() {
593 var self = this; 591 var self = this;
594 592
595 // Listen for pref changes. 593 // Listen for pref changes.
596 // This element behaves like a normal button and does not affect the 594 // This element behaves like a normal button and does not affect the
597 // underlying preference; it just becomes disabled when the preference is 595 // underlying preference; it just becomes disabled when the preference is
598 // managed, and its value is false. This is useful for buttons that should 596 // managed, and its value is false. This is useful for buttons that should
599 // be disabled when the underlying Boolean preference is set to false by a 597 // be disabled when the underlying Boolean preference is set to false by a
600 // policy or extension. 598 // policy or extension.
601 Preferences.getInstance().addEventListener(this.pref, function(event) { 599 Preferences.getInstance().addEventListener(this.pref, function(event) {
602 updateDisabledState(self, 'notUserModifiable', 600 updateDisabledState(
603 event.value.disabled && !event.value.value); 601 self, 'notUserModifiable',
602 event.value.disabled && !event.value.value);
604 self.controlledBy = event.value.controlledBy; 603 self.controlledBy = event.value.controlledBy;
605 }); 604 });
606 }, 605 },
607 606
608 /** 607 /**
609 * See |updateDisabledState| above. 608 * See |updateDisabledState| above.
610 */ 609 */
611 setDisabled: function(reason, disabled) { 610 setDisabled: function(reason, disabled) {
612 updateDisabledState(this, reason, disabled); 611 updateDisabledState(this, reason, disabled);
613 }, 612 },
(...skipping 16 matching lines...) Expand all
630 PrefInputElement: PrefInputElement, 629 PrefInputElement: PrefInputElement,
631 PrefNumber: PrefNumber, 630 PrefNumber: PrefNumber,
632 PrefRadio: PrefRadio, 631 PrefRadio: PrefRadio,
633 PrefRange: PrefRange, 632 PrefRange: PrefRange,
634 PrefSelect: PrefSelect, 633 PrefSelect: PrefSelect,
635 PrefTextField: PrefTextField, 634 PrefTextField: PrefTextField,
636 PrefPortNumber: PrefPortNumber, 635 PrefPortNumber: PrefPortNumber,
637 PrefButton: PrefButton 636 PrefButton: PrefButton
638 }; 637 };
639 }); 638 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698