| 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 |