Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / autocomplete / history_provider.cc
index 0018b47..a23adad 100644 (file)
@@ -8,14 +8,15 @@
 
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/autocomplete/autocomplete_input.h"
-#include "chrome/browser/autocomplete/autocomplete_match.h"
-#include "chrome/browser/autocomplete/autocomplete_provider_listener.h"
+#include "chrome/browser/bookmarks/bookmark_model_factory.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/url_constants.h"
+#include "components/bookmarks/browser/bookmark_model.h"
+#include "components/omnibox/autocomplete_input.h"
+#include "components/omnibox/autocomplete_match.h"
 #include "url/url_util.h"
 
 void HistoryProvider::DeleteMatch(const AutocompleteMatch& match) {
@@ -44,20 +45,23 @@ bool HistoryProvider::PreventInlineAutocomplete(
        IsWhitespace(input.text()[input.text().length() - 1]));
 }
 
-HistoryProvider::HistoryProvider(AutocompleteProviderListener* listener,
-                                 Profile* profile,
+HistoryProvider::HistoryProvider(Profile* profile,
                                  AutocompleteProvider::Type type)
-    : AutocompleteProvider(listener, profile, type) {
+    : AutocompleteProvider(type),
+      profile_(profile) {
 }
 
 HistoryProvider::~HistoryProvider() {}
 
 void HistoryProvider::DeleteMatchFromMatches(const AutocompleteMatch& match) {
   bool found = false;
+  BookmarkModel* bookmark_model = BookmarkModelFactory::GetForProfile(profile_);
   for (ACMatches::iterator i(matches_.begin()); i != matches_.end(); ++i) {
     if (i->destination_url == match.destination_url && i->type == match.type) {
       found = true;
-      if (i->is_history_what_you_typed_match || i->starred) {
+      if (i->is_history_what_you_typed_match ||
+          (bookmark_model &&
+           bookmark_model->IsBookmarked(i->destination_url))) {
         // We can't get rid of What-You-Typed or Bookmarked matches,
         // but we can make them look like they have no backing data.
         i->deletable = false;