|
@@ -17,4 +17,37 @@ HTMLButtonElement::~HTMLButtonElement()
|
|
|
{
|
|
|
}
|
|
|
|
|
|
+String HTMLButtonElement::type() const
|
|
|
+{
|
|
|
+ auto value = attribute(HTML::AttributeNames::type);
|
|
|
+
|
|
|
+#define __ENUMERATE_HTML_BUTTON_TYPE_ATTRIBUTE(keyword, _) \
|
|
|
+ if (value.equals_ignoring_case(#keyword)) \
|
|
|
+ return #keyword;
|
|
|
+ ENUMERATE_HTML_BUTTON_TYPE_ATTRIBUTES
|
|
|
+#undef __ENUMERATE_HTML_BUTTON_TYPE_ATTRIBUTE
|
|
|
+
|
|
|
+ // The missing value default and invalid value default are the Submit Button state.
|
|
|
+ return "submit";
|
|
|
+}
|
|
|
+
|
|
|
+HTMLButtonElement::TypeAttributeState HTMLButtonElement::type_state() const
|
|
|
+{
|
|
|
+ auto value = attribute(HTML::AttributeNames::type);
|
|
|
+
|
|
|
+#define __ENUMERATE_HTML_BUTTON_TYPE_ATTRIBUTE(keyword, state) \
|
|
|
+ if (value.equals_ignoring_case(#keyword)) \
|
|
|
+ return HTMLButtonElement::TypeAttributeState::state;
|
|
|
+ ENUMERATE_HTML_BUTTON_TYPE_ATTRIBUTES
|
|
|
+#undef __ENUMERATE_HTML_BUTTON_TYPE_ATTRIBUTE
|
|
|
+
|
|
|
+ // The missing value default and invalid value default are the Submit Button state.
|
|
|
+ return HTMLButtonElement::TypeAttributeState::Submit;
|
|
|
+}
|
|
|
+
|
|
|
+void HTMLButtonElement::set_type(String const& type)
|
|
|
+{
|
|
|
+ set_attribute(HTML::AttributeNames::type, type);
|
|
|
+}
|
|
|
+
|
|
|
}
|