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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 , m_endingSelection(endingSelection) | 86 , m_endingSelection(endingSelection) |
87 , m_startingRootEditableElement(startingSelection.rootEditableElement()) | 87 , m_startingRootEditableElement(startingSelection.rootEditableElement()) |
88 , m_endingRootEditableElement(endingSelection.rootEditableElement()) | 88 , m_endingRootEditableElement(endingSelection.rootEditableElement()) |
89 , m_editAction(editAction) | 89 , m_editAction(editAction) |
90 { | 90 { |
91 } | 91 } |
92 | 92 |
93 void EditCommandComposition::unapply() | 93 void EditCommandComposition::unapply() |
94 { | 94 { |
95 ASSERT(m_document); | 95 ASSERT(m_document); |
96 Frame* frame = m_document->frame(); | 96 RefPtr<Frame> frame = m_document->frame(); |
97 ASSERT(frame); | 97 ASSERT(frame); |
98 | 98 |
99 // Changes to the document may have been made since the last editing operati
on that require a layout, as in <rdar://problem/5658603>. | 99 // Changes to the document may have been made since the last editing operati
on that require a layout, as in <rdar://problem/5658603>. |
100 // Low level operations, like RemoveNodeCommand, don't require a layout beca
use the high level operations that use them perform one | 100 // Low level operations, like RemoveNodeCommand, don't require a layout beca
use the high level operations that use them perform one |
101 // if one is necessary (like for the creation of VisiblePositions). | 101 // if one is necessary (like for the creation of VisiblePositions). |
102 m_document->updateLayoutIgnorePendingStylesheets(); | 102 m_document->updateLayoutIgnorePendingStylesheets(); |
103 | 103 |
104 DeleteButtonController* deleteButtonController = frame->editor()->deleteButt
onController(); | 104 DeleteButtonController* deleteButtonController = frame->editor()->deleteButt
onController(); |
105 deleteButtonController->disable(); | 105 deleteButtonController->disable(); |
106 size_t size = m_commands.size(); | 106 size_t size = m_commands.size(); |
107 for (size_t i = size; i != 0; --i) | 107 for (size_t i = size; i != 0; --i) |
108 m_commands[i - 1]->doUnapply(); | 108 m_commands[i - 1]->doUnapply(); |
109 deleteButtonController->enable(); | 109 deleteButtonController->enable(); |
110 | 110 |
111 frame->editor()->unappliedEditing(this); | 111 frame->editor()->unappliedEditing(this); |
112 } | 112 } |
113 | 113 |
114 void EditCommandComposition::reapply() | 114 void EditCommandComposition::reapply() |
115 { | 115 { |
116 ASSERT(m_document); | 116 ASSERT(m_document); |
117 Frame* frame = m_document->frame(); | 117 RefPtr<Frame> frame = m_document->frame(); |
118 ASSERT(frame); | 118 ASSERT(frame); |
119 | 119 |
120 // Changes to the document may have been made since the last editing operati
on that require a layout, as in <rdar://problem/5658603>. | 120 // Changes to the document may have been made since the last editing operati
on that require a layout, as in <rdar://problem/5658603>. |
121 // Low level operations, like RemoveNodeCommand, don't require a layout beca
use the high level operations that use them perform one | 121 // Low level operations, like RemoveNodeCommand, don't require a layout beca
use the high level operations that use them perform one |
122 // if one is necessary (like for the creation of VisiblePositions). | 122 // if one is necessary (like for the creation of VisiblePositions). |
123 m_document->updateLayoutIgnorePendingStylesheets(); | 123 m_document->updateLayoutIgnorePendingStylesheets(); |
124 | 124 |
125 DeleteButtonController* deleteButtonController = frame->editor()->deleteButt
onController(); | 125 DeleteButtonController* deleteButtonController = frame->editor()->deleteButt
onController(); |
126 deleteButtonController->disable(); | 126 deleteButtonController->disable(); |
127 size_t size = m_commands.size(); | 127 size_t size = m_commands.size(); |
(...skipping 1339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1467 return node.release(); | 1467 return node.release(); |
1468 } | 1468 } |
1469 | 1469 |
1470 PassRefPtr<Element> createBlockPlaceholderElement(Document* document) | 1470 PassRefPtr<Element> createBlockPlaceholderElement(Document* document) |
1471 { | 1471 { |
1472 RefPtr<Element> breakNode = document->createElement(brTag, false); | 1472 RefPtr<Element> breakNode = document->createElement(brTag, false); |
1473 return breakNode.release(); | 1473 return breakNode.release(); |
1474 } | 1474 } |
1475 | 1475 |
1476 } // namespace WebCore | 1476 } // namespace WebCore |
OLD | NEW |