| 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..1392b39dfd29628d33ffb8e7c072564f81259555 100644
|
| --- a/third_party/WebKit/LayoutTests/editing/assert_selection.js
|
| +++ b/third_party/WebKit/LayoutTests/editing/assert_selection.js
|
| @@ -60,6 +60,9 @@ const DumpAs = {
|
| FLAT_TREE: 'flattree',
|
| };
|
|
|
| +const kOffsetLeftOfBodyInIFrame = 16;
|
| +const kOffsetTopOfBodyInIFrame = 16;
|
| +
|
| /** @const @type {string} */
|
| const kTextArea = 'TEXTAREA';
|
|
|
| @@ -664,6 +667,28 @@ class Serializer {
|
| }
|
|
|
| /**
|
| + * @param {!HTMLElement} element
|
| + * @return {number}
|
| + */
|
| +function computeLeft(element) {
|
| + let left = kOffsetLeftOfBodyInIFrame;
|
| + for (let runner = element; runner; runner = runner.offsetParent)
|
| + left += runner.offsetLeft;
|
| + return left;
|
| +}
|
| +
|
| +/**
|
| + * @param {!HTMLElement} element
|
| + * @return {number}
|
| + */
|
| +function computeTop(element) {
|
| + let top = kOffsetTopOfBodyInIFrame;
|
| + for (let runner = element; runner; runner = runner.offsetParent)
|
| + top += runner.offsetTop;
|
| + return top;
|
| +}
|
| +
|
| +/**
|
| * @this {!DOMSelection}
|
| * @param {string} html
|
| * @param {string=} opt_text
|
| @@ -712,6 +737,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);
|
| }
|
|
|
|
|