Commit 0b530eb8 authored by ojan@chromium.org's avatar ojan@chromium.org

2010-03-05 Ojan Vafai <ojan@chromium.org>

        Reviewed by David Levin.

        Tests for smartdelete should only occur after double-click
        https://bugs.webkit.org/show_bug.cgi?id=35314

        Fixes the tests to make selections using the mouse in order
        to force smart-delete. It also adds/modifies tests to have them correctly
        identify cases where we are smart-deleting, but shouldn't be.

        Fixing to smart-delete only on mouse-based selections will be a followup patch.

        * editing/deleting/5390681-2.html:
        * editing/deleting/non-smart-delete.html: Added.
        * editing/deleting/smart-delete-001.html:
        * editing/deleting/smart-delete-002.html:
        * editing/deleting/smart-delete-003.html:
        * editing/deleting/smart-delete-004.html:
        * editing/editing.js:
        (doubleClick):
        (doubleClickAtSelectionStart):
        * editing/pasteboard/4944770-2.html:
        * editing/pasteboard/drag-drop-modifies-page.html:
        * editing/pasteboard/smart-drag-drop.html: Added.
        * editing/pasteboard/smart-paste-001.html:
        * editing/pasteboard/smart-paste-002.html:
        * editing/pasteboard/smart-paste-003.html:
        * editing/pasteboard/smart-paste-004.html:
        * editing/pasteboard/smart-paste-005.html:
        * editing/pasteboard/smart-paste-007.html:
        * editing/pasteboard/smart-paste-008.html:
        * editing/selection/delete-word-granularity-text-control-expected.txt: Added.
        * editing/selection/delete-word-granularity-text-control.html: Added.
        * editing/selection/script-tests/delete-word-granularity-text-control.js: Added.
        * editing/style/style-boundary-005.html:
        * platform/mac/editing/deleting/non-smart-delete-expected.checksum: Added.
        * platform/mac/editing/deleting/non-smart-delete-expected.png: Added.
        * platform/mac/editing/deleting/non-smart-delete-expected.txt: Added.
        * platform/mac/editing/deleting/smart-delete-001-expected.txt:
        * platform/mac/editing/deleting/smart-delete-002-expected.txt:
        * platform/mac/editing/deleting/smart-delete-003-expected.txt:
        * platform/mac/editing/deleting/smart-delete-004-expected.txt:
        * platform/mac/editing/pasteboard/drag-drop-modifies-page-expected.checksum:
        * platform/mac/editing/pasteboard/drag-drop-modifies-page-expected.png:
        * platform/mac/editing/pasteboard/drag-drop-modifies-page-expected.txt:
        * platform/mac/editing/pasteboard/smart-drag-drop-expected.checksum: Added.
        * platform/mac/editing/pasteboard/smart-drag-drop-expected.png: Added.
        * platform/mac/editing/pasteboard/smart-drag-drop-expected.txt: Added.
        * platform/mac/editing/pasteboard/smart-paste-001-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-002-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-003-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-004-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-005-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-007-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-008-expected.txt:
        * platform/mac/editing/style/style-boundary-005-expected.checksum:
        * platform/mac/editing/style/style-boundary-005-expected.png:
        * platform/mac/editing/style/style-boundary-005-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent f4afd14e
