Index: Source/platform/weborigin/SecurityOrigin.cpp |
diff --git a/Source/platform/weborigin/SecurityOrigin.cpp b/Source/platform/weborigin/SecurityOrigin.cpp |
index 5404ee5b95b9f9c665feeef3e0c11f9bb9e494a1..d760662d6b5c94b5225461c579b59cb93358a625 100644 |
--- a/Source/platform/weborigin/SecurityOrigin.cpp |
+++ b/Source/platform/weborigin/SecurityOrigin.cpp |
@@ -49,14 +49,6 @@ const int MaxAllowedPort = 65535; |
static SecurityOriginCache* s_originCache = 0; |
-static bool schemeRequiresAuthority(const KURL& url) |
-{ |
- // We expect URLs with these schemes to have authority components. If the |
- // URL lacks an authority component, we get concerned and mark the origin |
- // as unique. |
- return url.protocolIsInHTTPFamily() || url.protocolIs("ftp"); |
-} |
- |
static SecurityOrigin* cachedOrigin(const KURL& url) |
{ |
if (s_originCache) |
@@ -106,11 +98,9 @@ static bool shouldTreatAsUniqueOrigin(const KURL& url) |
relevantURL = url; |
} |
- // For edge case URLs that were probably misparsed, make sure that the origin is unique. |
- // FIXME: Do we really need to do this? This looks to be a hack around a |
- // security bug in CFNetwork that might have been fixed. |
- if (schemeRequiresAuthority(relevantURL) && relevantURL.host().isEmpty()) |
- return true; |
+ // URLs with schemes that require an authority, but which don't have one, |
+ // will have failed the isValid() test; i.e. valid HTTP URLs must have a host. |
sof
2015/08/30 06:38:46
nit: s/i.e./e.g./
Tom Sepez
2015/08/31 16:20:28
nit: 80 cols
|
+ ASSERT(!((relevantURL.protocolIsInHTTPFamily() || relevantURL.protocolIs("ftp") && relevantURL.host().isEmpty()))); |
sof
2015/08/30 06:38:46
Close parens typo? !((A || B) && C) is the conditi
Tom Sepez
2015/08/31 16:20:28
nit: 80 cols.
michaeln
2015/08/31 20:25:57
yikes!!! fixed, thank you
|
// SchemeRegistry needs a lower case protocol because it uses HashMaps |
// that assume the scheme has already been canonicalized. |