Index: Source/platform/weborigin/OriginAccessEntry.cpp |
diff --git a/Source/platform/weborigin/OriginAccessEntry.cpp b/Source/platform/weborigin/OriginAccessEntry.cpp |
index 8db1d3a34c7e25ae2dca5ff39078d283788ee75e..8bcd1b294f2b3426e1febec039416669b9570801 100644 |
--- a/Source/platform/weborigin/OriginAccessEntry.cpp |
+++ b/Source/platform/weborigin/OriginAccessEntry.cpp |
@@ -31,38 +31,11 @@ |
#include "config.h" |
#include "platform/weborigin/OriginAccessEntry.h" |
-#include "platform/weborigin/KURL.h" |
#include "platform/weborigin/SecurityOrigin.h" |
#include "public/platform/Platform.h" |
#include "public/platform/WebPublicSuffixList.h" |
-#include <url/third_party/mozilla/url_parse.h> |
-#include <url/url_canon.h> |
namespace blink { |
- |
-namespace { |
- |
-// TODO(mkwst): This basically replicates GURL::HostIsIPAddress. If/when |
-// we re-evaluate everything after merging the Blink and Chromium |
-// repositories, perhaps we can just use that directly. |
-bool HostIsIPAddress(const String& host) |
-{ |
- if (host.isEmpty()) |
- return false; |
- |
- String protocol("https://"); |
- KURL url(KURL(), protocol + host + "/"); |
- if (!url.isValid()) |
- return false; |
- |
- url::RawCanonOutputT<char, 128> ignoredOutput; |
- url::CanonHostInfo hostInfo; |
- url::Component hostComponent(protocol.length(), host.length()); |
- url::CanonicalizeIPAddress(url.string().utf8().data(), hostComponent, &ignoredOutput, &hostInfo); |
- return hostInfo.IsIPAddress(); |
-} |
- |
-} |
OriginAccessEntry::OriginAccessEntry(const String& protocol, const String& host, SubdomainSetting subdomainSetting, IPAddressSetting ipAddressSetting) |
: m_protocol(protocol.lower()) |
@@ -73,7 +46,8 @@ |
{ |
ASSERT(subdomainSetting == AllowSubdomains || subdomainSetting == DisallowSubdomains); |
- m_hostIsIPAddress = HostIsIPAddress(host); |
+ // Assume that any host that ends with a digit is trying to be an IP address. |
+ m_hostIsIPAddress = !m_host.isEmpty() && isASCIIDigit(m_host[m_host.length() - 1]); |
// Look for top-level domains, either with or without an additional dot. |
if (!m_hostIsIPAddress) { |