Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(698)

Unified Diff: components/autofill/content/renderer/form_cache.cc

Issue 322453003: autocomplete: support address-line3, address-level{1,2,3} (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: self review Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/autofill/content/renderer/form_cache.cc
diff --git a/components/autofill/content/renderer/form_cache.cc b/components/autofill/content/renderer/form_cache.cc
index 716e895e03ac9b3fa4fc65622ab01965ccd8ef13..be18bf017c23a36183ea280b6d965ceb56803621 100644
--- a/components/autofill/content/renderer/form_cache.cc
+++ b/components/autofill/content/renderer/form_cache.cc
@@ -15,6 +15,7 @@
#include "grit/components_strings.h"
#include "third_party/WebKit/public/platform/WebString.h"
#include "third_party/WebKit/public/platform/WebVector.h"
+#include "third_party/WebKit/public/web/WebConsoleMessage.h"
#include "third_party/WebKit/public/web/WebDocument.h"
#include "third_party/WebKit/public/web/WebFormControlElement.h"
#include "third_party/WebKit/public/web/WebFormElement.h"
@@ -25,6 +26,7 @@
#include "third_party/WebKit/public/web/WebTextAreaElement.h"
#include "ui/base/l10n/l10n_util.h"
+using blink::WebConsoleMessage;
using blink::WebDocument;
using blink::WebFormControlElement;
using blink::WebFormElement;
@@ -80,6 +82,11 @@ void FormCache::ExtractNewForms(const WebFrame& frame,
WebVector<WebFormElement> web_forms;
document.forms(web_forms);
+ // We log an error message for deprecated attributes, but only the first time
Ilya Sherman 2014/06/10 00:40:40 nit: "We log" -> "Log"
Evan Stade 2014/06/12 01:49:47 Done.
+ // the form is parsed.
+ bool log_deprecation_messages =
+ parsed_forms_.find(&frame) == parsed_forms_.end();
+
size_t num_fields_seen = 0;
for (size_t i = 0; i < web_forms.size(); ++i) {
WebFormElement form_element = web_forms[i];
@@ -92,6 +99,23 @@ void FormCache::ExtractNewForms(const WebFrame& frame,
for (size_t j = 0; j < control_elements.size(); ++j) {
WebFormControlElement element = control_elements[j];
+ if (log_deprecation_messages) {
+ std::string autocomplete_attribute =
+ base::UTF16ToUTF8(element.getAttribute("autocomplete"));
+
+ static const char* deprecated[] = { "region", "locality" };
Ilya Sherman 2014/06/10 00:40:40 nit: "const char*" -> "const char* const"
Evan Stade 2014/06/12 01:49:46 Done.
+ for (size_t i = 0; i < arraysize(deprecated); ++i) {
+ if (autocomplete_attribute.find(deprecated[i]) != std::string::npos) {
+ WebConsoleMessage console_message = WebConsoleMessage(
+ WebConsoleMessage::LevelLog,
Ilya Sherman 2014/06/10 00:40:40 Wouldn't LevelWarning or LevelError be more approp
Evan Stade 2014/06/12 01:49:46 yea, I think warning is correct
+ WebString(base::ASCIIToUTF16(std::string("autocomplete='") +
+ deprecated[i] + "' is deprecated and will soon be ignored. "
+ "See http://goo.gl/YjeSsW")));
+ element.document().frame()->addMessageToConsole(console_message);
+ }
+ }
+ }
+
// Save original values of <select> elements so we can restore them
// when |ClearFormWithNode()| is invoked.
if (IsSelectElement(element)) {

Powered by Google App Engine
This is Rietveld 408576698