Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/editing/assert_selection.js |
| diff --git a/third_party/WebKit/LayoutTests/editing/assert_selection.js b/third_party/WebKit/LayoutTests/editing/assert_selection.js |
| index a92d65e31d0bfbfbec4c43f0a8d59590ea5a4b72..e05b848d7d35c6485fd6ebec8fdde9154079acad 100644 |
| --- a/third_party/WebKit/LayoutTests/editing/assert_selection.js |
| +++ b/third_party/WebKit/LayoutTests/editing/assert_selection.js |
| @@ -60,6 +60,10 @@ const DumpAs = { |
| FLAT_TREE: 'flattree', |
| }; |
| +// Offset adjustment for mouse clicking used in |compute{Left,Top}()|. |
|
yoichio
2017/06/30 01:45:59
Why do you need this adjustment?
yosin_UTC9
2017/06/30 08:21:50
This value should be 2. It is border-size comes fr
|
| +const kOffsetLeftAdjustment = 4; |
| +const kOffsetTopAdjustment = 4; |
| + |
| /** @const @type {string} */ |
| const kTextArea = 'TEXTAREA'; |
| @@ -664,6 +668,28 @@ class Serializer { |
| } |
| /** |
| + * @param {!HTMLElement} element |
| + * @return {number} |
| + */ |
| +function computeLeft(element) { |
| + let left = kOffsetLeftAdjustment + element.ownerDocument.offsetLeft; |
| + for (let runner = element; runner; runner = runner.offsetParent) |
| + left += runner.offsetLeft; |
| + return left; |
| +} |
| + |
| +/** |
| + * @param {!HTMLElement} element |
| + * @return {number} |
| + */ |
| +function computeTop(element) { |
| + let top = kOffsetTopAdjustment + element.ownerDocument.offsetTop; |
| + for (let runner = element; runner; runner = runner.offsetParent) |
| + top += runner.offsetTop; |
| + return top; |
| +} |
| + |
| +/** |
| * @this {!DOMSelection} |
| * @param {string} html |
| * @param {string=} opt_text |
| @@ -712,6 +738,8 @@ class Sample { |
| this.selection_.document.offsetLeft = this.iframe_.offsetLeft; |
| this.selection_.document.offsetTop = this.iframe_.offsetTop; |
| this.selection_.setClipboardData = setClipboardData; |
| + this.selection_.computeLeft = computeLeft; |
| + this.selection_.computeTop = computeTop; |
| this.load(sampleText); |
| } |