void InsertNodeBeforeCommand::doUnapply() { if (!isEditableNode(*m_insertChild)) return; m_insertChild->remove(IGNORE_EXCEPTION); }
void InsertNodeBeforeCommand::doApply() { ContainerNode* parent = m_refChild->parentNode(); if (!parent || (m_shouldAssumeContentIsAlwaysEditable == DoNotAssumeContentIsAlwaysEditable && !isEditableNode(*parent))) return; ASSERT(isEditableNode(*parent)); parent->insertBefore(*m_insertChild, m_refChild.get(), IGNORE_EXCEPTION); }
void InsertNodeBeforeCommand::doUnapply() { if (!isEditableNode(*m_insertChild)) return; // Need to notify this before actually deleting the text if (shouldPostAccessibilityNotification()) { Position position = is<Text>(m_insertChild.get()) ? Position(downcast<Text>(m_insertChild.get()), 0) : createLegacyEditingPosition(m_insertChild.get(), 0); notifyAccessibilityForTextChange(m_insertChild.get(), unapplyEditType(), m_insertChild->nodeValue(), VisiblePosition(position)); } m_insertChild->remove(IGNORE_EXCEPTION); }
void InsertNodeBeforeCommand::doApply() { ContainerNode* parent = m_refChild->parentNode(); if (!parent || (m_shouldAssumeContentIsAlwaysEditable == DoNotAssumeContentIsAlwaysEditable && !isEditableNode(*parent))) return; ASSERT(isEditableNode(*parent)); parent->insertBefore(*m_insertChild, m_refChild.get(), IGNORE_EXCEPTION); if (shouldPostAccessibilityNotification()) { Position position = is<Text>(m_insertChild.get()) ? Position(downcast<Text>(m_insertChild.get()), 0) : createLegacyEditingPosition(m_insertChild.get(), 0); notifyAccessibilityForTextChange(m_insertChild.get(), applyEditType(), m_insertChild->nodeValue(), VisiblePosition(position)); } }
void DeleteFromTextNodeCommand::doApply() { ASSERT(m_node); if (!isEditableNode(*m_node)) return; ExceptionCode ec = 0; m_text = m_node->substringData(m_offset, m_count, ec); if (ec) return; m_node->deleteData(m_offset, m_count, ec); }