Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / components / autofill / content / renderer / form_autofill_util.cc
index 46852f2..29b6009 100644 (file)
@@ -273,7 +273,7 @@ base::string16 InferLabelFromListItem(const WebFormControlElement& element) {
   WebNode parent = element.parentNode();
   CR_DEFINE_STATIC_LOCAL(WebString, kListItem, ("li"));
   while (!parent.isNull() && parent.isElementNode() &&
-         !parent.to<WebElement>().hasTagName(kListItem)) {
+         !parent.to<WebElement>().hasHTMLTagName(kListItem)) {
     parent = parent.parentNode();
   }
 
@@ -293,7 +293,7 @@ base::string16 InferLabelFromTableColumn(const WebFormControlElement& element) {
   CR_DEFINE_STATIC_LOCAL(WebString, kTableCell, ("td"));
   WebNode parent = element.parentNode();
   while (!parent.isNull() && parent.isElementNode() &&
-         !parent.to<WebElement>().hasTagName(kTableCell)) {
+         !parent.to<WebElement>().hasHTMLTagName(kTableCell)) {
     parent = parent.parentNode();
   }
 
@@ -322,7 +322,7 @@ base::string16 InferLabelFromTableRow(const WebFormControlElement& element) {
   CR_DEFINE_STATIC_LOCAL(WebString, kTableRow, ("tr"));
   WebNode parent = element.parentNode();
   while (!parent.isNull() && parent.isElementNode() &&
-         !parent.to<WebElement>().hasTagName(kTableRow)) {
+         !parent.to<WebElement>().hasHTMLTagName(kTableRow)) {
     parent = parent.parentNode();
   }
 
@@ -389,7 +389,7 @@ base::string16 InferLabelFromDefinitionList(
   CR_DEFINE_STATIC_LOCAL(WebString, kDefinitionData, ("dd"));
   WebNode parent = element.parentNode();
   while (!parent.isNull() && parent.isElementNode() &&
-         !parent.to<WebElement>().hasTagName(kDefinitionData))
+         !parent.to<WebElement>().hasHTMLTagName(kDefinitionData))
     parent = parent.parentNode();
 
   if (parent.isNull() || !HasTagName(parent, kDefinitionData))
@@ -809,19 +809,17 @@ void WebFormControlElementToFormField(const WebFormControlElement& element,
 
   base::string16 value = element.value();
 
-  if (IsSelectElement(element)) {
+  if (IsSelectElement(element) && (extract_mask & EXTRACT_OPTION_TEXT)) {
     const WebSelectElement select_element = element.toConst<WebSelectElement>();
     // Convert the |select_element| value to text if requested.
-    if (extract_mask & EXTRACT_OPTION_TEXT) {
-      WebVector<WebElement> list_items = select_element.listItems();
-      for (size_t i = 0; i < list_items.size(); ++i) {
-        if (IsOptionElement(list_items[i])) {
-          const WebOptionElement option_element =
-              list_items[i].toConst<WebOptionElement>();
-          if (option_element.value() == value) {
-            value = option_element.text();
-            break;
-          }
+    WebVector<WebElement> list_items = select_element.listItems();
+    for (size_t i = 0; i < list_items.size(); ++i) {
+      if (IsOptionElement(list_items[i])) {
+        const WebOptionElement option_element =
+            list_items[i].toConst<WebOptionElement>();
+        if (option_element.value() == value) {
+          value = option_element.text();
+          break;
         }
       }
     }
@@ -854,7 +852,6 @@ bool WebFormElementToFormData(
     return false;
 
   form->name = GetFormIdentifier(form_element);
-  form->method = form_element.method();
   form->origin = frame->document().url();
   form->action = frame->document().completeURL(form_element.action());
   form->user_submitted = form_element.wasUserSubmitted();
@@ -911,7 +908,7 @@ bool WebFormElementToFormData(
   // element's name as a key into the <name, FormFieldData> map to find the
   // previously created FormFieldData and set the FormFieldData's label to the
   // label.firstChild().nodeValue() of the label element.
-  WebElementCollection labels = form_element.getElementsByTagName(kLabel);
+  WebElementCollection labels = form_element.getElementsByHTMLTagName(kLabel);
   DCHECK(!labels.isNull());
   for (WebElement item = labels.firstItem(); !item.isNull();
        item = labels.nextItem()) {