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

Unified Diff: components/history/core/browser/scored_history_match_client.h

Issue 903493002: Componentize ScoredHistoryMatch (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 10 months 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: components/history/core/browser/scored_history_match_client.h
diff --git a/components/history/core/browser/scored_history_match_client.h b/components/history/core/browser/scored_history_match_client.h
new file mode 100644
index 0000000000000000000000000000000000000000..14ac5a0bb54b2ac00d1dd20030a7c0cb53523a7a
--- /dev/null
+++ b/components/history/core/browser/scored_history_match_client.h
@@ -0,0 +1,72 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef COMPONENTS_HISTORY_CORE_BROWSER_SCORED_HISTORY_MATCH_CLIENT_H_
+#define COMPONENTS_HISTORY_CORE_BROWSER_SCORED_HISTORY_MATCH_CLIENT_H_
+
+#include <vector>
+
+#include "base/macros.h"
+#include "base/strings/string16.h"
+#include "base/strings/utf_offset_string_conversions.h"
+
+class GURL;
+
+namespace history {
+
+class ScoredHistoryMatchClient {
+ public:
+ ScoredHistoryMatchClient();
+ virtual ~ScoredHistoryMatchClient();
+
+ // Returns whether the URL is bookmarked or not.
+ virtual bool IsBoomarked(const GURL& url) const = 0;
+
+ // Score for untyped visit to bookmarked pages (as opposed to 1 for
+ // untyped visits to non-bookmarked pages and 20 for typed visits).
+ virtual int BookmarkValue() const = 0;
+
+ // If true, allow input terms to match in the TLD (e.g., .com).
+ virtual bool AllowTldMatches() const = 0;
+
+ // If true, allow input terms to match in the scheme (e.g., http://).
+ virtual bool AllowSchemeMatches() const = 0;
+
+ // Returns whether an autocomplete match can be inlined. If |innermost_match|
+ // is non-null it will be set to true if the best prefix is the innermost one.
+ virtual bool CanInlineAutocompleteMatch(const GURL& url,
+ const base::string16& term,
+ bool* innermost_match) const = 0;
+
+ // Cleans up URL and title for matching, returning the cleaned up URL.
+ // |languages| is passed to net::FormatURL(). |adjustments|, if non-null, is
+ // set to reflect the transformations the URL spec underwent to become the
+ // return value. |title|, if non-null, is cleaned up in-place.
+ virtual base::string16 CleanUpUrlAndTitleForMatching(
+ const GURL& url,
+ const std::string& languages,
+ base::OffsetAdjuster::Adjustments* adjustments,
+ base::string16* title) const = 0;
+
+ // Converts a raw score (a weighted sum of the number of hits for the term,
+ // weigthed by how important the hit is: hostname, path, etc.) to the
+ // topicality score we should assign it.
+ float GetTopicalityScoreFromRawScore(int raw_score) const;
+
+ // Returns the recency score to assign depending on how long ago a page was
+ // visited (in days).
+ float GetRecencyScore(int last_visit_days_ago) const;
+
+ private:
+ // Pre-computed information for |GetTopicalityScoreFromRawScore()| and
+ // |GetRecencyScore()| respectively.
+ std::vector<float> raw_score_to_topicality_score_;
+ std::vector<float> days_ago_to_recency_score_;
+
+ DISALLOW_COPY_AND_ASSIGN(ScoredHistoryMatchClient);
+};
+
+} // namespace history
+
+#endif // COMPONENTS_HISTORY_CORE_BROWSER_SCORED_HISTORY_MATCH_CLIENT_H_

Powered by Google App Engine
This is Rietveld 408576698