OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/bind_helpers.h" | 6 #include "base/bind_helpers.h" |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/memory/scoped_vector.h" | 9 #include "base/memory/scoped_vector.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 751 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
762 service()->SetWindowBounds(window_id, | 762 service()->SetWindowBounds(window_id, |
763 window_bounds, | 763 window_bounds, |
764 ui::SHOW_STATE_DEFAULT); | 764 ui::SHOW_STATE_DEFAULT); |
765 | 765 |
766 ScopedVector<SessionWindow> windows; | 766 ScopedVector<SessionWindow> windows; |
767 ReadWindows(&(windows.get())); | 767 ReadWindows(&(windows.get())); |
768 ASSERT_EQ(1U, windows.size()); | 768 ASSERT_EQ(1U, windows.size()); |
769 EXPECT_EQ(ui::SHOW_STATE_NORMAL, windows[0]->show_state); | 769 EXPECT_EQ(ui::SHOW_STATE_NORMAL, windows[0]->show_state); |
770 } | 770 } |
771 | 771 |
772 TEST_F(SessionServiceTest, RemovePostData) { | 772 TEST_F(SessionServiceTest, KeepPostDataWithoutPasswords) { |
773 helper_.service()->save_post_data_ = false; | |
774 | |
775 SessionID tab_id; | 773 SessionID tab_id; |
776 ASSERT_NE(window_id.id(), tab_id.id()); | 774 ASSERT_NE(window_id.id(), tab_id.id()); |
777 | 775 |
778 std::string content_state("dummy_content_state"); | |
779 // Create a TabNavigation containing content_state and representing a POST | |
780 // request. | |
781 TabNavigation nav1(0, GURL("http://google.com"), content::Referrer(), | |
782 ASCIIToUTF16("title"), content_state, | |
783 content::PAGE_TRANSITION_QUALIFIER_MASK); | |
784 nav1.set_type_mask(TabNavigation::HAS_POST_DATA); | |
785 | |
786 // Create a TabNavigation containing content_state and representing a normal | |
787 // request. | |
788 TabNavigation nav2(0, GURL("http://google.com/nopost"), content::Referrer(), | |
789 ASCIIToUTF16("title"), content_state, | |
790 content::PAGE_TRANSITION_QUALIFIER_MASK); | |
791 | |
792 helper_.PrepareTabInWindow(window_id, tab_id, 0, true); | |
793 UpdateNavigation(window_id, tab_id, nav1, 0, true); | |
794 UpdateNavigation(window_id, tab_id, nav2, 1, true); | |
795 | |
796 ScopedVector<SessionWindow> windows; | |
797 ReadWindows(&(windows.get())); | |
798 | |
799 helper_.AssertSingleWindowWithSingleTab(windows.get(), 2); | |
800 | |
801 // Expected: the HTTP body was removed from the content state of the POST | |
802 // navigation but the content state of the normal navigation is intact. | |
803 EXPECT_NE(content_state, windows[0]->tabs[0]->navigations[0].state()); | |
804 helper_.AssertNavigationEquals(nav2, windows[0]->tabs[0]->navigations[1]); | |
805 } | |
806 | |
807 TEST_F(SessionServiceTest, KeepPostDataWithoutPasswords) { | |
808 helper_.service()->save_post_data_ = true; | |
809 | |
810 SessionID tab_id; | |
811 ASSERT_NE(window_id.id(), tab_id.id()); | |
812 | |
813 // Create a content state representing a HTTP body without posted passwords. | 776 // Create a content state representing a HTTP body without posted passwords. |
814 WebKit::WebHTTPBody http_body; | 777 WebKit::WebHTTPBody http_body; |
815 http_body.initialize(); | 778 http_body.initialize(); |
816 const char char_data[] = "data"; | 779 const char char_data[] = "data"; |
817 http_body.appendData(WebKit::WebData(char_data, sizeof(char_data)-1)); | 780 http_body.appendData(WebKit::WebData(char_data, sizeof(char_data)-1)); |
818 WebKit::WebHistoryItem history_item; | 781 WebKit::WebHistoryItem history_item; |
819 history_item.initialize(); | 782 history_item.initialize(); |
820 history_item.setHTTPBody(http_body); | 783 history_item.setHTTPBody(http_body); |
821 std::string content_state = webkit_glue::HistoryItemToString(history_item); | 784 std::string content_state = webkit_glue::HistoryItemToString(history_item); |
822 | 785 |
(...skipping 18 matching lines...) Expand all Loading... |
841 ReadWindows(&(windows.get())); | 804 ReadWindows(&(windows.get())); |
842 | 805 |
843 helper_.AssertSingleWindowWithSingleTab(windows.get(), 2); | 806 helper_.AssertSingleWindowWithSingleTab(windows.get(), 2); |
844 | 807 |
845 // Expected: the content state of both navigations was saved and restored. | 808 // Expected: the content state of both navigations was saved and restored. |
846 helper_.AssertNavigationEquals(nav1, windows[0]->tabs[0]->navigations[0]); | 809 helper_.AssertNavigationEquals(nav1, windows[0]->tabs[0]->navigations[0]); |
847 helper_.AssertNavigationEquals(nav2, windows[0]->tabs[0]->navigations[1]); | 810 helper_.AssertNavigationEquals(nav2, windows[0]->tabs[0]->navigations[1]); |
848 } | 811 } |
849 | 812 |
850 TEST_F(SessionServiceTest, RemovePostDataWithPasswords) { | 813 TEST_F(SessionServiceTest, RemovePostDataWithPasswords) { |
851 helper_.service()->save_post_data_ = true; | |
852 | |
853 SessionID tab_id; | 814 SessionID tab_id; |
854 ASSERT_NE(window_id.id(), tab_id.id()); | 815 ASSERT_NE(window_id.id(), tab_id.id()); |
855 | 816 |
856 // Create a content state representing a HTTP body with posted passwords. | 817 // Create a content state representing a HTTP body with posted passwords. |
857 WebKit::WebHTTPBody http_body; | 818 WebKit::WebHTTPBody http_body; |
858 http_body.initialize(); | 819 http_body.initialize(); |
859 const char char_data[] = "data"; | 820 const char char_data[] = "data"; |
860 http_body.appendData(WebKit::WebData(char_data, sizeof(char_data)-1)); | 821 http_body.appendData(WebKit::WebData(char_data, sizeof(char_data)-1)); |
861 http_body.setContainsPasswordData(true); | 822 http_body.setContainsPasswordData(true); |
862 WebKit::WebHistoryItem history_item; | 823 WebKit::WebHistoryItem history_item; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
903 ASSERT_TRUE(file_util::CopyFile(v1_file_path, dest_file_path)); | 864 ASSERT_TRUE(file_util::CopyFile(v1_file_path, dest_file_path)); |
904 | 865 |
905 SessionService* session_service = new SessionService(path_); | 866 SessionService* session_service = new SessionService(path_); |
906 helper_.set_service(session_service); | 867 helper_.set_service(session_service); |
907 ScopedVector<SessionWindow> windows; | 868 ScopedVector<SessionWindow> windows; |
908 helper_.ReadWindows(&(windows.get())); | 869 helper_.ReadWindows(&(windows.get())); |
909 ASSERT_EQ(1u, windows.size()); | 870 ASSERT_EQ(1u, windows.size()); |
910 EXPECT_EQ(1u, windows[0]->tabs.size()); | 871 EXPECT_EQ(1u, windows[0]->tabs.size()); |
911 } | 872 } |
912 #endif | 873 #endif |
OLD | NEW |