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 3 // found in the LICENSE file. 4 5 cr.define('options', function() { 6 /** @const */ var OptionsPage = options.OptionsPage; 7 8 ///////////////////////////////////////////////////////////////////////////// 9 // HandlerOptions class: 10 11 /** 12 * Encapsulated handling of handler options page. 13 * @constructor 14 */ 15 function HandlerOptions() { 16 this.activeNavTab = null; 17 OptionsPage.call(this, 18 'handlers', 19 loadTimeData.getString('handlersPageTabTitle'), 20 'handler-options'); 21 } 22 23 cr.addSingletonGetter(HandlerOptions); 24 25 HandlerOptions.prototype = { 26 __proto__: OptionsPage.prototype, 27 28 /** 29 * The handlers list. 30 * @type {DeletableItemList} 31 * @private 32 */ 33 handlersList_: null, 34 35 /** @override */ 36 initializePage: function() { 37 OptionsPage.prototype.initializePage.call(this); 38 39 this.createHandlersList_(); 40 41 $('handler-options-overlay-confirm').onclick = 42 OptionsPage.closeOverlay.bind(OptionsPage); 43 }, 44 45 /** 46 * Creates, decorates and initializes the handlers list. 47 * @private 48 */ 49 createHandlersList_: function() { 50 this.handlersList_ = $('handlers-list'); 51 options.HandlersList.decorate(this.handlersList_); 52 this.handlersList_.autoExpands = true; 53 54 this.ignoredHandlersList_ = $('ignored-handlers-list'); 55 options.IgnoredHandlersList.decorate(this.ignoredHandlersList_); 56 this.ignoredHandlersList_.autoExpands = true; 57 }, 58 }; 59 60 /** 61 * Sets the list of handlers shown by the view. 62 * @param {Array} Handlers to be shown in the view. 63 */ 64 HandlerOptions.setHandlers = function(handlers) { 65 $('handlers-list').setHandlers(handlers); 66 }; 67 68 /** 69 * Sets the list of ignored handlers shown by the view. 70 * @param {Array} Handlers to be shown in the view. 71 */ 72 HandlerOptions.setIgnoredHandlers = function(handlers) { 73 $('ignored-handlers-section').hidden = handlers.length == 0; 74 $('ignored-handlers-list').setHandlers(handlers); 75 }; 76 77 return { 78 HandlerOptions: HandlerOptions 79 }; 80 }); 81