Chromium Code Reviews| Index: chrome/renderer/form_manager.cc |
| diff --git a/chrome/renderer/form_manager.cc b/chrome/renderer/form_manager.cc |
| index 8a5d5596f88ac4ad8c9c169014f5a45670610e3d..4c731a9718e4380712f222e59e996ad718e75f67 100644 |
| --- a/chrome/renderer/form_manager.cc |
| +++ b/chrome/renderer/form_manager.cc |
| @@ -330,6 +330,18 @@ void FormManager::WebFormControlElementToFormField( |
| WebFormControlElement& e = const_cast<WebFormControlElement&>(element); |
| WebSelectElement select_element = e.to<WebSelectElement>(); |
| value = select_element.value(); |
| + |
| + // Convert the |select_element| value to text if requested. |
| + if (extract_mask & EXTRACT_TEXT) { |
| + WebVector<WebElement> list_items = select_element.listItems(); |
| + for (size_t i = 0; i < list_items.size(); ++i) { |
| + if (list_items[i].hasTagName("option") && |
| + list_items[i].to<WebOptionElement>().value() == value) { |
| + value = list_items[i].to<WebOptionElement>().text(); |
|
James Hawkins
2010/11/16 18:03:12
This overwrites the value of the selected option,
dhollowa
2010/11/16 19:25:57
Yes, I verified this case. We only send the |text
|
| + break; |
| + } |
| + } |
| + } |
| } |
| // TODO(jhawkins): This is a temporary stop-gap measure designed to prevent |