xref: /aosp_15_r20/external/cronet/url/url_idna_icu_alternatives_ios.mm (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1// Copyright 2016 The Chromium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include <string.h>
6
7#include <ostream>
8#include <string>
9#include <string_view>
10
11#include "base/strings/string_util.h"
12#include "base/strings/utf_string_conversions.h"
13#include "url/url_canon_internal.h"
14
15namespace url {
16
17// Only allow ASCII to avoid ICU dependency. Use NSString+IDN
18// to convert non-ASCII URL prior to passing to API.
19bool IDNToASCII(std::u16string_view src, CanonOutputW* output) {
20  if (base::IsStringASCII(src)) {
21    output->Append(src);
22    return true;
23  }
24  DCHECK(false) << "IDN URL support is not available.";
25  return false;
26}
27
28}  // namespace url
29