#include "third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.h"
#include "third_party/blink/public/mojom/input/focus_type.mojom-blink.h"
#include "third_party/blink/renderer/core/css/style_change_reason.h"
#include "third_party/blink/renderer/core/css_value_keywords.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/events/scoped_event_queue.h"
#include "third_party/blink/renderer/core/dom/focus_params.h"
#include "third_party/blink/renderer/core/dom/shadow_root.h"
#include "third_party/blink/renderer/core/events/keyboard_event.h"
#include "third_party/blink/renderer/core/events/mouse_event.h"
#include "third_party/blink/renderer/core/html/forms/base_temporal_input_type.h"
#include "third_party/blink/renderer/core/html/forms/date_time_chooser.h"
#include "third_party/blink/renderer/core/html/forms/date_time_field_element.h"
#include "third_party/blink/renderer/core/html/forms/date_time_fields_state.h"
#include "third_party/blink/renderer/core/html/forms/form_controller.h"
#include "third_party/blink/renderer/core/html/forms/html_data_list_element.h"
#include "third_party/blink/renderer/core/html/forms/html_input_element.h"
#include "third_party/blink/renderer/core/html/forms/html_option_element.h"
#include "third_party/blink/renderer/core/html/shadow/shadow_element_names.h"
#include "third_party/blink/renderer/core/input_type_names.h"
#include "third_party/blink/renderer/core/layout/layout_theme.h"
#include "third_party/blink/renderer/core/page/focus_controller.h"
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/core/style/computed_style.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/text/date_components.h"
#include "third_party/blink/renderer/platform/text/date_time_format.h"
#include "third_party/blink/renderer/platform/text/platform_locale.h"
#include "third_party/blink/renderer/platform/wtf/date_math.h"
#include "ui/base/ui_base_features.h"
namespace blink {
FormControlType;
class DateTimeFormatValidator : public DateTimeFormat::TokenHandler { … };
void DateTimeFormatValidator::VisitField(DateTimeFormat::FieldType field_type,
int) { … }
bool DateTimeFormatValidator::ValidateFormat(
const String& format,
const BaseTemporalInputType& input_type) { … }
DateTimeEditElement*
MultipleFieldsTemporalInputTypeView::GetDateTimeEditElement() const { … }
DateTimeEditElement*
MultipleFieldsTemporalInputTypeView::GetDateTimeEditElementIfCreated() const { … }
SpinButtonElement* MultipleFieldsTemporalInputTypeView::GetSpinButtonElement()
const { … }
ClearButtonElement* MultipleFieldsTemporalInputTypeView::GetClearButtonElement()
const { … }
PickerIndicatorElement*
MultipleFieldsTemporalInputTypeView::GetPickerIndicatorElement() const { … }
inline bool MultipleFieldsTemporalInputTypeView::ContainsFocusedShadowElement()
const { … }
void MultipleFieldsTemporalInputTypeView::DidBlurFromControl(
mojom::blink::FocusType focus_type) { … }
void MultipleFieldsTemporalInputTypeView::DidFocusOnControl(
mojom::blink::FocusType focus_type) { … }
void MultipleFieldsTemporalInputTypeView::EditControlValueChanged() { … }
String MultipleFieldsTemporalInputTypeView::FormatDateTimeFieldsState(
const DateTimeFieldsState& state) const { … }
bool MultipleFieldsTemporalInputTypeView::HasCustomFocusLogic() const { … }
bool MultipleFieldsTemporalInputTypeView::IsEditControlOwnerDisabled() const { … }
bool MultipleFieldsTemporalInputTypeView::IsEditControlOwnerReadOnly() const { … }
void MultipleFieldsTemporalInputTypeView::FocusAndSelectSpinButtonOwner() { … }
bool MultipleFieldsTemporalInputTypeView::
ShouldSpinButtonRespondToMouseEvents() { … }
bool MultipleFieldsTemporalInputTypeView::
ShouldSpinButtonRespondToWheelEvents() { … }
void MultipleFieldsTemporalInputTypeView::SpinButtonStepDown() { … }
void MultipleFieldsTemporalInputTypeView::SpinButtonStepUp() { … }
void MultipleFieldsTemporalInputTypeView::SpinButtonDidReleaseMouseCapture(
SpinButtonElement::EventDispatch event_dispatch) { … }
bool MultipleFieldsTemporalInputTypeView::
IsPickerIndicatorOwnerDisabledOrReadOnly() const { … }
void MultipleFieldsTemporalInputTypeView::PickerIndicatorChooseValue(
const String& value) { … }
void MultipleFieldsTemporalInputTypeView::PickerIndicatorChooseValue(
double value) { … }
Element& MultipleFieldsTemporalInputTypeView::PickerOwnerElement() const { … }
bool MultipleFieldsTemporalInputTypeView::SetupDateTimeChooserParameters(
DateTimeChooserParameters& parameters) { … }
void MultipleFieldsTemporalInputTypeView::DidEndChooser() { … }
String MultipleFieldsTemporalInputTypeView::AriaLabelForPickerIndicator()
const { … }
MultipleFieldsTemporalInputTypeView::MultipleFieldsTemporalInputTypeView(
HTMLInputElement& element,
BaseTemporalInputType& input_type)
: … { … }
MultipleFieldsTemporalInputTypeView::~MultipleFieldsTemporalInputTypeView() =
default;
void MultipleFieldsTemporalInputTypeView::Trace(Visitor* visitor) const { … }
void MultipleFieldsTemporalInputTypeView::Blur() { … }
void MultipleFieldsTemporalInputTypeView::AdjustStyle(
ComputedStyleBuilder& builder) { … }
void MultipleFieldsTemporalInputTypeView::CreateShadowSubtree() { … }
void MultipleFieldsTemporalInputTypeView::DestroyShadowSubtree() { … }
void MultipleFieldsTemporalInputTypeView::HandleClickEvent(MouseEvent& event) { … }
void MultipleFieldsTemporalInputTypeView::HandleFocusInEvent(
Element* old_focused_element,
mojom::blink::FocusType type) { … }
void MultipleFieldsTemporalInputTypeView::ForwardEvent(Event& event) { … }
void MultipleFieldsTemporalInputTypeView::DisabledAttributeChanged() { … }
void MultipleFieldsTemporalInputTypeView::RequiredAttributeChanged() { … }
void MultipleFieldsTemporalInputTypeView::HandleKeydownEvent(
KeyboardEvent& event) { … }
bool MultipleFieldsTemporalInputTypeView::HasBadInput() const { … }
AtomicString MultipleFieldsTemporalInputTypeView::LocaleIdentifier() const { … }
void MultipleFieldsTemporalInputTypeView::
EditControlDidChangeValueByKeyboard() { … }
void MultipleFieldsTemporalInputTypeView::MinOrMaxAttributeChanged() { … }
void MultipleFieldsTemporalInputTypeView::ReadonlyAttributeChanged() { … }
void MultipleFieldsTemporalInputTypeView::RestoreFormControlState(
const FormControlState& state) { … }
FormControlState MultipleFieldsTemporalInputTypeView::SaveFormControlState()
const { … }
void MultipleFieldsTemporalInputTypeView::DidSetValue(
const String& sanitized_value,
bool value_changed) { … }
void MultipleFieldsTemporalInputTypeView::StepAttributeChanged() { … }
void MultipleFieldsTemporalInputTypeView::UpdateView() { … }
ControlPart MultipleFieldsTemporalInputTypeView::AutoAppearance() const { … }
void MultipleFieldsTemporalInputTypeView::OpenPopupView() { … }
void MultipleFieldsTemporalInputTypeView::ClosePopupView() { … }
bool MultipleFieldsTemporalInputTypeView::HasOpenedPopup() const { … }
void MultipleFieldsTemporalInputTypeView::ValueAttributeChanged() { … }
void MultipleFieldsTemporalInputTypeView::ListAttributeTargetChanged() { … }
void MultipleFieldsTemporalInputTypeView::UpdatePickerIndicatorVisibility() { … }
void MultipleFieldsTemporalInputTypeView::HidePickerIndicator() { … }
void MultipleFieldsTemporalInputTypeView::ShowPickerIndicator() { … }
void MultipleFieldsTemporalInputTypeView::FocusAndSelectClearButtonOwner() { … }
bool MultipleFieldsTemporalInputTypeView::
ShouldClearButtonRespondToMouseEvents() { … }
void MultipleFieldsTemporalInputTypeView::ClearValue() { … }
void MultipleFieldsTemporalInputTypeView::UpdateClearButtonVisibility() { … }
TextDirection MultipleFieldsTemporalInputTypeView::ComputedTextDirection() { … }
AXObject* MultipleFieldsTemporalInputTypeView::PopupRootAXObject() { … }
wtf_size_t MultipleFieldsTemporalInputTypeView::FocusedFieldIndex() const { … }
}