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

Unified Diff: components/autofill/core/common/autofill_util.h

Issue 962673004: [Autofill/Autocomplete Feature] Substring matching instead of prefix matching. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed suggestions ordering prefix/substring and unittests. Created 5 years, 9 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/autofill/core/common/autofill_util.h
diff --git a/components/autofill/core/common/autofill_util.h b/components/autofill/core/common/autofill_util.h
new file mode 100644
index 0000000000000000000000000000000000000000..de54b8d4089033ae1bc39d48d7b141fee3ee937b
--- /dev/null
+++ b/components/autofill/core/common/autofill_util.h
@@ -0,0 +1,37 @@
+// 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_AUTOFILL_CORE_COMMON_AUTOFILL_UTIL_H_
+#define COMPONENTS_AUTOFILL_CORE_COMMON_AUTOFILL_UTIL_H_
+
+#include "base/strings/string16.h"
+
+namespace autofill {
+
+enum CaseSensitivity {
Evan Stade 2015/03/26 18:54:38 use a bool imo. base::strings just uses bools for
vabr (Chromium) 2015/03/27 10:13:35 I actually suggested using enum here in https://co
Pritam Nikam 2015/03/27 14:57:42 In that case I'll restore it back to bool, and jus
+ CASE_SENSITIVE, // for case sensitive match;
+ CASE_IGNORE // for case insensitive match;
+};
+
+// Returns |true| when command line switch
+// |kEnableSuggestionsWithSubstringMatch| is on; otherwise |false|.
+bool IsFeatureSubstringMatchEnabled();
+
+// Splits |field_suggestion| into tokens, separated by characters from " .,-_@".
+// Returns true if |field_content| is a prefix of some token; otherwise false.
+bool IsContentsPrefixOfSuggestionToken(const base::string16& field_suggestion,
+ const base::string16& field_contents,
+ CaseSensitivity case_sensitivity);
+
+// Returns |field_contents|'s offset within the |field_suggestion| on successful
+// match and compute the selection range's |start| and |end| indices; otherwise
+// returns |base::string16::npos|.
+base::string16::size_type ComputeRange(const base::string16& field_suggestion,
Evan Stade 2015/03/26 18:54:38 seems like this belongs next to base::StartsWith/E
Pritam Nikam 2015/03/27 14:57:42 Sorry, I didn't get this input. Did you mean I sha
Evan Stade 2015/03/30 17:44:58 yes
Pritam Nikam 2015/03/31 14:26:11 Done. Added a utility API to string_util.h/cc to
+ const base::string16& field_contents,
+ size_t* start,
+ size_t* end);
+
+} // namespace autofill
+
+#endif // COMPONENTS_AUTOFILL_CORE_COMMON_AUTOFILL_UTIL_H_

Powered by Google App Engine
This is Rietveld 408576698