| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2005, 2006, 2008, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2005, 2006, 2008, 2009 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 503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 514 } | 514 } |
| 515 | 515 |
| 516 for (const auto& unstyledSpan : unstyledSpans) { | 516 for (const auto& unstyledSpan : unstyledSpans) { |
| 517 removeNodePreservingChildren(unstyledSpan, editingState); | 517 removeNodePreservingChildren(unstyledSpan, editingState); |
| 518 if (editingState->isAborted()) | 518 if (editingState->isAborted()) |
| 519 return; | 519 return; |
| 520 } | 520 } |
| 521 } | 521 } |
| 522 | 522 |
| 523 static ContainerNode* dummySpanAncestorForNode(const Node* node) { | 523 static ContainerNode* dummySpanAncestorForNode(const Node* node) { |
| 524 while (node && (!node->isElementNode() || | 524 while (node && |
| 525 !isStyleSpanOrSpanWithOnlyStyleAttribute(toElement(node)))) | 525 (!node->isElementNode() || |
| 526 !isStyleSpanOrSpanWithOnlyStyleAttribute(toElement(node)))) |
| 526 node = node->parentNode(); | 527 node = node->parentNode(); |
| 527 | 528 |
| 528 return node ? node->parentNode() : 0; | 529 return node ? node->parentNode() : 0; |
| 529 } | 530 } |
| 530 | 531 |
| 531 void ApplyStyleCommand::cleanupUnstyledAppleStyleSpans( | 532 void ApplyStyleCommand::cleanupUnstyledAppleStyleSpans( |
| 532 ContainerNode* dummySpanAncestor, | 533 ContainerNode* dummySpanAncestor, |
| 533 EditingState* editingState) { | 534 EditingState* editingState) { |
| 534 if (!dummySpanAncestor) | 535 if (!dummySpanAncestor) |
| 535 return; | 536 return; |
| (...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1185 replaceWithSpanOrRemoveIfWithoutAttributes(element, editingState); | 1186 replaceWithSpanOrRemoveIfWithoutAttributes(element, editingState); |
| 1186 if (editingState->isAborted()) | 1187 if (editingState->isAborted()) |
| 1187 return false; | 1188 return false; |
| 1188 return true; | 1189 return true; |
| 1189 } | 1190 } |
| 1190 | 1191 |
| 1191 // unicode-bidi and direction are pushed down separately so don't push down | 1192 // unicode-bidi and direction are pushed down separately so don't push down |
| 1192 // with other styles | 1193 // with other styles |
| 1193 Vector<QualifiedName> attributes; | 1194 Vector<QualifiedName> attributes; |
| 1194 if (!style->extractConflictingImplicitStyleOfAttributes( | 1195 if (!style->extractConflictingImplicitStyleOfAttributes( |
| 1195 element, extractedStyle ? EditingStyle::PreserveWritingDirection | 1196 element, |
| 1196 : EditingStyle::DoNotPreserveWritingDirection, | 1197 extractedStyle ? EditingStyle::PreserveWritingDirection |
| 1198 : EditingStyle::DoNotPreserveWritingDirection, |
| 1197 extractedStyle, attributes, | 1199 extractedStyle, attributes, |
| 1198 mode == RemoveAlways ? EditingStyle::ExtractMatchingStyle | 1200 mode == RemoveAlways ? EditingStyle::ExtractMatchingStyle |
| 1199 : EditingStyle::DoNotExtractMatchingStyle)) | 1201 : EditingStyle::DoNotExtractMatchingStyle)) |
| 1200 return false; | 1202 return false; |
| 1201 | 1203 |
| 1202 for (const auto& attribute : attributes) | 1204 for (const auto& attribute : attributes) |
| 1203 removeElementAttribute(element, attribute); | 1205 removeElementAttribute(element, attribute); |
| 1204 | 1206 |
| 1205 if (isEmptyFontTag(element) || | 1207 if (isEmptyFontTag(element) || |
| 1206 isSpanWithoutAttributesOrUnstyledStyleSpan(element)) { | 1208 isSpanWithoutAttributesOrUnstyledStyleSpan(element)) { |
| (...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1789 void ApplyStyleCommand::addInlineStyleIfNeeded(EditingStyle* style, | 1791 void ApplyStyleCommand::addInlineStyleIfNeeded(EditingStyle* style, |
| 1790 Node* passedStart, | 1792 Node* passedStart, |
| 1791 Node* passedEnd, | 1793 Node* passedEnd, |
| 1792 EditingState* editingState) { | 1794 EditingState* editingState) { |
| 1793 if (!passedStart || !passedEnd || !passedStart->isConnected() || | 1795 if (!passedStart || !passedEnd || !passedStart->isConnected() || |
| 1794 !passedEnd->isConnected()) | 1796 !passedEnd->isConnected()) |
| 1795 return; | 1797 return; |
| 1796 | 1798 |
| 1797 Node* start = passedStart; | 1799 Node* start = passedStart; |
| 1798 Member<HTMLSpanElement> dummyElement = nullptr; | 1800 Member<HTMLSpanElement> dummyElement = nullptr; |
| 1799 StyleChange styleChange(style, positionToComputeInlineStyleChange( | 1801 StyleChange styleChange( |
| 1800 start, dummyElement, editingState)); | 1802 style, |
| 1803 positionToComputeInlineStyleChange(start, dummyElement, editingState)); |
| 1801 if (editingState->isAborted()) | 1804 if (editingState->isAborted()) |
| 1802 return; | 1805 return; |
| 1803 | 1806 |
| 1804 if (dummyElement) { | 1807 if (dummyElement) { |
| 1805 removeNode(dummyElement, editingState); | 1808 removeNode(dummyElement, editingState); |
| 1806 if (editingState->isAborted()) | 1809 if (editingState->isAborted()) |
| 1807 return; | 1810 return; |
| 1808 } | 1811 } |
| 1809 | 1812 |
| 1810 applyInlineStyleChange(start, passedEnd, styleChange, DoNotAddStyledElement, | 1813 applyInlineStyleChange(start, passedEnd, styleChange, DoNotAddStyledElement, |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2030 | 2033 |
| 2031 DEFINE_TRACE(ApplyStyleCommand) { | 2034 DEFINE_TRACE(ApplyStyleCommand) { |
| 2032 visitor->trace(m_style); | 2035 visitor->trace(m_style); |
| 2033 visitor->trace(m_start); | 2036 visitor->trace(m_start); |
| 2034 visitor->trace(m_end); | 2037 visitor->trace(m_end); |
| 2035 visitor->trace(m_styledInlineElement); | 2038 visitor->trace(m_styledInlineElement); |
| 2036 CompositeEditCommand::trace(visitor); | 2039 CompositeEditCommand::trace(visitor); |
| 2037 } | 2040 } |
| 2038 | 2041 |
| 2039 } // namespace blink | 2042 } // namespace blink |
| OLD | NEW |