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

Unified Diff: chrome/browser/sync/test/integration/two_client_bookmarks_sync_test.cc

Issue 1133463005: Update all bookmarks which use an icon URL when a favicon's bitmap is updated (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@startup_do_not_unexpire
Patch Set: Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
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..d2d361b4ae1290be6759ddda087dd0d796909703 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
@@ -229,6 +229,48 @@ IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_SetFaviconHiDPI) {
ASSERT_TRUE(AllModelsMatchVerifier());
}
+// When two bookmarks use the same icon URL, the favicon for both bookmarks is
+// stored in the same row in the favicons database. Test that when the favicon
Roger McFarlane (Chromium) 2015/05/13 18:28:12 Assuming my understanding is correct, how about:
pkotwicz 2015/05/14 14:18:54 I modified the first sentence to be less wordy
+// is updated for one bookmark it is also updated for the other bookmark. This
+// ensures that sync has the most up to date data and prevents sync from
+// reverting the newly updated bookmark favicon back to the old favicon.
+// crbug.com/485657
+IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
+ SC_SetFaviconTwoBookmarksSameIconURL) {
+ const GURL page_url1("http://www.google.com/a");
+ const GURL page_url2("http://www.google.com/b");
+ const GURL icon_url("http://www.google.com/favicon.ico");
+
+ ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
+ ASSERT_TRUE(AllModelsMatchVerifier());
+
+ const BookmarkNode* bookmark01 = AddURL(0, kGenericURLTitle, page_url1);
+ ASSERT_TRUE(bookmark01 != nullptr);
+ const BookmarkNode* bookmark02 = AddURL(0, kGenericURLTitle, page_url2);
+ ASSERT_TRUE(bookmark02 != nullptr);
+
+ SetFavicon(0, bookmark01, icon_url, CreateFavicon(SK_ColorWHITE),
+ bookmarks_helper::FROM_UI);
+ ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
+ ASSERT_TRUE(AllModelsMatchVerifier());
+
+ // Set |page_url2| to use a blue favicon and the same icon URL as
+ // |page_url1|. The favicon for |page_url1| should also become blue.
+ SetFavicon(0, bookmark02, icon_url, CreateFavicon(SK_ColorBLUE),
+ bookmarks_helper::FROM_UI);
+ ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
+ ASSERT_TRUE(AllModelsMatchVerifier());
+
+ // Set the title for |page_url1|. This should not revert either of the
+ // bookmark favicons back to white.
+ const char kNewTitle[] = "New Title";
+ ASSERT_STRNE(kGenericURLTitle, kNewTitle);
+ const BookmarkNode* bookmark11 = GetUniqueNodeByURL(1, page_url1);
+ SetTitle(1, bookmark11, std::string(kNewTitle));
+ ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
+ ASSERT_TRUE(AllModelsMatchVerifier());
+}
+
// Test Scribe ID - 370560.
IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddNonHTTPBMs) {
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";

Powered by Google App Engine
This is Rietveld 408576698