int HTMLTextFormControlElement::selectionEnd() const { if (!isTextFormControl()) return 0; if (document()->focusedNode() != this && hasCachedSelection()) return m_cachedSelectionEnd; return computeSelectionEnd(); }
int HTMLTextFormControlElement::selectionEnd() const { if (!isTextFormControl()) return 0; #if defined(S_CLEAR_SELECTION_ONAUTOFOCUS) if (document().focusedElement() != this) #else if (document().focusedElement() != this && hasCachedSelection()) #endif return m_cachedSelectionEnd; return computeSelectionEnd(); }
void HTMLTextFormControlElement::selectionChanged(bool shouldFireSelectEvent) { if (!isTextFormControl()) return; // FIXME: Don't re-compute selection start and end if this function was called inside setSelectionRange. // selectionStart() or selectionEnd() will return cached selection when this node doesn't have focus cacheSelection(computeSelectionStart(), computeSelectionEnd(), computeSelectionDirection()); if (shouldFireSelectEvent && m_cachedSelectionStart != m_cachedSelectionEnd) dispatchEvent(Event::create(eventNames().selectEvent, true, false)); }
void HTMLTextFormControlElement::selectionChanged(bool userTriggered) { if (!renderer() || !isTextFormControl()) return; // selectionStart() or selectionEnd() will return cached selection when this node doesn't have focus cacheSelection(computeSelectionStart(), computeSelectionEnd(), computeSelectionDirection()); if (Frame* frame = document()->frame()) { if (frame->selection()->isRange() && userTriggered) dispatchEvent(Event::create(eventNames().selectEvent, true, false)); } }
void HTMLTextFormControlElement::selectionChanged(bool userTriggered) { if (!renderer() || !isTextFormControl()) return; // selectionStart() or selectionEnd() will return cached selection when this node doesn't have focus cacheSelection(computeSelectionStart(), computeSelectionEnd(), computeSelectionDirection()); if (LocalFrame* frame = document().frame()) { if (frame->selection().isRange() && userTriggered) dispatchEvent(Event::createBubble(EventTypeNames::select)); } }
void HTMLTextFormControlElement::selectionChanged(bool userTriggered) { if (!isTextFormControl()) return; // FIXME: Don't re-compute selection start and end if this function was called inside setSelectionRange. // selectionStart() or selectionEnd() will return cached selection when this node doesn't have focus cacheSelection(computeSelectionStart(), computeSelectionEnd(), computeSelectionDirection()); if (Frame* frame = document().frame()) { if (frame->selection().isRange() && userTriggered) dispatchEvent(Event::create(eventNames().selectEvent, true, false)); } }