| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights |
| 3 * reserved. | 3 * reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 352 const PositionWithAffinityTemplate<Strategy>& c) { | 352 const PositionWithAffinityTemplate<Strategy>& c) { |
| 353 // TODO: this is the current behavior that might need to be fixed. | 353 // TODO: this is the current behavior that might need to be fixed. |
| 354 // Please refer to https://bugs.webkit.org/show_bug.cgi?id=49107 for detail. | 354 // Please refer to https://bugs.webkit.org/show_bug.cgi?id=49107 for detail. |
| 355 PositionWithAffinityTemplate<Strategy> vis_pos = | 355 PositionWithAffinityTemplate<Strategy> vis_pos = |
| 356 StartPositionForLine(c, kUseLogicalOrdering); | 356 StartPositionForLine(c, kUseLogicalOrdering); |
| 357 | 357 |
| 358 if (ContainerNode* editable_root = HighestEditableRoot(c.GetPosition())) { | 358 if (ContainerNode* editable_root = HighestEditableRoot(c.GetPosition())) { |
| 359 if (!editable_root->contains( | 359 if (!editable_root->contains( |
| 360 vis_pos.GetPosition().ComputeContainerNode())) { | 360 vis_pos.GetPosition().ComputeContainerNode())) { |
| 361 return PositionWithAffinityTemplate<Strategy>( | 361 return PositionWithAffinityTemplate<Strategy>( |
| 362 PositionTemplate<Strategy>::FirstPositionInNode(editable_root)); | 362 PositionTemplate<Strategy>::FirstPositionInNode(*editable_root)); |
| 363 } | 363 } |
| 364 } | 364 } |
| 365 | 365 |
| 366 return HonorEditingBoundaryAtOrBefore(vis_pos, c.GetPosition()); | 366 return HonorEditingBoundaryAtOrBefore(vis_pos, c.GetPosition()); |
| 367 } | 367 } |
| 368 | 368 |
| 369 VisiblePosition LogicalStartOfLine(const VisiblePosition& current_position) { | 369 VisiblePosition LogicalStartOfLine(const VisiblePosition& current_position) { |
| 370 DCHECK(current_position.IsValid()) << current_position; | 370 DCHECK(current_position.IsValid()) << current_position; |
| 371 return CreateVisiblePosition(LogicalStartOfLineAlgorithm<EditingStrategy>( | 371 return CreateVisiblePosition(LogicalStartOfLineAlgorithm<EditingStrategy>( |
| 372 current_position.ToPositionWithAffinity())); | 372 current_position.ToPositionWithAffinity())); |
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 747 // to the end of the line we're on. | 747 // to the end of the line we're on. |
| 748 Element* root_element = HasEditableStyle(*node, editable_type) | 748 Element* root_element = HasEditableStyle(*node, editable_type) |
| 749 ? RootEditableElement(*node, editable_type) | 749 ? RootEditableElement(*node, editable_type) |
| 750 : node->GetDocument().documentElement(); | 750 : node->GetDocument().documentElement(); |
| 751 if (!root_element) | 751 if (!root_element) |
| 752 return VisiblePosition(); | 752 return VisiblePosition(); |
| 753 return VisiblePosition::LastPositionInNode(root_element); | 753 return VisiblePosition::LastPositionInNode(root_element); |
| 754 } | 754 } |
| 755 | 755 |
| 756 } // namespace blink | 756 } // namespace blink |
| OLD | NEW |