| Index: chrome/browser/sync/test/integration/two_client_bookmarks_sync_test.cc
|
| diff --git a/chrome/browser/sync/test/integration/two_client_bookmarks_sync_test.cc b/chrome/browser/sync/test/integration/two_client_bookmarks_sync_test.cc
|
| index e574eec2bbd0d88a45cce7685c250eb464da3d8f..de7fa1b47499a3e47b696764ca7117052851505b 100644
|
| --- a/chrome/browser/sync/test/integration/two_client_bookmarks_sync_test.cc
|
| +++ b/chrome/browser/sync/test/integration/two_client_bookmarks_sync_test.cc
|
| @@ -25,9 +25,11 @@ using bookmarks_helper::AddFolder;
|
| using bookmarks_helper::AddURL;
|
| using bookmarks_helper::AllModelsMatch;
|
| using bookmarks_helper::AllModelsMatchVerifier;
|
| +using bookmarks_helper::CheckFaviconExpired;
|
| using bookmarks_helper::ContainsDuplicateBookmarks;
|
| using bookmarks_helper::CountBookmarksWithTitlesMatching;
|
| using bookmarks_helper::CreateFavicon;
|
| +using bookmarks_helper::ExpireFavicon;
|
| using bookmarks_helper::GetBookmarkBarNode;
|
| using bookmarks_helper::GetManagedNode;
|
| using bookmarks_helper::GetOtherNode;
|
| @@ -229,6 +231,54 @@ IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_SetFaviconHiDPI) {
|
| ASSERT_TRUE(AllModelsMatchVerifier());
|
| }
|
|
|
| +// Test that if sync does not modify a favicon bitmap's data that it does not
|
| +// modify the favicon bitmap's "last updated time" either. This is important
|
| +// because the last updated time is used to determine whether a bookmark's
|
| +// favicon should be redownloaded when the web when the bookmark is visited.
|
| +// If sync prevents the "last updated time" from expiring, the favicon is
|
| +// never redownloaded from the web. (http://crbug.com/481414)
|
| +IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
|
| + SC_UpdatingTitleDoesNotUpdateFaviconLastUpdatedTime) {
|
| + ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
|
| +
|
| + std::vector<ui::ScaleFactor> supported_scale_factors;
|
| + supported_scale_factors.push_back(ui::SCALE_FACTOR_100P);
|
| + ui::SetSupportedScaleFactors(supported_scale_factors);
|
| +
|
| + const GURL page_url(kGenericURL);
|
| + const GURL icon_url("http://www.google.com/favicon.ico");
|
| +
|
| + ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
|
| + ASSERT_TRUE(AllModelsMatchVerifier());
|
| +
|
| + const BookmarkNode* bookmark0 = AddURL(0, kGenericURLTitle, page_url);
|
| + ASSERT_NE(bookmark0, nullptr);
|
| + gfx::Image favicon0 = CreateFavicon(SK_ColorBLUE);
|
| + ASSERT_FALSE(favicon0.IsEmpty());
|
| + SetFavicon(0, bookmark0, icon_url, favicon0, bookmarks_helper::FROM_UI);
|
| +
|
| + // Expire the favicon (e.g. as a result of the user "clearing browsing
|
| + // history from the beginning of time")
|
| + ExpireFavicon(0, bookmark0);
|
| + CheckFaviconExpired(0, icon_url);
|
| +
|
| + ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
|
| + ASSERT_TRUE(AllModelsMatchVerifier());
|
| +
|
| + // Change the bookmark's title for profile 1. Changing the title will cause
|
| + // the bookmark's favicon data to be synced from profile 1 to profile 0 even
|
| + // though the favicon data did not change.
|
| + const std::string kNewTitle = "New Title";
|
| + ASSERT_NE(kNewTitle, kGenericURLTitle);
|
| + const BookmarkNode* bookmark1 = GetUniqueNodeByURL(1, page_url);
|
| + SetTitle(1, bookmark1, kNewTitle);
|
| + ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
|
| + ASSERT_TRUE(AllModelsMatchVerifier());
|
| +
|
| + // The favicon for profile 0 should still be expired.
|
| + CheckFaviconExpired(0, icon_url);
|
| +}
|
| +
|
| // Test Scribe ID - 370560.
|
| IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddNonHTTPBMs) {
|
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
|
|
|