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

Side by Side Diff: content/browser/site_per_process_browsertest.cc

Issue 1123233005: Simplify frame loads in OriginReplication and SandboxFlagsReplication tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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
« no previous file with comments | « no previous file | no next file » | 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 "content/browser/site_per_process_browsertest.h" 5 #include "content/browser/site_per_process_browsertest.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 1408 matching lines...) Expand 10 before | Expand all | Expand 10 after
1419 EXPECT_TRUE(NavigateToURL(shell(), main_url)); 1419 EXPECT_TRUE(NavigateToURL(shell(), main_url));
1420 1420
1421 // It is safe to obtain the root frame tree node here, as it doesn't change. 1421 // It is safe to obtain the root frame tree node here, as it doesn't change.
1422 FrameTreeNode* root = static_cast<WebContentsImpl*>(shell()->web_contents()) 1422 FrameTreeNode* root = static_cast<WebContentsImpl*>(shell()->web_contents())
1423 ->GetFrameTree() 1423 ->GetFrameTree()
1424 ->root(); 1424 ->root();
1425 1425
1426 TestNavigationObserver observer(shell()->web_contents()); 1426 TestNavigationObserver observer(shell()->web_contents());
1427 1427
1428 // Navigate the first subframe to a cross-site page with two subframes. 1428 // Navigate the first subframe to a cross-site page with two subframes.
1429 // NavigateFrameToURL can't be used here because it doesn't guarantee that
1430 // FrameTreeNodes will have been created for child frames when it returns.
1431 RenderFrameHostCreatedObserver frame_observer(shell()->web_contents(), 4);
1432 GURL foo_url( 1429 GURL foo_url(
1433 embedded_test_server()->GetURL("foo.com", "/frame_tree/1-1.html")); 1430 embedded_test_server()->GetURL("foo.com", "/frame_tree/1-1.html"));
1434 NavigationController::LoadURLParams params(foo_url); 1431 NavigateFrameToURL(root->child_at(0), foo_url);
1435 params.transition_type = ui::PAGE_TRANSITION_LINK; 1432 EXPECT_TRUE(WaitForLoadStop(shell()->web_contents()));
1436 params.frame_tree_node_id = root->child_at(0)->frame_tree_node_id();
1437 root->child_at(0)->navigator()->GetController()->LoadURLWithParams(params);
1438 frame_observer.Wait();
1439 1433
1440 // We can't use a TestNavigationObserver to verify the URL here, 1434 // We can't use a TestNavigationObserver to verify the URL here,
1441 // since the frame has children that may have clobbered it in the observer. 1435 // since the frame has children that may have clobbered it in the observer.
1442 EXPECT_EQ(foo_url, root->child_at(0)->current_url()); 1436 EXPECT_EQ(foo_url, root->child_at(0)->current_url());
1443 1437
1444 // Ensure that a new process is created for the subframe. 1438 // Ensure that a new process is created for the subframe.
1445 EXPECT_NE(shell()->web_contents()->GetSiteInstance(), 1439 EXPECT_NE(shell()->web_contents()->GetSiteInstance(),
1446 root->child_at(0)->current_frame_host()->GetSiteInstance()); 1440 root->child_at(0)->current_frame_host()->GetSiteInstance());
1447 1441
1448 // Load cross-site page into subframe's subframe. 1442 // Load cross-site page into subframe's subframe.
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
1505 EXPECT_TRUE(NavigateToURL(shell(), main_url)); 1499 EXPECT_TRUE(NavigateToURL(shell(), main_url));
1506 1500
1507 // It is safe to obtain the root frame tree node here, as it doesn't change. 1501 // It is safe to obtain the root frame tree node here, as it doesn't change.
1508 FrameTreeNode* root = static_cast<WebContentsImpl*>(shell()->web_contents()) 1502 FrameTreeNode* root = static_cast<WebContentsImpl*>(shell()->web_contents())
1509 ->GetFrameTree() 1503 ->GetFrameTree()
1510 ->root(); 1504 ->root();
1511 1505
1512 TestNavigationObserver observer(shell()->web_contents()); 1506 TestNavigationObserver observer(shell()->web_contents());
1513 1507
1514 // Navigate the second (sandboxed) subframe to a cross-site page with a 1508 // Navigate the second (sandboxed) subframe to a cross-site page with a
1515 // subframe. Use RenderFrameHostCreatedObserver to guarantee that all 1509 // subframe.
1516 // FrameTreeNodes are created for child frames.
1517 RenderFrameHostCreatedObserver frame_observer(shell()->web_contents(), 4);
1518 GURL foo_url( 1510 GURL foo_url(
1519 embedded_test_server()->GetURL("foo.com", "/frame_tree/1-1.html")); 1511 embedded_test_server()->GetURL("foo.com", "/frame_tree/1-1.html"));
1520 NavigateFrameToURL(root->child_at(1), foo_url); 1512 NavigateFrameToURL(root->child_at(1), foo_url);
1521 frame_observer.Wait(); 1513 EXPECT_TRUE(WaitForLoadStop(shell()->web_contents()));
1522 1514
1523 // We can't use a TestNavigationObserver to verify the URL here, 1515 // We can't use a TestNavigationObserver to verify the URL here,
1524 // since the frame has children that may have clobbered it in the observer. 1516 // since the frame has children that may have clobbered it in the observer.
1525 EXPECT_EQ(foo_url, root->child_at(1)->current_url()); 1517 EXPECT_EQ(foo_url, root->child_at(1)->current_url());
1526 1518
1527 // Load cross-site page into subframe's subframe. 1519 // Load cross-site page into subframe's subframe.
1528 ASSERT_EQ(2U, root->child_at(1)->child_count()); 1520 ASSERT_EQ(2U, root->child_at(1)->child_count());
1529 GURL bar_url(embedded_test_server()->GetURL("bar.com", "/title1.html")); 1521 GURL bar_url(embedded_test_server()->GetURL("bar.com", "/title1.html"));
1530 NavigateFrameToURL(root->child_at(1)->child_at(0), bar_url); 1522 NavigateFrameToURL(root->child_at(1)->child_at(0), bar_url);
1531 EXPECT_TRUE(observer.last_navigation_succeeded()); 1523 EXPECT_TRUE(observer.last_navigation_succeeded());
(...skipping 857 matching lines...) Expand 10 before | Expand all | Expand 10 after
2389 " |--Site A\n" 2381 " |--Site A\n"
2390 " +--Site A\n" 2382 " +--Site A\n"
2391 " |--Site A\n" 2383 " |--Site A\n"
2392 " +--Site A\n" 2384 " +--Site A\n"
2393 " +--Site A\n" 2385 " +--Site A\n"
2394 "Where A = http://127.0.0.1/", 2386 "Where A = http://127.0.0.1/",
2395 DepictFrameTree(root)); 2387 DepictFrameTree(root));
2396 } 2388 }
2397 2389
2398 } // namespace content 2390 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698