Add autofill Change Processor and Model Associator

BUG=29926
TEST=none

Review URL: http://codereview.chromium.org/628003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40304 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/webdata/autofill_entry.cc b/chrome/browser/webdata/autofill_entry.cc
index 08f7557..d0f8913d 100644
--- a/chrome/browser/webdata/autofill_entry.cc
+++ b/chrome/browser/webdata/autofill_entry.cc
@@ -9,6 +9,17 @@
   return name_ == key.name() && value_ == key.value();
 }
 
+bool AutofillKey::operator<(const AutofillKey& key) const {
+  int diff = name_.compare(key.name());
+  if (diff < 0) {
+    return true;
+  } else if (diff == 0) {
+    return value_.compare(key.value()) < 0;
+  } else {
+    return false;
+  }
+}
+
 bool AutofillEntry::operator==(const AutofillEntry& entry) const {
   if (!(key_ == entry.key()))
     return false;
@@ -25,3 +36,7 @@
 
   return true;
 }
+
+bool AutofillEntry::operator<(const AutofillEntry& entry) const {
+  return key_ < entry.key();
+}