| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 /** | 5 /** |
| 6 * @fileoverview | 6 * @fileoverview |
| 7 * 'zoom-levels' is the polymer element for showing the sites that are zoomed in | 7 * 'zoom-levels' is the polymer element for showing the sites that are zoomed in |
| 8 * or out. | 8 * or out as well as the zoom scope setting. |
| 9 */ | 9 */ |
| 10 | 10 |
| 11 Polymer({ | 11 Polymer({ |
| 12 is: 'zoom-levels', | 12 is: 'zoom-levels', |
| 13 | 13 |
| 14 behaviors: [SiteSettingsBehavior, WebUIListenerBehavior], | 14 behaviors: [I18nBehavior, SiteSettingsBehavior, WebUIListenerBehavior], |
| 15 | 15 |
| 16 properties: { | 16 properties: { |
| 17 /** | 17 /** |
| 18 * Whether zoom changes are applied on a per-site basis or a per-tab basis. |
| 19 * @type {boolean} |
| 20 */ |
| 21 zoomScopeIsPerOrigin_: { |
| 22 type: Boolean, |
| 23 value: true, |
| 24 }, |
| 25 |
| 26 /** |
| 18 * Array of sites that are zoomed in or out. | 27 * Array of sites that are zoomed in or out. |
| 19 * @type {!Array<ZoomLevelEntry>} | 28 * @type {!Array<ZoomLevelEntry>} |
| 20 */ | 29 */ |
| 21 sites_: Array, | 30 sites_: Array, |
| 31 |
| 32 /** @private */ |
| 33 isGuest_: { |
| 34 type: Boolean, |
| 35 value: function() { return loadTimeData.getBoolean('isGuest'); } |
| 36 }, |
| 22 }, | 37 }, |
| 23 | 38 |
| 24 ready: function() { | 39 ready: function() { |
| 40 this.addWebUIListener('onZoomScopeChanged', |
| 41 this.onZoomScopeChanged_.bind(this)); |
| 25 this.addWebUIListener('onZoomLevelsChanged', | 42 this.addWebUIListener('onZoomLevelsChanged', |
| 26 this.onZoomLevelsChanged_.bind(this)); | 43 this.onZoomLevelsChanged_.bind(this)); |
| 44 this.browserProxy.fetchZoomScope(); |
| 27 this.browserProxy.fetchZoomLevels(); | 45 this.browserProxy.fetchZoomLevels(); |
| 28 }, | 46 }, |
| 29 | 47 |
| 30 /** | 48 /** |
| 49 * A handler for when the zoom scope changes. |
| 50 * @param {boolean} zoomScopeIsPerOrigin The zoom scope setting. |
| 51 */ |
| 52 onZoomScopeChanged_: function(zoomScopeIsPerOrigin) { |
| 53 this.zoomScopeIsPerOrigin_ = zoomScopeIsPerOrigin; |
| 54 }, |
| 55 |
| 56 /** |
| 31 * A handler for when zoom levels change. | 57 * A handler for when zoom levels change. |
| 32 * @param {!Array<ZoomLevelEntry>} sites The up to date list of sites and | 58 * @param {!Array<ZoomLevelEntry>} sites The up to date list of sites and |
| 33 * their zoom levels. | 59 * their zoom levels. |
| 34 */ | 60 */ |
| 35 onZoomLevelsChanged_: function(sites) { | 61 onZoomLevelsChanged_: function(sites) { |
| 36 this.sites_ = sites; | 62 this.sites_ = sites; |
| 37 }, | 63 }, |
| 38 | 64 |
| 39 /** | 65 /** |
| 66 * Returns the label for the zoom scope toggle. |
| 67 * @private |
| 68 */ |
| 69 getScopeLabel_: function(zoomScopeIsPerOrigin) { |
| 70 return zoomScopeIsPerOrigin ? this.i18n('siteSettingsZoomScopeOrigin') |
| 71 : this.i18n('siteSettingsZoomScopeTab'); |
| 72 }, |
| 73 |
| 74 /** |
| 75 * Whether to show the text indicating that there are no zoomed sites. |
| 76 * @private |
| 77 */ |
| 78 showNoZoomedSites_: function(renderedCount, zoomScopeIsPerOrigin) { |
| 79 return renderedCount == 0 && zoomScopeIsPerOrigin; |
| 80 }, |
| 81 |
| 82 /** |
| 83 * A handler for when the user toggles the zoom scope. |
| 84 * @private |
| 85 */ |
| 86 toggleZoomScope_: function() { |
| 87 this.browserProxy.setZoomScopeIsPerOrigin(this.zoomScopeIsPerOrigin_); |
| 88 }, |
| 89 |
| 90 /** |
| 40 * A handler for when a zoom level for a site is deleted. | 91 * A handler for when a zoom level for a site is deleted. |
| 41 * @param {!{model: !{index: number}}} event | 92 * @param {!{model: !{index: number}}} event |
| 42 * @private | 93 * @private |
| 43 */ | 94 */ |
| 44 removeZoomLevel_: function(event) { | 95 removeZoomLevel_: function(event) { |
| 45 var site = this.sites_[event.model.index]; | 96 var site = this.sites_[event.model.index]; |
| 46 this.browserProxy.removeZoomLevel(site.origin); | 97 this.browserProxy.removeZoomLevel(site.origin); |
| 47 }, | 98 }, |
| 48 }); | 99 }); |
| OLD | NEW |