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/android/android_provider_backend.h" | 5 #include "chrome/browser/history/android/android_provider_backend.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
11 #include "base/files/scoped_temp_dir.h" | 11 #include "base/files/scoped_temp_dir.h" |
12 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
13 #include "base/strings/stringprintf.h" | 13 #include "base/strings/stringprintf.h" |
14 #include "base/strings/utf_string_conversions.h" | 14 #include "base/strings/utf_string_conversions.h" |
15 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 15 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
16 #include "chrome/browser/chrome_notification_types.h" | 16 #include "chrome/browser/chrome_notification_types.h" |
17 #include "chrome/browser/favicon/favicon_changed_details.h" | 17 #include "chrome/browser/favicon/favicon_changed_details.h" |
18 #include "chrome/browser/history/android/android_time.h" | 18 #include "chrome/browser/history/android/android_time.h" |
| 19 #include "chrome/browser/history/chrome_history_client.h" |
| 20 #include "chrome/browser/history/chrome_history_client_factory.h" |
19 #include "chrome/browser/history/history_backend.h" | 21 #include "chrome/browser/history/history_backend.h" |
20 #include "chrome/browser/profiles/profile_manager.h" | 22 #include "chrome/browser/profiles/profile_manager.h" |
21 #include "chrome/common/chrome_constants.h" | 23 #include "chrome/common/chrome_constants.h" |
22 #include "chrome/test/base/testing_browser_process.h" | 24 #include "chrome/test/base/testing_browser_process.h" |
23 #include "chrome/test/base/testing_profile.h" | 25 #include "chrome/test/base/testing_profile.h" |
24 #include "chrome/test/base/testing_profile_manager.h" | 26 #include "chrome/test/base/testing_profile_manager.h" |
25 #include "components/bookmarks/browser/bookmark_model.h" | 27 #include "components/bookmarks/browser/bookmark_model.h" |
26 #include "components/bookmarks/test/bookmark_test_helpers.h" | 28 #include "components/bookmarks/test/bookmark_test_helpers.h" |
27 #include "content/public/browser/browser_thread.h" | 29 #include "content/public/browser/browser_thread.h" |
28 #include "content/public/test/test_browser_thread.h" | 30 #include "content/public/test/test_browser_thread.h" |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 virtual void SetUp() OVERRIDE { | 126 virtual void SetUp() OVERRIDE { |
125 // Setup the testing profile, so the bookmark_model_sql_handler could | 127 // Setup the testing profile, so the bookmark_model_sql_handler could |
126 // get the bookmark model from it. | 128 // get the bookmark model from it. |
127 ASSERT_TRUE(profile_manager_.SetUp()); | 129 ASSERT_TRUE(profile_manager_.SetUp()); |
128 // It seems that the name has to be chrome::kInitialProfile, so it | 130 // It seems that the name has to be chrome::kInitialProfile, so it |
129 // could be found by ProfileManager::GetLastUsedProfile(). | 131 // could be found by ProfileManager::GetLastUsedProfile(). |
130 TestingProfile* testing_profile = profile_manager_.CreateTestingProfile( | 132 TestingProfile* testing_profile = profile_manager_.CreateTestingProfile( |
131 chrome::kInitialProfile); | 133 chrome::kInitialProfile); |
132 testing_profile->CreateBookmarkModel(true); | 134 testing_profile->CreateBookmarkModel(true); |
133 bookmark_model_ = BookmarkModelFactory::GetForProfile(testing_profile); | 135 bookmark_model_ = BookmarkModelFactory::GetForProfile(testing_profile); |
| 136 history_client_ = |
| 137 ChromeHistoryClientFactory::GetForProfile(testing_profile); |
134 test::WaitForBookmarkModelToLoad(bookmark_model_); | 138 test::WaitForBookmarkModelToLoad(bookmark_model_); |
135 ASSERT_TRUE(bookmark_model_); | 139 ASSERT_TRUE(bookmark_model_); |
136 | 140 |
137 // Get the BookmarkModel from LastUsedProfile, this is the same way that | 141 // Get the BookmarkModel from LastUsedProfile, this is the same way that |
138 // how the BookmarkModelSQLHandler gets the BookmarkModel. | 142 // how the BookmarkModelSQLHandler gets the BookmarkModel. |
139 Profile* profile = ProfileManager::GetLastUsedProfile(); | 143 Profile* profile = ProfileManager::GetLastUsedProfile(); |
140 ASSERT_TRUE(profile); | 144 ASSERT_TRUE(profile); |
141 | 145 |
142 // Setup the database directory and files. | 146 // Setup the database directory and files. |
143 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 147 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 base::ScopedTempDir temp_dir_; | 199 base::ScopedTempDir temp_dir_; |
196 base::FilePath android_cache_db_name_; | 200 base::FilePath android_cache_db_name_; |
197 base::FilePath history_db_name_; | 201 base::FilePath history_db_name_; |
198 base::FilePath thumbnail_db_name_; | 202 base::FilePath thumbnail_db_name_; |
199 | 203 |
200 TestingProfileManager profile_manager_; | 204 TestingProfileManager profile_manager_; |
201 BookmarkModel* bookmark_model_; | 205 BookmarkModel* bookmark_model_; |
202 base::MessageLoopForUI message_loop_; | 206 base::MessageLoopForUI message_loop_; |
203 content::TestBrowserThread ui_thread_; | 207 content::TestBrowserThread ui_thread_; |
204 content::TestBrowserThread file_thread_; | 208 content::TestBrowserThread file_thread_; |
205 | 209 ChromeHistoryClient* history_client_; |
206 | 210 |
207 DISALLOW_COPY_AND_ASSIGN(AndroidProviderBackendTest); | 211 DISALLOW_COPY_AND_ASSIGN(AndroidProviderBackendTest); |
208 }; | 212 }; |
209 | 213 |
210 TEST_F(AndroidProviderBackendTest, UpdateTables) { | 214 TEST_F(AndroidProviderBackendTest, UpdateTables) { |
211 GURL url1("http://www.cnn.com"); | 215 GURL url1("http://www.cnn.com"); |
212 URLID url_id1 = 0; | 216 URLID url_id1 = 0; |
213 std::vector<VisitInfo> visits1; | 217 std::vector<VisitInfo> visits1; |
214 Time last_visited1 = Time::Now() - TimeDelta::FromDays(1); | 218 Time last_visited1 = Time::Now() - TimeDelta::FromDays(1); |
215 Time created1 = last_visited1 - TimeDelta::FromDays(20); | 219 Time created1 = last_visited1 - TimeDelta::FromDays(20); |
(...skipping 15 matching lines...) Expand all Loading... |
231 // Add a bookmark which is not in the history. | 235 // Add a bookmark which is not in the history. |
232 GURL url3("http://www.bookmark.com"); | 236 GURL url3("http://www.bookmark.com"); |
233 base::string16 title3(UTF8ToUTF16("bookmark")); | 237 base::string16 title3(UTF8ToUTF16("bookmark")); |
234 ASSERT_TRUE(bookmark_model_->AddURL(bookmark_model_->bookmark_bar_node(), 0, | 238 ASSERT_TRUE(bookmark_model_->AddURL(bookmark_model_->bookmark_bar_node(), 0, |
235 title3, url3)); | 239 title3, url3)); |
236 // Only use the HistoryBackend to generate the test data. | 240 // Only use the HistoryBackend to generate the test data. |
237 // HistoryBackend will shutdown after that. | 241 // HistoryBackend will shutdown after that. |
238 { | 242 { |
239 scoped_refptr<HistoryBackend> history_backend; | 243 scoped_refptr<HistoryBackend> history_backend; |
240 history_backend = new HistoryBackend( | 244 history_backend = new HistoryBackend( |
241 temp_dir_.path(), new AndroidProviderBackendDelegate(), bookmark_model_); | 245 temp_dir_.path(), new AndroidProviderBackendDelegate(), history_client_); |
242 history_backend->Init(std::string(), false); | 246 history_backend->Init(std::string(), false); |
243 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED); | 247 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED); |
244 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED); | 248 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED); |
245 URLRow url_row; | 249 URLRow url_row; |
246 | 250 |
247 ASSERT_TRUE(history_backend->GetURL(url1, &url_row)); | 251 ASSERT_TRUE(history_backend->GetURL(url1, &url_row)); |
248 url_id1 = url_row.id(); | 252 url_id1 = url_row.id(); |
249 ASSERT_TRUE(history_backend->GetURL(url2, &url_row)); | 253 ASSERT_TRUE(history_backend->GetURL(url2, &url_row)); |
250 url_id2 = url_row.id(); | 254 url_id2 = url_row.id(); |
251 | 255 |
(...skipping 15 matching lines...) Expand all Loading... |
267 // The history_db_name and thumbnail_db_name files should be created by | 271 // The history_db_name and thumbnail_db_name files should be created by |
268 // HistoryBackend. We need to open the same database files. | 272 // HistoryBackend. We need to open the same database files. |
269 ASSERT_TRUE(base::PathExists(history_db_name_)); | 273 ASSERT_TRUE(base::PathExists(history_db_name_)); |
270 ASSERT_TRUE(base::PathExists(thumbnail_db_name_)); | 274 ASSERT_TRUE(base::PathExists(thumbnail_db_name_)); |
271 | 275 |
272 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 276 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
273 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 277 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
274 // Set url1 as bookmark. | 278 // Set url1 as bookmark. |
275 AddBookmark(url1); | 279 AddBookmark(url1); |
276 scoped_ptr<AndroidProviderBackend> backend( | 280 scoped_ptr<AndroidProviderBackend> backend( |
277 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 281 new AndroidProviderBackend(android_cache_db_name_, |
278 &thumbnail_db_, bookmark_model_, &delegate_)); | 282 &history_db_, |
| 283 &thumbnail_db_, |
| 284 history_client_, |
| 285 &delegate_)); |
279 | 286 |
280 ASSERT_TRUE(backend->EnsureInitializedAndUpdated()); | 287 ASSERT_TRUE(backend->EnsureInitializedAndUpdated()); |
281 | 288 |
282 // First verify that the bookmark which was not in the history has been added | 289 // First verify that the bookmark which was not in the history has been added |
283 // to history database. | 290 // to history database. |
284 URLRow url_row; | 291 URLRow url_row; |
285 ASSERT_TRUE(history_db_.GetRowForURL(url3, &url_row)); | 292 ASSERT_TRUE(history_db_.GetRowForURL(url3, &url_row)); |
286 URLID url_id3 = url_row.id(); | 293 URLID url_id3 = url_row.id(); |
287 ASSERT_EQ(url3, url_row.url()); | 294 ASSERT_EQ(url3, url_row.url()); |
288 ASSERT_EQ(title3, url_row.title()); | 295 ASSERT_EQ(title3, url_row.title()); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 visits2.push_back(VisitInfo(created2, content::PAGE_TRANSITION_LINK)); | 383 visits2.push_back(VisitInfo(created2, content::PAGE_TRANSITION_LINK)); |
377 visits2.push_back(VisitInfo(last_visited2 - TimeDelta::FromDays(5), | 384 visits2.push_back(VisitInfo(last_visited2 - TimeDelta::FromDays(5), |
378 content::PAGE_TRANSITION_LINK)); | 385 content::PAGE_TRANSITION_LINK)); |
379 visits2.push_back(VisitInfo(last_visited2, content::PAGE_TRANSITION_LINK)); | 386 visits2.push_back(VisitInfo(last_visited2, content::PAGE_TRANSITION_LINK)); |
380 | 387 |
381 // Only use the HistoryBackend to generate the test data. | 388 // Only use the HistoryBackend to generate the test data. |
382 // HistoryBackend will shutdown after that. | 389 // HistoryBackend will shutdown after that. |
383 { | 390 { |
384 scoped_refptr<HistoryBackend> history_backend; | 391 scoped_refptr<HistoryBackend> history_backend; |
385 history_backend = new HistoryBackend( | 392 history_backend = new HistoryBackend( |
386 temp_dir_.path(), new AndroidProviderBackendDelegate(), bookmark_model_); | 393 temp_dir_.path(), new AndroidProviderBackendDelegate(), history_client_); |
387 history_backend->Init(std::string(), false); | 394 history_backend->Init(std::string(), false); |
388 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED); | 395 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED); |
389 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED); | 396 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED); |
390 URLRow url_row; | 397 URLRow url_row; |
391 | 398 |
392 ASSERT_TRUE(history_backend->GetURL(url1, &url_row)); | 399 ASSERT_TRUE(history_backend->GetURL(url1, &url_row)); |
393 url_id1 = url_row.id(); | 400 url_id1 = url_row.id(); |
394 url_row.set_title(title1); | 401 url_row.set_title(title1); |
395 ASSERT_TRUE(history_backend->UpdateURL(url_id1, url_row)); | 402 ASSERT_TRUE(history_backend->UpdateURL(url_id1, url_row)); |
396 | 403 |
(...skipping 21 matching lines...) Expand all Loading... |
418 // HistoryBackend. We need to open the same database files. | 425 // HistoryBackend. We need to open the same database files. |
419 ASSERT_TRUE(base::PathExists(history_db_name_)); | 426 ASSERT_TRUE(base::PathExists(history_db_name_)); |
420 ASSERT_TRUE(base::PathExists(thumbnail_db_name_)); | 427 ASSERT_TRUE(base::PathExists(thumbnail_db_name_)); |
421 | 428 |
422 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 429 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
423 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 430 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
424 // Set url1 as bookmark. | 431 // Set url1 as bookmark. |
425 AddBookmark(url1); | 432 AddBookmark(url1); |
426 | 433 |
427 scoped_ptr<AndroidProviderBackend> backend( | 434 scoped_ptr<AndroidProviderBackend> backend( |
428 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 435 new AndroidProviderBackend(android_cache_db_name_, |
429 &thumbnail_db_, bookmark_model_, &delegate_)); | 436 &history_db_, |
| 437 &thumbnail_db_, |
| 438 history_client_, |
| 439 &delegate_)); |
430 | 440 |
431 std::vector<HistoryAndBookmarkRow::ColumnID> projections; | 441 std::vector<HistoryAndBookmarkRow::ColumnID> projections; |
432 | 442 |
433 projections.push_back(HistoryAndBookmarkRow::ID); | 443 projections.push_back(HistoryAndBookmarkRow::ID); |
434 projections.push_back(HistoryAndBookmarkRow::URL); | 444 projections.push_back(HistoryAndBookmarkRow::URL); |
435 projections.push_back(HistoryAndBookmarkRow::TITLE); | 445 projections.push_back(HistoryAndBookmarkRow::TITLE); |
436 projections.push_back(HistoryAndBookmarkRow::CREATED); | 446 projections.push_back(HistoryAndBookmarkRow::CREATED); |
437 projections.push_back(HistoryAndBookmarkRow::LAST_VISIT_TIME); | 447 projections.push_back(HistoryAndBookmarkRow::LAST_VISIT_TIME); |
438 projections.push_back(HistoryAndBookmarkRow::VISIT_COUNT); | 448 projections.push_back(HistoryAndBookmarkRow::VISIT_COUNT); |
439 projections.push_back(HistoryAndBookmarkRow::FAVICON); | 449 projections.push_back(HistoryAndBookmarkRow::FAVICON); |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
504 row2.set_last_visit_time(Time::Now() - TimeDelta::FromDays(10)); | 514 row2.set_last_visit_time(Time::Now() - TimeDelta::FromDays(10)); |
505 row2.set_is_bookmark(false); | 515 row2.set_is_bookmark(false); |
506 row2.set_title(UTF8ToUTF16("example")); | 516 row2.set_title(UTF8ToUTF16("example")); |
507 std::vector<unsigned char> data; | 517 std::vector<unsigned char> data; |
508 data.push_back('1'); | 518 data.push_back('1'); |
509 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); | 519 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); |
510 | 520 |
511 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 521 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
512 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 522 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
513 scoped_ptr<AndroidProviderBackend> backend( | 523 scoped_ptr<AndroidProviderBackend> backend( |
514 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 524 new AndroidProviderBackend(android_cache_db_name_, |
515 &thumbnail_db_, bookmark_model_, &delegate_)); | 525 &history_db_, |
| 526 &thumbnail_db_, |
| 527 history_client_, |
| 528 &delegate_)); |
516 | 529 |
517 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); | 530 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); |
518 EXPECT_FALSE(delegate_.deleted_details()); | 531 EXPECT_FALSE(delegate_.deleted_details()); |
519 ASSERT_TRUE(delegate_.modified_details()); | 532 ASSERT_TRUE(delegate_.modified_details()); |
520 ASSERT_EQ(1u, delegate_.modified_details()->changed_urls.size()); | 533 ASSERT_EQ(1u, delegate_.modified_details()->changed_urls.size()); |
521 EXPECT_EQ(row1.url(), delegate_.modified_details()->changed_urls[0].url()); | 534 EXPECT_EQ(row1.url(), delegate_.modified_details()->changed_urls[0].url()); |
522 EXPECT_EQ(row1.last_visit_time(), | 535 EXPECT_EQ(row1.last_visit_time(), |
523 delegate_.modified_details()->changed_urls[0].last_visit()); | 536 delegate_.modified_details()->changed_urls[0].last_visit()); |
524 EXPECT_EQ(row1.visit_count(), | 537 EXPECT_EQ(row1.visit_count(), |
525 delegate_.modified_details()->changed_urls[0].visit_count()); | 538 delegate_.modified_details()->changed_urls[0].visit_count()); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
613 row2.set_is_bookmark(false); | 626 row2.set_is_bookmark(false); |
614 row2.set_title(UTF8ToUTF16("example")); | 627 row2.set_title(UTF8ToUTF16("example")); |
615 std::vector<unsigned char> data; | 628 std::vector<unsigned char> data; |
616 data.push_back('1'); | 629 data.push_back('1'); |
617 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); | 630 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); |
618 | 631 |
619 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 632 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
620 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 633 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
621 | 634 |
622 scoped_ptr<AndroidProviderBackend> backend( | 635 scoped_ptr<AndroidProviderBackend> backend( |
623 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 636 new AndroidProviderBackend(android_cache_db_name_, |
624 &thumbnail_db_, bookmark_model_, &delegate_)); | 637 &history_db_, |
| 638 &thumbnail_db_, |
| 639 history_client_, |
| 640 &delegate_)); |
625 | 641 |
626 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); | 642 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); |
627 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row2)); | 643 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row2)); |
628 // Verify the row1 has been added in bookmark model. | 644 // Verify the row1 has been added in bookmark model. |
629 content::RunAllPendingInMessageLoop(); | 645 content::RunAllPendingInMessageLoop(); |
630 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count()); | 646 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count()); |
631 const BookmarkNode* child = bookmark_model_->mobile_node()->GetChild(0); | 647 const BookmarkNode* child = bookmark_model_->mobile_node()->GetChild(0); |
632 ASSERT_TRUE(child); | 648 ASSERT_TRUE(child); |
633 EXPECT_EQ(row1.title(), child->GetTitle()); | 649 EXPECT_EQ(row1.title(), child->GetTitle()); |
634 EXPECT_EQ(row1.url(), child->url()); | 650 EXPECT_EQ(row1.url(), child->url()); |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
709 scoped_ptr<AndroidStatement> statement1(backend->QueryHistoryAndBookmarks( | 725 scoped_ptr<AndroidStatement> statement1(backend->QueryHistoryAndBookmarks( |
710 projections, std::string(), std::vector<base::string16>(), | 726 projections, std::string(), std::vector<base::string16>(), |
711 std::string("url ASC"))); | 727 std::string("url ASC"))); |
712 ASSERT_FALSE(statement1->statement()->Step()); | 728 ASSERT_FALSE(statement1->statement()->Step()); |
713 } | 729 } |
714 | 730 |
715 TEST_F(AndroidProviderBackendTest, IsValidHistoryAndBookmarkRow) { | 731 TEST_F(AndroidProviderBackendTest, IsValidHistoryAndBookmarkRow) { |
716 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 732 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
717 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 733 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
718 scoped_ptr<AndroidProviderBackend> backend( | 734 scoped_ptr<AndroidProviderBackend> backend( |
719 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 735 new AndroidProviderBackend(android_cache_db_name_, |
720 &thumbnail_db_, bookmark_model_, &delegate_)); | 736 &history_db_, |
| 737 &thumbnail_db_, |
| 738 history_client_, |
| 739 &delegate_)); |
721 | 740 |
722 // The created time and last visit time are too close to have required visit | 741 // The created time and last visit time are too close to have required visit |
723 // count. | 742 // count. |
724 HistoryAndBookmarkRow row1; | 743 HistoryAndBookmarkRow row1; |
725 row1.set_raw_url("cnn.com"); | 744 row1.set_raw_url("cnn.com"); |
726 row1.set_url(GURL("http://cnn.com")); | 745 row1.set_url(GURL("http://cnn.com")); |
727 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); | 746 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); |
728 row1.set_created(Time::FromInternalValue( | 747 row1.set_created(Time::FromInternalValue( |
729 row1.last_visit_time().ToInternalValue() - 1)); | 748 row1.last_visit_time().ToInternalValue() - 1)); |
730 row1.set_visit_count(10); | 749 row1.set_visit_count(10); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
799 row2.set_last_visit_time(Time::Now() - TimeDelta::FromDays(10)); | 818 row2.set_last_visit_time(Time::Now() - TimeDelta::FromDays(10)); |
800 row2.set_is_bookmark(false); | 819 row2.set_is_bookmark(false); |
801 row2.set_title(UTF8ToUTF16("example")); | 820 row2.set_title(UTF8ToUTF16("example")); |
802 std::vector<unsigned char> data; | 821 std::vector<unsigned char> data; |
803 data.push_back('1'); | 822 data.push_back('1'); |
804 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); | 823 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); |
805 | 824 |
806 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 825 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
807 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 826 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
808 scoped_ptr<AndroidProviderBackend> backend( | 827 scoped_ptr<AndroidProviderBackend> backend( |
809 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 828 new AndroidProviderBackend(android_cache_db_name_, |
810 &thumbnail_db_, bookmark_model_, &delegate_)); | 829 &history_db_, |
| 830 &thumbnail_db_, |
| 831 history_client_, |
| 832 &delegate_)); |
811 | 833 |
812 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); | 834 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); |
813 ASSERT_TRUE(id1); | 835 ASSERT_TRUE(id1); |
814 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2); | 836 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2); |
815 ASSERT_TRUE(id2); | 837 ASSERT_TRUE(id2); |
816 | 838 |
817 // Verify the row1 has been added in bookmark model. | 839 // Verify the row1 has been added in bookmark model. |
818 content::RunAllPendingInMessageLoop(); | 840 content::RunAllPendingInMessageLoop(); |
819 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count()); | 841 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count()); |
820 const BookmarkNode* child = bookmark_model_->mobile_node()->GetChild(0); | 842 const BookmarkNode* child = bookmark_model_->mobile_node()->GetChild(0); |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
978 row2.set_last_visit_time(Time::Now() - TimeDelta::FromDays(10)); | 1000 row2.set_last_visit_time(Time::Now() - TimeDelta::FromDays(10)); |
979 row2.set_is_bookmark(false); | 1001 row2.set_is_bookmark(false); |
980 row2.set_title(UTF8ToUTF16("example")); | 1002 row2.set_title(UTF8ToUTF16("example")); |
981 std::vector<unsigned char> data; | 1003 std::vector<unsigned char> data; |
982 data.push_back('1'); | 1004 data.push_back('1'); |
983 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); | 1005 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); |
984 | 1006 |
985 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1007 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
986 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 1008 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
987 scoped_ptr<AndroidProviderBackend> backend( | 1009 scoped_ptr<AndroidProviderBackend> backend( |
988 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 1010 new AndroidProviderBackend(android_cache_db_name_, |
989 &thumbnail_db_, bookmark_model_, &delegate_)); | 1011 &history_db_, |
| 1012 &thumbnail_db_, |
| 1013 history_client_, |
| 1014 &delegate_)); |
990 | 1015 |
991 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); | 1016 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); |
992 ASSERT_TRUE(id1); | 1017 ASSERT_TRUE(id1); |
993 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2); | 1018 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2); |
994 ASSERT_TRUE(id2); | 1019 ASSERT_TRUE(id2); |
995 | 1020 |
996 int update_count; | 1021 int update_count; |
997 std::vector<base::string16> update_args; | 1022 std::vector<base::string16> update_args; |
998 // Update the visit_count to a value less than current one. | 1023 // Update the visit_count to a value less than current one. |
999 HistoryAndBookmarkRow update_row1; | 1024 HistoryAndBookmarkRow update_row1; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1058 row2.set_last_visit_time(Time::Now() - TimeDelta::FromDays(10)); | 1083 row2.set_last_visit_time(Time::Now() - TimeDelta::FromDays(10)); |
1059 row2.set_is_bookmark(false); | 1084 row2.set_is_bookmark(false); |
1060 row2.set_title(UTF8ToUTF16("example")); | 1085 row2.set_title(UTF8ToUTF16("example")); |
1061 std::vector<unsigned char> data; | 1086 std::vector<unsigned char> data; |
1062 data.push_back('1'); | 1087 data.push_back('1'); |
1063 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); | 1088 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); |
1064 | 1089 |
1065 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1090 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1066 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 1091 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
1067 scoped_ptr<AndroidProviderBackend> backend( | 1092 scoped_ptr<AndroidProviderBackend> backend( |
1068 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 1093 new AndroidProviderBackend(android_cache_db_name_, |
1069 &thumbnail_db_, bookmark_model_, &delegate_)); | 1094 &history_db_, |
| 1095 &thumbnail_db_, |
| 1096 history_client_, |
| 1097 &delegate_)); |
1070 | 1098 |
1071 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); | 1099 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); |
1072 ASSERT_TRUE(id1); | 1100 ASSERT_TRUE(id1); |
1073 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2); | 1101 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2); |
1074 ASSERT_TRUE(id2); | 1102 ASSERT_TRUE(id2); |
1075 | 1103 |
1076 int update_count; | 1104 int update_count; |
1077 std::vector<base::string16> update_args; | 1105 std::vector<base::string16> update_args; |
1078 // Update the last visit time to a value greater than current one. | 1106 // Update the last visit time to a value greater than current one. |
1079 HistoryAndBookmarkRow update_row1; | 1107 HistoryAndBookmarkRow update_row1; |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1119 row1.set_url(GURL("http://cnn.com")); | 1147 row1.set_url(GURL("http://cnn.com")); |
1120 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); | 1148 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); |
1121 row1.set_created(Time::Now() - TimeDelta::FromDays(20)); | 1149 row1.set_created(Time::Now() - TimeDelta::FromDays(20)); |
1122 row1.set_visit_count(10); | 1150 row1.set_visit_count(10); |
1123 row1.set_is_bookmark(true); | 1151 row1.set_is_bookmark(true); |
1124 row1.set_title(UTF8ToUTF16("cnn")); | 1152 row1.set_title(UTF8ToUTF16("cnn")); |
1125 | 1153 |
1126 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1154 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1127 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 1155 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
1128 scoped_ptr<AndroidProviderBackend> backend( | 1156 scoped_ptr<AndroidProviderBackend> backend( |
1129 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 1157 new AndroidProviderBackend(android_cache_db_name_, |
1130 &thumbnail_db_, bookmark_model_, &delegate_)); | 1158 &history_db_, |
| 1159 &thumbnail_db_, |
| 1160 history_client_, |
| 1161 &delegate_)); |
1131 | 1162 |
1132 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); | 1163 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); |
1133 ASSERT_TRUE(id1); | 1164 ASSERT_TRUE(id1); |
1134 | 1165 |
1135 int update_count; | 1166 int update_count; |
1136 std::vector<base::string16> update_args; | 1167 std::vector<base::string16> update_args; |
1137 // Update the last visit time to a value greater than current one. | 1168 // Update the last visit time to a value greater than current one. |
1138 HistoryAndBookmarkRow update_row1; | 1169 HistoryAndBookmarkRow update_row1; |
1139 | 1170 |
1140 // Set favicon. | 1171 // Set favicon. |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1184 delegate_.favicon_details()->urls.find(row1.url())); | 1215 delegate_.favicon_details()->urls.find(row1.url())); |
1185 | 1216 |
1186 EXPECT_FALSE(thumbnail_db_.GetIconMappingsForPageURL( | 1217 EXPECT_FALSE(thumbnail_db_.GetIconMappingsForPageURL( |
1187 row1.url(), favicon_base::FAVICON, NULL)); | 1218 row1.url(), favicon_base::FAVICON, NULL)); |
1188 } | 1219 } |
1189 | 1220 |
1190 TEST_F(AndroidProviderBackendTest, UpdateSearchTermTable) { | 1221 TEST_F(AndroidProviderBackendTest, UpdateSearchTermTable) { |
1191 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1222 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1192 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 1223 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
1193 scoped_ptr<AndroidProviderBackend> backend( | 1224 scoped_ptr<AndroidProviderBackend> backend( |
1194 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 1225 new AndroidProviderBackend(android_cache_db_name_, |
1195 &thumbnail_db_, bookmark_model_, &delegate_)); | 1226 &history_db_, |
| 1227 &thumbnail_db_, |
| 1228 history_client_, |
| 1229 &delegate_)); |
1196 // Insert a keyword search item to verify if the update succeeds. | 1230 // Insert a keyword search item to verify if the update succeeds. |
1197 HistoryAndBookmarkRow row1; | 1231 HistoryAndBookmarkRow row1; |
1198 row1.set_raw_url("cnn.com"); | 1232 row1.set_raw_url("cnn.com"); |
1199 row1.set_url(GURL("http://cnn.com")); | 1233 row1.set_url(GURL("http://cnn.com")); |
1200 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); | 1234 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); |
1201 row1.set_title(UTF8ToUTF16("cnn")); | 1235 row1.set_title(UTF8ToUTF16("cnn")); |
1202 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); | 1236 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); |
1203 base::string16 term = UTF8ToUTF16("Search term 1"); | 1237 base::string16 term = UTF8ToUTF16("Search term 1"); |
1204 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL); | 1238 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL); |
1205 ASSERT_TRUE(url_id); | 1239 ASSERT_TRUE(url_id); |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1262 // The cache of term should removed. | 1296 // The cache of term should removed. |
1263 ASSERT_FALSE(history_db_.GetSearchTerm(term, NULL)); | 1297 ASSERT_FALSE(history_db_.GetSearchTerm(term, NULL)); |
1264 // The id of term2 wasn't changed. | 1298 // The id of term2 wasn't changed. |
1265 EXPECT_EQ(id2, history_db_.GetSearchTerm(term2, NULL)); | 1299 EXPECT_EQ(id2, history_db_.GetSearchTerm(term2, NULL)); |
1266 } | 1300 } |
1267 | 1301 |
1268 TEST_F(AndroidProviderBackendTest, QuerySearchTerms) { | 1302 TEST_F(AndroidProviderBackendTest, QuerySearchTerms) { |
1269 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1303 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1270 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 1304 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
1271 scoped_ptr<AndroidProviderBackend> backend( | 1305 scoped_ptr<AndroidProviderBackend> backend( |
1272 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 1306 new AndroidProviderBackend(android_cache_db_name_, |
1273 &thumbnail_db_, bookmark_model_, &delegate_)); | 1307 &history_db_, |
| 1308 &thumbnail_db_, |
| 1309 history_client_, |
| 1310 &delegate_)); |
1274 // Insert a keyword search item to verify if we can find it. | 1311 // Insert a keyword search item to verify if we can find it. |
1275 HistoryAndBookmarkRow row1; | 1312 HistoryAndBookmarkRow row1; |
1276 row1.set_raw_url("cnn.com"); | 1313 row1.set_raw_url("cnn.com"); |
1277 row1.set_url(GURL("http://cnn.com")); | 1314 row1.set_url(GURL("http://cnn.com")); |
1278 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); | 1315 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); |
1279 row1.set_title(UTF8ToUTF16("cnn")); | 1316 row1.set_title(UTF8ToUTF16("cnn")); |
1280 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); | 1317 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); |
1281 base::string16 term = UTF8ToUTF16("Search term 1"); | 1318 base::string16 term = UTF8ToUTF16("Search term 1"); |
1282 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL); | 1319 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL); |
1283 ASSERT_TRUE(url_id); | 1320 ASSERT_TRUE(url_id); |
(...skipping 12 matching lines...) Expand all Loading... |
1296 EXPECT_EQ(term, statement->statement()->ColumnString16(1)); | 1333 EXPECT_EQ(term, statement->statement()->ColumnString16(1)); |
1297 EXPECT_EQ(ToDatabaseTime(row1.last_visit_time()), | 1334 EXPECT_EQ(ToDatabaseTime(row1.last_visit_time()), |
1298 statement->statement()->ColumnInt64(2)); | 1335 statement->statement()->ColumnInt64(2)); |
1299 EXPECT_FALSE(statement->statement()->Step()); | 1336 EXPECT_FALSE(statement->statement()->Step()); |
1300 } | 1337 } |
1301 | 1338 |
1302 TEST_F(AndroidProviderBackendTest, UpdateSearchTerms) { | 1339 TEST_F(AndroidProviderBackendTest, UpdateSearchTerms) { |
1303 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1340 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1304 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 1341 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
1305 scoped_ptr<AndroidProviderBackend> backend( | 1342 scoped_ptr<AndroidProviderBackend> backend( |
1306 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 1343 new AndroidProviderBackend(android_cache_db_name_, |
1307 &thumbnail_db_, bookmark_model_, &delegate_)); | 1344 &history_db_, |
| 1345 &thumbnail_db_, |
| 1346 history_client_, |
| 1347 &delegate_)); |
1308 // Insert a keyword. | 1348 // Insert a keyword. |
1309 HistoryAndBookmarkRow row1; | 1349 HistoryAndBookmarkRow row1; |
1310 row1.set_raw_url("cnn.com"); | 1350 row1.set_raw_url("cnn.com"); |
1311 row1.set_url(GURL("http://cnn.com")); | 1351 row1.set_url(GURL("http://cnn.com")); |
1312 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); | 1352 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); |
1313 row1.set_title(UTF8ToUTF16("cnn")); | 1353 row1.set_title(UTF8ToUTF16("cnn")); |
1314 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); | 1354 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); |
1315 base::string16 term = UTF8ToUTF16("Search term 1"); | 1355 base::string16 term = UTF8ToUTF16("Search term 1"); |
1316 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL); | 1356 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL); |
1317 ASSERT_TRUE(url_id); | 1357 ASSERT_TRUE(url_id); |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1400 statement->statement()->ColumnInt64(1)); | 1440 statement->statement()->ColumnInt64(1)); |
1401 // The search term didn't change. | 1441 // The search term didn't change. |
1402 EXPECT_EQ(update_term, statement->statement()->ColumnString16(2)); | 1442 EXPECT_EQ(update_term, statement->statement()->ColumnString16(2)); |
1403 EXPECT_FALSE(statement->statement()->Step()); | 1443 EXPECT_FALSE(statement->statement()->Step()); |
1404 } | 1444 } |
1405 | 1445 |
1406 TEST_F(AndroidProviderBackendTest, DeleteSearchTerms) { | 1446 TEST_F(AndroidProviderBackendTest, DeleteSearchTerms) { |
1407 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1447 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1408 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 1448 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
1409 scoped_ptr<AndroidProviderBackend> backend( | 1449 scoped_ptr<AndroidProviderBackend> backend( |
1410 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 1450 new AndroidProviderBackend(android_cache_db_name_, |
1411 &thumbnail_db_, bookmark_model_, &delegate_)); | 1451 &history_db_, |
| 1452 &thumbnail_db_, |
| 1453 history_client_, |
| 1454 &delegate_)); |
1412 // Insert a keyword. | 1455 // Insert a keyword. |
1413 HistoryAndBookmarkRow row1; | 1456 HistoryAndBookmarkRow row1; |
1414 row1.set_raw_url("cnn.com"); | 1457 row1.set_raw_url("cnn.com"); |
1415 row1.set_url(GURL("http://cnn.com")); | 1458 row1.set_url(GURL("http://cnn.com")); |
1416 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); | 1459 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); |
1417 row1.set_title(UTF8ToUTF16("cnn")); | 1460 row1.set_title(UTF8ToUTF16("cnn")); |
1418 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); | 1461 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); |
1419 base::string16 term = UTF8ToUTF16("Search term 1"); | 1462 base::string16 term = UTF8ToUTF16("Search term 1"); |
1420 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL); | 1463 URLID url_id = history_db_.GetRowForURL(row1.url(), NULL); |
1421 ASSERT_TRUE(url_id); | 1464 ASSERT_TRUE(url_id); |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1506 statement.reset(backend->QuerySearchTerms(projections, "_id = ?", args, | 1549 statement.reset(backend->QuerySearchTerms(projections, "_id = ?", args, |
1507 std::string())); | 1550 std::string())); |
1508 ASSERT_TRUE(statement.get()); | 1551 ASSERT_TRUE(statement.get()); |
1509 EXPECT_FALSE(statement->statement()->Step()); | 1552 EXPECT_FALSE(statement->statement()->Step()); |
1510 } | 1553 } |
1511 | 1554 |
1512 TEST_F(AndroidProviderBackendTest, InsertSearchTerm) { | 1555 TEST_F(AndroidProviderBackendTest, InsertSearchTerm) { |
1513 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1556 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1514 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 1557 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
1515 scoped_ptr<AndroidProviderBackend> backend( | 1558 scoped_ptr<AndroidProviderBackend> backend( |
1516 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 1559 new AndroidProviderBackend(android_cache_db_name_, |
1517 &thumbnail_db_, bookmark_model_, &delegate_)); | 1560 &history_db_, |
| 1561 &thumbnail_db_, |
| 1562 history_client_, |
| 1563 &delegate_)); |
1518 SearchRow search_row; | 1564 SearchRow search_row; |
1519 search_row.set_search_term(UTF8ToUTF16("google")); | 1565 search_row.set_search_term(UTF8ToUTF16("google")); |
1520 search_row.set_url(GURL("http://google.com")); | 1566 search_row.set_url(GURL("http://google.com")); |
1521 search_row.set_template_url_id(1); | 1567 search_row.set_template_url_id(1); |
1522 search_row.set_search_time(Time::Now() - TimeDelta::FromHours(1)); | 1568 search_row.set_search_time(Time::Now() - TimeDelta::FromHours(1)); |
1523 | 1569 |
1524 SearchTermID id = backend->InsertSearchTerm(search_row); | 1570 SearchTermID id = backend->InsertSearchTerm(search_row); |
1525 ASSERT_TRUE(id); | 1571 ASSERT_TRUE(id); |
1526 | 1572 |
1527 std::vector<SearchRow::ColumnID> projections; | 1573 std::vector<SearchRow::ColumnID> projections; |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1560 row2.set_last_visit_time(Time::Now() - TimeDelta::FromDays(10)); | 1606 row2.set_last_visit_time(Time::Now() - TimeDelta::FromDays(10)); |
1561 row2.set_is_bookmark(false); | 1607 row2.set_is_bookmark(false); |
1562 row2.set_title(UTF8ToUTF16("example")); | 1608 row2.set_title(UTF8ToUTF16("example")); |
1563 std::vector<unsigned char> data; | 1609 std::vector<unsigned char> data; |
1564 data.push_back('1'); | 1610 data.push_back('1'); |
1565 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); | 1611 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); |
1566 | 1612 |
1567 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1613 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1568 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 1614 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
1569 scoped_ptr<AndroidProviderBackend> backend( | 1615 scoped_ptr<AndroidProviderBackend> backend( |
1570 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 1616 new AndroidProviderBackend(android_cache_db_name_, |
1571 &thumbnail_db_, bookmark_model_, &delegate_)); | 1617 &history_db_, |
| 1618 &thumbnail_db_, |
| 1619 history_client_, |
| 1620 &delegate_)); |
1572 | 1621 |
1573 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); | 1622 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); |
1574 ASSERT_TRUE(id1); | 1623 ASSERT_TRUE(id1); |
1575 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2); | 1624 AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2); |
1576 ASSERT_TRUE(id2); | 1625 ASSERT_TRUE(id2); |
1577 | 1626 |
1578 // Verify the row1 has been added in bookmark model. | 1627 // Verify the row1 has been added in bookmark model. |
1579 content::RunAllPendingInMessageLoop(); | 1628 content::RunAllPendingInMessageLoop(); |
1580 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count()); | 1629 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count()); |
1581 const BookmarkNode* child = bookmark_model_->mobile_node()->GetChild(0); | 1630 const BookmarkNode* child = bookmark_model_->mobile_node()->GetChild(0); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1613 delegate_.modified_details()->changed_urls[0].url()); | 1662 delegate_.modified_details()->changed_urls[0].url()); |
1614 EXPECT_EQ(Time::UnixEpoch(), | 1663 EXPECT_EQ(Time::UnixEpoch(), |
1615 delegate_.modified_details()->changed_urls[0].last_visit()); | 1664 delegate_.modified_details()->changed_urls[0].last_visit()); |
1616 EXPECT_EQ(1u, delegate_.favicon_details()->urls.size()); | 1665 EXPECT_EQ(1u, delegate_.favicon_details()->urls.size()); |
1617 } | 1666 } |
1618 | 1667 |
1619 TEST_F(AndroidProviderBackendTest, TestMultipleNestingTransaction) { | 1668 TEST_F(AndroidProviderBackendTest, TestMultipleNestingTransaction) { |
1620 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1669 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1621 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 1670 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
1622 scoped_ptr<AndroidProviderBackend> backend( | 1671 scoped_ptr<AndroidProviderBackend> backend( |
1623 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 1672 new AndroidProviderBackend(android_cache_db_name_, |
1624 &thumbnail_db_, bookmark_model_, &delegate_)); | 1673 &history_db_, |
| 1674 &thumbnail_db_, |
| 1675 history_client_, |
| 1676 &delegate_)); |
1625 | 1677 |
1626 // Create the nested transactions. | 1678 // Create the nested transactions. |
1627 history_db_.BeginTransaction(); | 1679 history_db_.BeginTransaction(); |
1628 history_db_.BeginTransaction(); | 1680 history_db_.BeginTransaction(); |
1629 history_db_.BeginTransaction(); | 1681 history_db_.BeginTransaction(); |
1630 thumbnail_db_.BeginTransaction(); | 1682 thumbnail_db_.BeginTransaction(); |
1631 thumbnail_db_.BeginTransaction(); | 1683 thumbnail_db_.BeginTransaction(); |
1632 int history_transaction = history_db_.transaction_nesting(); | 1684 int history_transaction = history_db_.transaction_nesting(); |
1633 int thumbnail_transaction = thumbnail_db_.transaction_nesting(); | 1685 int thumbnail_transaction = thumbnail_db_.transaction_nesting(); |
1634 | 1686 |
(...skipping 28 matching lines...) Expand all Loading... |
1663 EXPECT_EQ(history_transaction, history_db_.transaction_nesting()); | 1715 EXPECT_EQ(history_transaction, history_db_.transaction_nesting()); |
1664 EXPECT_EQ(thumbnail_transaction, thumbnail_db_.transaction_nesting()); | 1716 EXPECT_EQ(thumbnail_transaction, thumbnail_db_.transaction_nesting()); |
1665 } | 1717 } |
1666 | 1718 |
1667 TEST_F(AndroidProviderBackendTest, TestAndroidCTSComplianceForZeroVisitCount) { | 1719 TEST_F(AndroidProviderBackendTest, TestAndroidCTSComplianceForZeroVisitCount) { |
1668 // This is to verify the last visit time and created time are same when visit | 1720 // This is to verify the last visit time and created time are same when visit |
1669 // count is 0. | 1721 // count is 0. |
1670 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1722 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1671 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 1723 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
1672 scoped_ptr<AndroidProviderBackend> backend( | 1724 scoped_ptr<AndroidProviderBackend> backend( |
1673 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 1725 new AndroidProviderBackend(android_cache_db_name_, |
1674 &thumbnail_db_, bookmark_model_, &delegate_)); | 1726 &history_db_, |
| 1727 &thumbnail_db_, |
| 1728 history_client_, |
| 1729 &delegate_)); |
1675 URLRow url_row(GURL("http://www.google.com")); | 1730 URLRow url_row(GURL("http://www.google.com")); |
1676 url_row.set_last_visit(Time::Now()); | 1731 url_row.set_last_visit(Time::Now()); |
1677 url_row.set_visit_count(0); | 1732 url_row.set_visit_count(0); |
1678 history_db_.AddURL(url_row); | 1733 history_db_.AddURL(url_row); |
1679 | 1734 |
1680 std::vector<HistoryAndBookmarkRow::ColumnID> projections; | 1735 std::vector<HistoryAndBookmarkRow::ColumnID> projections; |
1681 | 1736 |
1682 projections.push_back(HistoryAndBookmarkRow::ID); | 1737 projections.push_back(HistoryAndBookmarkRow::ID); |
1683 projections.push_back(HistoryAndBookmarkRow::URL); | 1738 projections.push_back(HistoryAndBookmarkRow::URL); |
1684 projections.push_back(HistoryAndBookmarkRow::TITLE); | 1739 projections.push_back(HistoryAndBookmarkRow::TITLE); |
(...skipping 15 matching lines...) Expand all Loading... |
1700 EXPECT_EQ(url_row.visit_count(), statement->statement()->ColumnInt(5)); | 1755 EXPECT_EQ(url_row.visit_count(), statement->statement()->ColumnInt(5)); |
1701 } | 1756 } |
1702 | 1757 |
1703 TEST_F(AndroidProviderBackendTest, AndroidCTSComplianceFolderColumnExists) { | 1758 TEST_F(AndroidProviderBackendTest, AndroidCTSComplianceFolderColumnExists) { |
1704 // This is test is used to verify the 'folder' column exists, all bookmarks | 1759 // This is test is used to verify the 'folder' column exists, all bookmarks |
1705 // returned when folder is 0 and the non bookmark rows returned when folder | 1760 // returned when folder is 0 and the non bookmark rows returned when folder |
1706 // is 1. | 1761 // is 1. |
1707 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1762 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1708 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); | 1763 ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_)); |
1709 scoped_ptr<AndroidProviderBackend> backend( | 1764 scoped_ptr<AndroidProviderBackend> backend( |
1710 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 1765 new AndroidProviderBackend(android_cache_db_name_, |
1711 &thumbnail_db_, bookmark_model_, &delegate_)); | 1766 &history_db_, |
| 1767 &thumbnail_db_, |
| 1768 history_client_, |
| 1769 &delegate_)); |
1712 HistoryAndBookmarkRow row1; | 1770 HistoryAndBookmarkRow row1; |
1713 row1.set_raw_url("cnn.com"); | 1771 row1.set_raw_url("cnn.com"); |
1714 row1.set_url(GURL("http://cnn.com")); | 1772 row1.set_url(GURL("http://cnn.com")); |
1715 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); | 1773 row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); |
1716 row1.set_created(Time::Now() - TimeDelta::FromDays(20)); | 1774 row1.set_created(Time::Now() - TimeDelta::FromDays(20)); |
1717 row1.set_visit_count(10); | 1775 row1.set_visit_count(10); |
1718 row1.set_is_bookmark(true); | 1776 row1.set_is_bookmark(true); |
1719 row1.set_title(UTF8ToUTF16("cnn")); | 1777 row1.set_title(UTF8ToUTF16("cnn")); |
1720 | 1778 |
1721 HistoryAndBookmarkRow row2; | 1779 HistoryAndBookmarkRow row2; |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1776 visits2.push_back(VisitInfo(created2, content::PAGE_TRANSITION_LINK)); | 1834 visits2.push_back(VisitInfo(created2, content::PAGE_TRANSITION_LINK)); |
1777 visits2.push_back(VisitInfo(last_visited2 - TimeDelta::FromDays(5), | 1835 visits2.push_back(VisitInfo(last_visited2 - TimeDelta::FromDays(5), |
1778 content::PAGE_TRANSITION_LINK)); | 1836 content::PAGE_TRANSITION_LINK)); |
1779 visits2.push_back(VisitInfo(last_visited2, content::PAGE_TRANSITION_LINK)); | 1837 visits2.push_back(VisitInfo(last_visited2, content::PAGE_TRANSITION_LINK)); |
1780 | 1838 |
1781 // Only use the HistoryBackend to generate the test data. | 1839 // Only use the HistoryBackend to generate the test data. |
1782 // HistoryBackend will shutdown after that. | 1840 // HistoryBackend will shutdown after that. |
1783 { | 1841 { |
1784 scoped_refptr<HistoryBackend> history_backend; | 1842 scoped_refptr<HistoryBackend> history_backend; |
1785 history_backend = new HistoryBackend( | 1843 history_backend = new HistoryBackend( |
1786 temp_dir_.path(), new AndroidProviderBackendDelegate(), bookmark_model_); | 1844 temp_dir_.path(), new AndroidProviderBackendDelegate(), history_client_); |
1787 history_backend->Init(std::string(), false); | 1845 history_backend->Init(std::string(), false); |
1788 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED); | 1846 history_backend->AddVisits(url1, visits1, history::SOURCE_SYNCED); |
1789 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED); | 1847 history_backend->AddVisits(url2, visits2, history::SOURCE_SYNCED); |
1790 URLRow url_row; | 1848 URLRow url_row; |
1791 | 1849 |
1792 ASSERT_TRUE(history_backend->GetURL(url1, &url_row)); | 1850 ASSERT_TRUE(history_backend->GetURL(url1, &url_row)); |
1793 url_id1 = url_row.id(); | 1851 url_id1 = url_row.id(); |
1794 url_row.set_title(title1); | 1852 url_row.set_title(title1); |
1795 ASSERT_TRUE(history_backend->UpdateURL(url_id1, url_row)); | 1853 ASSERT_TRUE(history_backend->UpdateURL(url_id1, url_row)); |
1796 | 1854 |
(...skipping 22 matching lines...) Expand all Loading... |
1819 ASSERT_TRUE(base::PathExists(history_db_name_)); | 1877 ASSERT_TRUE(base::PathExists(history_db_name_)); |
1820 ASSERT_TRUE(base::PathExists(thumbnail_db_name_)); | 1878 ASSERT_TRUE(base::PathExists(thumbnail_db_name_)); |
1821 | 1879 |
1822 // Only creates the history database | 1880 // Only creates the history database |
1823 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1881 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1824 | 1882 |
1825 // Set url1 as bookmark. | 1883 // Set url1 as bookmark. |
1826 AddBookmark(url1); | 1884 AddBookmark(url1); |
1827 | 1885 |
1828 scoped_ptr<AndroidProviderBackend> backend( | 1886 scoped_ptr<AndroidProviderBackend> backend( |
1829 new AndroidProviderBackend(android_cache_db_name_, &history_db_, NULL, | 1887 new AndroidProviderBackend(android_cache_db_name_, |
1830 bookmark_model_, &delegate_)); | 1888 &history_db_, |
| 1889 NULL, |
| 1890 history_client_, |
| 1891 &delegate_)); |
1831 | 1892 |
1832 std::vector<HistoryAndBookmarkRow::ColumnID> projections; | 1893 std::vector<HistoryAndBookmarkRow::ColumnID> projections; |
1833 | 1894 |
1834 projections.push_back(HistoryAndBookmarkRow::ID); | 1895 projections.push_back(HistoryAndBookmarkRow::ID); |
1835 projections.push_back(HistoryAndBookmarkRow::URL); | 1896 projections.push_back(HistoryAndBookmarkRow::URL); |
1836 projections.push_back(HistoryAndBookmarkRow::TITLE); | 1897 projections.push_back(HistoryAndBookmarkRow::TITLE); |
1837 projections.push_back(HistoryAndBookmarkRow::CREATED); | 1898 projections.push_back(HistoryAndBookmarkRow::CREATED); |
1838 projections.push_back(HistoryAndBookmarkRow::LAST_VISIT_TIME); | 1899 projections.push_back(HistoryAndBookmarkRow::LAST_VISIT_TIME); |
1839 projections.push_back(HistoryAndBookmarkRow::VISIT_COUNT); | 1900 projections.push_back(HistoryAndBookmarkRow::VISIT_COUNT); |
1840 projections.push_back(HistoryAndBookmarkRow::FAVICON); | 1901 projections.push_back(HistoryAndBookmarkRow::FAVICON); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1889 row2.set_url(GURL("http://www.example.com")); | 1950 row2.set_url(GURL("http://www.example.com")); |
1890 row2.set_last_visit_time(Time::Now() - TimeDelta::FromDays(10)); | 1951 row2.set_last_visit_time(Time::Now() - TimeDelta::FromDays(10)); |
1891 row2.set_is_bookmark(false); | 1952 row2.set_is_bookmark(false); |
1892 row2.set_title(UTF8ToUTF16("example")); | 1953 row2.set_title(UTF8ToUTF16("example")); |
1893 std::vector<unsigned char> data; | 1954 std::vector<unsigned char> data; |
1894 data.push_back('1'); | 1955 data.push_back('1'); |
1895 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); | 1956 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); |
1896 | 1957 |
1897 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 1958 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1898 scoped_ptr<AndroidProviderBackend> backend( | 1959 scoped_ptr<AndroidProviderBackend> backend( |
1899 new AndroidProviderBackend(android_cache_db_name_, &history_db_, NULL, | 1960 new AndroidProviderBackend(android_cache_db_name_, |
1900 bookmark_model_, &delegate_)); | 1961 &history_db_, |
| 1962 NULL, |
| 1963 history_client_, |
| 1964 &delegate_)); |
1901 | 1965 |
1902 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); | 1966 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); |
1903 EXPECT_FALSE(delegate_.deleted_details()); | 1967 EXPECT_FALSE(delegate_.deleted_details()); |
1904 ASSERT_TRUE(delegate_.modified_details()); | 1968 ASSERT_TRUE(delegate_.modified_details()); |
1905 ASSERT_EQ(1u, delegate_.modified_details()->changed_urls.size()); | 1969 ASSERT_EQ(1u, delegate_.modified_details()->changed_urls.size()); |
1906 EXPECT_EQ(row1.url(), delegate_.modified_details()->changed_urls[0].url()); | 1970 EXPECT_EQ(row1.url(), delegate_.modified_details()->changed_urls[0].url()); |
1907 EXPECT_EQ(row1.last_visit_time(), | 1971 EXPECT_EQ(row1.last_visit_time(), |
1908 delegate_.modified_details()->changed_urls[0].last_visit()); | 1972 delegate_.modified_details()->changed_urls[0].last_visit()); |
1909 EXPECT_EQ(row1.visit_count(), | 1973 EXPECT_EQ(row1.visit_count(), |
1910 delegate_.modified_details()->changed_urls[0].visit_count()); | 1974 delegate_.modified_details()->changed_urls[0].visit_count()); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1953 data.push_back('1'); | 2017 data.push_back('1'); |
1954 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); | 2018 row2.set_favicon(base::RefCountedBytes::TakeVector(&data)); |
1955 | 2019 |
1956 { | 2020 { |
1957 HistoryDatabase history_db; | 2021 HistoryDatabase history_db; |
1958 ThumbnailDatabase thumbnail_db; | 2022 ThumbnailDatabase thumbnail_db; |
1959 ASSERT_EQ(sql::INIT_OK, history_db.Init(history_db_name_)); | 2023 ASSERT_EQ(sql::INIT_OK, history_db.Init(history_db_name_)); |
1960 ASSERT_EQ(sql::INIT_OK, thumbnail_db.Init(thumbnail_db_name_)); | 2024 ASSERT_EQ(sql::INIT_OK, thumbnail_db.Init(thumbnail_db_name_)); |
1961 | 2025 |
1962 scoped_ptr<AndroidProviderBackend> backend( | 2026 scoped_ptr<AndroidProviderBackend> backend( |
1963 new AndroidProviderBackend(android_cache_db_name_, &history_db, | 2027 new AndroidProviderBackend(android_cache_db_name_, |
1964 &thumbnail_db, bookmark_model_, &delegate_)); | 2028 &history_db, |
| 2029 &thumbnail_db, |
| 2030 history_client_, |
| 2031 &delegate_)); |
1965 | 2032 |
1966 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); | 2033 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row1)); |
1967 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row2)); | 2034 ASSERT_TRUE(backend->InsertHistoryAndBookmark(row2)); |
1968 // Verify the row1 has been added in bookmark model. | 2035 // Verify the row1 has been added in bookmark model. |
1969 content::RunAllPendingInMessageLoop(); | 2036 content::RunAllPendingInMessageLoop(); |
1970 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count()); | 2037 ASSERT_EQ(1, bookmark_model_->mobile_node()->child_count()); |
1971 const BookmarkNode* child = bookmark_model_->mobile_node()->GetChild(0); | 2038 const BookmarkNode* child = bookmark_model_->mobile_node()->GetChild(0); |
1972 ASSERT_TRUE(child); | 2039 ASSERT_TRUE(child); |
1973 EXPECT_EQ(row1.title(), child->GetTitle()); | 2040 EXPECT_EQ(row1.title(), child->GetTitle()); |
1974 EXPECT_EQ(row1.url(), child->url()); | 2041 EXPECT_EQ(row1.url(), child->url()); |
1975 } | 2042 } |
1976 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 2043 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
1977 scoped_ptr<AndroidProviderBackend> backend( | 2044 scoped_ptr<AndroidProviderBackend> backend( |
1978 new AndroidProviderBackend(android_cache_db_name_, &history_db_, | 2045 new AndroidProviderBackend(android_cache_db_name_, |
1979 NULL, bookmark_model_, &delegate_)); | 2046 &history_db_, |
| 2047 NULL, |
| 2048 history_client_, |
| 2049 &delegate_)); |
1980 | 2050 |
1981 // Delete all rows. | 2051 // Delete all rows. |
1982 std::vector<base::string16> args; | 2052 std::vector<base::string16> args; |
1983 int deleted_count = 0; | 2053 int deleted_count = 0; |
1984 delegate_.ResetDetails(); | 2054 delegate_.ResetDetails(); |
1985 ASSERT_TRUE(backend->DeleteHistoryAndBookmarks("Favicon IS NULL", args, | 2055 ASSERT_TRUE(backend->DeleteHistoryAndBookmarks("Favicon IS NULL", args, |
1986 &deleted_count)); | 2056 &deleted_count)); |
1987 // All rows were deleted. | 2057 // All rows were deleted. |
1988 EXPECT_EQ(2, deleted_count); | 2058 EXPECT_EQ(2, deleted_count); |
1989 // Verify the rows was removed from bookmark model. | 2059 // Verify the rows was removed from bookmark model. |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2023 row1.set_visit_count(10); | 2093 row1.set_visit_count(10); |
2024 row1.set_is_bookmark(true); | 2094 row1.set_is_bookmark(true); |
2025 row1.set_title(UTF8ToUTF16("cnn")); | 2095 row1.set_title(UTF8ToUTF16("cnn")); |
2026 | 2096 |
2027 { | 2097 { |
2028 HistoryDatabase history_db; | 2098 HistoryDatabase history_db; |
2029 ThumbnailDatabase thumbnail_db; | 2099 ThumbnailDatabase thumbnail_db; |
2030 ASSERT_EQ(sql::INIT_OK, history_db.Init(history_db_name_)); | 2100 ASSERT_EQ(sql::INIT_OK, history_db.Init(history_db_name_)); |
2031 ASSERT_EQ(sql::INIT_OK, thumbnail_db.Init(thumbnail_db_name_)); | 2101 ASSERT_EQ(sql::INIT_OK, thumbnail_db.Init(thumbnail_db_name_)); |
2032 scoped_ptr<AndroidProviderBackend> backend( | 2102 scoped_ptr<AndroidProviderBackend> backend( |
2033 new AndroidProviderBackend(android_cache_db_name_, &history_db, | 2103 new AndroidProviderBackend(android_cache_db_name_, |
2034 &thumbnail_db, bookmark_model_, &delegate_)); | 2104 &history_db, |
| 2105 &thumbnail_db, |
| 2106 history_client_, |
| 2107 &delegate_)); |
2035 | 2108 |
2036 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); | 2109 AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); |
2037 ASSERT_TRUE(id1); | 2110 ASSERT_TRUE(id1); |
2038 } | 2111 } |
2039 | 2112 |
2040 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); | 2113 ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_)); |
2041 scoped_ptr<AndroidProviderBackend> backend( | 2114 scoped_ptr<AndroidProviderBackend> backend( |
2042 new AndroidProviderBackend(android_cache_db_name_, &history_db_, NULL, | 2115 new AndroidProviderBackend(android_cache_db_name_, |
2043 bookmark_model_, &delegate_)); | 2116 &history_db_, |
| 2117 NULL, |
| 2118 history_client_, |
| 2119 &delegate_)); |
2044 | 2120 |
2045 int update_count; | 2121 int update_count; |
2046 std::vector<base::string16> update_args; | 2122 std::vector<base::string16> update_args; |
2047 // Update the last visit time to a value greater than current one. | 2123 // Update the last visit time to a value greater than current one. |
2048 HistoryAndBookmarkRow update_row1; | 2124 HistoryAndBookmarkRow update_row1; |
2049 | 2125 |
2050 // Set visit count. | 2126 // Set visit count. |
2051 update_row1.set_visit_count(5); | 2127 update_row1.set_visit_count(5); |
2052 // Set favicon. | 2128 // Set favicon. |
2053 std::vector<unsigned char> data; | 2129 std::vector<unsigned char> data; |
2054 data.push_back('1'); | 2130 data.push_back('1'); |
2055 update_row1.set_favicon(base::RefCountedBytes::TakeVector(&data)); | 2131 update_row1.set_favicon(base::RefCountedBytes::TakeVector(&data)); |
2056 update_args.push_back(UTF8ToUTF16(row1.raw_url())); | 2132 update_args.push_back(UTF8ToUTF16(row1.raw_url())); |
2057 delegate_.ResetDetails(); | 2133 delegate_.ResetDetails(); |
2058 ASSERT_TRUE(backend->UpdateHistoryAndBookmarks(update_row1, "url = ?", | 2134 ASSERT_TRUE(backend->UpdateHistoryAndBookmarks(update_row1, "url = ?", |
2059 update_args, &update_count)); | 2135 update_args, &update_count)); |
2060 // Verify notifications. | 2136 // Verify notifications. |
2061 EXPECT_FALSE(delegate_.deleted_details()); | 2137 EXPECT_FALSE(delegate_.deleted_details()); |
2062 ASSERT_TRUE(delegate_.modified_details()); | 2138 ASSERT_TRUE(delegate_.modified_details()); |
2063 ASSERT_EQ(1u, delegate_.modified_details()->changed_urls.size()); | 2139 ASSERT_EQ(1u, delegate_.modified_details()->changed_urls.size()); |
2064 // No favicon will be updated as thumbnail database is missing. | 2140 // No favicon will be updated as thumbnail database is missing. |
2065 EXPECT_FALSE(delegate_.favicon_details()); | 2141 EXPECT_FALSE(delegate_.favicon_details()); |
2066 } | 2142 } |
2067 | 2143 |
2068 } // namespace history | 2144 } // namespace history |
OLD | NEW |