OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/sync_sessions/sessions_sync_manager.h" | 5 #include "components/sync_sessions/sessions_sync_manager.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
787 session_tab.tab_visual_index = 1; | 787 session_tab.tab_visual_index = 1; |
788 session_tab.current_navigation_index = 1; | 788 session_tab.current_navigation_index = 1; |
789 session_tab.pinned = true; | 789 session_tab.pinned = true; |
790 session_tab.extension_app_id = "app id"; | 790 session_tab.extension_app_id = "app id"; |
791 session_tab.user_agent_override = "override"; | 791 session_tab.user_agent_override = "override"; |
792 session_tab.timestamp = kTime5; | 792 session_tab.timestamp = kTime5; |
793 session_tab.navigations.push_back( | 793 session_tab.navigations.push_back( |
794 SerializedNavigationEntryTestHelper::CreateNavigation( | 794 SerializedNavigationEntryTestHelper::CreateNavigation( |
795 "http://www.example.com", "Example")); | 795 "http://www.example.com", "Example")); |
796 session_tab.session_storage_persistent_id = "persistent id"; | 796 session_tab.session_storage_persistent_id = "persistent id"; |
797 manager()->SetSessionTabFromDelegate(*tab, kTime4, &session_tab); | 797 manager()->SetSessionTabFromDelegate(*tab, kTime4, &session_tab, nullptr); |
798 | 798 |
799 EXPECT_EQ(tab->GetWindowId(), session_tab.window_id.id()); | 799 EXPECT_EQ(tab->GetWindowId(), session_tab.window_id.id()); |
800 EXPECT_EQ(tab->GetSessionId(), session_tab.tab_id.id()); | 800 EXPECT_EQ(tab->GetSessionId(), session_tab.tab_id.id()); |
801 EXPECT_EQ(0, session_tab.tab_visual_index); | 801 EXPECT_EQ(0, session_tab.tab_visual_index); |
802 EXPECT_EQ(tab->GetCurrentEntryIndex(), session_tab.current_navigation_index); | 802 EXPECT_EQ(tab->GetCurrentEntryIndex(), session_tab.current_navigation_index); |
803 EXPECT_FALSE(session_tab.pinned); | 803 EXPECT_FALSE(session_tab.pinned); |
804 EXPECT_TRUE(session_tab.extension_app_id.empty()); | 804 EXPECT_TRUE(session_tab.extension_app_id.empty()); |
805 EXPECT_TRUE(session_tab.user_agent_override.empty()); | 805 EXPECT_TRUE(session_tab.user_agent_override.empty()); |
806 EXPECT_EQ(kTime4, session_tab.timestamp); | 806 EXPECT_EQ(kTime4, session_tab.timestamp); |
807 ASSERT_EQ(3u, session_tab.navigations.size()); | 807 ASSERT_EQ(3u, session_tab.navigations.size()); |
(...skipping 19 matching lines...) Expand all Loading... |
827 // stack gets trucated to +/- 6 entries. | 827 // stack gets trucated to +/- 6 entries. |
828 TEST_F(SessionsSyncManagerTest, SetSessionTabFromDelegateNavigationIndex) { | 828 TEST_F(SessionsSyncManagerTest, SetSessionTabFromDelegateNavigationIndex) { |
829 TestSyncedTabDelegate* tab = AddTab(AddWindow()->GetSessionId(), kFoo1); | 829 TestSyncedTabDelegate* tab = AddTab(AddWindow()->GetSessionId(), kFoo1); |
830 const int kNavs = 10; | 830 const int kNavs = 10; |
831 for (int i = 1; i < kNavs; ++i) { | 831 for (int i = 1; i < kNavs; ++i) { |
832 NavigateTab(tab, base::StringPrintf("http://foo%i", i)); | 832 NavigateTab(tab, base::StringPrintf("http://foo%i", i)); |
833 } | 833 } |
834 tab->set_current_entry_index(kNavs - 2); | 834 tab->set_current_entry_index(kNavs - 2); |
835 | 835 |
836 sessions::SessionTab session_tab; | 836 sessions::SessionTab session_tab; |
837 manager()->SetSessionTabFromDelegate(*tab, kTime9, &session_tab); | 837 manager()->SetSessionTabFromDelegate(*tab, kTime9, &session_tab, nullptr); |
838 | 838 |
839 EXPECT_EQ(6, session_tab.current_navigation_index); | 839 EXPECT_EQ(6, session_tab.current_navigation_index); |
840 ASSERT_EQ(8u, session_tab.navigations.size()); | 840 ASSERT_EQ(8u, session_tab.navigations.size()); |
841 EXPECT_EQ(GURL("http://foo2"), session_tab.navigations[0].virtual_url()); | 841 EXPECT_EQ(GURL("http://foo2"), session_tab.navigations[0].virtual_url()); |
842 EXPECT_EQ(GURL("http://foo3"), session_tab.navigations[1].virtual_url()); | 842 EXPECT_EQ(GURL("http://foo3"), session_tab.navigations[1].virtual_url()); |
843 EXPECT_EQ(GURL("http://foo4"), session_tab.navigations[2].virtual_url()); | 843 EXPECT_EQ(GURL("http://foo4"), session_tab.navigations[2].virtual_url()); |
844 } | 844 } |
845 | 845 |
846 // Ensure the current_navigation_index gets set to the end of the navigation | 846 // Ensure the current_navigation_index gets set to the end of the navigation |
847 // stack if the current navigation is invalid. | 847 // stack if the current navigation is invalid. |
848 TEST_F(SessionsSyncManagerTest, SetSessionTabFromDelegateCurrentInvalid) { | 848 TEST_F(SessionsSyncManagerTest, SetSessionTabFromDelegateCurrentInvalid) { |
849 TestSyncedTabDelegate* tab = | 849 TestSyncedTabDelegate* tab = |
850 AddTab(AddWindow()->GetSessionId(), kFoo1, kTime0); | 850 AddTab(AddWindow()->GetSessionId(), kFoo1, kTime0); |
851 NavigateTab(tab, std::string(""), kTime1); | 851 NavigateTab(tab, std::string(""), kTime1); |
852 NavigateTab(tab, kBar1, kTime2); | 852 NavigateTab(tab, kBar1, kTime2); |
853 NavigateTab(tab, kBar2, kTime3); | 853 NavigateTab(tab, kBar2, kTime3); |
854 tab->set_current_entry_index(1); | 854 tab->set_current_entry_index(1); |
855 | 855 |
856 sessions::SessionTab session_tab; | 856 sessions::SessionTab session_tab; |
857 manager()->SetSessionTabFromDelegate(*tab, kTime9, &session_tab); | 857 manager()->SetSessionTabFromDelegate(*tab, kTime9, &session_tab, nullptr); |
858 | 858 |
859 EXPECT_EQ(2, session_tab.current_navigation_index); | 859 EXPECT_EQ(2, session_tab.current_navigation_index); |
860 ASSERT_EQ(3u, session_tab.navigations.size()); | 860 ASSERT_EQ(3u, session_tab.navigations.size()); |
861 } | 861 } |
862 | 862 |
863 // Tests that for supervised users blocked navigations are recorded and marked | 863 // Tests that for supervised users blocked navigations are recorded and marked |
864 // as such, while regular navigations are marked as allowed. | 864 // as such, while regular navigations are marked as allowed. |
865 TEST_F(SessionsSyncManagerTest, BlockedNavigations) { | 865 TEST_F(SessionsSyncManagerTest, BlockedNavigations) { |
866 TestSyncedTabDelegate* tab = | 866 TestSyncedTabDelegate* tab = |
867 AddTab(AddWindow()->GetSessionId(), kFoo1, kTime1); | 867 AddTab(AddWindow()->GetSessionId(), kFoo1, kTime1); |
(...skipping 22 matching lines...) Expand all Loading... |
890 session_tab.tab_visual_index = 1; | 890 session_tab.tab_visual_index = 1; |
891 session_tab.current_navigation_index = 1; | 891 session_tab.current_navigation_index = 1; |
892 session_tab.pinned = true; | 892 session_tab.pinned = true; |
893 session_tab.extension_app_id = "app id"; | 893 session_tab.extension_app_id = "app id"; |
894 session_tab.user_agent_override = "override"; | 894 session_tab.user_agent_override = "override"; |
895 session_tab.timestamp = kTime5; | 895 session_tab.timestamp = kTime5; |
896 session_tab.navigations.push_back( | 896 session_tab.navigations.push_back( |
897 SerializedNavigationEntryTestHelper::CreateNavigation( | 897 SerializedNavigationEntryTestHelper::CreateNavigation( |
898 "http://www.example.com", "Example")); | 898 "http://www.example.com", "Example")); |
899 session_tab.session_storage_persistent_id = "persistent id"; | 899 session_tab.session_storage_persistent_id = "persistent id"; |
900 manager()->SetSessionTabFromDelegate(*tab, kTime4, &session_tab); | 900 manager()->SetSessionTabFromDelegate(*tab, kTime4, &session_tab, nullptr); |
901 | 901 |
902 EXPECT_EQ(tab->GetWindowId(), session_tab.window_id.id()); | 902 EXPECT_EQ(tab->GetWindowId(), session_tab.window_id.id()); |
903 EXPECT_EQ(tab->GetSessionId(), session_tab.tab_id.id()); | 903 EXPECT_EQ(tab->GetSessionId(), session_tab.tab_id.id()); |
904 EXPECT_EQ(0, session_tab.tab_visual_index); | 904 EXPECT_EQ(0, session_tab.tab_visual_index); |
905 EXPECT_EQ(0, session_tab.current_navigation_index); | 905 EXPECT_EQ(0, session_tab.current_navigation_index); |
906 EXPECT_FALSE(session_tab.pinned); | 906 EXPECT_FALSE(session_tab.pinned); |
907 EXPECT_TRUE(session_tab.extension_app_id.empty()); | 907 EXPECT_TRUE(session_tab.extension_app_id.empty()); |
908 EXPECT_TRUE(session_tab.user_agent_override.empty()); | 908 EXPECT_TRUE(session_tab.user_agent_override.empty()); |
909 EXPECT_EQ(kTime4, session_tab.timestamp); | 909 EXPECT_EQ(kTime4, session_tab.timestamp); |
910 ASSERT_EQ(3u, session_tab.navigations.size()); | 910 ASSERT_EQ(3u, session_tab.navigations.size()); |
(...skipping 1486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2397 // Because tab 2 is a placeholder, tab 1's URL will be preserved. | 2397 // Because tab 2 is a placeholder, tab 1's URL will be preserved. |
2398 VerifyLocalTabChange(out[1], 1, kFoo1); | 2398 VerifyLocalTabChange(out[1], 1, kFoo1); |
2399 EXPECT_EQ(sync_id, out[1].sync_data().GetSpecifics().session().tab_node_id()); | 2399 EXPECT_EQ(sync_id, out[1].sync_data().GetSpecifics().session().tab_node_id()); |
2400 EXPECT_EQ(tab2.GetSessionId(), | 2400 EXPECT_EQ(tab2.GetSessionId(), |
2401 out[1].sync_data().GetSpecifics().session().tab().tab_id()); | 2401 out[1].sync_data().GetSpecifics().session().tab().tab_id()); |
2402 EXPECT_EQ(window2->GetSessionId(), | 2402 EXPECT_EQ(window2->GetSessionId(), |
2403 out[1].sync_data().GetSpecifics().session().tab().window_id()); | 2403 out[1].sync_data().GetSpecifics().session().tab().window_id()); |
2404 } | 2404 } |
2405 | 2405 |
2406 } // namespace sync_sessions | 2406 } // namespace sync_sessions |
OLD | NEW |