Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Unified Diff: chrome/browser/autocomplete/history_provider.cc

Issue 77453007: Omnibox: Make HistoryURL Highlight Titles like HistoryQuick Provider (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/autocomplete/history_provider.cc
diff --git a/chrome/browser/autocomplete/history_provider.cc b/chrome/browser/autocomplete/history_provider.cc
index 64d7063acf981e3bc54ec038b1c9d6b2d009149f..efd6bb929e84b3be912d7f6c7ef1cb541c0cfdd2 100644
--- a/chrome/browser/autocomplete/history_provider.cc
+++ b/chrome/browser/autocomplete/history_provider.cc
@@ -13,6 +13,7 @@
#include "chrome/browser/autocomplete/autocomplete_provider_listener.h"
#include "chrome/browser/history/history_service.h"
#include "chrome/browser/history/history_service_factory.h"
+#include "chrome/browser/history/in_memory_url_index_types.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/net/url_fixer_upper.h"
#include "chrome/common/url_constants.h"
@@ -157,3 +158,36 @@ bool HistoryProvider::PreventInlineAutocomplete(
(!input.text().empty() &&
IsWhitespace(input.text()[input.text().length() - 1]));
}
+
+// static
+ACMatchClassifications HistoryProvider::SpansFromTermMatch(
+ const history::TermMatches& matches,
+ size_t text_length,
+ bool is_url) {
+ ACMatchClassification::Style url_style =
+ is_url ? ACMatchClassification::URL : ACMatchClassification::NONE;
+ ACMatchClassifications spans;
+ if (matches.empty()) {
+ if (text_length)
+ spans.push_back(ACMatchClassification(0, url_style));
+ return spans;
+ }
+ if (matches[0].offset)
+ spans.push_back(ACMatchClassification(0, url_style));
+ size_t match_count = matches.size();
+ for (size_t i = 0; i < match_count;) {
+ size_t offset = matches[i].offset;
+ spans.push_back(ACMatchClassification(offset,
+ ACMatchClassification::MATCH | url_style));
+ // Skip all adjacent matches.
+ do {
+ offset += matches[i].length;
+ ++i;
+ } while ((i < match_count) && (offset == matches[i].offset));
+ if (offset < text_length)
+ spans.push_back(ACMatchClassification(offset, url_style));
+ }
+
+ return spans;
+}
+
« no previous file with comments | « chrome/browser/autocomplete/history_provider.h ('k') | chrome/browser/autocomplete/history_quick_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698