(In reply to comment #5)
> Why are these needed? What will they be used for?
Right now you can't declare a variable or class field of type HashMap::iterator without immediately initializing it. This is inconsistent with wtf::Vector and STL iterators.
My specific intended usage for them is to implement a lightweight iterator over EventTarget's listeners. EventTarget has a map of vectors. So the listener iterator simply combines a map iterator and an index. The problem is that the listener map is optional and the map iterator can't be initialized when it's NULL without using some dummy map.