summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_view.cc
diff options
context:
space:
mode:
authorhayato@chromium.org <hayato@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-31 09:34:50 +0000
committerhayato@chromium.org <hayato@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-31 09:34:50 +0000
commite6efd025246dc04f22ee0f62a25e1259ab95512e (patch)
treea7bee5e86797af0826bf2cbda24070526ef33b60 /chrome/renderer/render_view.cc
parent5c43b97cfe76c02c88900a4c68326adac842b7be (diff)
downloadchromium_src-e6efd025246dc04f22ee0f62a25e1259ab95512e.zip
chromium_src-e6efd025246dc04f22ee0f62a25e1259ab95512e.tar.gz
chromium_src-e6efd025246dc04f22ee0f62a25e1259ab95512e.tar.bz2
Page Cycler Intl2 perf regression.
Revert 43181 - AutoFill: Send the forms cached in the FormManager to the AutoFillManager on page load instead of duplicating this parsing in RenderView. BUG=38325 TEST=none Review URL: http://codereview.chromium.org/1530011 TBR=jhawkins@chromium.org Review URL: http://codereview.chromium.org/1540008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43195 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_view.cc')
-rw-r--r--chrome/renderer/render_view.cc43
1 files changed, 21 insertions, 22 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index 6c8b8a2..0d84b7ab 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -79,11 +79,11 @@
#include "third_party/WebKit/WebKit/chromium/public/WebDocument.h"
#include "third_party/WebKit/WebKit/chromium/public/WebDragData.h"
#include "third_party/WebKit/WebKit/chromium/public/WebFileChooserParams.h"
-#include "third_party/WebKit/WebKit/chromium/public/WebFormControlElement.h"
#include "third_party/WebKit/WebKit/chromium/public/WebFormElement.h"
#include "third_party/WebKit/WebKit/chromium/public/WebFrame.h"
#include "third_party/WebKit/WebKit/chromium/public/WebHistoryItem.h"
#include "third_party/WebKit/WebKit/chromium/public/WebImage.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebInputElement.h"
#include "third_party/WebKit/WebKit/chromium/public/WebNode.h"
#include "third_party/WebKit/WebKit/chromium/public/WebNodeList.h"
#include "third_party/WebKit/WebKit/chromium/public/WebPageSerializer.h"
@@ -106,7 +106,6 @@
#include "webkit/appcache/web_application_cache_host_impl.h"
#include "webkit/default_plugin/default_plugin_shared.h"
#include "webkit/glue/dom_operations.h"
-#include "webkit/glue/form_data.h"
#include "webkit/glue/form_field.h"
#include "webkit/glue/form_field_values.h"
#include "webkit/glue/glue_serialize.h"
@@ -135,7 +134,6 @@ using appcache::WebApplicationCacheHostImpl;
using base::Time;
using base::TimeDelta;
using webkit_glue::AltErrorPageResourceFetcher;
-using webkit_glue::FormData;
using webkit_glue::FormField;
using webkit_glue::FormFieldValues;
using webkit_glue::ImageResourceFetcher;
@@ -159,11 +157,11 @@ using WebKit::WebDragOperationsMask;
using WebKit::WebEditingAction;
using WebKit::WebFileChooserCompletion;
using WebKit::WebFindOptions;
-using WebKit::WebFormControlElement;
using WebKit::WebFormElement;
using WebKit::WebFrame;
using WebKit::WebHistoryItem;
using WebKit::WebImage;
+using WebKit::WebInputElement;
using WebKit::WebMediaPlayer;
using WebKit::WebMediaPlayerAction;
using WebKit::WebMediaPlayerClient;
@@ -1952,12 +1950,10 @@ void RenderView::queryAutofillSuggestions(const WebNode& node,
static int query_counter = 0;
autofill_query_id_ = query_counter++;
autofill_query_node_ = node;
- const WebKit::WebFormControlElement element =
- node.toConstElement<WebFormControlElement>();
- FormField field;
- FormManager::WebFormControlElementToFormField(element, &field);
+ const WebKit::WebInputElement input_element =
+ node.toConstElement<WebInputElement>();
Send(new ViewHostMsg_QueryFormFieldAutofill(
- routing_id_, autofill_query_id_, field));
+ routing_id_, autofill_query_id_, FormField(input_element)));
}
void RenderView::removeAutofillSuggestions(const WebString& name,
@@ -1973,8 +1969,7 @@ void RenderView::didAcceptAutoFillSuggestion(
autofill_query_id_ = query_counter++;
webkit_glue::FormData form;
- const WebFormControlElement element =
- node.toConstElement<WebFormControlElement>();
+ const WebInputElement element = node.toConstElement<WebInputElement>();
if (!form_manager_.FindForm(element, &form))
return;
@@ -4658,18 +4653,22 @@ void RenderView::focusAccessibilityObject(
}
void RenderView::SendForms(WebFrame* frame) {
- std::vector<FormData> forms;
- FormManager::RequirementsMask requirements =
- static_cast<FormManager::RequirementsMask>(
- FormManager::REQUIRE_AUTOCOMPLETE |
- FormManager::REQUIRE_ELEMENTS_ENABLED);
- form_manager_.GetFormsInFrame(frame, requirements, &forms);
- if (!forms.empty()) {
- // TODO(jhawkins): Remove this call once AutoFillManager uses FormData.
- std::vector<FormFieldValues> form_field_values;
- FormManager::FormDataToFormFieldValues(forms, &form_field_values);
- Send(new ViewHostMsg_FormsSeen(routing_id_, form_field_values));
+ WebVector<WebFormElement> web_forms;
+ frame->forms(web_forms);
+
+ std::vector<FormFieldValues> forms;
+ for (size_t i = 0; i < web_forms.size(); ++i) {
+ const WebFormElement& web_form = web_forms[i];
+
+ if (web_form.autoComplete()) {
+ scoped_ptr<FormFieldValues> form(FormFieldValues::Create(web_form));
+ if (form.get())
+ forms.push_back(*form);
+ }
}
+
+ if (!forms.empty())
+ Send(new ViewHostMsg_FormsSeen(routing_id_, forms));
}
void RenderView::didChangeAccessibilityObjectState(