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

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

Issue 10171018: Create swapped-out opener RVHs after a process swap. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove parameter comments. Created 8 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 | Annotate | Revision Log
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 "base/compiler_specific.h" 5 #include "base/compiler_specific.h"
6 #include "base/stl_util.h" 6 #include "base/stl_util.h"
7 #include "base/string16.h" 7 #include "base/string16.h"
8 #include "content/browser/browser_thread_impl.h" 8 #include "content/browser/browser_thread_impl.h"
9 #include "content/browser/browsing_instance.h" 9 #include "content/browser/browsing_instance.h"
10 #include "content/browser/child_process_security_policy_impl.h" 10 #include "content/browser/child_process_security_policy_impl.h"
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 EXPECT_EQ(1, browsing_delete_counter); 244 EXPECT_EQ(1, browsing_delete_counter);
245 // browsing_instance is now deleted 245 // browsing_instance is now deleted
246 246
247 // Ensure that instances are deleted when their RenderViewHosts are gone. 247 // Ensure that instances are deleted when their RenderViewHosts are gone.
248 scoped_ptr<TestBrowserContext> browser_context(new TestBrowserContext()); 248 scoped_ptr<TestBrowserContext> browser_context(new TestBrowserContext());
249 instance = 249 instance =
250 TestSiteInstance::CreateTestSiteInstance(browser_context.get(), 250 TestSiteInstance::CreateTestSiteInstance(browser_context.get(),
251 &site_delete_counter, 251 &site_delete_counter,
252 &browsing_delete_counter); 252 &browsing_delete_counter);
253 { 253 {
254 WebContentsImpl web_contents(browser_context.get(), 254 WebContentsImpl web_contents(browser_context.get(), instance,
255 instance, 255 MSG_ROUTING_NONE, NULL, NULL, NULL);
256 MSG_ROUTING_NONE,
257 NULL,
258 NULL);
259 EXPECT_EQ(1, site_delete_counter); 256 EXPECT_EQ(1, site_delete_counter);
260 EXPECT_EQ(1, browsing_delete_counter); 257 EXPECT_EQ(1, browsing_delete_counter);
261 } 258 }
262 259
263 // Make sure that we flush any messages related to the above WebContentsImpl 260 // Make sure that we flush any messages related to the above WebContentsImpl
264 // destruction. 261 // destruction.
265 MessageLoop::current()->RunAllPending(); 262 MessageLoop::current()->RunAllPending();
266 263
267 EXPECT_EQ(2, site_delete_counter); 264 EXPECT_EQ(2, site_delete_counter);
268 EXPECT_EQ(2, browsing_delete_counter); 265 EXPECT_EQ(2, browsing_delete_counter);
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 static_cast<SiteInstanceImpl*>( 406 static_cast<SiteInstanceImpl*>(
410 browsing_instance->GetSiteInstanceForURL(url_a1))); 407 browsing_instance->GetSiteInstanceForURL(url_a1)));
411 EXPECT_TRUE(site_instance_a1.get() != NULL); 408 EXPECT_TRUE(site_instance_a1.get() != NULL);
412 409
413 // A separate site should create a separate SiteInstance. 410 // A separate site should create a separate SiteInstance.
414 const GURL url_b1("http://www.yahoo.com/"); 411 const GURL url_b1("http://www.yahoo.com/");
415 scoped_refptr<SiteInstanceImpl> site_instance_b1( 412 scoped_refptr<SiteInstanceImpl> site_instance_b1(
416 static_cast<SiteInstanceImpl*>( 413 static_cast<SiteInstanceImpl*>(
417 browsing_instance->GetSiteInstanceForURL(url_b1))); 414 browsing_instance->GetSiteInstanceForURL(url_b1)));
418 EXPECT_NE(site_instance_a1.get(), site_instance_b1.get()); 415 EXPECT_NE(site_instance_a1.get(), site_instance_b1.get());
416 EXPECT_TRUE(site_instance_a1->IsRelatedSiteInstance(site_instance_b1));
419 417
420 // Getting the new SiteInstance from the BrowsingInstance and from another 418 // Getting the new SiteInstance from the BrowsingInstance and from another
421 // SiteInstance in the BrowsingInstance should give the same result. 419 // SiteInstance in the BrowsingInstance should give the same result.
422 EXPECT_EQ(site_instance_b1.get(), 420 EXPECT_EQ(site_instance_b1.get(),
423 site_instance_a1->GetRelatedSiteInstance(url_b1)); 421 site_instance_a1->GetRelatedSiteInstance(url_b1));
424 422
425 // A second visit to the original site should return the same SiteInstance. 423 // A second visit to the original site should return the same SiteInstance.
426 const GURL url_a2("http://www.google.com/2.html"); 424 const GURL url_a2("http://www.google.com/2.html");
427 EXPECT_EQ(site_instance_a1.get(), 425 EXPECT_EQ(site_instance_a1.get(),
428 browsing_instance->GetSiteInstanceForURL(url_a2)); 426 browsing_instance->GetSiteInstanceForURL(url_a2));
429 EXPECT_EQ(site_instance_a1.get(), 427 EXPECT_EQ(site_instance_a1.get(),
430 site_instance_a1->GetRelatedSiteInstance(url_a2)); 428 site_instance_a1->GetRelatedSiteInstance(url_a2));
431 429
432 // A visit to the original site in a new BrowsingInstance (same or different 430 // A visit to the original site in a new BrowsingInstance (same or different
433 // browser context) should return a different SiteInstance. 431 // browser context) should return a different SiteInstance.
434 TestBrowsingInstance* browsing_instance2 = 432 TestBrowsingInstance* browsing_instance2 =
435 new TestBrowsingInstance(NULL, &delete_counter); 433 new TestBrowsingInstance(NULL, &delete_counter);
436 browsing_instance2->set_use_process_per_site(false); 434 browsing_instance2->set_use_process_per_site(false);
437 // Ensure the new SiteInstance is ref counted so that it gets deleted. 435 // Ensure the new SiteInstance is ref counted so that it gets deleted.
438 scoped_refptr<SiteInstanceImpl> site_instance_a2_2( 436 scoped_refptr<SiteInstanceImpl> site_instance_a2_2(
439 static_cast<SiteInstanceImpl*>( 437 static_cast<SiteInstanceImpl*>(
440 browsing_instance2->GetSiteInstanceForURL(url_a2))); 438 browsing_instance2->GetSiteInstanceForURL(url_a2)));
441 EXPECT_NE(site_instance_a1.get(), site_instance_a2_2.get()); 439 EXPECT_NE(site_instance_a1.get(), site_instance_a2_2.get());
440 EXPECT_FALSE(site_instance_a1->IsRelatedSiteInstance(site_instance_a2_2));
442 441
443 // Should be able to see that we do have SiteInstances. 442 // Should be able to see that we do have SiteInstances.
444 EXPECT_TRUE(browsing_instance->HasSiteInstance( 443 EXPECT_TRUE(browsing_instance->HasSiteInstance(
445 GURL("http://mail.google.com"))); 444 GURL("http://mail.google.com")));
446 EXPECT_TRUE(browsing_instance2->HasSiteInstance( 445 EXPECT_TRUE(browsing_instance2->HasSiteInstance(
447 GURL("http://mail.google.com"))); 446 GURL("http://mail.google.com")));
448 EXPECT_TRUE(browsing_instance->HasSiteInstance( 447 EXPECT_TRUE(browsing_instance->HasSiteInstance(
449 GURL("http://mail.yahoo.com"))); 448 GURL("http://mail.yahoo.com")));
450 449
451 // Should be able to see that we don't have SiteInstances. 450 // Should be able to see that we don't have SiteInstances.
(...skipping 18 matching lines...) Expand all
470 static_cast<SiteInstanceImpl*>( 469 static_cast<SiteInstanceImpl*>(
471 browsing_instance->GetSiteInstanceForURL(url_a1))); 470 browsing_instance->GetSiteInstanceForURL(url_a1)));
472 EXPECT_TRUE(site_instance_a1.get() != NULL); 471 EXPECT_TRUE(site_instance_a1.get() != NULL);
473 472
474 // A separate site should create a separate SiteInstance. 473 // A separate site should create a separate SiteInstance.
475 const GURL url_b1("http://www.yahoo.com/"); 474 const GURL url_b1("http://www.yahoo.com/");
476 scoped_refptr<SiteInstanceImpl> site_instance_b1( 475 scoped_refptr<SiteInstanceImpl> site_instance_b1(
477 static_cast<SiteInstanceImpl*>( 476 static_cast<SiteInstanceImpl*>(
478 browsing_instance->GetSiteInstanceForURL(url_b1))); 477 browsing_instance->GetSiteInstanceForURL(url_b1)));
479 EXPECT_NE(site_instance_a1.get(), site_instance_b1.get()); 478 EXPECT_NE(site_instance_a1.get(), site_instance_b1.get());
479 EXPECT_TRUE(site_instance_a1->IsRelatedSiteInstance(site_instance_b1));
480 480
481 // Getting the new SiteInstance from the BrowsingInstance and from another 481 // Getting the new SiteInstance from the BrowsingInstance and from another
482 // SiteInstance in the BrowsingInstance should give the same result. 482 // SiteInstance in the BrowsingInstance should give the same result.
483 EXPECT_EQ(site_instance_b1.get(), 483 EXPECT_EQ(site_instance_b1.get(),
484 site_instance_a1->GetRelatedSiteInstance(url_b1)); 484 site_instance_a1->GetRelatedSiteInstance(url_b1));
485 485
486 // A second visit to the original site should return the same SiteInstance. 486 // A second visit to the original site should return the same SiteInstance.
487 const GURL url_a2("http://www.google.com/2.html"); 487 const GURL url_a2("http://www.google.com/2.html");
488 EXPECT_EQ(site_instance_a1.get(), 488 EXPECT_EQ(site_instance_a1.get(),
489 browsing_instance->GetSiteInstanceForURL(url_a2)); 489 browsing_instance->GetSiteInstanceForURL(url_a2));
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
616 host.reset(instance->GetProcess()); 616 host.reset(instance->GetProcess());
617 EXPECT_TRUE(host.get() != NULL); 617 EXPECT_TRUE(host.get() != NULL);
618 EXPECT_TRUE(instance->HasProcess()); 618 EXPECT_TRUE(instance->HasProcess());
619 619
620 EXPECT_FALSE(instance->HasWrongProcessForURL(GURL("http://evernote.com"))); 620 EXPECT_FALSE(instance->HasWrongProcessForURL(GURL("http://evernote.com")));
621 EXPECT_FALSE(instance->HasWrongProcessForURL( 621 EXPECT_FALSE(instance->HasWrongProcessForURL(
622 GURL("javascript:alert(document.location.href);"))); 622 GURL("javascript:alert(document.location.href);")));
623 623
624 EXPECT_TRUE(instance->HasWrongProcessForURL(GURL("chrome://settings"))); 624 EXPECT_TRUE(instance->HasWrongProcessForURL(GURL("chrome://settings")));
625 } 625 }
OLDNEW
« no previous file with comments | « content/browser/site_instance_impl.cc ('k') | content/browser/web_contents/interstitial_page_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698