Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/history/in_memory_history_backend.h" | 5 #include "chrome/browser/history/in_memory_history_backend.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 83 | 83 |
| 84 void InMemoryHistoryBackend::Observe(NotificationType type, | 84 void InMemoryHistoryBackend::Observe(NotificationType type, |
| 85 const NotificationSource& source, | 85 const NotificationSource& source, |
| 86 const NotificationDetails& details) { | 86 const NotificationDetails& details) { |
| 87 switch (type.value) { | 87 switch (type.value) { |
| 88 case NotificationType::HISTORY_URL_VISITED: { | 88 case NotificationType::HISTORY_URL_VISITED: { |
| 89 Details<history::URLVisitedDetails> visited_details(details); | 89 Details<history::URLVisitedDetails> visited_details(details); |
| 90 PageTransition::Type primary_type = | 90 PageTransition::Type primary_type = |
| 91 PageTransition::StripQualifier(visited_details->transition); | 91 PageTransition::StripQualifier(visited_details->transition); |
| 92 if (visited_details->row.typed_count() > 0 || | 92 if (visited_details->row.typed_count() > 0 || |
| 93 primary_type == PageTransition::KEYWORD) { | 93 primary_type == PageTransition::KEYWORD || |
| 94 HasKeyword(visited_details->row.url())) { | |
|
brettw
2011/01/06 20:43:34
Doesn't the row here have the keyword details as w
| |
| 94 URLsModifiedDetails modified_details; | 95 URLsModifiedDetails modified_details; |
| 95 modified_details.changed_urls.push_back(visited_details->row); | 96 modified_details.changed_urls.push_back(visited_details->row); |
| 96 OnTypedURLsModified(modified_details); | 97 OnTypedURLsModified(modified_details); |
| 97 } | 98 } |
| 98 break; | 99 break; |
| 99 } | 100 } |
| 100 case NotificationType::HISTORY_KEYWORD_SEARCH_TERM_UPDATED: | 101 case NotificationType::HISTORY_KEYWORD_SEARCH_TERM_UPDATED: |
| 101 OnKeywordSearchTermUpdated( | 102 OnKeywordSearchTermUpdated( |
| 102 *Details<history::KeywordSearchTermDetails>(details).ptr()); | 103 *Details<history::KeywordSearchTermDetails>(details).ptr()); |
| 103 break; | 104 break; |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 179 url_id = db_->AddURL(new_row); | 180 url_id = db_->AddURL(new_row); |
| 180 if (!url_id) | 181 if (!url_id) |
| 181 return; // Error adding. | 182 return; // Error adding. |
| 182 } else { | 183 } else { |
| 183 url_id = url_row.id(); | 184 url_id = url_row.id(); |
| 184 } | 185 } |
| 185 | 186 |
| 186 db_->SetKeywordSearchTermsForURL(url_id, details.keyword_id, details.term); | 187 db_->SetKeywordSearchTermsForURL(url_id, details.keyword_id, details.term); |
| 187 } | 188 } |
| 188 | 189 |
| 190 bool InMemoryHistoryBackend::HasKeyword(const GURL& url) { | |
| 191 URLID id = db_->GetRowForURL(url, NULL); | |
| 192 if (!id) | |
| 193 return false; | |
| 194 | |
| 195 return db_->GetKeywordSearchTermRow(id, NULL); | |
| 196 } | |
| 197 | |
| 189 } // namespace history | 198 } // namespace history |
| OLD | NEW |