void BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState(const FormControlState& state) { if (!m_dateTimeEditElement) return; DateTimeFieldsState dateTimeFieldsState = DateTimeFieldsState::restoreFormControlState(state); m_dateTimeEditElement->setValueAsDateTimeFieldsState(dateTimeFieldsState); element()->setValueInternal(sanitizeValue(m_dateTimeEditElement->value()), DispatchNoEvent); }
void BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged() { RefPtr<HTMLInputElement> input(element()); input->setValueInternal(sanitizeValue(m_dateTimeEditElement->value()), DispatchNoEvent); input->setNeedsStyleRecalc(); input->dispatchFormControlInputEvent(); input->dispatchFormControlChangeEvent(); input->notifyFormStateChanged(); }
void BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState(const FormControlState& state) { DateTimeEditElement* edit = dateTimeEditElement(); if (!edit) return; DateTimeFieldsState dateTimeFieldsState = DateTimeFieldsState::restoreFormControlState(state); edit->setValueAsDateTimeFieldsState(dateTimeFieldsState); element().setValueInternal(sanitizeValue(edit->value()), DispatchNoEvent); updateClearButtonVisibility(); }
void BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState(const FormControlState& state) { if (!m_dateTimeEditElement) return; DateComponents date; setMillisecondToDateComponents(createStepRange(AnyIsDefaultStep).minimum().toDouble(), &date); DateTimeFieldsState dateTimeFieldsState = DateTimeFieldsState::restoreFormControlState(state); m_dateTimeEditElement->setValueAsDateTimeFieldsState(dateTimeFieldsState, date); element()->setValueInternal(sanitizeValue(m_dateTimeEditElement->value()), DispatchNoEvent); }
String EmailInputType::convertFromVisibleValue(const String& visibleValue) const { String sanitizedValue = sanitizeValue(visibleValue); if (!element().multiple()) return convertEmailAddressToASCII(sanitizedValue); Vector<String> addresses; sanitizedValue.split(',', true, addresses); StringBuilder builder; builder.reserveCapacity(sanitizedValue.length()); for (size_t i = 0; i < addresses.size(); ++i) { if (i > 0) builder.append(','); builder.append(convertEmailAddressToASCII(addresses[i])); } return builder.toString(); }
void BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged() { RefPtrWillBeRawPtr<HTMLInputElement> input(element()); String oldValue = input->value(); String newValue = sanitizeValue(dateTimeEditElement()->value()); // Even if oldValue is null and newValue is "", we should assume they are same. if ((oldValue.isEmpty() && newValue.isEmpty()) || oldValue == newValue) { input->setNeedsValidityCheck(); } else { input->setValueInternal(newValue, DispatchNoEvent); input->setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing::create(StyleChangeReason::ControlValue)); input->dispatchFormControlInputEvent(); } input->notifyFormStateChanged(); input->updateClearButtonVisibility(); }
void BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged() { RefPtr<HTMLInputElement> input(element()); String oldValue = input->value(); String newValue = sanitizeValue(m_dateTimeEditElement->value()); // Even if oldValue is null and newValue is "", we should assume they are same. if ((oldValue.isEmpty() && newValue.isEmpty()) || oldValue == newValue) input->setNeedsValidityCheck(); else { input->setValueInternal(newValue, DispatchNoEvent); input->setNeedsStyleRecalc(); input->dispatchFormControlInputEvent(); input->dispatchFormControlChangeEvent(); } input->notifyFormStateChanged(); }
String InputType::sanitizeUserInputValue(const String& proposedValue) const { return sanitizeValue(proposedValue); }