| 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 |