This is related to http://code.google.com/p/chromium/issues/detail?id=129552. When a user is doing a FindInPage search it comes in as a series of WebFrameImpl::find calls (find("f"), find("fo"), find("foo")). All of the calls have the findNext option set to false. If the user additionally selected text before typing in the search term all of the find calls need to start searching at the same point. In other words a find call with !options.findNext doesn't necessarily mean that this is a new search, it could also be a refinement. The current implementation loses state (m_activeMatch is set to 0) if !options.findNext. What we really want is to preserve the active find match until the user stops interacting with the find widget.
Created attachment 147108 [details] Patch
Comment on attachment 147108 [details] Patch Ok.
Comment on attachment 147108 [details] Patch Clearing flags on attachment: 147108 Committed r120219: <http://trac.webkit.org/changeset/120219>
All reviewed patches have been landed. Closing bug.