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/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/bind.h" | 6 #include "base/bind.h" |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/memory/shared_memory.h" | 8 #include "base/memory/shared_memory.h" |
9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 780 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
791 ASSERT_TRUE(msg); | 791 ASSERT_TRUE(msg); |
792 ViewHostMsg_UpdateState::Read(msg, ¶m); | 792 ViewHostMsg_UpdateState::Read(msg, ¶m); |
793 int page_id = param.a; | 793 int page_id = param.a; |
794 PageState state = param.b; | 794 PageState state = param.b; |
795 EXPECT_EQ(page_id_C, page_id); | 795 EXPECT_EQ(page_id_C, page_id); |
796 EXPECT_NE(state_A, state); | 796 EXPECT_NE(state_A, state); |
797 EXPECT_NE(state_B, state); | 797 EXPECT_NE(state_B, state); |
798 EXPECT_EQ(state_C, state); | 798 EXPECT_EQ(state_C, state); |
799 } | 799 } |
800 | 800 |
801 // Test that the history_page_ids_ list can reveal when a stale back/forward | 801 // Test that stale back/forward navigations arriving from the browser are |
802 // navigation arrives from the browser and can be ignored. See | 802 // ignored. See http://crbug.com/86758. |
803 // http://crbug.com/86758. | |
804 TEST_F(RenderViewImplTest, StaleNavigationsIgnored) { | 803 TEST_F(RenderViewImplTest, StaleNavigationsIgnored) { |
805 // Load page A. | 804 // Load page A. |
806 LoadHTML("<div>Page A</div>"); | 805 LoadHTML("<div>Page A</div>"); |
807 EXPECT_EQ(1, view()->history_list_length_); | 806 EXPECT_EQ(1, view()->history_list_length_); |
808 EXPECT_EQ(0, view()->history_list_offset_); | 807 EXPECT_EQ(0, view()->history_list_offset_); |
809 EXPECT_EQ(1, view()->history_page_ids_[0]); | |
810 | 808 |
811 // Load page B, which will trigger an UpdateState message for page A. | 809 // Load page B, which will trigger an UpdateState message for page A. |
812 LoadHTML("<div>Page B</div>"); | 810 LoadHTML("<div>Page B</div>"); |
813 EXPECT_EQ(2, view()->history_list_length_); | 811 EXPECT_EQ(2, view()->history_list_length_); |
814 EXPECT_EQ(1, view()->history_list_offset_); | 812 EXPECT_EQ(1, view()->history_list_offset_); |
815 EXPECT_EQ(2, view()->history_page_ids_[1]); | |
816 | 813 |
817 // Check for a valid UpdateState message for page A. | 814 // Check for a valid UpdateState message for page A. |
818 ProcessPendingMessages(); | 815 ProcessPendingMessages(); |
819 const IPC::Message* msg_A = render_thread_->sink().GetUniqueMessageMatching( | 816 const IPC::Message* msg_A = render_thread_->sink().GetUniqueMessageMatching( |
820 ViewHostMsg_UpdateState::ID); | 817 ViewHostMsg_UpdateState::ID); |
821 ASSERT_TRUE(msg_A); | 818 ASSERT_TRUE(msg_A); |
822 ViewHostMsg_UpdateState::Param param; | 819 ViewHostMsg_UpdateState::Param param; |
823 ViewHostMsg_UpdateState::Read(msg_A, ¶m); | 820 ViewHostMsg_UpdateState::Read(msg_A, ¶m); |
824 int page_id_A = param.a; | 821 int page_id_A = param.a; |
825 PageState state_A = param.b; | 822 PageState state_A = param.b; |
(...skipping 11 matching lines...) Expand all Loading... |
837 params_A.commit_params.page_state = state_A; | 834 params_A.commit_params.page_state = state_A; |
838 params_A.commit_params.browser_navigation_start = | 835 params_A.commit_params.browser_navigation_start = |
839 base::TimeTicks::FromInternalValue(1); | 836 base::TimeTicks::FromInternalValue(1); |
840 frame()->OnNavigate(params_A); | 837 frame()->OnNavigate(params_A); |
841 ProcessPendingMessages(); | 838 ProcessPendingMessages(); |
842 | 839 |
843 // A new navigation commits, clearing the forward history. | 840 // A new navigation commits, clearing the forward history. |
844 LoadHTML("<div>Page C</div>"); | 841 LoadHTML("<div>Page C</div>"); |
845 EXPECT_EQ(2, view()->history_list_length_); | 842 EXPECT_EQ(2, view()->history_list_length_); |
846 EXPECT_EQ(1, view()->history_list_offset_); | 843 EXPECT_EQ(1, view()->history_list_offset_); |
847 EXPECT_EQ(3, view()->history_page_ids_[1]); | 844 EXPECT_EQ(3, view()->page_id_); // page C is now page id 3 |
848 | 845 |
849 // The browser then sends a stale navigation to B, which should be ignored. | 846 // The browser then sends a stale navigation to B, which should be ignored. |
850 FrameMsg_Navigate_Params params_B; | 847 FrameMsg_Navigate_Params params_B; |
851 params_B.common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; | 848 params_B.common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; |
852 params_B.common_params.transition = ui::PAGE_TRANSITION_FORWARD_BACK; | 849 params_B.common_params.transition = ui::PAGE_TRANSITION_FORWARD_BACK; |
853 params_B.current_history_list_length = 2; | 850 params_B.current_history_list_length = 2; |
854 params_B.current_history_list_offset = 0; | 851 params_B.current_history_list_offset = 0; |
855 params_B.pending_history_list_offset = 1; | 852 params_B.pending_history_list_offset = 1; |
856 params_B.page_id = 2; | 853 params_B.page_id = 2; |
857 params_B.commit_params.page_state = | 854 params_B.commit_params.page_state = |
858 state_A; // Doesn't matter, just has to be present. | 855 state_A; // Doesn't matter, just has to be present. |
859 params_B.commit_params.browser_navigation_start = | 856 params_B.commit_params.browser_navigation_start = |
860 base::TimeTicks::FromInternalValue(1); | 857 base::TimeTicks::FromInternalValue(1); |
861 frame()->OnNavigate(params_B); | 858 frame()->OnNavigate(params_B); |
862 | 859 |
863 // State should be unchanged. | 860 // State should be unchanged. |
864 EXPECT_EQ(2, view()->history_list_length_); | 861 EXPECT_EQ(2, view()->history_list_length_); |
865 EXPECT_EQ(1, view()->history_list_offset_); | 862 EXPECT_EQ(1, view()->history_list_offset_); |
866 EXPECT_EQ(3, view()->history_page_ids_[1]); | 863 EXPECT_EQ(3, view()->page_id_); // page C, not page B |
867 | 864 |
868 // Check for a valid DidDropNavigation message. | 865 // Check for a valid DidDropNavigation message. |
869 ProcessPendingMessages(); | 866 ProcessPendingMessages(); |
870 const IPC::Message* msg = render_thread_->sink().GetUniqueMessageMatching( | 867 const IPC::Message* msg = render_thread_->sink().GetUniqueMessageMatching( |
871 FrameHostMsg_DidDropNavigation::ID); | 868 FrameHostMsg_DidDropNavigation::ID); |
872 ASSERT_TRUE(msg); | 869 ASSERT_TRUE(msg); |
873 render_thread_->sink().ClearMessages(); | 870 render_thread_->sink().ClearMessages(); |
874 } | 871 } |
875 | 872 |
876 // Test that we do not ignore navigations after the entry limit is reached, | |
877 // in which case the browser starts dropping entries from the front. In this | |
878 // case, we'll see a page_id mismatch but the RenderView's id will be older, | |
879 // not newer, than params.page_id. Use this as a cue that we should update the | |
880 // state and not treat it like a navigation to a cropped forward history item. | |
881 // See http://crbug.com/89798. | |
882 TEST_F(RenderViewImplTest, DontIgnoreBackAfterNavEntryLimit) { | |
883 // Load page A. | |
884 LoadHTML("<div>Page A</div>"); | |
885 EXPECT_EQ(1, view()->history_list_length_); | |
886 EXPECT_EQ(0, view()->history_list_offset_); | |
887 EXPECT_EQ(1, view()->history_page_ids_[0]); | |
888 | |
889 // Load page B, which will trigger an UpdateState message for page A. | |
890 LoadHTML("<div>Page B</div>"); | |
891 EXPECT_EQ(2, view()->history_list_length_); | |
892 EXPECT_EQ(1, view()->history_list_offset_); | |
893 EXPECT_EQ(2, view()->history_page_ids_[1]); | |
894 | |
895 // Check for a valid UpdateState message for page A. | |
896 ProcessPendingMessages(); | |
897 const IPC::Message* msg_A = render_thread_->sink().GetUniqueMessageMatching( | |
898 ViewHostMsg_UpdateState::ID); | |
899 ASSERT_TRUE(msg_A); | |
900 ViewHostMsg_UpdateState::Param param; | |
901 ViewHostMsg_UpdateState::Read(msg_A, ¶m); | |
902 int page_id_A = param.a; | |
903 PageState state_A = param.b; | |
904 EXPECT_EQ(1, page_id_A); | |
905 render_thread_->sink().ClearMessages(); | |
906 | |
907 // Load page C, which will trigger an UpdateState message for page B. | |
908 LoadHTML("<div>Page C</div>"); | |
909 EXPECT_EQ(3, view()->history_list_length_); | |
910 EXPECT_EQ(2, view()->history_list_offset_); | |
911 EXPECT_EQ(3, view()->history_page_ids_[2]); | |
912 | |
913 // Check for a valid UpdateState message for page B. | |
914 ProcessPendingMessages(); | |
915 const IPC::Message* msg_B = render_thread_->sink().GetUniqueMessageMatching( | |
916 ViewHostMsg_UpdateState::ID); | |
917 ASSERT_TRUE(msg_B); | |
918 ViewHostMsg_UpdateState::Read(msg_B, ¶m); | |
919 int page_id_B = param.a; | |
920 PageState state_B = param.b; | |
921 EXPECT_EQ(2, page_id_B); | |
922 render_thread_->sink().ClearMessages(); | |
923 | |
924 // Suppose the browser has limited the number of NavigationEntries to 2. | |
925 // It has now dropped the first entry, but the renderer isn't notified. | |
926 // Ensure that going back to page B (page_id 2) at offset 0 is successful. | |
927 FrameMsg_Navigate_Params params_B; | |
928 params_B.common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; | |
929 params_B.common_params.transition = ui::PAGE_TRANSITION_FORWARD_BACK; | |
930 params_B.current_history_list_length = 2; | |
931 params_B.current_history_list_offset = 1; | |
932 params_B.pending_history_list_offset = 0; | |
933 params_B.page_id = 2; | |
934 params_B.commit_params.page_state = state_B; | |
935 params_B.commit_params.browser_navigation_start = | |
936 base::TimeTicks::FromInternalValue(1); | |
937 frame()->OnNavigate(params_B); | |
938 ProcessPendingMessages(); | |
939 | |
940 EXPECT_EQ(2, view()->history_list_length_); | |
941 EXPECT_EQ(0, view()->history_list_offset_); | |
942 EXPECT_EQ(2, view()->history_page_ids_[0]); | |
943 } | |
944 | |
945 // Test that our IME backend sends a notification message when the input focus | 873 // Test that our IME backend sends a notification message when the input focus |
946 // changes. | 874 // changes. |
947 TEST_F(RenderViewImplTest, OnImeTypeChanged) { | 875 TEST_F(RenderViewImplTest, OnImeTypeChanged) { |
948 // Enable our IME backend code. | 876 // Enable our IME backend code. |
949 view()->OnSetInputMethodActive(true); | 877 view()->OnSetInputMethodActive(true); |
950 | 878 |
951 // Load an HTML page consisting of two input fields. | 879 // Load an HTML page consisting of two input fields. |
952 view()->set_send_content_state_immediately(true); | 880 view()->set_send_content_state_immediately(true); |
953 LoadHTML("<html>" | 881 LoadHTML("<html>" |
954 "<head>" | 882 "<head>" |
(...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1677 EXPECT_TRUE(web_frame->isViewSourceModeEnabled()); | 1605 EXPECT_TRUE(web_frame->isViewSourceModeEnabled()); |
1678 } | 1606 } |
1679 | 1607 |
1680 // Regression test for http://crbug.com/41562 | 1608 // Regression test for http://crbug.com/41562 |
1681 TEST_F(RenderViewImplTest, UpdateTargetURLWithInvalidURL) { | 1609 TEST_F(RenderViewImplTest, UpdateTargetURLWithInvalidURL) { |
1682 const GURL invalid_gurl("http://"); | 1610 const GURL invalid_gurl("http://"); |
1683 view()->setMouseOverURL(blink::WebURL(invalid_gurl)); | 1611 view()->setMouseOverURL(blink::WebURL(invalid_gurl)); |
1684 EXPECT_EQ(invalid_gurl, view()->target_url_); | 1612 EXPECT_EQ(invalid_gurl, view()->target_url_); |
1685 } | 1613 } |
1686 | 1614 |
1687 TEST_F(RenderViewImplTest, SetHistoryLengthAndPrune) { | 1615 TEST_F(RenderViewImplTest, SetHistoryLengthAndOffset) { |
1688 int expected_page_id = -1; | 1616 // No history to merge; one committed page. |
| 1617 view()->OnSetHistoryOffsetAndLength(0, 1); |
| 1618 EXPECT_EQ(1, view()->history_list_length_); |
| 1619 EXPECT_EQ(0, view()->history_list_offset_); |
1689 | 1620 |
1690 // No history to merge and no committed pages. | 1621 // History of length 1 to merge; one committed page. |
1691 view()->OnSetHistoryLengthAndPrune(0, -1); | 1622 view()->OnSetHistoryOffsetAndLength(1, 2); |
1692 EXPECT_EQ(0, view()->history_list_length_); | |
1693 EXPECT_EQ(-1, view()->history_list_offset_); | |
1694 | |
1695 // History to merge and no committed pages. | |
1696 view()->OnSetHistoryLengthAndPrune(2, -1); | |
1697 EXPECT_EQ(2, view()->history_list_length_); | 1623 EXPECT_EQ(2, view()->history_list_length_); |
1698 EXPECT_EQ(1, view()->history_list_offset_); | 1624 EXPECT_EQ(1, view()->history_list_offset_); |
1699 EXPECT_EQ(-1, view()->history_page_ids_[0]); | |
1700 EXPECT_EQ(-1, view()->history_page_ids_[1]); | |
1701 ClearHistory(); | |
1702 | |
1703 blink::WebHistoryItem item; | |
1704 item.initialize(); | |
1705 | |
1706 // No history to merge and a committed page to be kept. | |
1707 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1708 item, | |
1709 blink::WebStandardCommit); | |
1710 expected_page_id = view()->page_id_; | |
1711 view()->OnSetHistoryLengthAndPrune(0, expected_page_id); | |
1712 EXPECT_EQ(1, view()->history_list_length_); | |
1713 EXPECT_EQ(0, view()->history_list_offset_); | |
1714 EXPECT_EQ(expected_page_id, view()->history_page_ids_[0]); | |
1715 ClearHistory(); | |
1716 | |
1717 // No history to merge and a committed page to be pruned. | |
1718 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1719 item, | |
1720 blink::WebStandardCommit); | |
1721 expected_page_id = view()->page_id_; | |
1722 view()->OnSetHistoryLengthAndPrune(0, expected_page_id + 1); | |
1723 EXPECT_EQ(0, view()->history_list_length_); | |
1724 EXPECT_EQ(-1, view()->history_list_offset_); | |
1725 ClearHistory(); | |
1726 | |
1727 // No history to merge and a committed page that the browser was unaware of. | |
1728 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1729 item, | |
1730 blink::WebStandardCommit); | |
1731 expected_page_id = view()->page_id_; | |
1732 view()->OnSetHistoryLengthAndPrune(0, -1); | |
1733 EXPECT_EQ(1, view()->history_list_length_); | |
1734 EXPECT_EQ(0, view()->history_list_offset_); | |
1735 EXPECT_EQ(expected_page_id, view()->history_page_ids_[0]); | |
1736 ClearHistory(); | |
1737 | |
1738 // History to merge and a committed page to be kept. | |
1739 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1740 item, | |
1741 blink::WebStandardCommit); | |
1742 expected_page_id = view()->page_id_; | |
1743 view()->OnSetHistoryLengthAndPrune(2, expected_page_id); | |
1744 EXPECT_EQ(3, view()->history_list_length_); | |
1745 EXPECT_EQ(2, view()->history_list_offset_); | |
1746 EXPECT_EQ(-1, view()->history_page_ids_[0]); | |
1747 EXPECT_EQ(-1, view()->history_page_ids_[1]); | |
1748 EXPECT_EQ(expected_page_id, view()->history_page_ids_[2]); | |
1749 ClearHistory(); | |
1750 | |
1751 // History to merge and a committed page to be pruned. | |
1752 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1753 item, | |
1754 blink::WebStandardCommit); | |
1755 expected_page_id = view()->page_id_; | |
1756 view()->OnSetHistoryLengthAndPrune(2, expected_page_id + 1); | |
1757 EXPECT_EQ(2, view()->history_list_length_); | |
1758 EXPECT_EQ(1, view()->history_list_offset_); | |
1759 EXPECT_EQ(-1, view()->history_page_ids_[0]); | |
1760 EXPECT_EQ(-1, view()->history_page_ids_[1]); | |
1761 ClearHistory(); | |
1762 | |
1763 // History to merge and a committed page that the browser was unaware of. | |
1764 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1765 item, | |
1766 blink::WebStandardCommit); | |
1767 expected_page_id = view()->page_id_; | |
1768 view()->OnSetHistoryLengthAndPrune(2, -1); | |
1769 EXPECT_EQ(3, view()->history_list_length_); | |
1770 EXPECT_EQ(2, view()->history_list_offset_); | |
1771 EXPECT_EQ(-1, view()->history_page_ids_[0]); | |
1772 EXPECT_EQ(-1, view()->history_page_ids_[1]); | |
1773 EXPECT_EQ(expected_page_id, view()->history_page_ids_[2]); | |
1774 ClearHistory(); | |
1775 | |
1776 int expected_page_id_2 = -1; | |
1777 | |
1778 // No history to merge and two committed pages, both to be kept. | |
1779 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1780 item, | |
1781 blink::WebStandardCommit); | |
1782 expected_page_id = view()->page_id_; | |
1783 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1784 item, | |
1785 blink::WebStandardCommit); | |
1786 expected_page_id_2 = view()->page_id_; | |
1787 EXPECT_GT(expected_page_id_2, expected_page_id); | |
1788 view()->OnSetHistoryLengthAndPrune(0, expected_page_id); | |
1789 EXPECT_EQ(2, view()->history_list_length_); | |
1790 EXPECT_EQ(1, view()->history_list_offset_); | |
1791 EXPECT_EQ(expected_page_id, view()->history_page_ids_[0]); | |
1792 EXPECT_EQ(expected_page_id_2, view()->history_page_ids_[1]); | |
1793 ClearHistory(); | |
1794 | |
1795 // No history to merge and two committed pages, and only the second is kept. | |
1796 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1797 item, | |
1798 blink::WebStandardCommit); | |
1799 expected_page_id = view()->page_id_; | |
1800 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1801 item, | |
1802 blink::WebStandardCommit); | |
1803 expected_page_id_2 = view()->page_id_; | |
1804 EXPECT_GT(expected_page_id_2, expected_page_id); | |
1805 view()->OnSetHistoryLengthAndPrune(0, expected_page_id_2); | |
1806 EXPECT_EQ(1, view()->history_list_length_); | |
1807 EXPECT_EQ(0, view()->history_list_offset_); | |
1808 EXPECT_EQ(expected_page_id_2, view()->history_page_ids_[0]); | |
1809 ClearHistory(); | |
1810 | |
1811 // No history to merge and two committed pages, both of which the browser was | |
1812 // unaware of. | |
1813 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1814 item, | |
1815 blink::WebStandardCommit); | |
1816 expected_page_id = view()->page_id_; | |
1817 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1818 item, | |
1819 blink::WebStandardCommit); | |
1820 expected_page_id_2 = view()->page_id_; | |
1821 EXPECT_GT(expected_page_id_2, expected_page_id); | |
1822 view()->OnSetHistoryLengthAndPrune(0, -1); | |
1823 EXPECT_EQ(2, view()->history_list_length_); | |
1824 EXPECT_EQ(1, view()->history_list_offset_); | |
1825 EXPECT_EQ(expected_page_id, view()->history_page_ids_[0]); | |
1826 EXPECT_EQ(expected_page_id_2, view()->history_page_ids_[1]); | |
1827 ClearHistory(); | |
1828 | |
1829 // History to merge and two committed pages, both to be kept. | |
1830 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1831 item, | |
1832 blink::WebStandardCommit); | |
1833 expected_page_id = view()->page_id_; | |
1834 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1835 item, | |
1836 blink::WebStandardCommit); | |
1837 expected_page_id_2 = view()->page_id_; | |
1838 EXPECT_GT(expected_page_id_2, expected_page_id); | |
1839 view()->OnSetHistoryLengthAndPrune(2, expected_page_id); | |
1840 EXPECT_EQ(4, view()->history_list_length_); | |
1841 EXPECT_EQ(3, view()->history_list_offset_); | |
1842 EXPECT_EQ(-1, view()->history_page_ids_[0]); | |
1843 EXPECT_EQ(-1, view()->history_page_ids_[1]); | |
1844 EXPECT_EQ(expected_page_id, view()->history_page_ids_[2]); | |
1845 EXPECT_EQ(expected_page_id_2, view()->history_page_ids_[3]); | |
1846 ClearHistory(); | |
1847 | |
1848 // History to merge and two committed pages, and only the second is kept. | |
1849 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1850 item, | |
1851 blink::WebStandardCommit); | |
1852 expected_page_id = view()->page_id_; | |
1853 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1854 item, | |
1855 blink::WebStandardCommit); | |
1856 expected_page_id_2 = view()->page_id_; | |
1857 EXPECT_GT(expected_page_id_2, expected_page_id); | |
1858 view()->OnSetHistoryLengthAndPrune(2, expected_page_id_2); | |
1859 EXPECT_EQ(3, view()->history_list_length_); | |
1860 EXPECT_EQ(2, view()->history_list_offset_); | |
1861 EXPECT_EQ(-1, view()->history_page_ids_[0]); | |
1862 EXPECT_EQ(-1, view()->history_page_ids_[1]); | |
1863 EXPECT_EQ(expected_page_id_2, view()->history_page_ids_[2]); | |
1864 ClearHistory(); | |
1865 | |
1866 // History to merge and two committed pages, both of which the browser was | |
1867 // unaware of. | |
1868 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1869 item, | |
1870 blink::WebStandardCommit); | |
1871 expected_page_id = view()->page_id_; | |
1872 frame()->didCommitProvisionalLoad(GetMainFrame(), | |
1873 item, | |
1874 blink::WebStandardCommit); | |
1875 expected_page_id_2 = view()->page_id_; | |
1876 EXPECT_GT(expected_page_id_2, expected_page_id); | |
1877 view()->OnSetHistoryLengthAndPrune(2, -1); | |
1878 EXPECT_EQ(4, view()->history_list_length_); | |
1879 EXPECT_EQ(3, view()->history_list_offset_); | |
1880 EXPECT_EQ(-1, view()->history_page_ids_[0]); | |
1881 EXPECT_EQ(-1, view()->history_page_ids_[1]); | |
1882 EXPECT_EQ(expected_page_id, view()->history_page_ids_[2]); | |
1883 EXPECT_EQ(expected_page_id_2, view()->history_page_ids_[3]); | |
1884 } | 1625 } |
1885 | 1626 |
1886 TEST_F(RenderViewImplTest, ContextMenu) { | 1627 TEST_F(RenderViewImplTest, ContextMenu) { |
1887 LoadHTML("<div>Page A</div>"); | 1628 LoadHTML("<div>Page A</div>"); |
1888 | 1629 |
1889 // Create a right click in the center of the iframe. (I'm hoping this will | 1630 // Create a right click in the center of the iframe. (I'm hoping this will |
1890 // make this a bit more robust in case of some other formatting or other bug.) | 1631 // make this a bit more robust in case of some other formatting or other bug.) |
1891 WebMouseEvent mouse_event; | 1632 WebMouseEvent mouse_event; |
1892 mouse_event.type = WebInputEvent::MouseDown; | 1633 mouse_event.type = WebInputEvent::MouseDown; |
1893 mouse_event.button = WebMouseEvent::ButtonRight; | 1634 mouse_event.button = WebMouseEvent::ButtonRight; |
(...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2543 | 2284 |
2544 gfx::Size initial_size_; | 2285 gfx::Size initial_size_; |
2545 }; | 2286 }; |
2546 | 2287 |
2547 TEST_F(RenderViewImplInitialSizeTest, InitialSize) { | 2288 TEST_F(RenderViewImplInitialSizeTest, InitialSize) { |
2548 ASSERT_EQ(initial_size_, view_->GetSize()); | 2289 ASSERT_EQ(initial_size_, view_->GetSize()); |
2549 ASSERT_EQ(initial_size_, gfx::Size(view_->GetWebView()->size())); | 2290 ASSERT_EQ(initial_size_, gfx::Size(view_->GetWebView()->size())); |
2550 } | 2291 } |
2551 | 2292 |
2552 } // namespace content | 2293 } // namespace content |
OLD | NEW |