From 44c203ce291ddf62482adda39ac3bf5701e8a218 Mon Sep 17 00:00:00 2001
From: Jiri Marsicek <jiri.marsicek@gmail.com>
Date: Sat, 22 Aug 2015 21:58:25 +0200
Subject: [PATCH] Adds support for contenteditable attribute as input mode
 trigger

fanglingsu/vimb#237
---
 src/dom.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/dom.c b/src/dom.c
index 34bb8d2..32b6bea 100644
--- a/src/dom.c
+++ b/src/dom.c
@@ -171,14 +171,15 @@ gboolean dom_focus_input(Document *doc)
 gboolean dom_is_editable(Element *element)
 {
     gboolean result = false;
-    char *tagname, *type;
+    char *tagname, *type, *editable;
 
     if (!element) {
         return result;
     }
 
-    tagname = webkit_dom_element_get_tag_name(element);
-    type    = webkit_dom_element_get_attribute(element, "type");
+    tagname  = webkit_dom_element_get_tag_name(element);
+    type     = webkit_dom_element_get_attribute(element, "type");
+    editable = webkit_dom_element_get_attribute(element, "contenteditable"); 
     /* element is editable if it's a text area or input with no type, text or
      * pasword */
     if (!g_ascii_strcasecmp(tagname, "textarea")) {
@@ -201,11 +202,14 @@ gboolean dom_is_editable(Element *element)
             || !g_ascii_strcasecmp(type, "week"))
     ) {
         result = true;
+    } else if (!g_ascii_strcasecmp(editable, "true")) {
+        result = true;
     } else {
         result = false;
     }
     g_free(tagname);
     g_free(type);
+    g_free(editable);
 
     return result;
 }
-- 
2.20.1