Index: chrome/browser/history/query_parser.cc |
=================================================================== |
--- chrome/browser/history/query_parser.cc (revision 159706) |
+++ chrome/browser/history/query_parser.cc (working copy) |
@@ -22,7 +22,7 @@ |
} |
// Returns true if |mp2| intersects |mp1|. This is intended for use by |
-// CoalesceMatchesFrom and isn't meant as a general intersectpion comparison |
+// CoalesceMatchesFrom and isn't meant as a general intersection comparison |
// function. |
bool SnippetIntersects(const Snippet::MatchPosition& mp1, |
const Snippet::MatchPosition& mp2) { |
@@ -36,7 +36,7 @@ |
for (Snippet::MatchPositions::iterator i = matches->begin() + index + 1; |
i != matches->end(); ) { |
if (SnippetIntersects(mp, *i)) { |
- mp.second = i->second; |
+ mp.second = std::max(mp.second, i->second); |
i = matches->erase(i); |
} else { |
return; |
@@ -125,16 +125,17 @@ |
bool QueryNodeWord::HasMatchIn(const std::vector<QueryWord>& words, |
Snippet::MatchPositions* match_positions) const { |
+ bool matched = false; |
for (size_t i = 0; i < words.size(); ++i) { |
if (Matches(words[i].word, false)) { |
size_t match_start = words[i].position; |
match_positions->push_back( |
Snippet::MatchPosition(match_start, |
match_start + static_cast<int>(word_.size()))); |
- return true; |
+ matched = true; |
} |
} |
- return false; |
+ return matched; |
} |
void QueryNodeWord::AppendWords(std::vector<string16>* words) const { |