diff options
author | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-02-28 08:41:01 +0100 |
---|---|---|
committer | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-02-28 08:41:01 +0100 |
commit | 32230477c611d6baddb4f2f6caf5c55c8b8cc198 (patch) | |
tree | 432fbf1a31a48eb75a0d824bb358202cea0f05a7 /devtools/server/actors | |
parent | fedcf7249a458459976dd3a750ab2836bedf6cba (diff) | |
download | UXP-32230477c611d6baddb4f2f6caf5c55c8b8cc198.tar UXP-32230477c611d6baddb4f2f6caf5c55c8b8cc198.tar.gz UXP-32230477c611d6baddb4f2f6caf5c55c8b8cc198.tar.lz UXP-32230477c611d6baddb4f2f6caf5c55c8b8cc198.tar.xz UXP-32230477c611d6baddb4f2f6caf5c55c8b8cc198.zip |
DevTools - Inspector - tooltip get element width/height wrong when browser zoomed
https://github.com/MoonchildProductions/moebius/pull/54
Diffstat (limited to 'devtools/server/actors')
-rw-r--r-- | devtools/server/actors/highlighters/box-model.js | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/devtools/server/actors/highlighters/box-model.js b/devtools/server/actors/highlighters/box-model.js index 35f201a04..ae4284424 100644 --- a/devtools/server/actors/highlighters/box-model.js +++ b/devtools/server/actors/highlighters/box-model.js @@ -15,7 +15,10 @@ const { isNodeValid, moveInfobar, } = require("./utils/markup"); -const { setIgnoreLayoutChanges } = require("devtools/shared/layout/utils"); +const { + setIgnoreLayoutChanges, + getCurrentZoom, + } = require("devtools/shared/layout/utils"); const inspector = require("devtools/server/actors/inspector"); const nodeConstants = require("devtools/shared/dom-node-constants"); @@ -670,10 +673,14 @@ BoxModelHighlighter.prototype = extend(AutoRefreshHighlighter.prototype, { pseudos += ":" + pseudo; } - let rect = this._getOuterQuad("border").bounds; - let dim = parseFloat(rect.width.toPrecision(6)) + + // We want to display the original `width` and `height`, instead of the ones affected + // by any zoom. Since the infobar can be displayed also for text nodes, we can't + // access the computed style for that, and this is why we recalculate them here. + let zoom = getCurrentZoom(this.win); + let { width, height } = this._getOuterQuad("border").bounds; + let dim = parseFloat((width / zoom).toPrecision(6)) + " \u00D7 " + - parseFloat(rect.height.toPrecision(6)); + parseFloat((height / zoom).toPrecision(6)); this.getElement("infobar-tagname").setTextContent(displayName); this.getElement("infobar-id").setTextContent(id); |