Index: content/browser/site_instance_unittest.cc |
diff --git a/content/browser/site_instance_unittest.cc b/content/browser/site_instance_unittest.cc |
index dcfcd3efbfb01f380891f7330c078f75f2a3c91c..638eb435724bd8c6116b2c7d61cc4c9e235d680f 100644 |
--- a/content/browser/site_instance_unittest.cc |
+++ b/content/browser/site_instance_unittest.cc |
@@ -151,6 +151,12 @@ class TestSiteInstance : public SiteInstance { |
return new TestSiteInstance(browsing_instance, siteDeleteCounter); |
} |
+ bool HasProcess() const { |
Charlie Reis
2012/01/12 22:01:14
Please add OVERRIDE, so that we'll remember to upd
nasko
2012/01/12 22:47:47
Done.
|
+ return hasProcess; |
+ } |
+ |
+ bool hasProcess; |
+ |
private: |
TestSiteInstance(BrowsingInstance* browsing_instance, int* deleteCounter) |
: SiteInstance(browsing_instance), deleteCounter_(deleteCounter) {} |
@@ -546,3 +552,27 @@ TEST_F(SiteInstanceTest, ProcessSharingByType) { |
STLDeleteContainerPointers(hosts.begin(), hosts.end()); |
} |
+ |
+// Test to ensure that javascript URLs always run in the same process. |
+TEST_F(SiteInstanceTest, SameProcessForJavascript) { |
Charlie Reis
2012/01/12 22:01:14
Maybe we can make this a more general test and cal
nasko
2012/01/12 22:47:47
Added a test case before we've assigned a process
awong
2012/01/12 22:56:41
Don't worry about me :) If you commit first, then
nasko
2012/01/13 01:34:50
Done.
|
+ |
+ int siteDeleteCounter = 0; |
+ int browsingDeleteCounter = 0; |
+ |
+ TestSiteInstance* instance = TestSiteInstance::CreateTestSiteInstance( |
+ NULL, &siteDeleteCounter, |
+ &browsingDeleteCounter); |
+ |
+ GURL url_javascript = GURL("javascript:alert(document.location.href);"); |
+ |
+ EXPECT_FALSE(instance->has_site()); |
+ EXPECT_TRUE(instance->site().is_empty()); |
+ |
+ instance->SetSite(GURL("http://www.evernote.com/")); |
+ EXPECT_TRUE(instance->has_site()); |
+ |
+ instance->hasProcess = true; |
+ EXPECT_TRUE(instance->HasProcess()); |
+ |
+ EXPECT_FALSE(instance->HasWrongProcessForURL(url_javascript)); |
+} |