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

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

Issue 1159143008: Fix wrong initialization of renderer_initiated_creation parameter. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressing mmenke@'s comments Created 5 years, 6 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/frame_tree.h" 5 #include "content/browser/frame_host/frame_tree.h"
6 6
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "content/browser/frame_host/navigator_impl.h" 9 #include "content/browser/frame_host/navigator_impl.h"
10 #include "content/browser/frame_host/render_frame_host_factory.h" 10 #include "content/browser/frame_host/render_frame_host_factory.h"
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 frame_tree->RemoveFrame(root->child_at(1)); 222 frame_tree->RemoveFrame(root->child_at(1));
223 ASSERT_EQ("1: [14: [244: [], 245: []], " 223 ASSERT_EQ("1: [14: [244: [], 245: []], "
224 "16: [264: [], 266: [], " 224 "16: [264: [], 266: [], "
225 "267 'node with deep subtree': " 225 "267 'node with deep subtree': "
226 "[365: [455: []]], 268: []]]", 226 "[365: [455: []]], 268: []]]",
227 GetTreeState(frame_tree)); 227 GetTreeState(frame_tree));
228 } 228 }
229 229
230 // Ensure frames can be found by frame_tree_node_id, routing ID, or name. 230 // Ensure frames can be found by frame_tree_node_id, routing ID, or name.
231 TEST_F(FrameTreeTest, FindFrames) { 231 TEST_F(FrameTreeTest, FindFrames) {
232 main_test_rfh()->InitializeRenderFrameIfNeeded();
233
232 // Add a few child frames to the main frame. 234 // Add a few child frames to the main frame.
233 FrameTree* frame_tree = contents()->GetFrameTree(); 235 FrameTree* frame_tree = contents()->GetFrameTree();
234 FrameTreeNode* root = frame_tree->root(); 236 FrameTreeNode* root = frame_tree->root();
237
235 main_test_rfh()->OnCreateChildFrame(22, blink::WebTreeScopeType::Document, 238 main_test_rfh()->OnCreateChildFrame(22, blink::WebTreeScopeType::Document,
236 "child0", blink::WebSandboxFlags::None); 239 "child0", blink::WebSandboxFlags::None);
237 main_test_rfh()->OnCreateChildFrame(23, blink::WebTreeScopeType::Document, 240 main_test_rfh()->OnCreateChildFrame(23, blink::WebTreeScopeType::Document,
238 "child1", blink::WebSandboxFlags::None); 241 "child1", blink::WebSandboxFlags::None);
239 main_test_rfh()->OnCreateChildFrame(24, blink::WebTreeScopeType::Document, 242 main_test_rfh()->OnCreateChildFrame(24, blink::WebTreeScopeType::Document,
240 std::string(), 243 std::string(),
241 blink::WebSandboxFlags::None); 244 blink::WebSandboxFlags::None);
242 FrameTreeNode* child0 = root->child_at(0); 245 FrameTreeNode* child0 = root->child_at(0);
243 FrameTreeNode* child1 = root->child_at(1); 246 FrameTreeNode* child1 = root->child_at(1);
244 247
(...skipping 26 matching lines...) Expand all
271 // Ensure they can be found by name, if they have one. 274 // Ensure they can be found by name, if they have one.
272 EXPECT_EQ(root, frame_tree->FindByName(std::string())); 275 EXPECT_EQ(root, frame_tree->FindByName(std::string()));
273 EXPECT_EQ(child0, frame_tree->FindByName("child0")); 276 EXPECT_EQ(child0, frame_tree->FindByName("child0"));
274 EXPECT_EQ(child1, frame_tree->FindByName("child1")); 277 EXPECT_EQ(child1, frame_tree->FindByName("child1"));
275 EXPECT_EQ(grandchild, frame_tree->FindByName("grandchild")); 278 EXPECT_EQ(grandchild, frame_tree->FindByName("grandchild"));
276 EXPECT_EQ(nullptr, frame_tree->FindByName("no such frame")); 279 EXPECT_EQ(nullptr, frame_tree->FindByName("no such frame"));
277 } 280 }
278 281
279 // Check that PreviousSibling() is retrieved correctly. 282 // Check that PreviousSibling() is retrieved correctly.
280 TEST_F(FrameTreeTest, PreviousSibling) { 283 TEST_F(FrameTreeTest, PreviousSibling) {
284 main_test_rfh()->InitializeRenderFrameIfNeeded();
285
281 // Add a few child frames to the main frame. 286 // Add a few child frames to the main frame.
282 FrameTree* frame_tree = contents()->GetFrameTree(); 287 FrameTree* frame_tree = contents()->GetFrameTree();
283 FrameTreeNode* root = frame_tree->root(); 288 FrameTreeNode* root = frame_tree->root();
284 main_test_rfh()->OnCreateChildFrame(22, blink::WebTreeScopeType::Document, 289 main_test_rfh()->OnCreateChildFrame(22, blink::WebTreeScopeType::Document,
285 "child0", blink::WebSandboxFlags::None); 290 "child0", blink::WebSandboxFlags::None);
286 main_test_rfh()->OnCreateChildFrame(23, blink::WebTreeScopeType::Document, 291 main_test_rfh()->OnCreateChildFrame(23, blink::WebTreeScopeType::Document,
287 "child1", blink::WebSandboxFlags::None); 292 "child1", blink::WebSandboxFlags::None);
288 main_test_rfh()->OnCreateChildFrame(24, blink::WebTreeScopeType::Document, 293 main_test_rfh()->OnCreateChildFrame(24, blink::WebTreeScopeType::Document,
289 "child2", blink::WebSandboxFlags::None); 294 "child2", blink::WebSandboxFlags::None);
290 FrameTreeNode* child0 = root->child_at(0); 295 FrameTreeNode* child0 = root->child_at(0);
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 // Simulate attaching a frame from mismatched process id. 385 // Simulate attaching a frame from mismatched process id.
381 ASSERT_FALSE(frame_tree->AddFrame( 386 ASSERT_FALSE(frame_tree->AddFrame(
382 root, process_id + 1, 1, blink::WebTreeScopeType::Document, std::string(), 387 root, process_id + 1, 1, blink::WebTreeScopeType::Document, std::string(),
383 blink::WebSandboxFlags::None)); 388 blink::WebSandboxFlags::None));
384 ASSERT_EQ("1: []", GetTreeState(frame_tree)); 389 ASSERT_EQ("1: []", GetTreeState(frame_tree));
385 } 390 }
386 391
387 // Ensure that frames removed while a process has crashed are not preserved in 392 // Ensure that frames removed while a process has crashed are not preserved in
388 // the global map of id->frame. 393 // the global map of id->frame.
389 TEST_F(FrameTreeTest, ProcessCrashClearsGlobalMap) { 394 TEST_F(FrameTreeTest, ProcessCrashClearsGlobalMap) {
395 main_test_rfh()->InitializeRenderFrameIfNeeded();
396
390 // Add a couple child frames to the main frame. 397 // Add a couple child frames to the main frame.
391 FrameTreeNode* root = contents()->GetFrameTree()->root(); 398 FrameTreeNode* root = contents()->GetFrameTree()->root();
392 399
393 main_test_rfh()->OnCreateChildFrame(22, blink::WebTreeScopeType::Document, 400 main_test_rfh()->OnCreateChildFrame(22, blink::WebTreeScopeType::Document,
394 std::string(), 401 std::string(),
395 blink::WebSandboxFlags::None); 402 blink::WebSandboxFlags::None);
396 main_test_rfh()->OnCreateChildFrame(23, blink::WebTreeScopeType::Document, 403 main_test_rfh()->OnCreateChildFrame(23, blink::WebTreeScopeType::Document,
397 std::string(), 404 std::string(),
398 blink::WebSandboxFlags::None); 405 blink::WebSandboxFlags::None);
399 406
(...skipping 13 matching lines...) Expand all
413 // Crash the renderer. 420 // Crash the renderer.
414 main_test_rfh()->GetProcess()->SimulateCrash(); 421 main_test_rfh()->GetProcess()->SimulateCrash();
415 422
416 // Ensure they cannot be found by id after the process has crashed. 423 // Ensure they cannot be found by id after the process has crashed.
417 EXPECT_FALSE(FrameTreeNode::GloballyFindByID(id1)); 424 EXPECT_FALSE(FrameTreeNode::GloballyFindByID(id1));
418 EXPECT_FALSE(FrameTreeNode::GloballyFindByID(id2)); 425 EXPECT_FALSE(FrameTreeNode::GloballyFindByID(id2));
419 EXPECT_FALSE(FrameTreeNode::GloballyFindByID(id3)); 426 EXPECT_FALSE(FrameTreeNode::GloballyFindByID(id3));
420 } 427 }
421 428
422 } // namespace content 429 } // namespace content
OLDNEW
« no previous file with comments | « chrome/browser/net/net_error_tab_helper_unittest.cc ('k') | content/browser/frame_host/render_frame_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698