Provide a no-ICU build of googleurl

ICU is used by googleurl to normalize IDNA inside hostnames.  However,
using ICU comes with costs (mostly binary size), meaning that some
embedders might want to avoid using it (Chrome itself does not use it on
iOS, for instance).  Provide such option in quiche googleurl fork.

Change-Id: I3ef56cefa85aacd04e6c019257221edeb076d58c
6 files changed
tree: 403ca077a98eec11b6e04d3b3e5699beb2ce84f9
  1. base/
  2. build/
  3. build_config/
  4. polyfills/
  5. test/
  6. url/
  7. .bazelversion
  8. .gitignore


This is a copy of Chrome's URL parsing library, adapted to work with Bazel. It is meant to be used by QUICHE, but can be also used by other projects that use Bazel.

In order to be used successfully, C++14 or later and -fno-strict-aliasing compile flag are required.

For questions, contact

Update Instructions

In order to update this copy to the latest version of googleurl in Chromium, run the following commands in the root of the checkout:

  1. copybara import <path-to-chrome>/src --folder-dir .
  2. bazel test --cxxopt="-std=c++14" //... (C++14 is replacible with later C++ versions)
  3. Fix all of the compilation errors, potentially modifying the BUILD files and the polyfill headers in polyfill/ as appropriate.
  4. Check the new version into Git.