mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 01:12:44 +00:00 
			
		
		
		
	LibWeb: Use the cached HTMLInputElement type within associated getters
This commit is contained in:
		
							parent
							
								
									95b084a08f
								
							
						
					
					
						commit
						1a99cc4a14
					
				
					 2 changed files with 7 additions and 26 deletions
				
			
		|  | @ -239,34 +239,15 @@ void HTMLInputElement::did_remove_attribute(FlyString const& name) | |||
| 
 | ||||
| String HTMLInputElement::type() const | ||||
| { | ||||
|     auto value = attribute(HTML::AttributeNames::type); | ||||
| 
 | ||||
| #define __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(keyword, _) \ | ||||
|     if (value.equals_ignoring_case(#keyword))             \ | ||||
|         return #keyword; | ||||
|     ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTES | ||||
| #undef __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE | ||||
| 
 | ||||
|     // The missing value default and the invalid value default are the Text state.
 | ||||
|     // https://html.spec.whatwg.org/multipage/input.html#the-input-element:missing-value-default
 | ||||
|     // https://html.spec.whatwg.org/multipage/input.html#the-input-element:invalid-value-default
 | ||||
|     return "text"; | ||||
| } | ||||
| 
 | ||||
| HTMLInputElement::TypeAttributeState HTMLInputElement::type_state() const | ||||
| { | ||||
|     auto value = attribute(HTML::AttributeNames::type); | ||||
| 
 | ||||
|     switch (m_type) { | ||||
| #define __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(keyword, state) \ | ||||
|     if (value.equals_ignoring_case(#keyword))                 \ | ||||
|         return HTMLInputElement::TypeAttributeState::state; | ||||
|     ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTES | ||||
|     case TypeAttributeState::state:                           \ | ||||
|         return #keyword##sv; | ||||
|         ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTES | ||||
| #undef __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE | ||||
|     } | ||||
| 
 | ||||
|     // The missing value default and the invalid value default are the Text state.
 | ||||
|     // https://html.spec.whatwg.org/multipage/input.html#the-input-element:missing-value-default
 | ||||
|     // https://html.spec.whatwg.org/multipage/input.html#the-input-element:invalid-value-default
 | ||||
|     return HTMLInputElement::TypeAttributeState::Text; | ||||
|     VERIFY_NOT_REACHED(); | ||||
| } | ||||
| 
 | ||||
| void HTMLInputElement::set_type(String const& type) | ||||
|  |  | |||
|  | @ -53,7 +53,7 @@ public: | |||
|     }; | ||||
| 
 | ||||
|     String type() const; | ||||
|     TypeAttributeState type_state() const; | ||||
|     TypeAttributeState type_state() const { return m_type; } | ||||
|     void set_type(String const&); | ||||
| 
 | ||||
|     String default_value() const { return attribute(HTML::AttributeNames::value); } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy Flynn
						Timothy Flynn