| Index: webkit/glue/form_field_values.cc
|
| ===================================================================
|
| --- webkit/glue/form_field_values.cc (revision 30521)
|
| +++ webkit/glue/form_field_values.cc (working copy)
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "config.h"
|
|
|
| +#include "Document.h"
|
| #include "Frame.h"
|
| #include "HTMLFormElement.h"
|
| #include "HTMLInputElement.h"
|
| @@ -28,7 +29,8 @@
|
| RefPtr<WebCore::HTMLFormElement> form = WebFormToHTMLFormElement(webform);
|
| DCHECK(form);
|
|
|
| - WebCore::Frame* frame = form->document()->frame();
|
| + WebCore::Document* document = form->document();
|
| + WebCore::Frame* frame = document->frame();
|
| if (!frame)
|
| return NULL;
|
|
|
| @@ -36,14 +38,24 @@
|
| if (!loader)
|
| return NULL;
|
|
|
| + // Construct a new FormFieldValues.
|
| + FormFieldValues* result = new FormFieldValues();
|
| +
|
| + result->form_name = StringToString16(form->name());
|
| + result->source_url = KURLToGURL(document->url());
|
| + result->target_url = KURLToGURL(document->completeURL(form->action()));
|
| + result->ExtractFormFieldValues(webform);
|
| +
|
| + return result;
|
| +}
|
| +
|
| +void FormFieldValues::ExtractFormFieldValues(const WebKit::WebForm& webform) {
|
| + RefPtr<WebCore::HTMLFormElement> form = WebFormToHTMLFormElement(webform);
|
| +
|
| const WTF::Vector<WebCore::HTMLFormControlElement*>& form_elements =
|
| form->formElements;
|
|
|
| - // Construct a new FormFieldValues.
|
| - FormFieldValues* result = new FormFieldValues();
|
| -
|
| size_t form_element_count = form_elements.size();
|
| -
|
| for (size_t i = 0; i < form_element_count; i++) {
|
| WebCore::HTMLFormControlElement* form_element = form_elements[i];
|
|
|
| @@ -69,10 +81,8 @@
|
| if (name.length() == 0)
|
| continue; // If we have no name, there is nothing to store.
|
|
|
| - result->elements.push_back(FormField(name, value));
|
| + elements.push_back(FormField(name, value));
|
| }
|
| -
|
| - return result;
|
| }
|
|
|
| } // namespace webkit_glue
|
|
|