| Index: Source/platform/weborigin/SecurityOrigin.cpp
|
| diff --git a/Source/platform/weborigin/SecurityOrigin.cpp b/Source/platform/weborigin/SecurityOrigin.cpp
|
| index 5404ee5b95b9f9c665feeef3e0c11f9bb9e494a1..9d318bf4f2c3e08719bfba532469212138afd2c5 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,12 @@ 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; e.g. valid HTTP URLs must have a
|
| + // host.
|
| + ASSERT(
|
| + !((relevantURL.protocolIsInHTTPFamily() || relevantURL.protocolIs("ftp"))
|
| + && relevantURL.host().isEmpty()));
|
|
|
| // SchemeRegistry needs a lower case protocol because it uses HashMaps
|
| // that assume the scheme has already been canonicalized.
|
|
|