Adding support for Reset in StringTokenizerT and HttpHeadersIterator.

TEST=Run HeadersIterator_Reset and the Reset test for StringTokenizer
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29330 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/base/string_tokenizer.h b/base/string_tokenizer.h
index eb9ac2d..a6b5870 100644
--- a/base/string_tokenizer.h
+++ b/base/string_tokenizer.h
@@ -141,6 +141,11 @@
     return true;
   }
 
+  // Start iterating through tokens from the beginning of the string.
+  void Reset() {
+    token_end_ = start_pos_;
+  }
+
   // Returns true if token is a delimiter.  When the tokenizer is constructed
   // with the RETURN_DELIMS option, this method can be used to check if the
   // returned token is actually a delimiter.
@@ -156,6 +161,7 @@
   void Init(const_iterator string_begin,
             const_iterator string_end,
             const str& delims) {
+    start_pos_ = string_begin;
     token_end_ = string_begin;
     end_ = string_end;
     delims_ = delims;
@@ -195,6 +201,7 @@
     return true;
   }
 
+  const_iterator start_pos_;
   const_iterator token_begin_;
   const_iterator token_end_;
   const_iterator end_;