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

Unified Diff: content/browser/site_instance_unittest.cc

Issue 9147051: Don't swap processes for javascript: URLs. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Don't swap processes for "javascript:" URLs. Created 8 years, 11 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 side-by-side diff with in-line comments
Download patch
« content/browser/site_instance.cc ('K') | « content/browser/site_instance.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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));
+}
« content/browser/site_instance.cc ('K') | « content/browser/site_instance.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698