| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2005, 2006, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2005, 2006, 2008 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2009, 2010, 2011 Google Inc. All rights reserved. | 3 * Copyright (C) 2009, 2010, 2011 Google Inc. All rights 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 932 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 943 // Merging forward could result in deleting the destination anchor node. | 943 // Merging forward could result in deleting the destination anchor node. |
| 944 // To avoid this, we add a placeholder node before the start of the paragraph. | 944 // To avoid this, we add a placeholder node before the start of the paragraph. |
| 945 if (endOfParagraph(startOfParagraphToMove).deepEquivalent() == | 945 if (endOfParagraph(startOfParagraphToMove).deepEquivalent() == |
| 946 destination.deepEquivalent()) { | 946 destination.deepEquivalent()) { |
| 947 HTMLBRElement* placeholder = HTMLBRElement::create(document()); | 947 HTMLBRElement* placeholder = HTMLBRElement::create(document()); |
| 948 insertNodeBefore(placeholder, | 948 insertNodeBefore(placeholder, |
| 949 startOfParagraphToMove.deepEquivalent().anchorNode(), | 949 startOfParagraphToMove.deepEquivalent().anchorNode(), |
| 950 editingState); | 950 editingState); |
| 951 if (editingState->isAborted()) | 951 if (editingState->isAborted()) |
| 952 return; | 952 return; |
| 953 |
| 954 // TODO(editing-dev): Use of updateStyleAndLayoutIgnorePendingStylesheets() |
| 955 // needs to be audited. See http://crbug.com/590369 for more details. |
| 953 document().updateStyleAndLayoutIgnorePendingStylesheets(); | 956 document().updateStyleAndLayoutIgnorePendingStylesheets(); |
| 957 |
| 954 destination = VisiblePosition::beforeNode(placeholder); | 958 destination = VisiblePosition::beforeNode(placeholder); |
| 955 startOfParagraphToMove = | 959 startOfParagraphToMove = |
| 956 createVisiblePosition(startOfParagraphToMove.toPositionWithAffinity()); | 960 createVisiblePosition(startOfParagraphToMove.toPositionWithAffinity()); |
| 957 } | 961 } |
| 958 | 962 |
| 959 moveParagraph(startOfParagraphToMove, endOfParagraph(startOfParagraphToMove), | 963 moveParagraph(startOfParagraphToMove, endOfParagraph(startOfParagraphToMove), |
| 960 destination, editingState); | 964 destination, editingState); |
| 961 if (editingState->isAborted()) | 965 if (editingState->isAborted()) |
| 962 return; | 966 return; |
| 963 | 967 |
| (...skipping 1017 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1981 mostForwardCaretPosition(endingSelection().end()).anchorNode(); | 1985 mostForwardCaretPosition(endingSelection().end()).anchorNode(); |
| 1982 Text* textNode = toText(fragment.firstChild()); | 1986 Text* textNode = toText(fragment.firstChild()); |
| 1983 // Our fragment creation code handles tabs, spaces, and newlines, so we don't | 1987 // Our fragment creation code handles tabs, spaces, and newlines, so we don't |
| 1984 // have to worry about those here. | 1988 // have to worry about those here. |
| 1985 | 1989 |
| 1986 Position start = endingSelection().start(); | 1990 Position start = endingSelection().start(); |
| 1987 Position end = replaceSelectedTextInNode(textNode->data()); | 1991 Position end = replaceSelectedTextInNode(textNode->data()); |
| 1988 if (end.isNull()) | 1992 if (end.isNull()) |
| 1989 return false; | 1993 return false; |
| 1990 | 1994 |
| 1995 document().updateStyleAndLayoutIgnorePendingStylesheets(); |
| 1996 |
| 1991 if (nodeAfterInsertionPos && nodeAfterInsertionPos->parentNode() && | 1997 if (nodeAfterInsertionPos && nodeAfterInsertionPos->parentNode() && |
| 1992 isHTMLBRElement(*nodeAfterInsertionPos) && | 1998 isHTMLBRElement(*nodeAfterInsertionPos) && |
| 1993 shouldRemoveEndBR(toHTMLBRElement(nodeAfterInsertionPos), | 1999 shouldRemoveEndBR(toHTMLBRElement(nodeAfterInsertionPos), |
| 1994 VisiblePosition::beforeNode(nodeAfterInsertionPos))) { | 2000 VisiblePosition::beforeNode(nodeAfterInsertionPos))) { |
| 1995 removeNodeAndPruneAncestors(nodeAfterInsertionPos, editingState); | 2001 removeNodeAndPruneAncestors(nodeAfterInsertionPos, editingState); |
| 1996 if (editingState->isAborted()) | 2002 if (editingState->isAborted()) |
| 1997 return false; | 2003 return false; |
| 1998 } | 2004 } |
| 1999 | 2005 |
| 2000 m_startOfInsertedRange = start; | 2006 m_startOfInsertedRange = start; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 2020 visitor->trace(m_startOfInsertedContent); | 2026 visitor->trace(m_startOfInsertedContent); |
| 2021 visitor->trace(m_endOfInsertedContent); | 2027 visitor->trace(m_endOfInsertedContent); |
| 2022 visitor->trace(m_insertionStyle); | 2028 visitor->trace(m_insertionStyle); |
| 2023 visitor->trace(m_documentFragment); | 2029 visitor->trace(m_documentFragment); |
| 2024 visitor->trace(m_startOfInsertedRange); | 2030 visitor->trace(m_startOfInsertedRange); |
| 2025 visitor->trace(m_endOfInsertedRange); | 2031 visitor->trace(m_endOfInsertedRange); |
| 2026 CompositeEditCommand::trace(visitor); | 2032 CompositeEditCommand::trace(visitor); |
| 2027 } | 2033 } |
| 2028 | 2034 |
| 2029 } // namespace blink | 2035 } // namespace blink |
| OLD | NEW |