diff --git a/common/content/marks.js b/common/content/marks.js index d8c9736b..53b14788 100644 --- a/common/content/marks.js +++ b/common/content/marks.js @@ -42,7 +42,7 @@ var Marks = Module("marks", { params.location = doc.documentURI.replace(/#.*/, ""), params.offset = buffer.scrollPosition; - params.path = DOM(buffer.findScrollable(0, params.offset.x)).xpath; + params.path = DOM(buffer.findScrollable(0, false)).xpath; params.timestamp = Date.now() * 1000; params.equals = function (m) this.location == m.location && this.offset.x == m.offset.x diff --git a/common/modules/buffer.jsm b/common/modules/buffer.jsm index a856282c..3d66e5d1 100644 --- a/common/modules/buffer.jsm +++ b/common/modules/buffer.jsm @@ -1482,12 +1482,12 @@ var Buffer = Module("Buffer", { * * @param {Element} elem The element to scroll. */ - getScrollPosition: function getPosition(elem) { - let style = DOM(elem).style; + getScrollPosition: function getPosition(node) { + let style = DOM(node.body || node).style; - elem = Buffer.Scrollable(elem); + let elem = Buffer.Scrollable(node); return { - x: elem.scrollLeft && elem.scrollLeft / this._exWidth(elem), + x: elem.scrollLeft && elem.scrollLeft / this._exWidth(node), y: elem.scrollTop / parseFloat(style.lineHeight) } },