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

Side by Side Diff: content/renderer/render_view_browsertest.cc

Issue 743803002: Avoid stale navigation requests without excessive page id knowledge in the renderer process. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update Created 6 years 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 unified diff | Download patch
« no previous file with comments | « content/renderer/render_frame_impl.cc ('k') | content/renderer/render_view_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
791 ASSERT_TRUE(msg); 791 ASSERT_TRUE(msg);
792 ViewHostMsg_UpdateState::Read(msg, &param); 792 ViewHostMsg_UpdateState::Read(msg, &param);
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, &param); 820 ViewHostMsg_UpdateState::Read(msg_A, &param);
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
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, &param);
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, &param);
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
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
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
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.cc ('k') | content/renderer/render_view_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698