summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2017-02-11 17:26:03 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2017-02-11 17:26:03 +0000
commit46c9267a11e572949f77f7c4f06f834869cb3cfc (patch)
treec4fff9031dfd492fe1c4c1b2379e733387036249 /render
parent7996c29b0c3df81d37ed686fd6fd8f5d28f92981 (diff)
downloadnetsurf-46c9267a11e572949f77f7c4f06f834869cb3cfc.tar.gz
netsurf-46c9267a11e572949f77f7c4f06f834869cb3cfc.tar.bz2
Make disabled textboxes read-only. Partially fixes 2521.
Diffstat (limited to 'render')
-rw-r--r--render/box_textarea.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/render/box_textarea.c b/render/box_textarea.c
index 44f5c0b16..1586d71c4 100644
--- a/render/box_textarea.c
+++ b/render/box_textarea.c
@@ -239,6 +239,7 @@ bool box_textarea_create_textarea(html_content *html,
textarea_flags ta_flags;
plot_font_style_t fstyle;
bool read_only = false;
+ bool disabled = false;
struct form_control *gadget = box->gadget;
const char *text;
@@ -257,6 +258,11 @@ bool box_textarea_create_textarea(html_content *html,
if (err != DOM_NO_ERR)
return false;
+ err = dom_html_text_area_element_get_disabled(
+ textarea, &disabled);
+ if (err != DOM_NO_ERR)
+ return false;
+
/* Get the textarea's initial content */
err = dom_html_text_area_element_get_value(textarea, &dom_text);
if (err != DOM_NO_ERR)
@@ -270,6 +276,11 @@ bool box_textarea_create_textarea(html_content *html,
if (err != DOM_NO_ERR)
return false;
+ err = dom_html_input_element_get_disabled(
+ input, &disabled);
+ if (err != DOM_NO_ERR)
+ return false;
+
if (gadget->type == GADGET_PASSWORD)
ta_flags = TEXTAREA_PASSWORD;
else
@@ -289,7 +300,7 @@ bool box_textarea_create_textarea(html_content *html,
text = "";
}
- if (read_only)
+ if (read_only || disabled)
ta_flags |= TEXTAREA_READONLY;
gadget->data.text.data.gadget = gadget;