| OLD | NEW |
| 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 * Copyright (C) 2008, 2009, 2010, 2011 Google Inc. All rights reserved. | 3 * Copyright (C) 2008, 2009, 2010, 2011 Google Inc. All rights reserved. |
| 4 * Copyright (C) 2011 Igalia S.L. | 4 * Copyright (C) 2011 Igalia S.L. |
| 5 * Copyright (C) 2011 Motorola Mobility. All rights reserved. | 5 * Copyright (C) 2011 Motorola Mobility. All rights reserved. |
| 6 * | 6 * |
| 7 * Redistribution and use in source and binary forms, with or without | 7 * Redistribution and use in source and binary forms, with or without |
| 8 * modification, are permitted provided that the following conditions | 8 * modification, are permitted provided that the following conditions |
| 9 * are met: | 9 * are met: |
| 10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 188 // positions rather than first node and last node in selection. | 188 // positions rather than first node and last node in selection. |
| 189 Node* commonAncestor = Strategy::commonAncestor(*startPosition.computeContai
nerNode(), *endPosition.computeContainerNode()); | 189 Node* commonAncestor = Strategy::commonAncestor(*startPosition.computeContai
nerNode(), *endPosition.computeContainerNode()); |
| 190 ASSERT(commonAncestor); | 190 ASSERT(commonAncestor); |
| 191 HTMLElement* specialCommonAncestor = nullptr; | 191 HTMLElement* specialCommonAncestor = nullptr; |
| 192 if (shouldAnnotate == AnnotateForInterchange) { | 192 if (shouldAnnotate == AnnotateForInterchange) { |
| 193 // Include ancestors that aren't completely inside the range but are req
uired to retain | 193 // Include ancestors that aren't completely inside the range but are req
uired to retain |
| 194 // the structure and appearance of the copied markup. | 194 // the structure and appearance of the copied markup. |
| 195 specialCommonAncestor = ancestorToRetainStructureAndAppearance(commonAnc
estor); | 195 specialCommonAncestor = ancestorToRetainStructureAndAppearance(commonAnc
estor); |
| 196 if (Node* parentListNode = enclosingNodeOfType(firstPositionInOrBeforeNo
de(firstNode), isListItem)) { | 196 if (Node* parentListNode = enclosingNodeOfType(firstPositionInOrBeforeNo
de(firstNode), isListItem)) { |
| 197 EphemeralRangeTemplate<Strategy> markupRange = EphemeralRangeTemplat
e<Strategy>(startPosition, endPosition); | 197 EphemeralRangeTemplate<Strategy> markupRange = EphemeralRangeTemplat
e<Strategy>(startPosition, endPosition); |
| 198 EphemeralRangeTemplate<Strategy> nodeRange = VisibleSelection::norma
lizeRange(EphemeralRangeTemplate<Strategy>::rangeOfContents(*parentListNode)); | 198 EphemeralRangeTemplate<Strategy> nodeRange = normalizeRange(Ephemera
lRangeTemplate<Strategy>::rangeOfContents(*parentListNode)); |
| 199 if (nodeRange == markupRange) { | 199 if (nodeRange == markupRange) { |
| 200 ContainerNode* ancestor = parentListNode->parentNode(); | 200 ContainerNode* ancestor = parentListNode->parentNode(); |
| 201 while (ancestor && !isHTMLListElement(ancestor)) | 201 while (ancestor && !isHTMLListElement(ancestor)) |
| 202 ancestor = ancestor->parentNode(); | 202 ancestor = ancestor->parentNode(); |
| 203 specialCommonAncestor = toHTMLElement(ancestor); | 203 specialCommonAncestor = toHTMLElement(ancestor); |
| 204 } | 204 } |
| 205 } | 205 } |
| 206 | 206 |
| 207 // Retain the Mail quote level by including all ancestor mail block quot
es. | 207 // Retain the Mail quote level by including all ancestor mail block quot
es. |
| 208 if (HTMLQuoteElement* highestMailBlockquote = toHTMLQuoteElement(highest
EnclosingNodeOfType(firstPositionInOrBeforeNode(firstNode), isMailHTMLBlockquote
Element, CanCrossEditingBoundary))) | 208 if (HTMLQuoteElement* highestMailBlockquote = toHTMLQuoteElement(highest
EnclosingNodeOfType(firstPositionInOrBeforeNode(firstNode), isMailHTMLBlockquote
Element, CanCrossEditingBoundary))) |
| (...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 705 RefPtrWillBeRawPtr<Text> textNext = toText(next); | 705 RefPtrWillBeRawPtr<Text> textNext = toText(next); |
| 706 textNode->appendData(textNext->data()); | 706 textNode->appendData(textNext->data()); |
| 707 if (textNext->parentNode()) // Might have been removed by mutation event. | 707 if (textNext->parentNode()) // Might have been removed by mutation event. |
| 708 textNext->remove(exceptionState); | 708 textNext->remove(exceptionState); |
| 709 } | 709 } |
| 710 | 710 |
| 711 template class CORE_TEMPLATE_EXPORT CreateMarkupAlgorithm<EditingStrategy>; | 711 template class CORE_TEMPLATE_EXPORT CreateMarkupAlgorithm<EditingStrategy>; |
| 712 template class CORE_TEMPLATE_EXPORT CreateMarkupAlgorithm<EditingInComposedTreeS
trategy>; | 712 template class CORE_TEMPLATE_EXPORT CreateMarkupAlgorithm<EditingInComposedTreeS
trategy>; |
| 713 | 713 |
| 714 } | 714 } |
| OLD | NEW |