summaryrefslogtreecommitdiffstats
path: root/WebKit/chromium/src/WebSearchableFormData.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/chromium/src/WebSearchableFormData.cpp')
-rw-r--r--WebKit/chromium/src/WebSearchableFormData.cpp38
1 files changed, 19 insertions, 19 deletions
diff --git a/WebKit/chromium/src/WebSearchableFormData.cpp b/WebKit/chromium/src/WebSearchableFormData.cpp
index eddaffe..50192eb 100644
--- a/WebKit/chromium/src/WebSearchableFormData.cpp
+++ b/WebKit/chromium/src/WebSearchableFormData.cpp
@@ -62,7 +62,7 @@ void GetFormEncoding(const HTMLFormElement* form, TextEncoding* encoding)
return;
}
const Frame* frame = form->document()->frame();
- *encoding = frame ? TextEncoding(frame->loader()->encoding()) : Latin1Encoding();
+ *encoding = frame ? TextEncoding(frame->loader()->writer()->encoding()) : Latin1Encoding();
}
// Returns true if the submit request results in an HTTP URL.
@@ -77,7 +77,8 @@ bool IsHTTPFormSubmit(const HTMLFormElement* form)
HTMLFormControlElement* GetButtonToActivate(HTMLFormElement* form)
{
HTMLFormControlElement* firstSubmitButton = 0;
- for (Vector<HTMLFormControlElement*>::const_iterator i(form->formElements.begin()); i != form->formElements.end(); ++i) {
+ // FIXME: Consider refactoring this code so that we don't call form->associatedElements() twice.
+ for (Vector<HTMLFormControlElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) {
HTMLFormControlElement* formElement = *i;
if (formElement->isActivatedSubmit())
// There's a button that is already activated for submit, return 0.
@@ -130,7 +131,7 @@ bool IsInDefaultState(const HTMLFormControlElement* formElement)
{
if (formElement->hasTagName(HTMLNames::inputTag)) {
const HTMLInputElement* inputElement = static_cast<const HTMLInputElement*>(formElement);
- if (inputElement->inputType() == HTMLInputElement::CHECKBOX || inputElement->inputType() == HTMLInputElement::RADIO)
+ if (inputElement->isCheckbox() || inputElement->isRadioButton())
return inputElement->checked() == inputElement->defaultChecked();
} else if (formElement->hasTagName(HTMLNames::selectTag))
return IsSelectInDefaultState(static_cast<const HTMLSelectElement*>(formElement));
@@ -154,7 +155,8 @@ bool HasSuitableTextElement(const HTMLFormElement* form, Vector<char>* encodedSt
*encodingName = encoding.name();
HTMLInputElement* textElement = 0;
- for (Vector<HTMLFormControlElement*>::const_iterator i(form->formElements.begin()); i != form->formElements.end(); ++i) {
+ // FIXME: Consider refactoring this code so that we don't call form->associatedElements() twice.
+ for (Vector<HTMLFormControlElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) {
HTMLFormControlElement* formElement = *i;
if (formElement->disabled() || formElement->name().isNull())
continue;
@@ -164,29 +166,27 @@ bool HasSuitableTextElement(const HTMLFormElement* form, Vector<char>* encodedSt
bool isTextElement = false;
if (formElement->hasTagName(HTMLNames::inputTag)) {
- switch (static_cast<const HTMLInputElement*>(formElement)->inputType()) {
- case HTMLInputElement::TEXT:
- case HTMLInputElement::ISINDEX:
- isTextElement = true;
- break;
- case HTMLInputElement::PASSWORD:
- // Don't store passwords! This is most likely an https anyway.
- // Fall through.
- case HTMLInputElement::FILE:
+ const HTMLInputElement* input = static_cast<const HTMLInputElement*>(formElement);
+ if (input->isFileUpload()) {
// Too big, don't try to index this.
return 0;
- default:
- // All other input types are indexable.
- break;
}
+
+ if (input->isPasswordField()) {
+ // Don't store passwords! This is most likely an https anyway.
+ return 0;
+ }
+
+ if (input->isTextField())
+ isTextElement = true;
}
FormDataList dataList(encoding);
if (!formElement->appendFormData(dataList, false))
continue;
- const Vector<FormDataList::Item>& itemList = dataList.list();
- if (isTextElement && !itemList.isEmpty()) {
+ const Vector<FormDataList::Item>& items = dataList.items();
+ if (isTextElement && !items.isEmpty()) {
if (textElement) {
// The auto-complete bar only knows how to fill in one value.
// This form has multiple fields; don't treat it as searchable.
@@ -194,7 +194,7 @@ bool HasSuitableTextElement(const HTMLFormElement* form, Vector<char>* encodedSt
}
textElement = static_cast<HTMLInputElement*>(formElement);
}
- for (Vector<FormDataList::Item>::const_iterator j(itemList.begin()); j != itemList.end(); ++j) {
+ for (Vector<FormDataList::Item>::const_iterator j(items.begin()); j != items.end(); ++j) {
// Handle ISINDEX / <input name=isindex> specially, but only if it's
// the first entry.
if (!encodedString->isEmpty() || j->data() != "isindex") {