OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/text_database_manager.h" | 5 #include "chrome/browser/history/text_database_manager.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <functional> | 8 #include <functional> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
11 #include "base/compiler_specific.h" | 11 #include "base/compiler_specific.h" |
12 #include "base/file_util.h" | 12 #include "base/file_util.h" |
| 13 #include "base/files/file_enumerator.h" |
13 #include "base/metrics/histogram.h" | 14 #include "base/metrics/histogram.h" |
14 #include "base/logging.h" | 15 #include "base/logging.h" |
15 #include "base/message_loop.h" | 16 #include "base/message_loop.h" |
16 #include "base/string_util.h" | 17 #include "base/string_util.h" |
17 #include "base/utf_string_conversions.h" | 18 #include "base/utf_string_conversions.h" |
18 #include "chrome/browser/history/history_publisher.h" | 19 #include "chrome/browser/history/history_publisher.h" |
19 #include "chrome/browser/history/visit_database.h" | 20 #include "chrome/browser/history/visit_database.h" |
20 | 21 |
21 using base::Time; | 22 using base::Time; |
22 using base::TimeDelta; | 23 using base::TimeDelta; |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 | 154 |
154 void TextDatabaseManager::InitDBList() { | 155 void TextDatabaseManager::InitDBList() { |
155 if (present_databases_loaded_) | 156 if (present_databases_loaded_) |
156 return; | 157 return; |
157 | 158 |
158 present_databases_loaded_ = true; | 159 present_databases_loaded_ = true; |
159 | 160 |
160 // Find files on disk matching our pattern so we can quickly test for them. | 161 // Find files on disk matching our pattern so we can quickly test for them. |
161 base::FilePath::StringType filepattern(TextDatabase::file_base()); | 162 base::FilePath::StringType filepattern(TextDatabase::file_base()); |
162 filepattern.append(FILE_PATH_LITERAL("*")); | 163 filepattern.append(FILE_PATH_LITERAL("*")); |
163 file_util::FileEnumerator enumerator( | 164 base::FileEnumerator enumerator( |
164 dir_, false, file_util::FileEnumerator::FILES, filepattern); | 165 dir_, false, base::FileEnumerator::FILES, filepattern); |
165 base::FilePath cur_file; | 166 base::FilePath cur_file; |
166 while (!(cur_file = enumerator.Next()).empty()) { | 167 while (!(cur_file = enumerator.Next()).empty()) { |
167 // Convert to the number representing this file. | 168 // Convert to the number representing this file. |
168 TextDatabase::DBIdent id = TextDatabase::FileNameToID(cur_file); | 169 TextDatabase::DBIdent id = TextDatabase::FileNameToID(cur_file); |
169 if (id) // Will be 0 on error. | 170 if (id) // Will be 0 on error. |
170 present_databases_.insert(id); | 171 present_databases_.insert(id); |
171 } | 172 } |
172 } | 173 } |
173 | 174 |
174 void TextDatabaseManager::AddPageURL(const GURL& url, | 175 void TextDatabaseManager::AddPageURL(const GURL& url, |
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
577 while (i != recent_changes_.rend() && i->second.Expired(now)) { | 578 while (i != recent_changes_.rend() && i->second.Expired(now)) { |
578 AddPageData(i->first, i->second.url_id(), i->second.visit_id(), | 579 AddPageData(i->first, i->second.url_id(), i->second.visit_id(), |
579 i->second.visit_time(), i->second.title(), i->second.body()); | 580 i->second.visit_time(), i->second.title(), i->second.body()); |
580 i = recent_changes_.Erase(i); | 581 i = recent_changes_.Erase(i); |
581 } | 582 } |
582 | 583 |
583 ScheduleFlushOldChanges(); | 584 ScheduleFlushOldChanges(); |
584 } | 585 } |
585 | 586 |
586 } // namespace history | 587 } // namespace history |
OLD | NEW |