| Index: LayoutTests/editing/selection/resources/js-test-selection-shared.js
|
| diff --git a/LayoutTests/editing/selection/resources/js-test-selection-shared.js b/LayoutTests/editing/selection/resources/js-test-selection-shared.js
|
| index ed7cbb3ada35e3de45c32662579fee586b9c6b4a..1268bfc99a8276b9401072a2c27a87e03e5ff212 100644
|
| --- a/LayoutTests/editing/selection/resources/js-test-selection-shared.js
|
| +++ b/LayoutTests/editing/selection/resources/js-test-selection-shared.js
|
| @@ -1,3 +1,58 @@
|
| +function $(id) { return document.getElementById(id); }
|
| +
|
| +var selection= window.getSelection();
|
| +
|
| +function testCaretMotion(param) {
|
| + var direction = param.direction;
|
| + var granularity = param.granularity;
|
| + var repeatCount = param.repeatCount || 1;
|
| + var origin = param.origin;
|
| + var originOffset = param.originOffset || 0;
|
| + var target = param.target;
|
| + var targetOffset = param.targetOffset || 0;
|
| +
|
| + if (direction == 'both') {
|
| + testCaretMotion({
|
| + 'direction': 'forward',
|
| + 'granularity': granularity,
|
| + 'repeatCount': repeatCount,
|
| + 'origin': origin,
|
| + 'originOffset': originOffset,
|
| + 'target': target,
|
| + 'targetOffset': targetOffset
|
| + });
|
| + testCaretMotion({
|
| + 'direction': 'backward',
|
| + 'granularity': granularity,
|
| + 'repeatCount': repeatCount,
|
| + 'origin': target,
|
| + 'originOffset': targetOffset,
|
| + 'target': origin,
|
| + 'targetOffset': originOffset
|
| + });
|
| + return;
|
| + }
|
| +
|
| + if (typeof origin == 'string')
|
| + origin = $(origin);
|
| +
|
| + if (typeof target == 'string')
|
| + target = $(target);
|
| +
|
| + if (originOffset < 0)
|
| + originOffset = origin.firstChild.length + originOffset + 1;
|
| +
|
| + if (targetOffset < 0)
|
| + targetOffset = target.firstChild.length + targetOffset + 1;
|
| +
|
| + selection.setPosition(origin.firstChild, originOffset);
|
| + debug('Move ' + direction + ' ' + granularity + ' x ' + repeatCount);
|
| + for (var i = 0; i < repeatCount; ++i)
|
| + selection.modify("move", direction, granularity);
|
| + shouldEvaluateTo('selection.anchorNode', target.firstChild);
|
| + shouldEvaluateTo('selection.anchorOffset', targetOffset);
|
| +}
|
| +
|
| function objectAsString(object, properties) {
|
| var result = "[";
|
| for (var x = 0; x < properties.length; x++) {
|
|
|