void DOMSelection::selectAllChildren(Node* n, ExceptionState& exceptionState) { ASSERT(n); // This doesn't (and shouldn't) select text node characters. setBaseAndExtent(n, 0, n, n->countChildren(), exceptionState); }
void DOMSelection::deleteFromDocument() { if (!isAvailable()) return; FrameSelection& selection = frame()->selection(); if (selection.isNone()) return; // TODO(xiaochengh): The use of updateStyleAndLayoutIgnorePendingStylesheets // needs to be audited. See http://crbug.com/590369 for more details. // |VisibleSelection::toNormalizedEphemeralRange| requires clean layout. frame()->document()->updateStyleAndLayoutIgnorePendingStylesheets(); Range* selectedRange = createRange(selection.selection().toNormalizedEphemeralRange()); if (!selectedRange) return; selectedRange->deleteContents(ASSERT_NO_EXCEPTION); setBaseAndExtent(selectedRange->startContainer(), selectedRange->startOffset(), selectedRange->startContainer(), selectedRange->startOffset(), ASSERT_NO_EXCEPTION); }
void DOMSelection::selectAllChildren(Node* n, ExceptionCode& ec) { if (!n) return; // This doesn't (and shouldn't) select text node characters. setBaseAndExtent(n, 0, n, n->childNodeCount(), ec); }
void DOMSelection::deleteFromDocument() { if (!m_frame) return; FrameSelection& selection = m_frame->selection(); if (selection.isNone()) return; RefPtr<Range> selectedRange = selection.selection().toNormalizedRange(); if (!selectedRange) return; selectedRange->deleteContents(ASSERT_NO_EXCEPTION); setBaseAndExtent(&selectedRange->startContainer(), selectedRange->startOffset(), &selectedRange->startContainer(), selectedRange->startOffset()); }
void DOMSelection::deleteFromDocument() { if (!m_frame) return; FrameSelection* selection = m_frame->selection(); if (selection->isNone()) return; if (isCollapsed()) selection->modify(FrameSelection::AlterationExtend, DirectionBackward, CharacterGranularity); RefPtr<Range> selectedRange = selection->selection().toNormalizedRange(); if (!selectedRange) return; selectedRange->deleteContents(ASSERT_NO_EXCEPTION); setBaseAndExtent(selectedRange->startContainer(ASSERT_NO_EXCEPTION), selectedRange->startOffset(), selectedRange->startContainer(), selectedRange->startOffset(), ASSERT_NO_EXCEPTION); }
void DOMSelection::deleteFromDocument() { if (!m_frame) return; SelectionController* selection = m_frame->selection(); if (selection->isNone()) return; if (isCollapsed()) selection->modify(SelectionController::EXTEND, SelectionController::BACKWARD, CharacterGranularity); RefPtr<Range> selectedRange = selection->selection().toNormalizedRange(); ExceptionCode ec = 0; selectedRange->deleteContents(ec); ASSERT(!ec); setBaseAndExtent(selectedRange->startContainer(ec), selectedRange->startOffset(ec), selectedRange->startContainer(ec), selectedRange->startOffset(ec), ec); ASSERT(!ec); }
void DOMSelection::selectAllChildren(Node& node) { // This doesn't (and shouldn't) select text node characters. setBaseAndExtent(&node, 0, &node, node.countChildNodes()); }