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

Side by Side Diff: content/browser/frame_host/render_frame_host_manager_unittest.cc

Issue 1635873003: Replicating WebFrame::uniqueName across renderers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@dump-render-tree3
Patch Set: Rebasing... Created 4 years, 10 months 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
OLDNEW
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 #include <utility> 8 #include <utility>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after
760 return; 760 return;
761 } 761 }
762 762
763 // Navigate to the first site. 763 // Navigate to the first site.
764 NavigateActiveAndCommit(kUrl1); 764 NavigateActiveAndCommit(kUrl1);
765 TestRenderFrameHost* initial_rfh = contents()->GetMainFrame(); 765 TestRenderFrameHost* initial_rfh = contents()->GetMainFrame();
766 { 766 {
767 RenderFrameHostCreatedObserver observer(contents()); 767 RenderFrameHostCreatedObserver observer(contents());
768 initial_rfh->OnCreateChildFrame( 768 initial_rfh->OnCreateChildFrame(
769 initial_rfh->GetProcess()->GetNextRoutingID(), 769 initial_rfh->GetProcess()->GetNextRoutingID(),
770 blink::WebTreeScopeType::Document, std::string(), 770 blink::WebTreeScopeType::Document, std::string(), "uniqueName1",
771 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties()); 771 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties());
772 EXPECT_TRUE(observer.created()); 772 EXPECT_TRUE(observer.created());
773 } 773 }
774 774
775 // Create one more frame in the same SiteInstance where initial_rfh 775 // Create one more frame in the same SiteInstance where initial_rfh
776 // exists so that initial_rfh doesn't get deleted on navigation to another 776 // exists so that initial_rfh doesn't get deleted on navigation to another
777 // site. 777 // site.
778 initial_rfh->GetSiteInstance()->IncrementActiveFrameCount(); 778 initial_rfh->GetSiteInstance()->IncrementActiveFrameCount();
779 779
780 // Navigate to a cross-site URL. 780 // Navigate to a cross-site URL.
781 NavigateActiveAndCommit(kUrl2); 781 NavigateActiveAndCommit(kUrl2);
782 EXPECT_TRUE(initial_rfh->is_swapped_out()); 782 EXPECT_TRUE(initial_rfh->is_swapped_out());
783 783
784 TestRenderFrameHost* dest_rfh = contents()->GetMainFrame(); 784 TestRenderFrameHost* dest_rfh = contents()->GetMainFrame();
785 ASSERT_TRUE(dest_rfh); 785 ASSERT_TRUE(dest_rfh);
786 EXPECT_NE(initial_rfh, dest_rfh); 786 EXPECT_NE(initial_rfh, dest_rfh);
787 787
788 { 788 {
789 // Since the old RFH is now swapped out, it shouldn't process any messages 789 // Since the old RFH is now swapped out, it shouldn't process any messages
790 // to create child frames. 790 // to create child frames.
791 RenderFrameHostCreatedObserver observer(contents()); 791 RenderFrameHostCreatedObserver observer(contents());
792 initial_rfh->OnCreateChildFrame( 792 initial_rfh->OnCreateChildFrame(
793 initial_rfh->GetProcess()->GetNextRoutingID(), 793 initial_rfh->GetProcess()->GetNextRoutingID(),
794 blink::WebTreeScopeType::Document, std::string(), 794 blink::WebTreeScopeType::Document, std::string(), "uniqueName2",
795 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties()); 795 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties());
796 EXPECT_FALSE(observer.created()); 796 EXPECT_FALSE(observer.created());
797 } 797 }
798 } 798 }
799 799
800 TEST_F(RenderFrameHostManagerTest, WhiteListSwapCompositorFrame) { 800 TEST_F(RenderFrameHostManagerTest, WhiteListSwapCompositorFrame) {
801 // TODO(nasko): Check with kenrb whether this test can be rewritten and 801 // TODO(nasko): Check with kenrb whether this test can be rewritten and
802 // whether it makes sense when swapped out is replaced with proxies. 802 // whether it makes sense when swapped out is replaced with proxies.
803 if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) { 803 if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) {
804 return; 804 return;
(...skipping 1350 matching lines...) Expand 10 before | Expand all | Expand 10 after
2155 // deleted when the node is detached. Motivated by http://crbug.com/441357 and 2155 // deleted when the node is detached. Motivated by http://crbug.com/441357 and
2156 // http://crbug.com/444955. 2156 // http://crbug.com/444955.
2157 TEST_F(RenderFrameHostManagerTestWithSiteIsolation, DetachPendingChild) { 2157 TEST_F(RenderFrameHostManagerTestWithSiteIsolation, DetachPendingChild) {
2158 const GURL kUrlA("http://www.google.com/"); 2158 const GURL kUrlA("http://www.google.com/");
2159 const GURL kUrlB("http://webkit.org/"); 2159 const GURL kUrlB("http://webkit.org/");
2160 2160
2161 // Create a page with two child frames. 2161 // Create a page with two child frames.
2162 contents()->NavigateAndCommit(kUrlA); 2162 contents()->NavigateAndCommit(kUrlA);
2163 contents()->GetMainFrame()->OnCreateChildFrame( 2163 contents()->GetMainFrame()->OnCreateChildFrame(
2164 contents()->GetMainFrame()->GetProcess()->GetNextRoutingID(), 2164 contents()->GetMainFrame()->GetProcess()->GetNextRoutingID(),
2165 blink::WebTreeScopeType::Document, "frame_name", 2165 blink::WebTreeScopeType::Document, "frame_name", "uniqueName1",
2166 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties()); 2166 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties());
2167 contents()->GetMainFrame()->OnCreateChildFrame( 2167 contents()->GetMainFrame()->OnCreateChildFrame(
2168 contents()->GetMainFrame()->GetProcess()->GetNextRoutingID(), 2168 contents()->GetMainFrame()->GetProcess()->GetNextRoutingID(),
2169 blink::WebTreeScopeType::Document, "frame_name", 2169 blink::WebTreeScopeType::Document, "frame_name", "uniqueName2",
2170 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties()); 2170 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties());
2171 RenderFrameHostManager* root_manager = 2171 RenderFrameHostManager* root_manager =
2172 contents()->GetFrameTree()->root()->render_manager(); 2172 contents()->GetFrameTree()->root()->render_manager();
2173 RenderFrameHostManager* iframe1 = 2173 RenderFrameHostManager* iframe1 =
2174 contents()->GetFrameTree()->root()->child_at(0)->render_manager(); 2174 contents()->GetFrameTree()->root()->child_at(0)->render_manager();
2175 RenderFrameHostManager* iframe2 = 2175 RenderFrameHostManager* iframe2 =
2176 contents()->GetFrameTree()->root()->child_at(1)->render_manager(); 2176 contents()->GetFrameTree()->root()->child_at(1)->render_manager();
2177 2177
2178 // 1) The first navigation. 2178 // 1) The first navigation.
2179 NavigationEntryImpl entryA(NULL /* instance */, -1 /* page_id */, kUrlA, 2179 NavigationEntryImpl entryA(NULL /* instance */, -1 /* page_id */, kUrlA,
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
2296 2296
2297 // Reload |contents1|. 2297 // Reload |contents1|.
2298 contents1->NavigateAndCommit(kUrl1); 2298 contents1->NavigateAndCommit(kUrl1);
2299 EXPECT_TRUE(contents1->GetMainFrame()->IsRenderFrameLive()); 2299 EXPECT_TRUE(contents1->GetMainFrame()->IsRenderFrameLive());
2300 EXPECT_FALSE(contents2->GetMainFrame()->IsRenderFrameLive()); 2300 EXPECT_FALSE(contents2->GetMainFrame()->IsRenderFrameLive());
2301 EXPECT_EQ(contents1->GetSiteInstance(), contents2->GetSiteInstance()); 2301 EXPECT_EQ(contents1->GetSiteInstance(), contents2->GetSiteInstance());
2302 2302
2303 // |contents1| creates an out of process iframe. 2303 // |contents1| creates an out of process iframe.
2304 contents1->GetMainFrame()->OnCreateChildFrame( 2304 contents1->GetMainFrame()->OnCreateChildFrame(
2305 contents1->GetMainFrame()->GetProcess()->GetNextRoutingID(), 2305 contents1->GetMainFrame()->GetProcess()->GetNextRoutingID(),
2306 blink::WebTreeScopeType::Document, "frame_name", 2306 blink::WebTreeScopeType::Document, "frame_name", "uniqueName1",
2307 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties()); 2307 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties());
2308 RenderFrameHostManager* iframe = 2308 RenderFrameHostManager* iframe =
2309 contents()->GetFrameTree()->root()->child_at(0)->render_manager(); 2309 contents()->GetFrameTree()->root()->child_at(0)->render_manager();
2310 NavigationEntryImpl entry(NULL /* instance */, -1 /* page_id */, kUrl2, 2310 NavigationEntryImpl entry(NULL /* instance */, -1 /* page_id */, kUrl2,
2311 Referrer(kUrl1, blink::WebReferrerPolicyDefault), 2311 Referrer(kUrl1, blink::WebReferrerPolicyDefault),
2312 base::string16() /* title */, 2312 base::string16() /* title */,
2313 ui::PAGE_TRANSITION_LINK, 2313 ui::PAGE_TRANSITION_LINK,
2314 false /* is_renderer_init */); 2314 false /* is_renderer_init */);
2315 RenderFrameHostImpl* cross_site = NavigateToEntry(iframe, entry); 2315 RenderFrameHostImpl* cross_site = NavigateToEntry(iframe, entry);
2316 iframe->DidNavigateFrame(cross_site, true); 2316 iframe->DidNavigateFrame(cross_site, true);
(...skipping 28 matching lines...) Expand all
2345 2345
2346 // Make sure the initial process is live so that the pending WebUI navigation 2346 // Make sure the initial process is live so that the pending WebUI navigation
2347 // does not commit immediately. Give the page a subframe as well. 2347 // does not commit immediately. Give the page a subframe as well.
2348 const GURL kUrl1("http://foo.com"); 2348 const GURL kUrl1("http://foo.com");
2349 RenderFrameHostImpl* main_rfh = contents()->GetMainFrame(); 2349 RenderFrameHostImpl* main_rfh = contents()->GetMainFrame();
2350 NavigateAndCommit(kUrl1); 2350 NavigateAndCommit(kUrl1);
2351 EXPECT_TRUE(main_rfh->render_view_host()->IsRenderViewLive()); 2351 EXPECT_TRUE(main_rfh->render_view_host()->IsRenderViewLive());
2352 EXPECT_TRUE(main_rfh->IsRenderFrameLive()); 2352 EXPECT_TRUE(main_rfh->IsRenderFrameLive());
2353 main_rfh->OnCreateChildFrame(main_rfh->GetProcess()->GetNextRoutingID(), 2353 main_rfh->OnCreateChildFrame(main_rfh->GetProcess()->GetNextRoutingID(),
2354 blink::WebTreeScopeType::Document, std::string(), 2354 blink::WebTreeScopeType::Document, std::string(),
2355 blink::WebSandboxFlags::None, 2355 "uniqueName1", blink::WebSandboxFlags::None,
2356 blink::WebFrameOwnerProperties()); 2356 blink::WebFrameOwnerProperties());
2357 RenderFrameHostManager* subframe_rfhm = 2357 RenderFrameHostManager* subframe_rfhm =
2358 contents()->GetFrameTree()->root()->child_at(0)->render_manager(); 2358 contents()->GetFrameTree()->root()->child_at(0)->render_manager();
2359 2359
2360 // Start a pending WebUI navigation in the main frame and verify that the 2360 // Start a pending WebUI navigation in the main frame and verify that the
2361 // pending RVH has bindings. 2361 // pending RVH has bindings.
2362 const GURL kWebUIUrl("chrome://foo"); 2362 const GURL kWebUIUrl("chrome://foo");
2363 NavigationEntryImpl webui_entry( 2363 NavigationEntryImpl webui_entry(
2364 nullptr /* instance */, -1 /* page_id */, kWebUIUrl, Referrer(), 2364 nullptr /* instance */, -1 /* page_id */, kWebUIUrl, Referrer(),
2365 base::string16() /* title */, ui::PAGE_TRANSITION_TYPED, 2365 base::string16() /* title */, ui::PAGE_TRANSITION_TYPED,
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
2505 // four FrameTrees. Nodes 13 (with cycle to itself) and 42 (with back link to 2505 // four FrameTrees. Nodes 13 (with cycle to itself) and 42 (with back link to
2506 // root3) should be put on the list of nodes that will need their frame openers 2506 // root3) should be put on the list of nodes that will need their frame openers
2507 // set separately in a second pass, since their opener routing IDs won't be 2507 // set separately in a second pass, since their opener routing IDs won't be
2508 // available during the first pass of CreateOpenerProxies. 2508 // available during the first pass of CreateOpenerProxies.
2509 TEST_F(RenderFrameHostManagerTest, TraverseComplexOpenerChain) { 2509 TEST_F(RenderFrameHostManagerTest, TraverseComplexOpenerChain) {
2510 contents()->NavigateAndCommit(GURL("http://tab1.com")); 2510 contents()->NavigateAndCommit(GURL("http://tab1.com"));
2511 FrameTree* tree1 = contents()->GetFrameTree(); 2511 FrameTree* tree1 = contents()->GetFrameTree();
2512 FrameTreeNode* root1 = tree1->root(); 2512 FrameTreeNode* root1 = tree1->root();
2513 int process_id = root1->current_frame_host()->GetProcess()->GetID(); 2513 int process_id = root1->current_frame_host()->GetProcess()->GetID();
2514 tree1->AddFrame(root1, process_id, 12, blink::WebTreeScopeType::Document, 2514 tree1->AddFrame(root1, process_id, 12, blink::WebTreeScopeType::Document,
2515 std::string(), blink::WebSandboxFlags::None, 2515 std::string(), "uniqueName0", blink::WebSandboxFlags::None,
2516 blink::WebFrameOwnerProperties()); 2516 blink::WebFrameOwnerProperties());
2517 tree1->AddFrame(root1, process_id, 13, blink::WebTreeScopeType::Document, 2517 tree1->AddFrame(root1, process_id, 13, blink::WebTreeScopeType::Document,
2518 std::string(), blink::WebSandboxFlags::None, 2518 std::string(), "uniqueName1", blink::WebSandboxFlags::None,
2519 blink::WebFrameOwnerProperties()); 2519 blink::WebFrameOwnerProperties());
2520 2520
2521 scoped_ptr<TestWebContents> tab2( 2521 scoped_ptr<TestWebContents> tab2(
2522 TestWebContents::Create(browser_context(), nullptr)); 2522 TestWebContents::Create(browser_context(), nullptr));
2523 tab2->NavigateAndCommit(GURL("http://tab2.com")); 2523 tab2->NavigateAndCommit(GURL("http://tab2.com"));
2524 FrameTree* tree2 = tab2->GetFrameTree(); 2524 FrameTree* tree2 = tab2->GetFrameTree();
2525 FrameTreeNode* root2 = tree2->root(); 2525 FrameTreeNode* root2 = tree2->root();
2526 process_id = root2->current_frame_host()->GetProcess()->GetID(); 2526 process_id = root2->current_frame_host()->GetProcess()->GetID();
2527 tree2->AddFrame(root2, process_id, 22, blink::WebTreeScopeType::Document, 2527 tree2->AddFrame(root2, process_id, 22, blink::WebTreeScopeType::Document,
2528 std::string(), blink::WebSandboxFlags::None, 2528 std::string(), "uniqueName2", blink::WebSandboxFlags::None,
2529 blink::WebFrameOwnerProperties()); 2529 blink::WebFrameOwnerProperties());
2530 tree2->AddFrame(root2, process_id, 23, blink::WebTreeScopeType::Document, 2530 tree2->AddFrame(root2, process_id, 23, blink::WebTreeScopeType::Document,
2531 std::string(), blink::WebSandboxFlags::None, 2531 std::string(), "uniqueName3", blink::WebSandboxFlags::None,
2532 blink::WebFrameOwnerProperties()); 2532 blink::WebFrameOwnerProperties());
2533 2533
2534 scoped_ptr<TestWebContents> tab3( 2534 scoped_ptr<TestWebContents> tab3(
2535 TestWebContents::Create(browser_context(), nullptr)); 2535 TestWebContents::Create(browser_context(), nullptr));
2536 FrameTree* tree3 = tab3->GetFrameTree(); 2536 FrameTree* tree3 = tab3->GetFrameTree();
2537 FrameTreeNode* root3 = tree3->root(); 2537 FrameTreeNode* root3 = tree3->root();
2538 2538
2539 scoped_ptr<TestWebContents> tab4( 2539 scoped_ptr<TestWebContents> tab4(
2540 TestWebContents::Create(browser_context(), nullptr)); 2540 TestWebContents::Create(browser_context(), nullptr));
2541 tab4->NavigateAndCommit(GURL("http://tab4.com")); 2541 tab4->NavigateAndCommit(GURL("http://tab4.com"));
2542 FrameTree* tree4 = tab4->GetFrameTree(); 2542 FrameTree* tree4 = tab4->GetFrameTree();
2543 FrameTreeNode* root4 = tree4->root(); 2543 FrameTreeNode* root4 = tree4->root();
2544 process_id = root4->current_frame_host()->GetProcess()->GetID(); 2544 process_id = root4->current_frame_host()->GetProcess()->GetID();
2545 tree4->AddFrame(root4, process_id, 42, blink::WebTreeScopeType::Document, 2545 tree4->AddFrame(root4, process_id, 42, blink::WebTreeScopeType::Document,
2546 std::string(), blink::WebSandboxFlags::None, 2546 std::string(), "uniqueName4", blink::WebSandboxFlags::None,
2547 blink::WebFrameOwnerProperties()); 2547 blink::WebFrameOwnerProperties());
2548 2548
2549 root1->child_at(1)->SetOpener(root1->child_at(1)); 2549 root1->child_at(1)->SetOpener(root1->child_at(1));
2550 root1->SetOpener(root2->child_at(1)); 2550 root1->SetOpener(root2->child_at(1));
2551 root2->SetOpener(root3); 2551 root2->SetOpener(root3);
2552 root2->child_at(0)->SetOpener(root4); 2552 root2->child_at(0)->SetOpener(root4);
2553 root2->child_at(1)->SetOpener(root4); 2553 root2->child_at(1)->SetOpener(root4);
2554 root4->child_at(0)->SetOpener(root3); 2554 root4->child_at(0)->SetOpener(root3);
2555 2555
2556 std::vector<FrameTree*> opener_frame_trees; 2556 std::vector<FrameTree*> opener_frame_trees;
(...skipping 28 matching lines...) Expand all
2585 2585
2586 const GURL kUrlA("http://a.com/"); 2586 const GURL kUrlA("http://a.com/");
2587 const GURL kUrlB("http://b.com/"); 2587 const GURL kUrlB("http://b.com/");
2588 const GURL kUrlC("http://c.com/"); 2588 const GURL kUrlC("http://c.com/");
2589 2589
2590 // Set up a page at a.com with three subframes: two for b.com and one for 2590 // Set up a page at a.com with three subframes: two for b.com and one for
2591 // c.com. 2591 // c.com.
2592 contents()->NavigateAndCommit(kUrlA); 2592 contents()->NavigateAndCommit(kUrlA);
2593 main_test_rfh()->OnCreateChildFrame( 2593 main_test_rfh()->OnCreateChildFrame(
2594 main_test_rfh()->GetProcess()->GetNextRoutingID(), 2594 main_test_rfh()->GetProcess()->GetNextRoutingID(),
2595 blink::WebTreeScopeType::Document, "frame1", 2595 blink::WebTreeScopeType::Document, "frame1", "uniqueName1",
2596 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties()); 2596 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties());
2597 main_test_rfh()->OnCreateChildFrame( 2597 main_test_rfh()->OnCreateChildFrame(
2598 main_test_rfh()->GetProcess()->GetNextRoutingID(), 2598 main_test_rfh()->GetProcess()->GetNextRoutingID(),
2599 blink::WebTreeScopeType::Document, "frame2", 2599 blink::WebTreeScopeType::Document, "frame2", "uniqueName2",
2600 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties()); 2600 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties());
2601 main_test_rfh()->OnCreateChildFrame( 2601 main_test_rfh()->OnCreateChildFrame(
2602 main_test_rfh()->GetProcess()->GetNextRoutingID(), 2602 main_test_rfh()->GetProcess()->GetNextRoutingID(),
2603 blink::WebTreeScopeType::Document, "frame3", 2603 blink::WebTreeScopeType::Document, "frame3", "uniqueName3",
2604 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties()); 2604 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties());
2605 2605
2606 FrameTreeNode* root = contents()->GetFrameTree()->root(); 2606 FrameTreeNode* root = contents()->GetFrameTree()->root();
2607 RenderFrameHostManager* child1 = root->child_at(0)->render_manager(); 2607 RenderFrameHostManager* child1 = root->child_at(0)->render_manager();
2608 RenderFrameHostManager* child2 = root->child_at(1)->render_manager(); 2608 RenderFrameHostManager* child2 = root->child_at(1)->render_manager();
2609 RenderFrameHostManager* child3 = root->child_at(2)->render_manager(); 2609 RenderFrameHostManager* child3 = root->child_at(2)->render_manager();
2610 2610
2611 // Navigate first two subframes to B. 2611 // Navigate first two subframes to B.
2612 NavigationEntryImpl entryB(nullptr /* instance */, -1 /* page_id */, kUrlB, 2612 NavigationEntryImpl entryB(nullptr /* instance */, -1 /* page_id */, kUrlB,
2613 Referrer(kUrlA, blink::WebReferrerPolicyDefault), 2613 Referrer(kUrlA, blink::WebReferrerPolicyDefault),
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
2683 return; 2683 return;
2684 2684
2685 const GURL kUrlA("http://a.com/"); 2685 const GURL kUrlA("http://a.com/");
2686 const GURL kUrlB("http://b.com/"); 2686 const GURL kUrlB("http://b.com/");
2687 const GURL kUrlC("http://c.com/"); 2687 const GURL kUrlC("http://c.com/");
2688 2688
2689 // Set up a page at a.com with a b.com subframe. 2689 // Set up a page at a.com with a b.com subframe.
2690 contents()->NavigateAndCommit(kUrlA); 2690 contents()->NavigateAndCommit(kUrlA);
2691 main_test_rfh()->OnCreateChildFrame( 2691 main_test_rfh()->OnCreateChildFrame(
2692 main_test_rfh()->GetProcess()->GetNextRoutingID(), 2692 main_test_rfh()->GetProcess()->GetNextRoutingID(),
2693 blink::WebTreeScopeType::Document, "frame1", 2693 blink::WebTreeScopeType::Document, "frame1", "uniqueName1",
2694 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties()); 2694 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties());
2695 2695
2696 FrameTreeNode* root = contents()->GetFrameTree()->root(); 2696 FrameTreeNode* root = contents()->GetFrameTree()->root();
2697 RenderFrameHostManager* child = root->child_at(0)->render_manager(); 2697 RenderFrameHostManager* child = root->child_at(0)->render_manager();
2698 2698
2699 // Navigate subframe to B. 2699 // Navigate subframe to B.
2700 NavigationEntryImpl entryB(nullptr /* instance */, -1 /* page_id */, kUrlB, 2700 NavigationEntryImpl entryB(nullptr /* instance */, -1 /* page_id */, kUrlB,
2701 Referrer(kUrlA, blink::WebReferrerPolicyDefault), 2701 Referrer(kUrlA, blink::WebReferrerPolicyDefault),
2702 base::string16() /* title */, 2702 base::string16() /* title */,
2703 ui::PAGE_TRANSITION_LINK, 2703 ui::PAGE_TRANSITION_LINK,
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after
3169 ProxiesReceiveShouldEnforceStrictMixedContentChecking) { 3169 ProxiesReceiveShouldEnforceStrictMixedContentChecking) {
3170 const GURL kUrl1("http://www.google.test"); 3170 const GURL kUrl1("http://www.google.test");
3171 const GURL kUrl2("http://www.google2.test"); 3171 const GURL kUrl2("http://www.google2.test");
3172 const GURL kUrl3("http://www.google2.test/foo"); 3172 const GURL kUrl3("http://www.google2.test/foo");
3173 3173
3174 contents()->NavigateAndCommit(kUrl1); 3174 contents()->NavigateAndCommit(kUrl1);
3175 3175
3176 // Create a child frame and navigate it cross-site. 3176 // Create a child frame and navigate it cross-site.
3177 main_test_rfh()->OnCreateChildFrame( 3177 main_test_rfh()->OnCreateChildFrame(
3178 main_test_rfh()->GetProcess()->GetNextRoutingID(), 3178 main_test_rfh()->GetProcess()->GetNextRoutingID(),
3179 blink::WebTreeScopeType::Document, "frame1", blink::WebSandboxFlags::None, 3179 blink::WebTreeScopeType::Document, "frame1", "uniqueName1",
3180 blink::WebFrameOwnerProperties()); 3180 blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties());
3181 3181
3182 FrameTreeNode* root = contents()->GetFrameTree()->root(); 3182 FrameTreeNode* root = contents()->GetFrameTree()->root();
3183 RenderFrameHostManager* child = root->child_at(0)->render_manager(); 3183 RenderFrameHostManager* child = root->child_at(0)->render_manager();
3184 3184
3185 // Navigate subframe to kUrl2. 3185 // Navigate subframe to kUrl2.
3186 NavigationEntryImpl entry1(nullptr /* instance */, -1 /* page_id */, kUrl2, 3186 NavigationEntryImpl entry1(nullptr /* instance */, -1 /* page_id */, kUrl2,
3187 Referrer(kUrl1, blink::WebReferrerPolicyDefault), 3187 Referrer(kUrl1, blink::WebReferrerPolicyDefault),
3188 base::string16() /* title */, 3188 base::string16() /* title */,
3189 ui::PAGE_TRANSITION_LINK, 3189 ui::PAGE_TRANSITION_LINK,
3190 false /* is_renderer_init */); 3190 false /* is_renderer_init */);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
3244 commit_params.should_enforce_strict_mixed_content_checking = false; 3244 commit_params.should_enforce_strict_mixed_content_checking = false;
3245 child_host->SendNavigateWithParams(&commit_params); 3245 child_host->SendNavigateWithParams(&commit_params);
3246 EXPECT_NO_FATAL_FAILURE(CheckMixedContentIPC( 3246 EXPECT_NO_FATAL_FAILURE(CheckMixedContentIPC(
3247 main_test_rfh(), false, proxy_to_parent->GetRoutingID())); 3247 main_test_rfh(), false, proxy_to_parent->GetRoutingID()));
3248 EXPECT_FALSE(root->child_at(0) 3248 EXPECT_FALSE(root->child_at(0)
3249 ->current_replication_state() 3249 ->current_replication_state()
3250 .should_enforce_strict_mixed_content_checking); 3250 .should_enforce_strict_mixed_content_checking);
3251 } 3251 }
3252 3252
3253 } // namespace content 3253 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/render_frame_host_manager.cc ('k') | content/browser/frame_host/render_frame_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698