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

Unified Diff: components/sync_sessions/task_tracker_unittest.cc

Issue 2868043003: Track task ids for navigations cross multiple tabs. (Closed)
Patch Set: Created 3 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: components/sync_sessions/task_tracker_unittest.cc
diff --git a/components/sync_sessions/task_tracker_unittest.cc b/components/sync_sessions/task_tracker_unittest.cc
index 40fd0424d4d118b7904378366e637d8b8811ff64..b390228019d1059891c2e51ecad85bb158a00cc8 100644
--- a/components/sync_sessions/task_tracker_unittest.cc
+++ b/components/sync_sessions/task_tracker_unittest.cc
@@ -195,4 +195,46 @@ TEST(TaskTrackerTest, CreateSubTaskFromExcludedAncestorTask) {
ElementsAre((kMaxNumTasksPerTab + 2) * 100));
}
+TEST(TaskTrackerTest, CreateTabTasksFromSourceTab) {
+ TaskTracker task_tracker;
+ TabTasks* source_tab_tasks = task_tracker.GetTabTasks(kTab1);
+ source_tab_tasks->UpdateWithNavigation(1, ui::PAGE_TRANSITION_LINK, 100);
+ source_tab_tasks->UpdateWithNavigation(2, ui::PAGE_TRANSITION_LINK, 200);
+ source_tab_tasks->UpdateWithNavigation(3, ui::PAGE_TRANSITION_TYPED, 300);
+ source_tab_tasks->UpdateWithNavigation(4, ui::PAGE_TRANSITION_LINK, 400);
+ source_tab_tasks->UpdateWithNavigation(5, ui::PAGE_TRANSITION_LINK, 500);
+
+ TabTasks* target_tab_tasks = task_tracker.GetTabTasks(kTab2, kTab1);
+ target_tab_tasks->UpdateWithNavigation(1, ui::PAGE_TRANSITION_LINK, 600);
+ target_tab_tasks->UpdateWithNavigation(2, ui::PAGE_TRANSITION_LINK, 700);
+ target_tab_tasks->UpdateWithNavigation(3, ui::PAGE_TRANSITION_TYPED, 800);
+
+ EXPECT_THAT(target_tab_tasks->GetTaskIdsForNavigation(1),
+ ElementsAre(300, 400, 500, 600));
+ EXPECT_THAT(target_tab_tasks->GetTaskIdsForNavigation(2),
+ ElementsAre(300, 400, 500, 600, 700));
+ EXPECT_THAT(target_tab_tasks->GetTaskIdsForNavigation(3), ElementsAre(800));
+}
+
+TEST(TaskTrackerTest, CreateTabTasksFromSourceTabAfterGoingBack) {
+ TaskTracker task_tracker;
+ TabTasks* source_tab_tasks = task_tracker.GetTabTasks(kTab1);
+ source_tab_tasks->UpdateWithNavigation(1, ui::PAGE_TRANSITION_LINK, 100);
+ source_tab_tasks->UpdateWithNavigation(2, ui::PAGE_TRANSITION_LINK, 200);
+ source_tab_tasks->UpdateWithNavigation(3, ui::PAGE_TRANSITION_TYPED, 300);
+ source_tab_tasks->UpdateWithNavigation(4, ui::PAGE_TRANSITION_LINK, 400);
+ source_tab_tasks->UpdateWithNavigation(5, ui::PAGE_TRANSITION_LINK, 500);
+ source_tab_tasks->UpdateWithNavigation(
+ 2,
+ ui::PageTransitionFromInt(ui::PAGE_TRANSITION_LINK |
+ ui::PAGE_TRANSITION_FORWARD_BACK),
+ 600);
+
+ TabTasks* target_tab_tasks = task_tracker.GetTabTasks(kTab2, kTab1);
+ target_tab_tasks->UpdateWithNavigation(1, ui::PAGE_TRANSITION_LINK, 700);
+
+ EXPECT_THAT(target_tab_tasks->GetTaskIdsForNavigation(1),
+ ElementsAre(100, 200, 700));
+}
+
} // namespace sync_sessions
« components/sync_sessions/task_tracker.h ('K') | « components/sync_sessions/task_tracker.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698