58 lines
2.5 KiB
Diff
58 lines
2.5 KiB
Diff
|
From 65be571f6ac2f7942b4df9e50b24da517f829eec Mon Sep 17 00:00:00 2001
|
|||
|
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
|
|||
|
Date: Mon, 15 Oct 2018 20:26:10 +0000
|
|||
|
Subject: [PATCH] google_util: Explicitly use std::initializer_list with
|
|||
|
base::NoDestructor
|
|||
|
MIME-Version: 1.0
|
|||
|
Content-Type: text/plain; charset=UTF-8
|
|||
|
Content-Transfer-Encoding: 8bit
|
|||
|
|
|||
|
Follow-up to ac53c5c53 ("Remove CR_DEFINE_STATIC_LOCAL from /components").
|
|||
|
Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having
|
|||
|
base::NoDestructor<T<U>> and passing an initializer list of Us does not
|
|||
|
work if this is not done explicitly, as GCC incorrectly fails to determine
|
|||
|
which constructor overload to use:
|
|||
|
|
|||
|
../../components/google/core/common/google_util.cc: In function ‘bool google_util::{anonymous}::IsCanonicalHostGoogleHostname(base::StringPiece, google_util::SubdomainPermission)’:
|
|||
|
../../components/google/core/common/google_util.cc:120:24: error: call of overloaded ‘NoDestructor(<brace-enclosed initializer list>)’ is ambiguous
|
|||
|
{GOOGLE_TLD_LIST});
|
|||
|
|
|||
|
See also: https://chromium-review.googlesource.com/c/chromium/src/+/1170905
|
|||
|
|
|||
|
Bug: 819294
|
|||
|
Change-Id: Ie1490b6646d7998d636c485769caabf56c1cf44c
|
|||
|
Reviewed-on: https://chromium-review.googlesource.com/c/1275854
|
|||
|
Reviewed-by: Peter Kasting <pkasting@chromium.org>
|
|||
|
Commit-Queue: Raphael Kubo da Costa (CET) <raphael.kubo.da.costa@intel.com>
|
|||
|
Cr-Commit-Position: refs/heads/master@{#599733}
|
|||
|
---
|
|||
|
components/google/core/common/google_util.cc | 5 +++--
|
|||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|||
|
|
|||
|
diff --git a/components/google/core/common/google_util.cc b/components/google/core/common/google_util.cc
|
|||
|
index a44c84393820..7733848a0443 100644
|
|||
|
--- a/components/google/core/common/google_util.cc
|
|||
|
+++ b/components/google/core/common/google_util.cc
|
|||
|
@@ -117,7 +117,7 @@ bool IsCanonicalHostGoogleHostname(base::StringPiece canonical_host,
|
|||
|
StripTrailingDot(&tld);
|
|||
|
|
|||
|
static base::NoDestructor<std::set<std::string>> google_tlds(
|
|||
|
- {GOOGLE_TLD_LIST});
|
|||
|
+ std::initializer_list<std::string>({GOOGLE_TLD_LIST}));
|
|||
|
return base::ContainsKey(*google_tlds, tld.as_string());
|
|||
|
}
|
|||
|
|
|||
|
@@ -132,7 +132,8 @@ bool IsGoogleSearchSubdomainUrl(const GURL& url) {
|
|||
|
StripTrailingDot(&host);
|
|||
|
|
|||
|
static base::NoDestructor<std::set<std::string>> google_subdomains(
|
|||
|
- {"ipv4.google.com", "ipv6.google.com"});
|
|||
|
+ std::initializer_list<std::string>(
|
|||
|
+ {"ipv4.google.com", "ipv6.google.com"}));
|
|||
|
|
|||
|
return base::ContainsKey(*google_subdomains, host.as_string());
|
|||
|
}
|
|||
|
--
|
|||
|
2.19.1
|
|||
|
|