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

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

Issue 2797813002: Replicate feature policy container policies. (Closed)
Patch Set: Addressing review comments Created 3 years, 8 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/navigation_controller_impl.h" 5 #include "content/browser/frame_host/navigation_controller_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 2213 matching lines...) Expand 10 before | Expand all | Expand 10 after
2224 const GURL url1("http://foo1"); 2224 const GURL url1("http://foo1");
2225 main_test_rfh()->NavigateAndCommitRendererInitiated(true, url1); 2225 main_test_rfh()->NavigateAndCommitRendererInitiated(true, url1);
2226 EXPECT_EQ(1U, navigation_entry_committed_counter_); 2226 EXPECT_EQ(1U, navigation_entry_committed_counter_);
2227 navigation_entry_committed_counter_ = 0; 2227 navigation_entry_committed_counter_ = 0;
2228 2228
2229 // Prereq: add a subframe with an initial auto-subframe navigation. 2229 // Prereq: add a subframe with an initial auto-subframe navigation.
2230 std::string unique_name("uniqueName0"); 2230 std::string unique_name("uniqueName0");
2231 main_test_rfh()->OnCreateChildFrame( 2231 main_test_rfh()->OnCreateChildFrame(
2232 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument, 2232 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument,
2233 std::string(), unique_name, blink::WebSandboxFlags::kNone, 2233 std::string(), unique_name, blink::WebSandboxFlags::kNone,
2234 FrameOwnerProperties()); 2234 ParsedFeaturePolicyHeader(), FrameOwnerProperties());
2235 TestRenderFrameHost* subframe = static_cast<TestRenderFrameHost*>( 2235 TestRenderFrameHost* subframe = static_cast<TestRenderFrameHost*>(
2236 contents()->GetFrameTree()->root()->child_at(0)->current_frame_host()); 2236 contents()->GetFrameTree()->root()->child_at(0)->current_frame_host());
2237 const GURL subframe_url("http://foo1/subframe"); 2237 const GURL subframe_url("http://foo1/subframe");
2238 { 2238 {
2239 FrameHostMsg_DidCommitProvisionalLoad_Params params; 2239 FrameHostMsg_DidCommitProvisionalLoad_Params params;
2240 params.nav_entry_id = 0; 2240 params.nav_entry_id = 0;
2241 params.frame_unique_name = unique_name; 2241 params.frame_unique_name = unique_name;
2242 params.did_create_new_entry = false; 2242 params.did_create_new_entry = false;
2243 params.url = subframe_url; 2243 params.url = subframe_url;
2244 params.transition = ui::PAGE_TRANSITION_AUTO_SUBFRAME; 2244 params.transition = ui::PAGE_TRANSITION_AUTO_SUBFRAME;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
2304 const GURL url1("http://foo/1"); 2304 const GURL url1("http://foo/1");
2305 main_test_rfh()->NavigateAndCommitRendererInitiated(true, url1); 2305 main_test_rfh()->NavigateAndCommitRendererInitiated(true, url1);
2306 EXPECT_EQ(1U, navigation_entry_committed_counter_); 2306 EXPECT_EQ(1U, navigation_entry_committed_counter_);
2307 navigation_entry_committed_counter_ = 0; 2307 navigation_entry_committed_counter_ = 0;
2308 2308
2309 // Add a subframe and navigate it. 2309 // Add a subframe and navigate it.
2310 std::string unique_name0("uniqueName0"); 2310 std::string unique_name0("uniqueName0");
2311 main_test_rfh()->OnCreateChildFrame( 2311 main_test_rfh()->OnCreateChildFrame(
2312 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument, 2312 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument,
2313 std::string(), unique_name0, blink::WebSandboxFlags::kNone, 2313 std::string(), unique_name0, blink::WebSandboxFlags::kNone,
2314 FrameOwnerProperties()); 2314 ParsedFeaturePolicyHeader(), FrameOwnerProperties());
2315 TestRenderFrameHost* subframe = static_cast<TestRenderFrameHost*>( 2315 TestRenderFrameHost* subframe = static_cast<TestRenderFrameHost*>(
2316 contents()->GetFrameTree()->root()->child_at(0)->current_frame_host()); 2316 contents()->GetFrameTree()->root()->child_at(0)->current_frame_host());
2317 const GURL url2("http://foo/2"); 2317 const GURL url2("http://foo/2");
2318 { 2318 {
2319 FrameHostMsg_DidCommitProvisionalLoad_Params params; 2319 FrameHostMsg_DidCommitProvisionalLoad_Params params;
2320 params.nav_entry_id = 0; 2320 params.nav_entry_id = 0;
2321 params.frame_unique_name = unique_name0; 2321 params.frame_unique_name = unique_name0;
2322 params.did_create_new_entry = false; 2322 params.did_create_new_entry = false;
2323 params.url = url2; 2323 params.url = url2;
2324 params.transition = ui::PAGE_TRANSITION_AUTO_SUBFRAME; 2324 params.transition = ui::PAGE_TRANSITION_AUTO_SUBFRAME;
(...skipping 23 matching lines...) Expand all
2348 ASSERT_EQ(1U, entry->root_node()->children.size()); 2348 ASSERT_EQ(1U, entry->root_node()->children.size());
2349 FrameNavigationEntry* frame_entry = 2349 FrameNavigationEntry* frame_entry =
2350 entry->root_node()->children[0]->frame_entry.get(); 2350 entry->root_node()->children[0]->frame_entry.get();
2351 EXPECT_EQ(url2, frame_entry->url()); 2351 EXPECT_EQ(url2, frame_entry->url());
2352 2352
2353 // Add a second subframe and navigate. 2353 // Add a second subframe and navigate.
2354 std::string unique_name1("uniqueName1"); 2354 std::string unique_name1("uniqueName1");
2355 main_test_rfh()->OnCreateChildFrame( 2355 main_test_rfh()->OnCreateChildFrame(
2356 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument, 2356 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument,
2357 std::string(), unique_name1, blink::WebSandboxFlags::kNone, 2357 std::string(), unique_name1, blink::WebSandboxFlags::kNone,
2358 FrameOwnerProperties()); 2358 ParsedFeaturePolicyHeader(), FrameOwnerProperties());
2359 TestRenderFrameHost* subframe2 = static_cast<TestRenderFrameHost*>( 2359 TestRenderFrameHost* subframe2 = static_cast<TestRenderFrameHost*>(
2360 contents()->GetFrameTree()->root()->child_at(1)->current_frame_host()); 2360 contents()->GetFrameTree()->root()->child_at(1)->current_frame_host());
2361 const GURL url3("http://foo/3"); 2361 const GURL url3("http://foo/3");
2362 { 2362 {
2363 FrameHostMsg_DidCommitProvisionalLoad_Params params; 2363 FrameHostMsg_DidCommitProvisionalLoad_Params params;
2364 params.nav_entry_id = 0; 2364 params.nav_entry_id = 0;
2365 params.frame_unique_name = unique_name1; 2365 params.frame_unique_name = unique_name1;
2366 params.did_create_new_entry = false; 2366 params.did_create_new_entry = false;
2367 params.url = url3; 2367 params.url = url3;
2368 params.transition = ui::PAGE_TRANSITION_AUTO_SUBFRAME; 2368 params.transition = ui::PAGE_TRANSITION_AUTO_SUBFRAME;
(...skipping 23 matching lines...) Expand all
2392 ASSERT_EQ(2U, entry->root_node()->children.size()); 2392 ASSERT_EQ(2U, entry->root_node()->children.size());
2393 FrameNavigationEntry* new_frame_entry = 2393 FrameNavigationEntry* new_frame_entry =
2394 entry->root_node()->children[1]->frame_entry.get(); 2394 entry->root_node()->children[1]->frame_entry.get();
2395 EXPECT_EQ(url3, new_frame_entry->url()); 2395 EXPECT_EQ(url3, new_frame_entry->url());
2396 2396
2397 // Add a nested subframe and navigate. 2397 // Add a nested subframe and navigate.
2398 std::string unique_name2("uniqueName2"); 2398 std::string unique_name2("uniqueName2");
2399 subframe->OnCreateChildFrame( 2399 subframe->OnCreateChildFrame(
2400 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument, 2400 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument,
2401 std::string(), unique_name2, blink::WebSandboxFlags::kNone, 2401 std::string(), unique_name2, blink::WebSandboxFlags::kNone,
2402 FrameOwnerProperties()); 2402 ParsedFeaturePolicyHeader(), FrameOwnerProperties());
2403 TestRenderFrameHost* subframe3 = 2403 TestRenderFrameHost* subframe3 =
2404 static_cast<TestRenderFrameHost*>(contents() 2404 static_cast<TestRenderFrameHost*>(contents()
2405 ->GetFrameTree() 2405 ->GetFrameTree()
2406 ->root() 2406 ->root()
2407 ->child_at(0) 2407 ->child_at(0)
2408 ->child_at(0) 2408 ->child_at(0)
2409 ->current_frame_host()); 2409 ->current_frame_host());
2410 const GURL url4("http://foo/4"); 2410 const GURL url4("http://foo/4");
2411 { 2411 {
2412 FrameHostMsg_DidCommitProvisionalLoad_Params params; 2412 FrameHostMsg_DidCommitProvisionalLoad_Params params;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
2456 main_test_rfh()->NavigateAndCommitRendererInitiated(true, url1); 2456 main_test_rfh()->NavigateAndCommitRendererInitiated(true, url1);
2457 EXPECT_EQ(1U, navigation_entry_committed_counter_); 2457 EXPECT_EQ(1U, navigation_entry_committed_counter_);
2458 NavigationEntry* entry1 = controller.GetLastCommittedEntry(); 2458 NavigationEntry* entry1 = controller.GetLastCommittedEntry();
2459 navigation_entry_committed_counter_ = 0; 2459 navigation_entry_committed_counter_ = 0;
2460 2460
2461 // Prereq: add a subframe with an initial auto-subframe navigation. 2461 // Prereq: add a subframe with an initial auto-subframe navigation.
2462 std::string unique_name("uniqueName0"); 2462 std::string unique_name("uniqueName0");
2463 main_test_rfh()->OnCreateChildFrame( 2463 main_test_rfh()->OnCreateChildFrame(
2464 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument, 2464 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument,
2465 std::string(), unique_name, blink::WebSandboxFlags::kNone, 2465 std::string(), unique_name, blink::WebSandboxFlags::kNone,
2466 FrameOwnerProperties()); 2466 ParsedFeaturePolicyHeader(), FrameOwnerProperties());
2467 TestRenderFrameHost* subframe = static_cast<TestRenderFrameHost*>( 2467 TestRenderFrameHost* subframe = static_cast<TestRenderFrameHost*>(
2468 contents()->GetFrameTree()->root()->child_at(0)->current_frame_host()); 2468 contents()->GetFrameTree()->root()->child_at(0)->current_frame_host());
2469 const GURL subframe_url("http://foo1/subframe"); 2469 const GURL subframe_url("http://foo1/subframe");
2470 2470
2471 // Compute the sequence number assigned by Blink. 2471 // Compute the sequence number assigned by Blink.
2472 int64_t item_sequence_number1 = GenerateSequenceNumber(); 2472 int64_t item_sequence_number1 = GenerateSequenceNumber();
2473 int64_t document_sequence_number1 = GenerateSequenceNumber(); 2473 int64_t document_sequence_number1 = GenerateSequenceNumber();
2474 2474
2475 { 2475 {
2476 FrameHostMsg_DidCommitProvisionalLoad_Params params; 2476 FrameHostMsg_DidCommitProvisionalLoad_Params params;
(...skipping 1433 matching lines...) Expand 10 before | Expand all | Expand 10 after
3910 3910
3911 // We should be at the first navigation entry. 3911 // We should be at the first navigation entry.
3912 EXPECT_EQ(controller.GetEntryCount(), 1); 3912 EXPECT_EQ(controller.GetEntryCount(), 1);
3913 EXPECT_EQ(controller.GetLastCommittedEntryIndex(), 0); 3913 EXPECT_EQ(controller.GetLastCommittedEntryIndex(), 0);
3914 3914
3915 // Add and navigate a subframe that would normally count as in-page. 3915 // Add and navigate a subframe that would normally count as in-page.
3916 std::string unique_name("uniqueName0"); 3916 std::string unique_name("uniqueName0");
3917 main_test_rfh()->OnCreateChildFrame( 3917 main_test_rfh()->OnCreateChildFrame(
3918 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument, 3918 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument,
3919 std::string(), unique_name, blink::WebSandboxFlags::kNone, 3919 std::string(), unique_name, blink::WebSandboxFlags::kNone,
3920 FrameOwnerProperties()); 3920 ParsedFeaturePolicyHeader(), FrameOwnerProperties());
3921 TestRenderFrameHost* subframe = static_cast<TestRenderFrameHost*>( 3921 TestRenderFrameHost* subframe = static_cast<TestRenderFrameHost*>(
3922 contents()->GetFrameTree()->root()->child_at(0)->current_frame_host()); 3922 contents()->GetFrameTree()->root()->child_at(0)->current_frame_host());
3923 const GURL subframe_url("http://www.google.com/#"); 3923 const GURL subframe_url("http://www.google.com/#");
3924 FrameHostMsg_DidCommitProvisionalLoad_Params params; 3924 FrameHostMsg_DidCommitProvisionalLoad_Params params;
3925 params.nav_entry_id = 0; 3925 params.nav_entry_id = 0;
3926 params.frame_unique_name = unique_name; 3926 params.frame_unique_name = unique_name;
3927 params.did_create_new_entry = false; 3927 params.did_create_new_entry = false;
3928 params.url = subframe_url; 3928 params.url = subframe_url;
3929 params.transition = ui::PAGE_TRANSITION_AUTO_SUBFRAME; 3929 params.transition = ui::PAGE_TRANSITION_AUTO_SUBFRAME;
3930 params.should_update_history = false; 3930 params.should_update_history = false;
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
4085 const GURL url2("http://bar/"); 4085 const GURL url2("http://bar/");
4086 controller.LoadURL( 4086 controller.LoadURL(
4087 url2, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); 4087 url2, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string());
4088 4088
4089 // Send a subframe update from the first page, as if one had just 4089 // Send a subframe update from the first page, as if one had just
4090 // automatically loaded. Auto subframes don't increment the page ID. 4090 // automatically loaded. Auto subframes don't increment the page ID.
4091 std::string unique_name("uniqueName0"); 4091 std::string unique_name("uniqueName0");
4092 main_test_rfh()->OnCreateChildFrame( 4092 main_test_rfh()->OnCreateChildFrame(
4093 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument, 4093 process()->GetNextRoutingID(), blink::WebTreeScopeType::kDocument,
4094 std::string(), unique_name, blink::WebSandboxFlags::kNone, 4094 std::string(), unique_name, blink::WebSandboxFlags::kNone,
4095 FrameOwnerProperties()); 4095 ParsedFeaturePolicyHeader(), FrameOwnerProperties());
4096 TestRenderFrameHost* subframe = static_cast<TestRenderFrameHost*>( 4096 TestRenderFrameHost* subframe = static_cast<TestRenderFrameHost*>(
4097 contents()->GetFrameTree()->root()->child_at(0)->current_frame_host()); 4097 contents()->GetFrameTree()->root()->child_at(0)->current_frame_host());
4098 const GURL url1_sub("http://foo/subframe"); 4098 const GURL url1_sub("http://foo/subframe");
4099 FrameHostMsg_DidCommitProvisionalLoad_Params params; 4099 FrameHostMsg_DidCommitProvisionalLoad_Params params;
4100 params.nav_entry_id = 0; 4100 params.nav_entry_id = 0;
4101 params.frame_unique_name = unique_name; 4101 params.frame_unique_name = unique_name;
4102 params.did_create_new_entry = false; 4102 params.did_create_new_entry = false;
4103 params.url = url1_sub; 4103 params.url = url1_sub;
4104 params.transition = ui::PAGE_TRANSITION_AUTO_SUBFRAME; 4104 params.transition = ui::PAGE_TRANSITION_AUTO_SUBFRAME;
4105 params.should_update_history = false; 4105 params.should_update_history = false;
(...skipping 1178 matching lines...) Expand 10 before | Expand all | Expand 10 after
5284 main_test_rfh()->SimulateNavigationStart(url_1); 5284 main_test_rfh()->SimulateNavigationStart(url_1);
5285 EXPECT_EQ(url_1, controller.GetVisibleEntry()->GetURL()); 5285 EXPECT_EQ(url_1, controller.GetVisibleEntry()->GetURL());
5286 EXPECT_EQ(ReloadType::NONE, last_reload_type_); 5286 EXPECT_EQ(ReloadType::NONE, last_reload_type_);
5287 5287
5288 main_test_rfh()->SimulateNavigationCommit(url_2); 5288 main_test_rfh()->SimulateNavigationCommit(url_2);
5289 main_test_rfh()->SimulateNavigationCommit(url_1); 5289 main_test_rfh()->SimulateNavigationCommit(url_1);
5290 main_test_rfh()->SimulateNavigationCommit(url_1); 5290 main_test_rfh()->SimulateNavigationCommit(url_1);
5291 } 5291 }
5292 5292
5293 } // namespace content 5293 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/frame_tree_unittest.cc ('k') | content/browser/frame_host/render_frame_host_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698