| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 | |
| 5 /** | 4 /** |
| 6 * @constructor | 5 * @unrestricted |
| 7 * @extends {WebInspector.Object} | |
| 8 * @param {!Window} window | |
| 9 * @param {!InspectorFrontendHostAPI} frontendHost | |
| 10 */ | 6 */ |
| 11 WebInspector.ZoomManager = function(window, frontendHost) | 7 WebInspector.ZoomManager = class extends WebInspector.Object { |
| 12 { | 8 /** |
| 9 * @param {!Window} window |
| 10 * @param {!InspectorFrontendHostAPI} frontendHost |
| 11 */ |
| 12 constructor(window, frontendHost) { |
| 13 super(); |
| 13 this._frontendHost = frontendHost; | 14 this._frontendHost = frontendHost; |
| 14 this._zoomFactor = this._frontendHost.zoomFactor(); | 15 this._zoomFactor = this._frontendHost.zoomFactor(); |
| 15 window.addEventListener("resize", this._onWindowResize.bind(this), true); | 16 window.addEventListener('resize', this._onWindowResize.bind(this), true); |
| 17 } |
| 18 |
| 19 /** |
| 20 * @return {number} |
| 21 */ |
| 22 zoomFactor() { |
| 23 return this._zoomFactor; |
| 24 } |
| 25 |
| 26 /** |
| 27 * @param {number} value |
| 28 * @return {number} |
| 29 */ |
| 30 cssToDIP(value) { |
| 31 return value * this._zoomFactor; |
| 32 } |
| 33 |
| 34 /** |
| 35 * @param {number} valueDIP |
| 36 * @return {number} |
| 37 */ |
| 38 dipToCSS(valueDIP) { |
| 39 return valueDIP / this._zoomFactor; |
| 40 } |
| 41 |
| 42 _onWindowResize() { |
| 43 var oldZoomFactor = this._zoomFactor; |
| 44 this._zoomFactor = this._frontendHost.zoomFactor(); |
| 45 if (oldZoomFactor !== this._zoomFactor) |
| 46 this.dispatchEventToListeners( |
| 47 WebInspector.ZoomManager.Events.ZoomChanged, {from: oldZoomFactor, to:
this._zoomFactor}); |
| 48 } |
| 16 }; | 49 }; |
| 17 | 50 |
| 18 /** @enum {symbol} */ | 51 /** @enum {symbol} */ |
| 19 WebInspector.ZoomManager.Events = { | 52 WebInspector.ZoomManager.Events = { |
| 20 ZoomChanged: Symbol("ZoomChanged") | 53 ZoomChanged: Symbol('ZoomChanged') |
| 21 }; | |
| 22 | |
| 23 WebInspector.ZoomManager.prototype = { | |
| 24 /** | |
| 25 * @return {number} | |
| 26 */ | |
| 27 zoomFactor: function() | |
| 28 { | |
| 29 return this._zoomFactor; | |
| 30 }, | |
| 31 | |
| 32 /** | |
| 33 * @param {number} value | |
| 34 * @return {number} | |
| 35 */ | |
| 36 cssToDIP: function(value) | |
| 37 { | |
| 38 return value * this._zoomFactor; | |
| 39 }, | |
| 40 | |
| 41 /** | |
| 42 * @param {number} valueDIP | |
| 43 * @return {number} | |
| 44 */ | |
| 45 dipToCSS: function(valueDIP) | |
| 46 { | |
| 47 return valueDIP / this._zoomFactor; | |
| 48 }, | |
| 49 | |
| 50 _onWindowResize: function() | |
| 51 { | |
| 52 var oldZoomFactor = this._zoomFactor; | |
| 53 this._zoomFactor = this._frontendHost.zoomFactor(); | |
| 54 if (oldZoomFactor !== this._zoomFactor) | |
| 55 this.dispatchEventToListeners(WebInspector.ZoomManager.Events.ZoomCh
anged, {from: oldZoomFactor, to: this._zoomFactor}); | |
| 56 }, | |
| 57 | |
| 58 __proto__: WebInspector.Object.prototype | |
| 59 }; | 54 }; |
| 60 | 55 |
| 61 /** | 56 /** |
| 62 * @type {!WebInspector.ZoomManager} | 57 * @type {!WebInspector.ZoomManager} |
| 63 */ | 58 */ |
| 64 WebInspector.zoomManager; | 59 WebInspector.zoomManager; |
| OLD | NEW |