Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(391)

Side by Side Diff: chrome/browser/history/android/android_provider_backend_unittest.cc

Issue 285233012: Abstract history dependencies on bookmarks through HistoryClient (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix android unit tests Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/history/android/android_provider_backend.cc ('k') | chrome/browser/history/chrome_history_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698