The third_party directory contains sources from other projects.

Code in third_party must document the license under which the source is being
used. If the source itself does not include a license header or file, create
an entry in this file that refers to reliable documentation of the project's
license terms on the web (and add a note pointing here in the README file in
that directory).

When adding a new directory, or updating a directory to a version which has
a different license from before, please add chromium-third-party@google.com
as a reviewer on the change.

<Include table of license information here, once it is available>

