| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2005, 2006, 2007, 2008 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 791 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 802 selection_to_delete = selection_modifier.Selection(); | 802 selection_to_delete = selection_modifier.Selection(); |
| 803 | 803 |
| 804 if (granularity == kCharacterGranularity && | 804 if (granularity == kCharacterGranularity && |
| 805 selection_to_delete.End().ComputeContainerNode() == | 805 selection_to_delete.End().ComputeContainerNode() == |
| 806 selection_to_delete.Start().ComputeContainerNode() && | 806 selection_to_delete.Start().ComputeContainerNode() && |
| 807 selection_to_delete.End().ComputeOffsetInContainerNode() - | 807 selection_to_delete.End().ComputeOffsetInContainerNode() - |
| 808 selection_to_delete.Start().ComputeOffsetInContainerNode() > | 808 selection_to_delete.Start().ComputeOffsetInContainerNode() > |
| 809 1) { | 809 1) { |
| 810 // If there are multiple Unicode code points to be deleted, adjust the | 810 // If there are multiple Unicode code points to be deleted, adjust the |
| 811 // range to match platform conventions. | 811 // range to match platform conventions. |
| 812 selection_to_delete.SetWithoutValidation( | 812 selection_to_delete = |
| 813 selection_to_delete.End(), | 813 VisibleSelection::CreateWithoutValidationDeprecated( |
| 814 PreviousPositionOf(selection_to_delete.End(), | 814 selection_to_delete.End(), |
| 815 PositionMoveType::kBackwardDeletion)); | 815 PreviousPositionOf(selection_to_delete.End(), |
| 816 PositionMoveType::kBackwardDeletion), |
| 817 selection_to_delete.Affinity()); |
| 816 } | 818 } |
| 817 | 819 |
| 818 if (!StartingSelection().IsRange() || | 820 if (!StartingSelection().IsRange() || |
| 819 selection_to_delete.Base() != StartingSelection().Start()) { | 821 selection_to_delete.Base() != StartingSelection().Start()) { |
| 820 selection_after_undo = selection_to_delete; | 822 selection_after_undo = selection_to_delete; |
| 821 } else { | 823 } else { |
| 822 // It's a little tricky to compute what the starting selection would | 824 // It's a little tricky to compute what the starting selection would |
| 823 // have been in the original document. We can't let the VisibleSelection | 825 // have been in the original document. We can't let the VisibleSelection |
| 824 // class's validation kick in or it'll adjust for us based on the | 826 // class's validation kick in or it'll adjust for us based on the |
| 825 // current state of the document and we'll get the wrong result. | 827 // current state of the document and we'll get the wrong result. |
| 826 selection_after_undo.SetWithoutValidation(StartingSelection().End(), | 828 selection_after_undo = |
| 827 selection_to_delete.Extent()); | 829 VisibleSelection::CreateWithoutValidationDeprecated( |
| 830 StartingSelection().End(), selection_to_delete.Extent(), |
| 831 selection_after_undo.Affinity()); |
| 828 } | 832 } |
| 829 break; | 833 break; |
| 830 } | 834 } |
| 831 case kNoSelection: | 835 case kNoSelection: |
| 832 NOTREACHED(); | 836 NOTREACHED(); |
| 833 break; | 837 break; |
| 834 } | 838 } |
| 835 | 839 |
| 836 DCHECK(!selection_to_delete.IsNone()); | 840 DCHECK(!selection_to_delete.IsNone()); |
| 837 if (selection_to_delete.IsNone()) | 841 if (selection_to_delete.IsNone()) |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 948 extra_characters = | 952 extra_characters = |
| 949 selection_to_delete.End().ComputeOffsetInContainerNode() - | 953 selection_to_delete.End().ComputeOffsetInContainerNode() - |
| 950 selection_to_delete.Start().ComputeOffsetInContainerNode(); | 954 selection_to_delete.Start().ComputeOffsetInContainerNode(); |
| 951 else | 955 else |
| 952 extra_characters = | 956 extra_characters = |
| 953 selection_to_delete.End().ComputeOffsetInContainerNode(); | 957 selection_to_delete.End().ComputeOffsetInContainerNode(); |
| 954 extent = Position( | 958 extent = Position( |
| 955 extent.ComputeContainerNode(), | 959 extent.ComputeContainerNode(), |
| 956 extent.ComputeOffsetInContainerNode() + extra_characters); | 960 extent.ComputeOffsetInContainerNode() + extra_characters); |
| 957 } | 961 } |
| 958 selection_after_undo.SetWithoutValidation(StartingSelection().Start(), | 962 selection_after_undo = |
| 959 extent); | 963 VisibleSelection::CreateWithoutValidationDeprecated( |
| 964 StartingSelection().Start(), extent, |
| 965 selection_after_undo.Affinity()); |
| 960 } | 966 } |
| 961 break; | 967 break; |
| 962 } | 968 } |
| 963 case kNoSelection: | 969 case kNoSelection: |
| 964 NOTREACHED(); | 970 NOTREACHED(); |
| 965 break; | 971 break; |
| 966 } | 972 } |
| 967 | 973 |
| 968 DCHECK(!selection_to_delete.IsNone()); | 974 DCHECK(!selection_to_delete.IsNone()); |
| 969 if (selection_to_delete.IsNone()) | 975 if (selection_to_delete.IsNone()) |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1009 } | 1015 } |
| 1010 NOTREACHED(); | 1016 NOTREACHED(); |
| 1011 preserves_typing_style_ = false; | 1017 preserves_typing_style_ = false; |
| 1012 } | 1018 } |
| 1013 | 1019 |
| 1014 bool TypingCommand::IsTypingCommand() const { | 1020 bool TypingCommand::IsTypingCommand() const { |
| 1015 return true; | 1021 return true; |
| 1016 } | 1022 } |
| 1017 | 1023 |
| 1018 } // namespace blink | 1024 } // namespace blink |
| OLD | NEW |