#include "third_party/blink/renderer/core/html/forms/html_text_area_element.h"
#include "third_party/blink/public/strings/grit/blink_strings.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_focus_options.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/event.h"
#include "third_party/blink/renderer/core/dom/events/simulated_click_options.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/dom/text.h"
#include "third_party/blink/renderer/core/editing/frame_selection.h"
#include "third_party/blink/renderer/core/editing/iterators/text_iterator.h"
#include "third_party/blink/renderer/core/event_interface_names.h"
#include "third_party/blink/renderer/core/events/before_text_inserted_event.h"
#include "third_party/blink/renderer/core/events/drag_event.h"
#include "third_party/blink/renderer/core/events/mouse_event.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/settings.h"
#include "third_party/blink/renderer/core/html/forms/form_controller.h"
#include "third_party/blink/renderer/core/html/forms/form_data.h"
#include "third_party/blink/renderer/core/html/forms/text_control_inner_elements.h"
#include "third_party/blink/renderer/core/html/html_br_element.h"
#include "third_party/blink/renderer/core/html/parser/html_parser_idioms.h"
#include "third_party/blink/renderer/core/html/shadow/shadow_element_names.h"
#include "third_party/blink/renderer/core/html_names.h"
#include "third_party/blink/renderer/core/layout/adjust_for_absolute_zoom.h"
#include "third_party/blink/renderer/core/layout/forms/layout_text_control_multi_line.h"
#include "third_party/blink/renderer/core/layout/layout_box.h"
#include "third_party/blink/renderer/core/layout/layout_object.h"
#include "third_party/blink/renderer/core/page/chrome_client.h"
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/text/platform_locale.h"
#include "third_party/blink/renderer/platform/wtf/std_lib_extras.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
FormControlType;
static const unsigned kDefaultRows = …;
static const unsigned kDefaultCols = …;
static bool is_default_font_prewarmed_ = …;
static inline unsigned ComputeLengthForAPIValue(const String& text) { … }
static inline void ReplaceCRWithNewLine(String& text) { … }
HTMLTextAreaElement::HTMLTextAreaElement(Document& document)
: … { … }
void HTMLTextAreaElement::DidAddUserAgentShadowRoot(ShadowRoot& root) { … }
FormControlType HTMLTextAreaElement::FormControlType() const { … }
const AtomicString& HTMLTextAreaElement::FormControlTypeAsString() const { … }
FormControlState HTMLTextAreaElement::SaveFormControlState() const { … }
void HTMLTextAreaElement::RestoreFormControlState(
const FormControlState& state) { … }
int HTMLTextAreaElement::scrollWidth() { … }
int HTMLTextAreaElement::scrollHeight() { … }
void HTMLTextAreaElement::ChildrenChanged(const ChildrenChange& change) { … }
bool HTMLTextAreaElement::IsPresentationAttribute(
const QualifiedName& name) const { … }
void HTMLTextAreaElement::CollectStyleForPresentationAttribute(
const QualifiedName& name,
const AtomicString& value,
MutableCSSPropertyValueSet* style) { … }
void HTMLTextAreaElement::ParseAttribute(
const AttributeModificationParams& params) { … }
LayoutObject* HTMLTextAreaElement::CreateLayoutObject(const ComputedStyle&) { … }
void HTMLTextAreaElement::AppendToFormData(FormData& form_data) { … }
void HTMLTextAreaElement::ResetImpl() { … }
bool HTMLTextAreaElement::HasCustomFocusLogic() const { … }
bool HTMLTextAreaElement::IsKeyboardFocusable(
UpdateBehavior update_behavior) const { … }
bool HTMLTextAreaElement::MayTriggerVirtualKeyboard() const { … }
void HTMLTextAreaElement::UpdateSelectionOnFocus(
SelectionBehaviorOnFocus selection_behavior,
const FocusOptions* options) { … }
void HTMLTextAreaElement::DefaultEventHandler(Event& event) { … }
void HTMLTextAreaElement::SubtreeHasChanged() { … }
void HTMLTextAreaElement::HandleBeforeTextInsertedEvent(
BeforeTextInsertedEvent* event) { … }
String HTMLTextAreaElement::SanitizeUserInputValue(const String& proposed_value,
unsigned max_length) { … }
void HTMLTextAreaElement::UpdateValue() { … }
String HTMLTextAreaElement::Value() const { … }
void HTMLTextAreaElement::setValueForBinding(const String& value) { … }
void HTMLTextAreaElement::SetValue(const String& value,
TextFieldEventBehavior event_behavior,
TextControlSetValueSelection selection,
WebAutofillState autofill_state) { … }
void HTMLTextAreaElement::SetNonDirtyValue(
const String& value,
TextControlSetValueSelection selection) { … }
void HTMLTextAreaElement::SetValueCommon(const String& new_value,
TextFieldEventBehavior event_behavior,
TextControlSetValueSelection selection,
WebAutofillState autofill_state) { … }
String HTMLTextAreaElement::defaultValue() const { … }
void HTMLTextAreaElement::setDefaultValue(const String& default_value) { … }
void HTMLTextAreaElement::SetSuggestedValue(const String& value) { … }
String HTMLTextAreaElement::validationMessage() const { … }
bool HTMLTextAreaElement::ValueMissing() const { … }
bool HTMLTextAreaElement::ValueMissing(const String* value) const { … }
bool HTMLTextAreaElement::TooLong() const { … }
bool HTMLTextAreaElement::TooShort() const { … }
bool HTMLTextAreaElement::TooLong(const String* value,
NeedsToCheckDirtyFlag check) const { … }
bool HTMLTextAreaElement::TooShort(const String* value,
NeedsToCheckDirtyFlag check) const { … }
bool HTMLTextAreaElement::IsValidValue(const String& candidate) const { … }
void HTMLTextAreaElement::AccessKeyAction(SimulatedClickCreationScope) { … }
void HTMLTextAreaElement::setCols(unsigned cols) { … }
void HTMLTextAreaElement::setRows(unsigned rows) { … }
bool HTMLTextAreaElement::MatchesReadOnlyPseudoClass() const { … }
bool HTMLTextAreaElement::MatchesReadWritePseudoClass() const { … }
void HTMLTextAreaElement::SetPlaceholderVisibility(bool visible) { … }
void HTMLTextAreaElement::CreateInnerEditorElementIfNecessary() const { … }
bool HTMLTextAreaElement::IsInnerEditorValueEmpty() const { … }
HTMLElement* HTMLTextAreaElement::UpdatePlaceholderText() { … }
String HTMLTextAreaElement::GetPlaceholderValue() const { … }
bool HTMLTextAreaElement::IsInteractiveContent() const { … }
void HTMLTextAreaElement::CloneNonAttributePropertiesFrom(
const Element& source,
NodeCloningData& data) { … }
String HTMLTextAreaElement::DefaultToolTip() const { … }
void HTMLTextAreaElement::SetFocused(bool is_focused,
mojom::blink::FocusType focus_type) { … }
}