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

Side by Side Diff: Source/core/editing/VisibleUnits.cpp

Issue 1298233004: Move a member function parentEditingBoundary() out from PositionAlgorithm<Strategy> template class (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 2015-08-19T22:31:05 Rebase Created 5 years, 4 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
« no previous file with comments | « Source/core/editing/Position.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed.
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 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 } 453 }
454 454
455 455
456 enum BoundarySearchContextAvailability { DontHaveMoreContext, MayHaveMoreContext }; 456 enum BoundarySearchContextAvailability { DontHaveMoreContext, MayHaveMoreContext };
457 457
458 typedef unsigned (*BoundarySearchFunction)(const UChar*, unsigned length, unsign ed offset, BoundarySearchContextAvailability, bool& needMoreContext); 458 typedef unsigned (*BoundarySearchFunction)(const UChar*, unsigned length, unsign ed offset, BoundarySearchContextAvailability, bool& needMoreContext);
459 459
460 static VisiblePosition previousBoundary(const VisiblePosition& c, BoundarySearch Function searchFunction) 460 static VisiblePosition previousBoundary(const VisiblePosition& c, BoundarySearch Function searchFunction)
461 { 461 {
462 Position pos = c.deepEquivalent(); 462 Position pos = c.deepEquivalent();
463 Node* boundary = pos.parentEditingBoundary(); 463 Node* boundary = parentEditingBoundary(pos);
464 if (!boundary) 464 if (!boundary)
465 return VisiblePosition(); 465 return VisiblePosition();
466 466
467 Document& d = boundary->document(); 467 Document& d = boundary->document();
468 Position start = Position::editingPositionOf(boundary, 0).parentAnchoredEqui valent(); 468 Position start = Position::editingPositionOf(boundary, 0).parentAnchoredEqui valent();
469 Position end = pos.parentAnchoredEquivalent(); 469 Position end = pos.parentAnchoredEquivalent();
470 470
471 Vector<UChar, 1024> string; 471 Vector<UChar, 1024> string;
472 unsigned suffixLength = 0; 472 unsigned suffixLength = 0;
473 473
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
531 // Use the character iterator to translate the next value into a DOM positio n. 531 // Use the character iterator to translate the next value into a DOM positio n.
532 BackwardsCharacterIterator charIt(start, end); 532 BackwardsCharacterIterator charIt(start, end);
533 charIt.advance(string.size() - suffixLength - next); 533 charIt.advance(string.size() - suffixLength - next);
534 // FIXME: charIt can get out of shadow host. 534 // FIXME: charIt can get out of shadow host.
535 return VisiblePosition(charIt.endPosition()); 535 return VisiblePosition(charIt.endPosition());
536 } 536 }
537 537
538 static VisiblePosition nextBoundary(const VisiblePosition& c, BoundarySearchFunc tion searchFunction) 538 static VisiblePosition nextBoundary(const VisiblePosition& c, BoundarySearchFunc tion searchFunction)
539 { 539 {
540 Position pos = c.deepEquivalent(); 540 Position pos = c.deepEquivalent();
541 Node* boundary = pos.parentEditingBoundary(); 541 Node* boundary = parentEditingBoundary(pos);
542 if (!boundary) 542 if (!boundary)
543 return VisiblePosition(); 543 return VisiblePosition();
544 544
545 Document& d = boundary->document(); 545 Document& d = boundary->document();
546 Position start(pos.parentAnchoredEquivalent()); 546 Position start(pos.parentAnchoredEquivalent());
547 547
548 Vector<UChar, 1024> string; 548 Vector<UChar, 1024> string;
549 unsigned prefixLength = 0; 549 unsigned prefixLength = 0;
550 550
551 if (requiresContextForWordBoundary(c.characterAfter())) { 551 if (requiresContextForWordBoundary(c.characterAfter())) {
(...skipping 1044 matching lines...) Expand 10 before | Expand all | Expand 10 after
1596 1596
1597 if (previousRenderedEditable(position1.anchorNode()) == position2.anchorNode () 1597 if (previousRenderedEditable(position1.anchorNode()) == position2.anchorNode ()
1598 && !renderedOffset1 && renderedOffset2 == caretMaxOffset(position2.ancho rNode())) { 1598 && !renderedOffset1 && renderedOffset2 == caretMaxOffset(position2.ancho rNode())) {
1599 return false; 1599 return false;
1600 } 1600 }
1601 1601
1602 return true; 1602 return true;
1603 } 1603 }
1604 1604
1605 } 1605 }
OLDNEW
« no previous file with comments | « Source/core/editing/Position.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698