Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(295)

Side by Side Diff: third_party/WebKit/Source/core/editing/SelectionModifier.cpp

Issue 2341053002: Mark the createVisiblePosition overloads as deprecated (Closed)
Patch Set: minor revision Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 bool movingBackwardsMovedPositionToStartOfCurrentWord = positionAfterCur rentWord.deepEquivalent() == previousWordPosition(nextWordPosition(originalPosit ion)).deepEquivalent(); 169 bool movingBackwardsMovedPositionToStartOfCurrentWord = positionAfterCur rentWord.deepEquivalent() == previousWordPosition(nextWordPosition(originalPosit ion)).deepEquivalent();
170 if (movingBackwardsMovedPositionToStartOfCurrentWord) 170 if (movingBackwardsMovedPositionToStartOfCurrentWord)
171 positionAfterCurrentWord = positionAfterSpacingAndFollowingWord; 171 positionAfterCurrentWord = positionAfterSpacingAndFollowingWord;
172 } 172 }
173 return positionAfterCurrentWord; 173 return positionAfterCurrentWord;
174 } 174 }
175 175
176 static void adjustPositionForUserSelectAll(VisiblePosition& pos, bool isForward) 176 static void adjustPositionForUserSelectAll(VisiblePosition& pos, bool isForward)
177 { 177 {
178 if (Node* rootUserSelectAll = EditingStrategy::rootUserSelectAllForNode(pos. deepEquivalent().anchorNode())) 178 if (Node* rootUserSelectAll = EditingStrategy::rootUserSelectAllForNode(pos. deepEquivalent().anchorNode()))
179 pos = createVisiblePosition(isForward ? mostForwardCaretPosition(Positio n::afterNode(rootUserSelectAll), CanCrossEditingBoundary) : mostBackwardCaretPos ition(Position::beforeNode(rootUserSelectAll), CanCrossEditingBoundary)); 179 pos = createVisiblePositionDeprecated(isForward ? mostForwardCaretPositi on(Position::afterNode(rootUserSelectAll), CanCrossEditingBoundary) : mostBackwa rdCaretPosition(Position::beforeNode(rootUserSelectAll), CanCrossEditingBoundary ));
180 } 180 }
181 181
182 VisiblePosition SelectionModifier::modifyExtendingRight(TextGranularity granular ity) 182 VisiblePosition SelectionModifier::modifyExtendingRight(TextGranularity granular ity)
183 { 183 {
184 VisiblePosition pos = createVisiblePosition(m_selection.extent(), m_selectio n.affinity()); 184 VisiblePosition pos = createVisiblePositionDeprecated(m_selection.extent(), m_selection.affinity());
185 185
186 // The difference between modifyExtendingRight and modifyExtendingForward is : 186 // The difference between modifyExtendingRight and modifyExtendingForward is :
187 // modifyExtendingForward always extends forward logically. 187 // modifyExtendingForward always extends forward logically.
188 // modifyExtendingRight behaves the same as modifyExtendingForward except fo r extending character or word, 188 // modifyExtendingRight behaves the same as modifyExtendingForward except fo r extending character or word,
189 // it extends forward logically if the enclosing block is LTR direction, 189 // it extends forward logically if the enclosing block is LTR direction,
190 // but it extends backward logically if the enclosing block is RTL direction . 190 // but it extends backward logically if the enclosing block is RTL direction .
191 switch (granularity) { 191 switch (granularity) {
192 case CharacterGranularity: 192 case CharacterGranularity:
193 if (directionOfEnclosingBlock() == LTR) 193 if (directionOfEnclosingBlock() == LTR)
194 pos = nextPositionOf(pos, CanSkipOverEditingBoundary); 194 pos = nextPositionOf(pos, CanSkipOverEditingBoundary);
(...skipping 21 matching lines...) Expand all
216 // FIXME: implement all of the above? 216 // FIXME: implement all of the above?
217 pos = modifyExtendingForward(granularity); 217 pos = modifyExtendingForward(granularity);
218 break; 218 break;
219 } 219 }
220 adjustPositionForUserSelectAll(pos, directionOfEnclosingBlock() == LTR); 220 adjustPositionForUserSelectAll(pos, directionOfEnclosingBlock() == LTR);
221 return pos; 221 return pos;
222 } 222 }
223 223
224 VisiblePosition SelectionModifier::modifyExtendingForward(TextGranularity granul arity) 224 VisiblePosition SelectionModifier::modifyExtendingForward(TextGranularity granul arity)
225 { 225 {
226 VisiblePosition pos = createVisiblePosition(m_selection.extent(), m_selectio n.affinity()); 226 VisiblePosition pos = createVisiblePositionDeprecated(m_selection.extent(), m_selection.affinity());
227 switch (granularity) { 227 switch (granularity) {
228 case CharacterGranularity: 228 case CharacterGranularity:
229 pos = nextPositionOf(pos, CanSkipOverEditingBoundary); 229 pos = nextPositionOf(pos, CanSkipOverEditingBoundary);
230 break; 230 break;
231 case WordGranularity: 231 case WordGranularity:
232 pos = nextWordPositionForPlatform(pos); 232 pos = nextWordPositionForPlatform(pos);
233 break; 233 break;
234 case SentenceGranularity: 234 case SentenceGranularity:
235 pos = nextSentencePosition(pos); 235 pos = nextSentencePosition(pos);
236 break; 236 break;
(...skipping 24 matching lines...) Expand all
261 return pos; 261 return pos;
262 } 262 }
263 263
264 VisiblePosition SelectionModifier::modifyMovingRight(TextGranularity granularity ) 264 VisiblePosition SelectionModifier::modifyMovingRight(TextGranularity granularity )
265 { 265 {
266 VisiblePosition pos; 266 VisiblePosition pos;
267 switch (granularity) { 267 switch (granularity) {
268 case CharacterGranularity: 268 case CharacterGranularity:
269 if (m_selection.isRange()) { 269 if (m_selection.isRange()) {
270 if (directionOfSelection() == LTR) 270 if (directionOfSelection() == LTR)
271 pos = createVisiblePosition(m_selection.end(), m_selection.affin ity()); 271 pos = createVisiblePositionDeprecated(m_selection.end(), m_selec tion.affinity());
272 else 272 else
273 pos = createVisiblePosition(m_selection.start(), m_selection.aff inity()); 273 pos = createVisiblePositionDeprecated(m_selection.start(), m_sel ection.affinity());
274 } else { 274 } else {
275 pos = rightPositionOf(createVisiblePosition(m_selection.extent(), m_ selection.affinity())); 275 pos = rightPositionOf(createVisiblePositionDeprecated(m_selection.ex tent(), m_selection.affinity()));
276 } 276 }
277 break; 277 break;
278 case WordGranularity: { 278 case WordGranularity: {
279 bool skipsSpaceWhenMovingRight = frame() && frame()->editor().behavior() .shouldSkipSpaceWhenMovingRight(); 279 bool skipsSpaceWhenMovingRight = frame() && frame()->editor().behavior() .shouldSkipSpaceWhenMovingRight();
280 pos = rightWordPosition(createVisiblePosition(m_selection.extent(), m_se lection.affinity()), skipsSpaceWhenMovingRight); 280 pos = rightWordPosition(createVisiblePositionDeprecated(m_selection.exte nt(), m_selection.affinity()), skipsSpaceWhenMovingRight);
281 break; 281 break;
282 } 282 }
283 case SentenceGranularity: 283 case SentenceGranularity:
284 case LineGranularity: 284 case LineGranularity:
285 case ParagraphGranularity: 285 case ParagraphGranularity:
286 case SentenceBoundary: 286 case SentenceBoundary:
287 case ParagraphBoundary: 287 case ParagraphBoundary:
288 case DocumentBoundary: 288 case DocumentBoundary:
289 // FIXME: Implement all of the above. 289 // FIXME: Implement all of the above.
290 pos = modifyMovingForward(granularity); 290 pos = modifyMovingForward(granularity);
291 break; 291 break;
292 case LineBoundary: 292 case LineBoundary:
293 pos = rightBoundaryOfLine(startForPlatform(), directionOfEnclosingBlock( )); 293 pos = rightBoundaryOfLine(startForPlatform(), directionOfEnclosingBlock( ));
294 break; 294 break;
295 } 295 }
296 return pos; 296 return pos;
297 } 297 }
298 298
299 VisiblePosition SelectionModifier::modifyMovingForward(TextGranularity granulari ty) 299 VisiblePosition SelectionModifier::modifyMovingForward(TextGranularity granulari ty)
300 { 300 {
301 VisiblePosition pos; 301 VisiblePosition pos;
302 // FIXME: Stay in editable content for the less common granularities. 302 // FIXME: Stay in editable content for the less common granularities.
303 switch (granularity) { 303 switch (granularity) {
304 case CharacterGranularity: 304 case CharacterGranularity:
305 if (m_selection.isRange()) 305 if (m_selection.isRange())
306 pos = createVisiblePosition(m_selection.end(), m_selection.affinity( )); 306 pos = createVisiblePositionDeprecated(m_selection.end(), m_selection .affinity());
307 else 307 else
308 pos = nextPositionOf(createVisiblePosition(m_selection.extent(), m_s election.affinity()), CanSkipOverEditingBoundary); 308 pos = nextPositionOf(createVisiblePositionDeprecated(m_selection.ext ent(), m_selection.affinity()), CanSkipOverEditingBoundary);
309 break; 309 break;
310 case WordGranularity: 310 case WordGranularity:
311 pos = nextWordPositionForPlatform(createVisiblePosition(m_selection.exte nt(), m_selection.affinity())); 311 pos = nextWordPositionForPlatform(createVisiblePositionDeprecated(m_sele ction.extent(), m_selection.affinity()));
312 break; 312 break;
313 case SentenceGranularity: 313 case SentenceGranularity:
314 pos = nextSentencePosition(createVisiblePosition(m_selection.extent(), m _selection.affinity())); 314 pos = nextSentencePosition(createVisiblePositionDeprecated(m_selection.e xtent(), m_selection.affinity()));
315 break; 315 break;
316 case LineGranularity: { 316 case LineGranularity: {
317 // down-arrowing from a range selection that ends at the start of a line needs 317 // down-arrowing from a range selection that ends at the start of a line needs
318 // to leave the selection at that line start (no need to call nextLinePo sition!) 318 // to leave the selection at that line start (no need to call nextLinePo sition!)
319 pos = endForPlatform(); 319 pos = endForPlatform();
320 if (!m_selection.isRange() || !isStartOfLine(pos)) 320 if (!m_selection.isRange() || !isStartOfLine(pos))
321 pos = nextLinePosition(pos, lineDirectionPointForBlockDirectionNavig ation(START)); 321 pos = nextLinePosition(pos, lineDirectionPointForBlockDirectionNavig ation(START));
322 break; 322 break;
323 } 323 }
324 case ParagraphGranularity: 324 case ParagraphGranularity:
(...skipping 14 matching lines...) Expand all
339 pos = endOfEditableContent(pos); 339 pos = endOfEditableContent(pos);
340 else 340 else
341 pos = endOfDocument(pos); 341 pos = endOfDocument(pos);
342 break; 342 break;
343 } 343 }
344 return pos; 344 return pos;
345 } 345 }
346 346
347 VisiblePosition SelectionModifier::modifyExtendingLeft(TextGranularity granulari ty) 347 VisiblePosition SelectionModifier::modifyExtendingLeft(TextGranularity granulari ty)
348 { 348 {
349 VisiblePosition pos = createVisiblePosition(m_selection.extent(), m_selectio n.affinity()); 349 VisiblePosition pos = createVisiblePositionDeprecated(m_selection.extent(), m_selection.affinity());
350 350
351 // The difference between modifyExtendingLeft and modifyExtendingBackward is : 351 // The difference between modifyExtendingLeft and modifyExtendingBackward is :
352 // modifyExtendingBackward always extends backward logically. 352 // modifyExtendingBackward always extends backward logically.
353 // modifyExtendingLeft behaves the same as modifyExtendingBackward except fo r extending character or word, 353 // modifyExtendingLeft behaves the same as modifyExtendingBackward except fo r extending character or word,
354 // it extends backward logically if the enclosing block is LTR direction, 354 // it extends backward logically if the enclosing block is LTR direction,
355 // but it extends forward logically if the enclosing block is RTL direction. 355 // but it extends forward logically if the enclosing block is RTL direction.
356 switch (granularity) { 356 switch (granularity) {
357 case CharacterGranularity: 357 case CharacterGranularity:
358 if (directionOfEnclosingBlock() == LTR) 358 if (directionOfEnclosingBlock() == LTR)
359 pos = previousPositionOf(pos, CanSkipOverEditingBoundary); 359 pos = previousPositionOf(pos, CanSkipOverEditingBoundary);
(...skipping 20 matching lines...) Expand all
380 case DocumentBoundary: 380 case DocumentBoundary:
381 pos = modifyExtendingBackward(granularity); 381 pos = modifyExtendingBackward(granularity);
382 break; 382 break;
383 } 383 }
384 adjustPositionForUserSelectAll(pos, !(directionOfEnclosingBlock() == LTR)); 384 adjustPositionForUserSelectAll(pos, !(directionOfEnclosingBlock() == LTR));
385 return pos; 385 return pos;
386 } 386 }
387 387
388 VisiblePosition SelectionModifier::modifyExtendingBackward(TextGranularity granu larity) 388 VisiblePosition SelectionModifier::modifyExtendingBackward(TextGranularity granu larity)
389 { 389 {
390 VisiblePosition pos = createVisiblePosition(m_selection.extent(), m_selectio n.affinity()); 390 VisiblePosition pos = createVisiblePositionDeprecated(m_selection.extent(), m_selection.affinity());
391 391
392 // Extending a selection backward by word or character from just after a tab le selects 392 // Extending a selection backward by word or character from just after a tab le selects
393 // the table. This "makes sense" from the user perspective, esp. when delet ing. 393 // the table. This "makes sense" from the user perspective, esp. when delet ing.
394 // It was done here instead of in VisiblePosition because we want VPs to ite rate 394 // It was done here instead of in VisiblePosition because we want VPs to ite rate
395 // over everything. 395 // over everything.
396 switch (granularity) { 396 switch (granularity) {
397 case CharacterGranularity: 397 case CharacterGranularity:
398 pos = previousPositionOf(pos, CanSkipOverEditingBoundary); 398 pos = previousPositionOf(pos, CanSkipOverEditingBoundary);
399 break; 399 break;
400 case WordGranularity: 400 case WordGranularity:
(...skipping 29 matching lines...) Expand all
430 return pos; 430 return pos;
431 } 431 }
432 432
433 VisiblePosition SelectionModifier::modifyMovingLeft(TextGranularity granularity) 433 VisiblePosition SelectionModifier::modifyMovingLeft(TextGranularity granularity)
434 { 434 {
435 VisiblePosition pos; 435 VisiblePosition pos;
436 switch (granularity) { 436 switch (granularity) {
437 case CharacterGranularity: 437 case CharacterGranularity:
438 if (m_selection.isRange()) { 438 if (m_selection.isRange()) {
439 if (directionOfSelection() == LTR) 439 if (directionOfSelection() == LTR)
440 pos = createVisiblePosition(m_selection.start(), m_selection.aff inity()); 440 pos = createVisiblePositionDeprecated(m_selection.start(), m_sel ection.affinity());
441 else 441 else
442 pos = createVisiblePosition(m_selection.end(), m_selection.affin ity()); 442 pos = createVisiblePositionDeprecated(m_selection.end(), m_selec tion.affinity());
443 } else { 443 } else {
444 pos = leftPositionOf(createVisiblePosition(m_selection.extent(), m_s election.affinity())); 444 pos = leftPositionOf(createVisiblePositionDeprecated(m_selection.ext ent(), m_selection.affinity()));
445 } 445 }
446 break; 446 break;
447 case WordGranularity: { 447 case WordGranularity: {
448 bool skipsSpaceWhenMovingRight = frame() && frame()->editor().behavior() .shouldSkipSpaceWhenMovingRight(); 448 bool skipsSpaceWhenMovingRight = frame() && frame()->editor().behavior() .shouldSkipSpaceWhenMovingRight();
449 pos = leftWordPosition(createVisiblePosition(m_selection.extent(), m_sel ection.affinity()), skipsSpaceWhenMovingRight); 449 pos = leftWordPosition(createVisiblePositionDeprecated(m_selection.exten t(), m_selection.affinity()), skipsSpaceWhenMovingRight);
450 break; 450 break;
451 } 451 }
452 case SentenceGranularity: 452 case SentenceGranularity:
453 case LineGranularity: 453 case LineGranularity:
454 case ParagraphGranularity: 454 case ParagraphGranularity:
455 case SentenceBoundary: 455 case SentenceBoundary:
456 case ParagraphBoundary: 456 case ParagraphBoundary:
457 case DocumentBoundary: 457 case DocumentBoundary:
458 // FIXME: Implement all of the above. 458 // FIXME: Implement all of the above.
459 pos = modifyMovingBackward(granularity); 459 pos = modifyMovingBackward(granularity);
460 break; 460 break;
461 case LineBoundary: 461 case LineBoundary:
462 pos = leftBoundaryOfLine(startForPlatform(), directionOfEnclosingBlock() ); 462 pos = leftBoundaryOfLine(startForPlatform(), directionOfEnclosingBlock() );
463 break; 463 break;
464 } 464 }
465 return pos; 465 return pos;
466 } 466 }
467 467
468 VisiblePosition SelectionModifier::modifyMovingBackward(TextGranularity granular ity) 468 VisiblePosition SelectionModifier::modifyMovingBackward(TextGranularity granular ity)
469 { 469 {
470 VisiblePosition pos; 470 VisiblePosition pos;
471 switch (granularity) { 471 switch (granularity) {
472 case CharacterGranularity: 472 case CharacterGranularity:
473 if (m_selection.isRange()) 473 if (m_selection.isRange())
474 pos = createVisiblePosition(m_selection.start(), m_selection.affinit y()); 474 pos = createVisiblePositionDeprecated(m_selection.start(), m_selecti on.affinity());
475 else 475 else
476 pos = previousPositionOf(createVisiblePosition(m_selection.extent(), m_selection.affinity()), CanSkipOverEditingBoundary); 476 pos = previousPositionOf(createVisiblePositionDeprecated(m_selection .extent(), m_selection.affinity()), CanSkipOverEditingBoundary);
477 break; 477 break;
478 case WordGranularity: 478 case WordGranularity:
479 pos = previousWordPosition(createVisiblePosition(m_selection.extent(), m _selection.affinity())); 479 pos = previousWordPosition(createVisiblePositionDeprecated(m_selection.e xtent(), m_selection.affinity()));
480 break; 480 break;
481 case SentenceGranularity: 481 case SentenceGranularity:
482 pos = previousSentencePosition(createVisiblePosition(m_selection.extent( ), m_selection.affinity())); 482 pos = previousSentencePosition(createVisiblePositionDeprecated(m_selecti on.extent(), m_selection.affinity()));
483 break; 483 break;
484 case LineGranularity: 484 case LineGranularity:
485 pos = previousLinePosition(startForPlatform(), lineDirectionPointForBloc kDirectionNavigation(START)); 485 pos = previousLinePosition(startForPlatform(), lineDirectionPointForBloc kDirectionNavigation(START));
486 break; 486 break;
487 case ParagraphGranularity: 487 case ParagraphGranularity:
488 pos = previousParagraphPosition(startForPlatform(), lineDirectionPointFo rBlockDirectionNavigation(START)); 488 pos = previousParagraphPosition(startForPlatform(), lineDirectionPointFo rBlockDirectionNavigation(START));
489 break; 489 break;
490 case SentenceBoundary: 490 case SentenceBoundary:
491 pos = startOfSentence(startForPlatform()); 491 pos = startOfSentence(startForPlatform());
492 break; 492 break;
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 { 635 {
636 if (!verticalDistance) 636 if (!verticalDistance)
637 return false; 637 return false;
638 638
639 willBeModified(alter, direction == FrameSelection::DirectionUp ? DirectionBa ckward : DirectionForward); 639 willBeModified(alter, direction == FrameSelection::DirectionUp ? DirectionBa ckward : DirectionForward);
640 640
641 VisiblePosition pos; 641 VisiblePosition pos;
642 LayoutUnit xPos; 642 LayoutUnit xPos;
643 switch (alter) { 643 switch (alter) {
644 case FrameSelection::AlterationMove: 644 case FrameSelection::AlterationMove:
645 pos = createVisiblePosition(direction == FrameSelection::DirectionUp ? m _selection.start() : m_selection.end(), m_selection.affinity()); 645 pos = createVisiblePositionDeprecated(direction == FrameSelection::Direc tionUp ? m_selection.start() : m_selection.end(), m_selection.affinity());
646 xPos = lineDirectionPointForBlockDirectionNavigation(direction == FrameS election::DirectionUp ? START : END); 646 xPos = lineDirectionPointForBlockDirectionNavigation(direction == FrameS election::DirectionUp ? START : END);
647 m_selection.setAffinity(direction == FrameSelection::DirectionUp ? TextA ffinity::Upstream : TextAffinity::Downstream); 647 m_selection.setAffinity(direction == FrameSelection::DirectionUp ? TextA ffinity::Upstream : TextAffinity::Downstream);
648 break; 648 break;
649 case FrameSelection::AlterationExtend: 649 case FrameSelection::AlterationExtend:
650 pos = createVisiblePosition(m_selection.extent(), m_selection.affinity() ); 650 pos = createVisiblePositionDeprecated(m_selection.extent(), m_selection. affinity());
651 xPos = lineDirectionPointForBlockDirectionNavigation(EXTENT); 651 xPos = lineDirectionPointForBlockDirectionNavigation(EXTENT);
652 m_selection.setAffinity(TextAffinity::Downstream); 652 m_selection.setAffinity(TextAffinity::Downstream);
653 break; 653 break;
654 } 654 }
655 655
656 int startY; 656 int startY;
657 if (!absoluteCaretY(pos, startY)) 657 if (!absoluteCaretY(pos, startY))
658 return false; 658 return false;
659 if (direction == FrameSelection::DirectionUp) 659 if (direction == FrameSelection::DirectionUp)
660 startY = -startY; 660 startY = -startY;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
743 case EXTENT: 743 case EXTENT:
744 pos = m_selection.extent(); 744 pos = m_selection.extent();
745 break; 745 break;
746 } 746 }
747 747
748 LocalFrame* frame = pos.document()->frame(); 748 LocalFrame* frame = pos.document()->frame();
749 if (!frame) 749 if (!frame)
750 return x; 750 return x;
751 751
752 if (m_xPosForVerticalArrowNavigation == NoXPosForVerticalArrowNavigation()) { 752 if (m_xPosForVerticalArrowNavigation == NoXPosForVerticalArrowNavigation()) {
753 VisiblePosition visiblePosition = createVisiblePosition(pos, m_selection .affinity()); 753 VisiblePosition visiblePosition = createVisiblePositionDeprecated(pos, m _selection.affinity());
754 // VisiblePosition creation can fail here if a node containing the selec tion becomes visibility:hidden 754 // VisiblePosition creation can fail here if a node containing the selec tion becomes visibility:hidden
755 // after the selection is created and before this function is called. 755 // after the selection is created and before this function is called.
756 x = lineDirectionPointForBlockDirectionNavigationOf(visiblePosition); 756 x = lineDirectionPointForBlockDirectionNavigationOf(visiblePosition);
757 m_xPosForVerticalArrowNavigation = x; 757 m_xPosForVerticalArrowNavigation = x;
758 } else { 758 } else {
759 x = m_xPosForVerticalArrowNavigation; 759 x = m_xPosForVerticalArrowNavigation;
760 } 760 }
761 761
762 return x; 762 return x;
763 } 763 }
764 764
765 DEFINE_TRACE(SelectionModifier) 765 DEFINE_TRACE(SelectionModifier)
766 { 766 {
767 visitor->trace(m_frame); 767 visitor->trace(m_frame);
768 visitor->trace(m_selection); 768 visitor->trace(m_selection);
769 } 769 }
770 770
771 } // namespace blink 771 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698