| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "content/browser/frame_host/render_frame_host_manager.h" | 5 #include "content/browser/frame_host/render_frame_host_manager.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <tuple> | 9 #include <tuple> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 916 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 927 EXPECT_FALSE(GetPendingFrameHost(manager)); | 927 EXPECT_FALSE(GetPendingFrameHost(manager)); |
| 928 | 928 |
| 929 // Commit. | 929 // Commit. |
| 930 manager->DidNavigateFrame(host, true); | 930 manager->DidNavigateFrame(host, true); |
| 931 // Commit to SiteInstance should be delayed until RenderFrame commit. | 931 // Commit to SiteInstance should be delayed until RenderFrame commit. |
| 932 EXPECT_TRUE(host == manager->current_frame_host()); | 932 EXPECT_TRUE(host == manager->current_frame_host()); |
| 933 ASSERT_TRUE(host); | 933 ASSERT_TRUE(host); |
| 934 EXPECT_FALSE(host->GetSiteInstance()->HasSite()); | 934 EXPECT_FALSE(host->GetSiteInstance()->HasSite()); |
| 935 host->GetSiteInstance()->SetSite(kUrl1); | 935 host->GetSiteInstance()->SetSite(kUrl1); |
| 936 | 936 |
| 937 manager->GetRenderWidgetHostView()->SetBackgroundColor(SK_ColorRED); |
| 938 |
| 937 // 2) Navigate to next site. ------------------------- | 939 // 2) Navigate to next site. ------------------------- |
| 938 const GURL kUrl2("http://www.google.com/foo"); | 940 const GURL kUrl2("http://www.google.com/foo"); |
| 939 NavigationEntryImpl entry2( | 941 NavigationEntryImpl entry2( |
| 940 NULL /* instance */, kUrl2, | 942 NULL /* instance */, kUrl2, |
| 941 Referrer(kUrl1, blink::WebReferrerPolicyDefault), | 943 Referrer(kUrl1, blink::WebReferrerPolicyDefault), |
| 942 base::string16() /* title */, ui::PAGE_TRANSITION_LINK, | 944 base::string16() /* title */, ui::PAGE_TRANSITION_LINK, |
| 943 true /* is_renderer_init */); | 945 true /* is_renderer_init */); |
| 944 host = NavigateToEntry(manager, entry2); | 946 host = NavigateToEntry(manager, entry2); |
| 945 | 947 |
| 946 // The RenderFrameHost created in Init will be reused. | 948 // The RenderFrameHost created in Init will be reused. |
| 947 EXPECT_TRUE(host == manager->current_frame_host()); | 949 EXPECT_TRUE(host == manager->current_frame_host()); |
| 948 EXPECT_FALSE(GetPendingFrameHost(manager)); | 950 EXPECT_FALSE(GetPendingFrameHost(manager)); |
| 949 | 951 |
| 950 // Commit. | 952 // Commit. |
| 951 manager->DidNavigateFrame(host, true); | 953 manager->DidNavigateFrame(host, true); |
| 952 EXPECT_TRUE(host == manager->current_frame_host()); | 954 EXPECT_TRUE(host == manager->current_frame_host()); |
| 953 ASSERT_TRUE(host); | 955 ASSERT_TRUE(host); |
| 954 EXPECT_TRUE(host->GetSiteInstance()->HasSite()); | 956 EXPECT_TRUE(host->GetSiteInstance()->HasSite()); |
| 955 | 957 |
| 958 EXPECT_EQ(SK_ColorRED, |
| 959 manager->GetRenderWidgetHostView()->background_color()); |
| 960 |
| 956 // 3) Cross-site navigate to next site. -------------- | 961 // 3) Cross-site navigate to next site. -------------- |
| 957 const GURL kUrl3("http://webkit.org/"); | 962 const GURL kUrl3("http://webkit.org/"); |
| 958 NavigationEntryImpl entry3( | 963 NavigationEntryImpl entry3( |
| 959 NULL /* instance */, kUrl3, | 964 NULL /* instance */, kUrl3, |
| 960 Referrer(kUrl2, blink::WebReferrerPolicyDefault), | 965 Referrer(kUrl2, blink::WebReferrerPolicyDefault), |
| 961 base::string16() /* title */, ui::PAGE_TRANSITION_LINK, | 966 base::string16() /* title */, ui::PAGE_TRANSITION_LINK, |
| 962 false /* is_renderer_init */); | 967 false /* is_renderer_init */); |
| 963 host = NavigateToEntry(manager, entry3); | 968 host = NavigateToEntry(manager, entry3); |
| 964 | 969 |
| 965 // A new RenderFrameHost should be created. | 970 // A new RenderFrameHost should be created. |
| 966 EXPECT_TRUE(GetPendingFrameHost(manager)); | 971 EXPECT_TRUE(GetPendingFrameHost(manager)); |
| 967 ASSERT_EQ(host, GetPendingFrameHost(manager)); | 972 ASSERT_EQ(host, GetPendingFrameHost(manager)); |
| 968 | 973 |
| 969 change_observer.Reset(); | 974 change_observer.Reset(); |
| 970 | 975 |
| 971 // Commit. | 976 // Commit. |
| 972 manager->DidNavigateFrame(GetPendingFrameHost(manager), true); | 977 manager->DidNavigateFrame(GetPendingFrameHost(manager), true); |
| 973 EXPECT_TRUE(host == manager->current_frame_host()); | 978 EXPECT_TRUE(host == manager->current_frame_host()); |
| 974 ASSERT_TRUE(host); | 979 ASSERT_TRUE(host); |
| 975 EXPECT_TRUE(host->GetSiteInstance()->HasSite()); | 980 EXPECT_TRUE(host->GetSiteInstance()->HasSite()); |
| 976 // Check the pending RenderFrameHost has been committed. | 981 // Check the pending RenderFrameHost has been committed. |
| 977 EXPECT_FALSE(GetPendingFrameHost(manager)); | 982 EXPECT_FALSE(GetPendingFrameHost(manager)); |
| 978 | 983 |
| 979 // We should observe RVH changed event. | 984 // We should observe RVH changed event. |
| 980 EXPECT_TRUE(change_observer.DidHostChange()); | 985 EXPECT_TRUE(change_observer.DidHostChange()); |
| 986 |
| 987 EXPECT_EQ(SK_ColorRED, |
| 988 manager->GetRenderWidgetHostView()->background_color()); |
| 981 } | 989 } |
| 982 | 990 |
| 983 // Tests WebUI creation. | 991 // Tests WebUI creation. |
| 984 TEST_F(RenderFrameHostManagerTest, WebUI) { | 992 TEST_F(RenderFrameHostManagerTest, WebUI) { |
| 985 set_should_create_webui(true); | 993 set_should_create_webui(true); |
| 986 scoped_refptr<SiteInstance> instance = | 994 scoped_refptr<SiteInstance> instance = |
| 987 SiteInstance::Create(browser_context()); | 995 SiteInstance::Create(browser_context()); |
| 988 | 996 |
| 989 std::unique_ptr<TestWebContents> web_contents( | 997 std::unique_ptr<TestWebContents> web_contents( |
| 990 TestWebContents::Create(browser_context(), instance)); | 998 TestWebContents::Create(browser_context(), instance)); |
| (...skipping 2155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3146 ASSERT_FALSE(delete_observer.deleted()); | 3154 ASSERT_FALSE(delete_observer.deleted()); |
| 3147 EXPECT_FALSE(initial_rfh->is_active()); | 3155 EXPECT_FALSE(initial_rfh->is_active()); |
| 3148 | 3156 |
| 3149 // The initial RFH receives a DidStartProvisionalLoad IPC. It should not | 3157 // The initial RFH receives a DidStartProvisionalLoad IPC. It should not |
| 3150 // create a NavigationHandle. | 3158 // create a NavigationHandle. |
| 3151 initial_rfh->SimulateNavigationStart(kUrl3); | 3159 initial_rfh->SimulateNavigationStart(kUrl3); |
| 3152 EXPECT_FALSE(initial_rfh->navigation_handle()); | 3160 EXPECT_FALSE(initial_rfh->navigation_handle()); |
| 3153 } | 3161 } |
| 3154 | 3162 |
| 3155 } // namespace content | 3163 } // namespace content |
| OLD | NEW |