| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2005 Apple Computer, Inc. All rights reserved. | 2 * Copyright (C) 2005 Apple Computer, 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 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 // Do not remove an element of table structure; remove its contents. | 276 // Do not remove an element of table structure; remove its contents. |
| 277 // Likewise for the root editable element. | 277 // Likewise for the root editable element. |
| 278 Node* child = node->firstChild(); | 278 Node* child = node->firstChild(); |
| 279 while (child) { | 279 while (child) { |
| 280 Node* remove = child; | 280 Node* remove = child; |
| 281 child = child->nextSibling(); | 281 child = child->nextSibling(); |
| 282 removeNode(remove, shouldAssumeContentIsAlwaysEditable); | 282 removeNode(remove, shouldAssumeContentIsAlwaysEditable); |
| 283 } | 283 } |
| 284 | 284 |
| 285 // Make sure empty cell has some height, if a placeholder can be inserte
d. | 285 // Make sure empty cell has some height, if a placeholder can be inserte
d. |
| 286 document().updateLayoutIgnorePendingStylesheets(); | 286 document().updateLayout(); |
| 287 return; | 287 return; |
| 288 } | 288 } |
| 289 | 289 |
| 290 if (node == m_startBlock) { | 290 if (node == m_startBlock) { |
| 291 VisiblePosition previous = VisiblePosition(firstPositionInNode(m_startBl
ock.get())).previous(); | 291 VisiblePosition previous = VisiblePosition(firstPositionInNode(m_startBl
ock.get())).previous(); |
| 292 if (previous.isNotNull() && !isEndOfBlock(previous)) | 292 if (previous.isNotNull() && !isEndOfBlock(previous)) |
| 293 m_needPlaceholder = true; | 293 m_needPlaceholder = true; |
| 294 } | 294 } |
| 295 if (node == m_endBlock) { | 295 if (node == m_endBlock) { |
| 296 VisiblePosition next = VisiblePosition(lastPositionInNode(m_endBlock.get
())).next(); | 296 VisiblePosition next = VisiblePosition(lastPositionInNode(m_endBlock.get
())).next(); |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 removeChildrenInRange(m_downstreamEnd.deprecatedNode(), offs
et, m_downstreamEnd.deprecatedEditingOffset()); | 467 removeChildrenInRange(m_downstreamEnd.deprecatedNode(), offs
et, m_downstreamEnd.deprecatedEditingOffset()); |
| 468 m_downstreamEnd = createLegacyEditingPosition(m_downstreamEn
d.deprecatedNode(), offset); | 468 m_downstreamEnd = createLegacyEditingPosition(m_downstreamEn
d.deprecatedNode(), offset); |
| 469 } | 469 } |
| 470 } | 470 } |
| 471 } | 471 } |
| 472 } | 472 } |
| 473 } | 473 } |
| 474 | 474 |
| 475 void DeleteSelectionCommand::fixupWhitespace() | 475 void DeleteSelectionCommand::fixupWhitespace() |
| 476 { | 476 { |
| 477 document().updateLayoutIgnorePendingStylesheets(); | 477 document().updateLayout(); |
| 478 // FIXME: isRenderedCharacter should be removed, and we should use VisiblePo
sition::characterAfter and VisiblePosition::characterBefore | 478 // FIXME: isRenderedCharacter should be removed, and we should use VisiblePo
sition::characterAfter and VisiblePosition::characterBefore |
| 479 if (m_leadingWhitespace.isNotNull() && !m_leadingWhitespace.isRenderedCharac
ter() && m_leadingWhitespace.deprecatedNode()->isTextNode()) { | 479 if (m_leadingWhitespace.isNotNull() && !m_leadingWhitespace.isRenderedCharac
ter() && m_leadingWhitespace.deprecatedNode()->isTextNode()) { |
| 480 Text* textNode = toText(m_leadingWhitespace.deprecatedNode()); | 480 Text* textNode = toText(m_leadingWhitespace.deprecatedNode()); |
| 481 ASSERT(!textNode->renderer() || textNode->renderer()->style()->collapseW
hiteSpace()); | 481 ASSERT(!textNode->renderer() || textNode->renderer()->style()->collapseW
hiteSpace()); |
| 482 replaceTextInNodePreservingMarkers(textNode, m_leadingWhitespace.depreca
tedEditingOffset(), 1, nonBreakingSpaceString()); | 482 replaceTextInNodePreservingMarkers(textNode, m_leadingWhitespace.depreca
tedEditingOffset(), 1, nonBreakingSpaceString()); |
| 483 } | 483 } |
| 484 if (m_trailingWhitespace.isNotNull() && !m_trailingWhitespace.isRenderedChar
acter() && m_trailingWhitespace.deprecatedNode()->isTextNode()) { | 484 if (m_trailingWhitespace.isNotNull() && !m_trailingWhitespace.isRenderedChar
acter() && m_trailingWhitespace.deprecatedNode()->isTextNode()) { |
| 485 Text* textNode = toText(m_trailingWhitespace.deprecatedNode()); | 485 Text* textNode = toText(m_trailingWhitespace.deprecatedNode()); |
| 486 ASSERT(!textNode->renderer() ||textNode->renderer()->style()->collapseWh
iteSpace()); | 486 ASSERT(!textNode->renderer() ||textNode->renderer()->style()->collapseWh
iteSpace()); |
| 487 replaceTextInNodePreservingMarkers(textNode, m_trailingWhitespace.deprec
atedEditingOffset(), 1, nonBreakingSpaceString()); | 487 replaceTextInNodePreservingMarkers(textNode, m_trailingWhitespace.deprec
atedEditingOffset(), 1, nonBreakingSpaceString()); |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 667 | 667 |
| 668 // Normally deletion doesn't preserve the typing style that was present before i
t. For example, | 668 // Normally deletion doesn't preserve the typing style that was present before i
t. For example, |
| 669 // type a character, Bold, then delete the character and start typing. The Bold
typing style shouldn't | 669 // type a character, Bold, then delete the character and start typing. The Bold
typing style shouldn't |
| 670 // stick around. Deletion should preserve a typing style that *it* sets, howeve
r. | 670 // stick around. Deletion should preserve a typing style that *it* sets, howeve
r. |
| 671 bool DeleteSelectionCommand::preservesTypingStyle() const | 671 bool DeleteSelectionCommand::preservesTypingStyle() const |
| 672 { | 672 { |
| 673 return false; | 673 return false; |
| 674 } | 674 } |
| 675 | 675 |
| 676 } // namespace blink | 676 } // namespace blink |
| OLD | NEW |