Changeset 75018 in webkit
- Timestamp:
- Jan 4, 2011 3:05:18 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r75016 r75018 1 2011-01-04 Xiaomei Ji <xji@chromium.org> 2 3 Implement sel.modify('move', 'left'/'right', 'lineBoundary'). 4 https://bugs.webkit.org/show_bug.cgi?id=33435 5 6 * editing/selection/home-end-expected.txt: 7 * editing/selection/home-end.html: 8 1 9 2011-01-04 Martin Robinson <mrobinson@igalia.com> 2 10 -
trunk/LayoutTests/editing/selection/home-end-expected.txt
r72861 r75018 1 Test Moving forward/backward 1 2 Test 1, LTR: 2 3 Moving forward: "\nabc ABC xyz DEF def\n"[1, 20] … … 125 126 Moving forward: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[0, 8] 126 127 Moving backward: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[8, 0] 128 Test Moving right/left 129 Test 1, LTR: 130 Moving right: "\nabc ABC xyz DEF def\n"[1, 20] 131 Moving left: "\nabc ABC xyz DEF def\n"[20, 1] 132 Test 1, RTL: 133 Moving left: "\nabc ABC xyz DEF def\n"[1, 20] 134 Moving right: "\nabc ABC xyz DEF def\n"[20, 1] 135 Test 2, LTR: 136 Moving right: "\nABC xyz DEF def GHI\n"[1, 20] 137 Moving left: "\nABC xyz DEF def GHI\n"[20, 1] 138 Test 2, RTL: 139 Moving left: "\nABC xyz DEF def GHI\n"[1, 20] 140 Moving right: "\nABC xyz DEF def GHI\n"[20, 1] 141 Test 3, LTR: 142 Moving right: "\nABC DEF ABC\n"[1, 12] 143 Moving left: "\nABC DEF ABC\n"[12, 1] 144 Test 3, RTL: 145 Moving left: "\nABC DEF ABC\n"[1, 12] 146 Moving right: "\nABC DEF ABC\n"[12, 1] 147 Test 4, LTR: 148 Moving right: "\nabc efd dabeb\n"[1, 14] 149 Moving left: "\nabc efd dabeb\n"[14, 1] 150 Test 4, RTL: 151 Moving left: "\nabc efd dabeb\n"[1, 14] 152 Moving right: "\nabc efd dabeb\n"[14, 1] 153 Test 5, LTR: 154 Moving right: "Lorem "[0], " amet"[5] 155 Moving left: " amet"[5], "Lorem "[0] 156 Test 5, RTL: 157 Moving left: "Lorem "[0], " amet"[5] 158 Moving right: " amet"[5], "Lorem "[0] 159 Test 6, LTR: 160 Moving right: "Lorem "[0], "ipsum dolor"[11] 161 Moving left: "ipsum dolor"[11], "Lorem "[0] 162 Test 6, RTL: 163 Moving left: "Lorem "[0], "ipsum dolor"[11] 164 Moving right: "ipsum dolor"[11], "Lorem "[0] 165 Test 7, LTR: 166 Moving right: "Lorem "[0], " amet"[5] 167 Moving left: " amet"[5], "Lorem "[0] 168 Test 7, RTL: 169 Moving left: "Lorem "[0], " amet"[5] 170 Moving right: " amet"[5], "Lorem "[0] 171 Test 8, LTR: 172 Moving right: "Lorem "[0, 5] 173 Moving left: "Lorem "[5, 0] 174 Test 8, RTL: 175 Moving left: "Lorem "[0, 5] 176 Moving right: "Lorem "[5, 0] 177 Test 9, LTR: 178 Moving right: "Lorem "[0], " amet"[5] 179 Moving left: " amet"[5], "Lorem "[0] 180 Test 9, RTL: 181 Moving left: "Lorem "[0], " amet"[5] 182 Moving right: " amet"[5], "Lorem "[0] 183 Test 10, LTR: 184 Moving right: "Lorem "[0], "ipsum dolor"[11] 185 Moving left: "ipsum dolor"[11], "Lorem "[0] 186 Test 10, RTL: 187 Moving left: "Lorem "[0], "ipsum dolor"[11] 188 Moving right: "ipsum dolor"[11], "Lorem "[0] 189 Test 11, LTR: 190 Moving right: "Lorem "[0], " amet"[5] 191 Moving left: " amet"[5], "Lorem "[0] 192 Test 11, RTL: 193 Moving left: "Lorem "[0], " amet"[5] 194 Moving right: " amet"[5], "Lorem "[0] 195 Test 12, LTR: 196 Moving right: "Lorem "[0, 5] 197 Moving left: "Lorem "[5, 0] 198 Test 12, RTL: 199 Moving left: "Lorem "[0, 5] 200 Moving right: "Lorem "[5, 0] 201 Test 13, LTR: 202 Moving right: "\n Just\n "[2], "\n BFDX\n"[6] 203 Moving left: "\n BFDX\n"[6], "\n Just\n "[2] 204 Test 13, RTL: 205 Moving left: "\n Just\n "[2], "\n BFDX\n"[6] 206 Moving right: "\n BFDX\n"[6], "\n Just\n "[2] 207 Test 14, LTR: 208 Moving right: "\n Just\n "[2], "\n ever\n"[6] 209 Moving left: "\n ever\n"[6], "\n Just\n "[2] 210 Test 14, RTL: 211 Moving left: "\n Just\n "[2], "\n ever\n"[6] 212 Moving right: "\n ever\n"[6], "\n Just\n "[2] 213 Test 15, LTR: 214 Moving right: "car means ABC."[0, 14] 215 Moving left: "car means ABC."[14, 0] 216 Test 15, RTL: 217 Moving left: "car means ABC."[0, 14] 218 Moving right: "car means ABC."[14, 0] 219 Test 16, LTR: 220 Moving right: "car DEF ABC."[0, 14] 221 Moving left: "car DEF ABC."[14, 0] 222 Test 16, RTL: 223 Moving left: "car DEF ABC."[0, 14] 224 Moving right: "car DEF ABC."[14, 0] 225 Test 17, LTR: 226 Moving right: "he said "car DEF ABC.""[0, 24] 227 Moving left: "he said "car DEF ABC.""[24, 0] 228 Test 17, RTL: 229 Moving left: "he said "car DEF ABC.""[0, 24] 230 Moving right: "he said "car DEF ABC.""[24, 0] 231 Test 18, LTR: 232 Moving right: "GHI JKL MNO 'he said "car DEF ABC"'?"[0, 40] 233 Moving left: "GHI JKL MNO 'he said "car DEF ABC"'?"[40, 0] 234 Test 18, RTL: 235 Moving left: "GHI JKL MNO 'he said "car DEF ABC"'?"[0, 40] 236 Moving right: "GHI JKL MNO 'he said "car DEF ABC"'?"[40, 0] 237 Test 19, LTR: 238 Moving right: "ABC abc DEF"[0, 11] 239 Moving left: "ABC abc DEF"[11, 0] 240 Test 19, RTL: 241 Moving left: "ABC abc DEF"[0, 11] 242 Moving right: "ABC abc DEF"[11, 0] 243 Test 20, LTR: 244 Moving right: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[0, 8] 245 Moving left: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[8, 0] 246 Test 20, RTL: 247 Moving left: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[0, 8] 248 Moving right: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[8, 0] 249 Test 21, LTR: 250 Moving right: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[0, 8] 251 Moving left: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[8, 0] 252 Test 21, RTL: 253 Moving left: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[0, 8] 254 Moving right: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[8, 0] 127 255 -
trunk/LayoutTests/editing/selection/home-end.html
r43032 r75018 72 72 var tests = document.getElementsByClassName("test"); 73 73 var sel = getSelection(); 74 log("Test Moving forward/backward\n"); 74 75 for (var i = 0; i < tests.length; ++i) { 75 var positionsMoving Right;76 var positionsMoving Left;76 var positionsMovingForward; 77 var positionsMovingBackward; 77 78 78 79 log("Test " + (i + 1) + ", LTR:\n Moving forward: "); 79 80 sel.setPosition(tests[i], 0); 80 positionsMoving Right= positionsMovingInDirection(sel, "forward");81 logPositions(positionsMoving Right);81 positionsMovingForward = positionsMovingInDirection(sel, "forward"); 82 logPositions(positionsMovingForward); 82 83 log("\n"); 83 84 84 85 log(" Moving backward: "); 85 positionsMoving Left= positionsMovingInDirection(sel, "backward");86 logPositions(positionsMoving Left);86 positionsMovingBackward = positionsMovingInDirection(sel, "backward"); 87 logPositions(positionsMovingBackward); 87 88 log("\n"); 88 89 … … 91 92 log("Test " + (i + 1) + ", RTL:\n Moving forward: "); 92 93 sel.setPosition(tests[i], 0); 93 positionsMovingLeft = positionsMovingInDirection(sel, "forward"); 94 positionsMovingForward = positionsMovingInDirection(sel, "forward"); 95 logPositions(positionsMovingForward); 96 log("\n"); 97 98 log(" Moving backward: "); 99 positionsMovingBackward = positionsMovingInDirection(sel, "backward"); 100 logPositions(positionsMovingBackward); 101 log("\n"); 102 103 } 104 log("Test Moving right/left\n"); 105 for (var i = 0; i < tests.length; ++i) { 106 var positionsMovingRight; 107 var positionsMovingLeft; 108 109 tests[i].style.direction = "ltr"; 110 111 log("Test " + (i + 1) + ", LTR:\n Moving right: "); 112 sel.setPosition(tests[i], 0); 113 positionsMovingRight = positionsMovingInDirection(sel, "right"); 114 logPositions(positionsMovingRight); 115 log("\n"); 116 117 log(" Moving left: "); 118 positionsMovingLeft = positionsMovingInDirection(sel, "left"); 94 119 logPositions(positionsMovingLeft); 95 120 log("\n"); 96 121 97 log(" Moving backward: "); 98 positionsMovingRight = positionsMovingInDirection(sel, "backward"); 122 tests[i].style.direction = "rtl"; 123 124 log("Test " + (i + 1) + ", RTL:\n Moving left: "); 125 sel.setPosition(tests[i], 0); 126 positionsMovingLeft = positionsMovingInDirection(sel, "left"); 127 logPositions(positionsMovingLeft); 128 log("\n"); 129 130 log(" Moving right: "); 131 positionsMovingRight = positionsMovingInDirection(sel, "right"); 99 132 logPositions(positionsMovingRight); 100 133 log("\n"); -
trunk/WebCore/ChangeLog
r75016 r75018 1 2011-01-04 Xiaomei Ji <xji@chromium.org> 2 3 Reviewed by Dan Bernstein. 4 5 Implement sel.modify('move', 'left'/'right', 'lineBoundary'). 6 https://bugs.webkit.org/show_bug.cgi?id=33435 7 8 * editing/SelectionController.cpp: 9 (WebCore::SelectionController::modifyMovingRight): 10 (WebCore::SelectionController::modifyMovingLeft): 11 * editing/visible_units.cpp: 12 (WebCore::logicalStartOfLine): 13 (WebCore::logicalEndOfLine): 14 (WebCore::leftBoundaryOfLine): 15 (WebCore::rightBoundaryOfLine): 16 * editing/visible_units.h: 17 1 18 2011-01-04 Martin Robinson <mrobinson@igalia.com> 2 19 -
trunk/WebCore/editing/SelectionController.cpp
r74593 r75018 466 466 case ParagraphGranularity: 467 467 case SentenceBoundary: 468 case LineBoundary:469 468 case ParagraphBoundary: 470 469 case DocumentBoundary: 471 470 // FIXME: Implement all of the above. 472 471 pos = modifyMovingForward(granularity); 472 break; 473 case LineBoundary: 474 pos = rightBoundaryOfLine(startForPlatform(), directionOfEnclosingBlock()); 473 475 break; 474 476 } … … 617 619 case ParagraphGranularity: 618 620 case SentenceBoundary: 619 case LineBoundary:620 621 case ParagraphBoundary: 621 622 case DocumentBoundary: 622 623 // FIXME: Implement all of the above. 623 624 pos = modifyMovingBackward(granularity); 625 break; 626 case LineBoundary: 627 pos = leftBoundaryOfLine(startForPlatform(), directionOfEnclosingBlock()); 624 628 break; 625 629 } -
trunk/WebCore/editing/visible_units.cpp
r72887 r75018 1134 1134 VisiblePosition logicalStartOfLine(const VisiblePosition& c) 1135 1135 { 1136 // TODO: this is the current behavior that might need to be fixed. 1137 // Please refer to https://bugs.webkit.org/show_bug.cgi?id=49107 for detail. 1136 1138 VisiblePosition visPos = logicalStartPositionForLine(c); 1137 1139 … … 1180 1182 VisiblePosition logicalEndOfLine(const VisiblePosition& c) 1181 1183 { 1184 // TODO: this is the current behavior that might need to be fixed. 1185 // Please refer to https://bugs.webkit.org/show_bug.cgi?id=49107 for detail. 1186 1182 1187 VisiblePosition visPos = logicalEndPositionForLine(c); 1183 1188 … … 1193 1198 } 1194 1199 1195 } 1200 VisiblePosition leftBoundaryOfLine(const VisiblePosition& c, TextDirection direction) 1201 { 1202 return direction == LTR ? logicalStartOfLine(c) : logicalEndOfLine(c); 1203 } 1204 1205 VisiblePosition rightBoundaryOfLine(const VisiblePosition& c, TextDirection direction) 1206 { 1207 return direction == LTR ? logicalEndOfLine(c) : logicalStartOfLine(c); 1208 } 1209 1210 } -
trunk/WebCore/editing/visible_units.h
r74812 r75018 60 60 VisiblePosition logicalStartOfLine(const VisiblePosition &); 61 61 VisiblePosition logicalEndOfLine(const VisiblePosition &); 62 VisiblePosition leftBoundaryOfLine(const VisiblePosition&, TextDirection); 63 VisiblePosition rightBoundaryOfLine(const VisiblePosition&, TextDirection); 62 64 63 65 // paragraphs (perhaps a misnomer, can be divided by line break elements)
Note: See TracChangeset
for help on using the changeset viewer.