2010-03-05 Ojan Vafai <ojan@chromium.org>
Reviewed by David Levin.
Tests for smartdelete should only occur after double-click
https://bugs.webkit.org/show_bug.cgi?id=35314
Fixes the tests to make selections using the mouse in order
to force smart-delete. It also adds/modifies tests to have them correctly
identify cases where we are smart-deleting, but shouldn't be.
Fixing to smart-delete only on mouse-based selections will be a followup patch.
* editing/deleting/5390681-2.html:
* editing/deleting/non-smart-delete.html: Added.
* editing/deleting/smart-delete-001.html:
* editing/deleting/smart-delete-002.html:
* editing/deleting/smart-delete-003.html:
* editing/deleting/smart-delete-004.html:
* editing/editing.js:
(doubleClick):
(doubleClickAtSelectionStart):
* editing/pasteboard/4944770-2.html:
* editing/pasteboard/drag-drop-modifies-page.html:
* editing/pasteboard/smart-drag-drop.html: Added.
* editing/pasteboard/smart-paste-001.html:
* editing/pasteboard/smart-paste-002.html:
* editing/pasteboard/smart-paste-003.html:
* editing/pasteboard/smart-paste-004.html:
* editing/pasteboard/smart-paste-005.html:
* editing/pasteboard/smart-paste-007.html:
* editing/pasteboard/smart-paste-008.html:
* editing/selection/delete-word-granularity-text-control-expected.txt: Added.
* editing/selection/delete-word-granularity-text-control.html: Added.
* editing/selection/script-tests/delete-word-granularity-text-control.js: Added.
* editing/style/style-boundary-005.html:
* platform/mac/editing/deleting/non-smart-delete-expected.checksum: Added.
* platform/mac/editing/deleting/non-smart-delete-expected.png: Added.
* platform/mac/editing/deleting/non-smart-delete-expected.txt: Added.
* platform/mac/editing/deleting/smart-delete-001-expected.txt:
* platform/mac/editing/deleting/smart-delete-002-expected.txt:
* platform/mac/editing/deleting/smart-delete-003-expected.txt:
* platform/mac/editing/deleting/smart-delete-004-expected.txt:
* platform/mac/editing/pasteboard/drag-drop-modifies-page-expected.checksum:
* platform/mac/editing/pasteboard/drag-drop-modifies-page-expected.png:
* platform/mac/editing/pasteboard/drag-drop-modifies-page-expected.txt:
* platform/mac/editing/pasteboard/smart-drag-drop-expected.checksum: Added.
* platform/mac/editing/pasteboard/smart-drag-drop-expected.png: Added.
* platform/mac/editing/pasteboard/smart-drag-drop-expected.txt: Added.
* platform/mac/editing/pasteboard/smart-paste-001-expected.txt:
* platform/mac/editing/pasteboard/smart-paste-002-expected.txt:
* platform/mac/editing/pasteboard/smart-paste-003-expected.txt:
* platform/mac/editing/pasteboard/smart-paste-004-expected.txt:
* platform/mac/editing/pasteboard/smart-paste-005-expected.txt:
* platform/mac/editing/pasteboard/smart-paste-007-expected.txt:
* platform/mac/editing/pasteboard/smart-paste-008-expected.txt:
* platform/mac/editing/style/style-boundary-005-expected.checksum:
* platform/mac/editing/style/style-boundary-005-expected.png:
* platform/mac/editing/style/style-boundary-005-expected.txt:
2010-03-12 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
......
......@@ -4,8 +4,12 @@
<script>
var div = document.getElementById("div");
var sel = window.getSelection();
sel.setPosition(div, 0);
sel.modify("extend", "forward", "word");
var x = div.offsetLeft;
var y = div.offsetTop;
eventSender.mouseMoveTo(x, y);
eventSender.mouseDown();
eventSender.mouseUp();
eventSender.mouseDown();
eventSender.mouseUp();
document.execCommand("Delete");
</script>
<html>
<head>
<style>
.editing {
border: 2px solid red;
font-size: 24px;
}
.explanation {
border: 2px solid blue;
padding: 12px;
font-size: 24px;
margin-bottom: 24px;
}
.scenario { margin-bottom: 16px;}
.scenario:first-line { font-weight: bold; margin-bottom: 16px;}
.expected-results:first-line { font-weight: bold }
</style>
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<script>
function editingTest() {
extendSelectionForwardByWordCommand();
deleteCommand();
}
</script>
<title>Editing Test</title>
</head>
<body>
<div class="explanation">
<div class="scenario">
Tests:
<br>
Non-smart delete when deleting a word selected via the keyboard.
</div>
<div class="expected-results">
Expected Results:
<br>
The first word should be deleted. The space following it should remain. It should look like this (currently this is broken and the space is deleted https://bugs.webkit.org/show_bug.cgi?id=35314):
<BR>
" bar baz"
</div>
</div>
<div contenteditable id="root" style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space;">
<div id="test" class="editing">
foo bar baz
</div>
</div>
<script>
runEditingTest();
</script>
</body>
</html>
......@@ -21,7 +21,7 @@
<script>
function editingTest() {
extendSelectionForwardByWordCommand();
doubleClickAtSelectionStart();
deleteCommand();
}
......
......@@ -23,7 +23,7 @@
function editingTest() {
moveSelectionForwardByWordCommand();
moveSelectionForwardByCharacterCommand();
extendSelectionForwardByWordCommand();
doubleClickAtSelectionStart();
deleteCommand();
}
......
......@@ -2,18 +2,14 @@
if (window.layoutTestController)
layoutTestController.dumpEditingCallbacks();
</script>
<p>This tests deleting a selection created with a word granularity. To run it manually, double click on 'bar' and hit delete. You should see 'foo bar'.</p>
<div id="div" contenteditable="true">foo bar baz</div>
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<p>This tests deleting a selection created with a word granularity. To run it manually, double click on 'bar' and hit delete. You should see 'foo baz'.</p>
<div id="div" contenteditable="true">foo b<span id="target">a</span>r baz</div>
<script>
if (window.layoutTestController) {
var div = document.getElementById("div");
var sel = window.getSelection();
sel.setPosition(div, 0);
sel.modify("move", "forward", "word");
sel.modify("move", "forward", "word");
sel.modify("extend", "backward", "word");
var target = document.getElementById("target");
doubleClick(target.offsetLeft, target.offsetTop);
layoutTestController.execCommand("DeleteBackward");
}
</script>
......@@ -2,18 +2,14 @@
if (window.layoutTestController)
layoutTestController.dumpEditingCallbacks();
</script>
<p>This tests deleting a selection created with a word granularity. To run it manually, double click on 'bar' and hit forward delete. You should see 'foo bar'.</p>
<div id="div" contenteditable="true">foo bar baz</div>
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<p>This tests deleting a selection created with a word granularity. To run it manually, double click on 'bar' and hit forward delete. You should see 'foo baz'.</p>
<div id="div" contenteditable="true">foo b<span id="target">a</span>r baz</div>
<script>
if (window.layoutTestController) {
var div = document.getElementById("div");
var sel = window.getSelection();
sel.setPosition(div, 0);
sel.modify("move", "forward", "word");
sel.modify("move", "forward", "word");
sel.modify("extend", "backward", "word");
var target = document.getElementById("target");
doubleClick(target.offsetLeft, target.offsetTop);
layoutTestController.execCommand("DeleteForward");
}
</script>
......@@ -339,6 +339,23 @@ function moveSelectionBackwardByLineBoundaryCommand() {
//-------------------------------------------------------------------------------------------------------
function doubleClick(x, y) {
eventSender.mouseMoveTo(x, y);
eventSender.mouseDown();
eventSender.mouseUp();
eventSender.mouseDown();
eventSender.mouseUp();
}
function doubleClickAtSelectionStart() {
var rects = window.getSelection().getRangeAt(0).getClientRects();
var x = rects[0].left;
var y = rects[0].top;
doubleClick(x, y);
}
//-------------------------------------------------------------------------------------------------------
function execBoldCommand() {
document.execCommand("Bold");
debugForDumpAsText("execBoldCommand");
......
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<p>This tests smart paste of a fragment that ends in a select element. There should be spaces added before and after the inserted content.</p>
<div contenteditable="true" id="copy"><select><option>1</option><option>2</option><option>3</option></select></div>
<div contenteditable="true" id="paste">xx</div>
<script>
var copy = document.getElementById("copy");
var paste = document.getElementById("paste");
var sel = window.getSelection();
sel.setPosition(copy, 0);
sel.modify("extend", "forward", "word");
doubleClick(copy.offsetLeft, copy.offsetTop);
document.execCommand("Copy");
var paste = document.getElementById("paste");
var sel = window.getSelection();
sel.setPosition(paste, 0);
sel.modify("move", "forward", "character");
document.execCommand("Paste");
......
......@@ -28,7 +28,9 @@ function editingTest() {
<title>Drag and drop within a text input field modifies page</title>
</head>
<body>
<p>This test does a drag and drop such that the selection around the dragged word is no longer in the document on the drop.</p>
<p>This tests non-smartmove drag/drop. The space should be deleted on move,
but not reinserted on drop, resulting in "worldhello". Currently there's a bug
(https://bugs.webkit.org/show_bug.cgi?id=35314) where the space is reinserted on drop.</p>
<div contenteditable="true" id="test"><span id="dragme">hello</span> world</div>
<script>runEditingTest();</script>
</body>
......
<html>
<head>
<script src=../editing.js type="text/javascript"></script>
<script>
function editingTest() {
if (!window.eventSender)
return;
doubleClickAtSelectionStart();
// Drag 'hello'
var e = document.getElementById("dragme");
x = e.offsetLeft;
y = e.offsetTop + e.offsetHeight / 2;
eventSender.mouseMoveTo(x, y);
eventSender.mouseDown();
// and drop it off to the right somewhere.
eventSender.leapForward(500);
eventSender.mouseMoveTo(x + 300, y);
eventSender.mouseUp();
}
</script>
<title>Drag and drop within a text input field modifies page</title>
</head>
<body>
<p>Tests that drag/drop after double-click does a smart drag. Specifically the end result should have a space: "world hello". To test manually double click on the "hello" and drag it to after "world".</p>
<div contenteditable="true" id="test"><span id="dragme">hello</span> world</div>
<script>runEditingTest();</script>
</body>
</html>
......@@ -21,7 +21,7 @@
<script>
function editingTest() {
extendSelectionForwardByWordCommand();
doubleClickAtSelectionStart();
copyCommand();
moveSelectionForwardByCharacterCommand();
pasteCommand();
......
......@@ -21,7 +21,7 @@
<script>
function editingTest() {
extendSelectionForwardByWordCommand();
doubleClickAtSelectionStart();
copyCommand();
moveSelectionBackwardByWordCommand();
pasteCommand();
......
......@@ -21,7 +21,7 @@
<script>
function editingTest() {
extendSelectionForwardByWordCommand();
doubleClickAtSelectionStart();
copyCommand();
moveSelectionForwardByCharacterCommand();
pasteCommand();
......
......@@ -21,7 +21,7 @@
<script>
function editingTest() {
extendSelectionForwardByWordCommand();
doubleClickAtSelectionStart();
copyCommand();
moveSelectionForwardByCharacterCommand();
moveSelectionForwardByCharacterCommand();
......
......@@ -21,7 +21,7 @@
<script>
function editingTest() {
extendSelectionForwardByWordCommand();
doubleClickAtSelectionStart();
copyCommand();
moveSelectionBackwardByWordCommand();
moveSelectionForwardByCharacterCommand();
......
......@@ -21,7 +21,7 @@
<script>
function editingTest() {
extendSelectionForwardByWordCommand();
doubleClickAtSelectionStart();
cutCommand();
typeCharacterCommand('.');
typeCharacterCommand('.');
......
......@@ -12,7 +12,7 @@ var s = window.getSelection();
var e = document.getElementById("test");
setSelectionCommand(e, 0, e, 0);
extendSelectionForwardByWordCommand();
doubleClickAtSelectionStart();
copyCommand();
moveSelectionBackwardByCharacterCommand();
moveSelectionForwardByCharacterCommand();
......
Test that setSelectedRange resets the selection granularity to CharacterGranularity.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS PASSED
PASS successfullyParsed is true
TEST COMPLETE
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
<script src="../../fast/js/resources/js-test-pre.js"></script>
<script src="resources/js-test-selection-shared.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<script src="script-tests/delete-word-granularity-text-control.js"></script>
<script src="../../fast/js/resources/js-test-post.js"></script>
</body>
</html>
description("Test that setSelectedRange resets the selection granularity to CharacterGranularity.");
var textarea = document.createElement('textarea');
textarea.value = "foo bar baz";
document.body.appendChild(textarea);
var rect = textarea.getBoundingClientRect();
var x = rect.left + 10;
var y = rect.top + 10;
if (window.eventSender) {
eventSender.mouseMoveTo(x, y);
eventSender.mouseDown();
eventSender.mouseUp();
eventSender.mouseDown();
eventSender.mouseUp();
}
textarea.setSelectionRange(0, 3);
document.execCommand('delete');
// Calling setSelectionRange should reset the granularity to CharacterGranularity, which means
// execCommand('delete') should *not* do a smart delete.
if (textarea.value == " bar baz")
testPassed("PASSED");
else
testFailed("FAILED. textarea value should be \" bar baz\" and was \"" + textarea.value + "\"");
var successfullyParsed = true;
......@@ -51,7 +51,9 @@ Pasting at style boundary does not crash or produce empty style span(s).
<div class="expected-results">
Expected Results:
<br>
Should see this content in the red box below: <br><div>one two three <b>four</b> one</div>
Should see this content in the red box below (currently there's a bug where
there is an extra space after the bold element https://bugs.webkit.org/show_bug.cgi?id=35314):
<br><div>one two three <b>four</b>one</div>
</div>
</div>
......
25614efd3493758eb76da8f4748cdd48
\ No newline at end of file
EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldDeleteDOMRange:range from 1 of #text > DIV > DIV > BODY > HTML > #document to 4 of #text > DIV > DIV > BODY > HTML > #document
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > DIV > DIV > BODY > HTML > #document to 4 of #text > DIV > DIV > BODY > HTML > #document toDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x584
RenderBlock {DIV} at (0,0) size 784x240 [border: (2px solid #0000FF)]
RenderBlock {DIV} at (14,14) size 756x56
RenderText {#text} at (0,0) size 67x28
text run at (0,0) width 67: "Tests: "
RenderBR {BR} at (0,0) size 0x0
RenderText {#text} at (0,28) size 642x28
text run at (0,28) width 642: "Non-smart delete when deleting a word selected via the keyboard."
RenderBlock {DIV} at (14,86) size 756x140
RenderText {#text} at (0,0) size 189x28
text run at (0,0) width 189: "Expected Results: "
RenderBR {BR} at (189,22) size 0x0
RenderText {#text} at (0,28) size 715x84
text run at (0,28) width 715: "The first word should be deleted. The space following it should remain. It"
text run at (0,56) width 671: "should look like this (currently this is broken and the space is deleted"
text run at (0,84) width 489: "https://bugs.webkit.org/show_bug.cgi?id=35314): "
RenderBR {BR} at (489,106) size 0x0
RenderText {#text} at (0,112) size 97x28
text run at (0,112) width 97: "\" bar baz\""
RenderBlock {DIV} at (0,264) size 784x32
RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
RenderText {#text} at (2,2) size 71x28
text run at (2,2) width 71: "bar baz"
caret: position 0 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of child 1 {BODY} of child 0 {HTML} of document
EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document toDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document toDOMRange:range from 1 of #text > DIV > DIV > BODY > HTML > #document to 4 of #text > DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldDeleteDOMRange:range from 1 of #text > DIV > DIV > BODY > HTML > #document to 4 of #text > DIV > DIV > BODY > HTML > #document
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > DIV > DIV > BODY > HTML > #document to 4 of #text > DIV > DIV > BODY > HTML > #document toDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
......
......@@ -3,6 +3,8 @@ EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 5 of #text > DIV > DIV > BODY > HTML > #document to 5 of #text > DIV > DIV > BODY > HTML > #document toDOMRange:range from 5 of #text > DIV > DIV > BODY > HTML > #document to 5 of #text > DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 5 of #text > DIV > DIV > BODY > HTML > #document to 5 of #text > DIV > DIV > BODY > HTML > #document toDOMRange:range from 5 of #text > DIV > DIV > BODY > HTML > #document to 8 of #text > DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldDeleteDOMRange:range from 5 of #text > DIV > DIV > BODY > HTML > #document to 8 of #text > DIV > DIV > BODY > HTML > #document
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 5 of #text > DIV > DIV > BODY > HTML > #document to 8 of #text > DIV > DIV > BODY > HTML > #document toDOMRange:range from 4 of #text > DIV > DIV > BODY > HTML > #document to 4 of #text > DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
......
86e094b3faeb114b143eeb37b7da99c3
\ No newline at end of file
332417cd71caff5eba3d201c46fd3e9e
\ No newline at end of file
EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 1 of DIV > BODY > HTML > #document
EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 5 of #text > DIV > BODY > HTML > #document to 5 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 5 of #text > DIV > BODY > HTML > #document to 5 of #text > DIV > BODY > HTML > #document toDOMRange:range from 4 of #text > DIV > BODY > HTML > #document to 1 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldDeleteDOMRange:range from 4 of #text > DIV > BODY > HTML > #document to 7 of #text > DIV > BODY > HTML > #document
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 4 of #text > DIV > BODY > HTML > #document to 7 of #text > DIV > BODY > HTML > #document toDOMRange:range from 3 of #text > DIV > BODY > HTML > #document to 3 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: shouldDeleteDOMRange:range from 4 of #text > DIV > BODY > HTML > #document to 1 of #text > DIV > BODY > HTML > #document
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV > BODY > HTML > #document to 1 of #text > DIV > BODY > HTML > #document toDOMRange:range from 3 of #text > DIV > BODY > HTML > #document to 3 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
layer at (0,0) size 800x600
......@@ -18,8 +18,10 @@ layer at (0,0) size 800x600
text run at (0,0) width 392: "This tests deleting a selection created with a word granularity. "
text run at (392,0) width 348: "To run it manually, double click on 'bar' and hit delete. "
text run at (740,0) width 28: "You"
text run at (0,18) width 125: "should see 'foo bar'."
text run at (0,18) width 127: "should see 'foo baz'."
RenderBlock {DIV} at (0,52) size 784x18
RenderText {#text} at (0,0) size 47x18
text run at (0,0) width 47: "foo baz"
RenderText {#text} at (0,0) size 21x18
text run at (0,0) width 21: "foo"
RenderText {#text} at (21,0) size 26x18
text run at (21,0) width 26: " baz"
caret: position 3 of child 0 {#text} of child 2 {DIV} of child 1 {BODY} of child 0 {HTML} of document
0a5c2b2b7bad40c81b0e4debae824225
\ No newline at end of file
525ceb25cf121ec5a32160f68cfef2b8
\ No newline at end of file
EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 1 of DIV > BODY > HTML > #document
EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 5 of #text > DIV > BODY > HTML > #document to 5 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 5 of #text > DIV > BODY > HTML > #document to 5 of #text > DIV > BODY > HTML > #document toDOMRange:range from 4 of #text > DIV > BODY > HTML > #document to 1 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldDeleteDOMRange:range from 4 of #text > DIV > BODY > HTML > #document to 7 of #text > DIV > BODY > HTML > #document
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 4 of #text > DIV > BODY > HTML > #document to 7 of #text > DIV > BODY > HTML > #document toDOMRange:range from 3 of #text > DIV > BODY > HTML > #document to 3 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: shouldDeleteDOMRange:range from 4 of #text > DIV > BODY > HTML > #document to 1 of #text > DIV > BODY > HTML > #document
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV > BODY > HTML > #document to 1 of #text > DIV > BODY > HTML > #document toDOMRange:range from 3 of #text > DIV > BODY > HTML > #document to 3 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
layer at (0,0) size 800x600
......@@ -18,8 +18,10 @@ layer at (0,0) size 800x600
text run at (0,0) width 392: "This tests deleting a selection created with a word granularity. "
text run at (392,0) width 353: "To run it manually, double click on 'bar' and hit forward"
text run at (0,18) width 45: "delete. "
text run at (45,18) width 157: "You should see 'foo bar'."
text run at (45,18) width 159: "You should see 'foo baz'."
RenderBlock {DIV} at (0,52) size 784x18
RenderText {#text} at (0,0) size 47x18
text run at (0,0) width 47: "foo baz"
RenderText {#text} at (0,0) size 21x18
text run at (0,0) width 21: "foo"
RenderText {#text} at (21,0) size 26x18
text run at (21,0) width 26: " baz"
caret: position 3 of child 0 {#text} of child 2 {DIV} of child 1 {BODY} of child 0 {HTML} of document
92646eb03b7f57331e21b2307263446e
\ No newline at end of file
3d3191296d52f9a79e4d6cc041582b91
\ No newline at end of file
......@@ -12,10 +12,12 @@ layer at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x584
RenderBlock {P} at (0,0) size 784x18
RenderText {#text} at (0,0) size 757x18
text run at (0,0) width 757: "This test does a drag and drop such that the selection around the dragged word is no longer in the document on the drop."
RenderBlock {DIV} at (0,34) size 784x18
RenderBlock {P} at (0,0) size 784x54
RenderText {#text} at (0,0) size 756x54
text run at (0,0) width 719: "This tests non-smartmove drag/drop. The space should be deleted on move, but not reinserted on drop, resulting in"
text run at (0,18) width 756: "\"worldhello\". Currently there's a bug (https://bugs.webkit.org/show_bug.cgi?id=35314) where the space is reinserted on"
text run at (0,36) width 33: "drop."
RenderBlock {DIV} at (0,70) size 784x18
RenderText {#text} at (0,0) size 37x18
text run at (0,0) width 37: "world"
RenderText {#text} at (37,0) size 35x18
......