Add initial implementation of AutoFill++.  This implementation is hidden behind a switch, --enable-new-autofill.  So far, we only pop up an infobar asking the user if he'd like to save the form information.  I've added a rudimentary icon for the infobar, pulled from the mocks, so we'll probably want a blessed version of this icon at some point.

BUG=18201
TEST=none
Review URL: http://codereview.chromium.org/339030

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30378 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/tab_contents/tab_contents.cc b/chrome/browser/tab_contents/tab_contents.cc
index 02af3a5..8d98d80 100644
--- a/chrome/browser/tab_contents/tab_contents.cc
+++ b/chrome/browser/tab_contents/tab_contents.cc
@@ -11,6 +11,7 @@
 #include "base/string16.h"
 #include "base/string_util.h"
 #include "base/time.h"
+#include "chrome/browser/autofill/autofill_manager.h"
 #include "chrome/browser/blocked_popup_container.h"
 #include "chrome/browser/bookmarks/bookmark_model.h"
 #include "chrome/browser/browser_process.h"
@@ -230,6 +231,7 @@
       save_package_(),
       cancelable_consumer_(),
       form_field_history_manager_(),
+      autofill_manager_(),
       password_manager_(),
       plugin_installer_(),
       ALLOW_THIS_IN_INITIALIZER_LIST(fav_icon_helper_(this)),
@@ -1937,6 +1939,12 @@
   return form_field_history_manager_.get();
 }
 
+RenderViewHostDelegate::AutoFill* TabContents::GetAutoFillDelegate() {
+  if (autofill_manager_.get() == NULL)
+    autofill_manager_.reset(new AutoFillManager(this));
+  return autofill_manager_.get();
+}
+
 RendererPreferences TabContents::GetRendererPrefs() const {
   return renderer_preferences_;
 }