mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
This PR addresses a crash in text input element due to a hack to prevent text input being trimmed. The updated behavior will only add `zero width space` unicode character to the node if there's no text content instead of adding it constantly. Also by adding the same `zero width space` unicode character to text area when there's no text content within will allow text area element to properly display caret. <img width="197" alt="截圖 2025-04-11 中午12 51 00" src="https://github.com/user-attachments/assets/10bc7314-9aa3-49df-baac-ef26d39a96d8" /> This PR also addresses issues with multiple glyph runs: https://github.com/user-attachments/assets/658db56f-b166-47ec-bc77-c6c13114d669 Testing: This PR is tested using: - `./mach run -d 'data:text/html,<input id="input_element" value="xxxxxxxxxxxxxxxxxxxx">'` - `./mach run -d 'data:text/html,<textarea id="input_element" value="xxxxxxxxxxxxxxxxxxxx">'` without causing crashes, while the results should be covered by WPT tests Fixes: https://github.com/servo/servo/issues/36449 --------- Signed-off-by: DK Liao <dklassic@gmail.com> |
||
---|---|---|
.. | ||
appearance | ||
button-layout | ||
the-select-element | ||
baseline-alignment-and-overflow.tentative.html.ini | ||
field-sizing-input-number.html.ini | ||
field-sizing-input-text.html.ini | ||
field-sizing-select.html.ini | ||
field-sizing-textarea.html.ini | ||
input-checkbox-no-centering.html.ini | ||
input-checkbox-switch-indeterminate.tentative.html.ini | ||
input-checkbox-switch.tentative.html.ini | ||
input-checkbox-switch.tentative.window.js.ini | ||
input-checkbox-zero-size.html.ini | ||
input-radio-no-centering.html.ini | ||
input-text-size.html.ini | ||
textarea-cols-rows.html.ini |