| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/search_engines/chrome_template_url_service_client.h" | 5 #include "chrome/browser/search_engines/chrome_template_url_service_client.h" |
| 6 | 6 |
| 7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
| 8 #include "chrome/browser/extensions/api/preference/preference_api.h" |
| 8 #include "components/history/core/browser/history_service.h" | 9 #include "components/history/core/browser/history_service.h" |
| 9 #include "components/search_engines/template_url_service.h" | 10 #include "components/search_engines/template_url_service.h" |
| 10 #include "extensions/common/constants.h" | 11 #include "extensions/common/constants.h" |
| 11 | 12 |
| 12 ChromeTemplateURLServiceClient::ChromeTemplateURLServiceClient( | 13 ChromeTemplateURLServiceClient::ChromeTemplateURLServiceClient( |
| 13 history::HistoryService* history_service) | 14 history::HistoryService* history_service, |
| 15 extensions::PreferenceAPI* pref_api) |
| 14 : owner_(NULL), | 16 : owner_(NULL), |
| 15 history_service_observer_(this), | 17 history_service_observer_(this), |
| 16 history_service_(history_service) { | 18 history_service_(history_service), |
| 19 pref_api_(pref_api) { |
| 17 // TODO(sky): bug 1166191. The keywords should be moved into the history | 20 // TODO(sky): bug 1166191. The keywords should be moved into the history |
| 18 // db, which will mean we no longer need this notification and the history | 21 // db, which will mean we no longer need this notification and the history |
| 19 // backend can handle automatically adding the search terms as the user | 22 // backend can handle automatically adding the search terms as the user |
| 20 // navigates. | 23 // navigates. |
| 21 if (history_service_) | 24 if (history_service_) |
| 22 history_service_observer_.Add(history_service_); | 25 history_service_observer_.Add(history_service_); |
| 23 } | 26 } |
| 24 | 27 |
| 25 ChromeTemplateURLServiceClient::~ChromeTemplateURLServiceClient() { | 28 ChromeTemplateURLServiceClient::~ChromeTemplateURLServiceClient() { |
| 26 } | 29 } |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 DCHECK_EQ(history_service_, history_service); | 80 DCHECK_EQ(history_service_, history_service); |
| 78 if (!owner_) | 81 if (!owner_) |
| 79 return; | 82 return; |
| 80 | 83 |
| 81 TemplateURLService::URLVisitedDetails visited_details; | 84 TemplateURLService::URLVisitedDetails visited_details; |
| 82 visited_details.url = row.url(); | 85 visited_details.url = row.url(); |
| 83 visited_details.is_keyword_transition = | 86 visited_details.is_keyword_transition = |
| 84 ui::PageTransitionCoreTypeIs(transition, ui::PAGE_TRANSITION_KEYWORD); | 87 ui::PageTransitionCoreTypeIs(transition, ui::PAGE_TRANSITION_KEYWORD); |
| 85 owner_->OnHistoryURLVisited(visited_details); | 88 owner_->OnHistoryURLVisited(visited_details); |
| 86 } | 89 } |
| 90 |
| 91 void ChromeTemplateURLServiceClient::SetExtensionControlledPref( |
| 92 const std::string extension_id, const std::string pref_name, |
| 93 std::unique_ptr<base::Value> pref_value) { |
| 94 if (!pref_api_) |
| 95 return; |
| 96 pref_api_->SetExtensionControlledPref(extension_id, |
| 97 pref_name, |
| 98 extensions::kExtensionPrefsScopeRegular, |
| 99 pref_value.release()); |
| 100 } |
| OLD | NEW |