# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This file records third-party licensing information for the purposes of the
# Android WebView build. See webview_licenses.py for details.
#
# New third-party code should be added under a directory named 'third_party',
# so additions to this file should be rare. See
# http://www.chromium.org/developers/adding-3rd-party-libraries.

# Copyright IBM; MIT license. This third-party code is taken from ICU, the
# license for which we already pick up from third_party/icu/.
base/i18n/icu_string_conversions.cc
# Contains '(c)' in comments
base/logging.h
# Copyright Ron Rivest, public domain.
base/md5.cc
# Copyright Netscape Communications Corporation; MPL, GPL v2 or LGPL v2
# license. This third-party code is taken from Mozilla, the license for which
# we already pick up from third_party/npapi/.
chrome/browser/download/download_extensions.cc
# Copyright Netscape Communications Corporation; MPL, GPL v2 or LGPL v2
# license. Not used on Android.
chrome/browser/importer/firefox_profile_lock.cc
# Copyright Netscape Communications Corporation; MPL, GPL v2 or LGPL v2
# license. Not used on Android.
chrome/browser/importer/firefox_profile_lock.h
# Copyright Netscape Communications Corporation; MPL, GPL v2 or LGPL v2
# license. Not used on Android.
chrome/browser/importer/firefox_profile_lock_posix.cc
# Copyright Netscape Communications Corporation; MPL, GPL v2 or LGPL v2
# license. Not used on Android.
chrome/browser/importer/firefox_profile_lock_win.cc
# Credits notice for ChromeOS.
chrome/browser/resources/chromeos/about_os_credits.html
# String 'copyright' used in code.
chrome/browser/resources/file_manager/foreground/js/photo/gallery_scripts.js
# String 'copyright' used in code.
chrome/browser/resources/file_manager/foreground/js/main_scripts.js
# String 'copyright' used in code.
chrome/browser/resources/file_manager/foreground/js/media/mediaplayer_scripts.js
# String 'copyright' used in code.
chrome/browser/resources/file_manager/foreground/js/media/video_player_scripts.js
# String 'copyright' used in code.
chrome/common/importer/firefox_importer_utils.cc
# Copyright Netscape Communications Corporation; MPL, GPL v2 or LGPL v2
# license. Not used on Android.
chrome/utility/importer/nss_decryptor.cc
# Copyright Netscape Communications Corporation; MPL, GPL v2 or LGPL v2
# license. Not used on Android.
chrome/utility/importer/nss_decryptor_mac.h
# Copyright Netscape Communications Corporation; MPL, GPL v2 or LGPL v2
# license. Not used on Android.
chrome/utility/importer/nss_decryptor_system_nss.cc
# Copyright Netscape Communications Corporation; MPL, GPL v2 or LGPL v2
# license. Not used on Android.
chrome/utility/importer/nss_decryptor_win.h
# Copyright Google Inc; no license. Example code only.
chrome_frame/cfinstall/examples/jquery.html
# Copyright Google Inc; no license. Example code only.
chrome_frame/cfinstall/examples/local_testing.html
# Copyright Google Inc; no license. Example code only.
chrome_frame/cfinstall/examples/simple.html
# Copyright The Chromium Authors and The Dojo Foundation; BSD license. Not used
# on Android.
chrome_frame/CFInstance.js
# Copyright Google Inc; BSD license. Test code only.
chrome/tools/test/generate_mime_tests.pl
# Copyright Alf Watt; BSD license. Not used on Android.
content/browser/geolocation/osx_wifi.h
# Copyright The Chromium Authors, Apple Inc and Graham Dennis; BSD license. Not
# used on Android.
content/browser/renderer_host/render_widget_host_view_mac.mm
# Copyright The Chromium Authors and Google Inc; BSD license. Not used on
# Android.
content/browser/renderer_host/web_input_event_aurax11.cc
# Copyright Google Inc, no license. Not used on Android.
google_update/google_update_idl.idl
# String '(c)' used in certificates organization names
net/quic/crypto/common_cert_set_1_50.inc
net/quic/crypto/common_cert_set_51_100.inc
# String '(c)' used in certificates organization names
net/test/test_certificate_data.h
# Copyright The Chromium Authors and Netscape Communications Corporation; BSD
# and (MPL, GPL v2 or LGPL v2) licenses. This third-party code is taken from
# Mozilla, the license for which we already pick up from third_party/npapi/.
net/cookies/cookie_monster.cc
# Copyright The Chromium Authors and Netscape Communications Corporation; BSD
# and (MPL, GPL v2 or LGPL v2) licenses. This third-party code is taken from
# Mozilla, the license for which we already pick up from third_party/npapi/.
net/cookies/canonical_cookie.cc
# Copyright The Chromium Authors and Netscape Communications Corporation; BSD
# and (MPL, GPL v2 or LGPL v2) licenses. This third-party code is taken from
# Mozilla, the license for which we already pick up from third_party/npapi/.
net/cookies/parsed_cookie.cc
# Copyright The Chromium Authors and Google Inc; BSD and (MPL, GPL v2 or LGPL
# v2) licenses. This third-party code is taken from Mozilla, the license for
# which we already pick up from third_party/npapi/.
net/base/registry_controlled_domains/registry_controlled_domain.cc
# Copyright The Chromium Authors and Google Inc; BSD and (MPL, GPL v2 or LGPL
# v2) licenses. This third-party code is taken from Mozilla, the license for
# which we already pick up from third_party/npapi/.
net/base/registry_controlled_domains/registry_controlled_domain.h
# Copyright The Chromium Authors and IBM Corporation; BSD and (MPL, GPL v2 or
# LGPL v2) licenses. This third-party code is taken from Mozilla, the license
# for which we already pick up from third_party/npapi/.
net/http/des.cc
# Copyright The Chromium Authors and IBM Corporation; BSD and (MPL, GPL v2 or
# LGPL v2) licenses. This third-party code is taken from Mozilla, the license
# for which we already pick up from third_party/npapi/.
net/http/http_auth_handler_ntlm_portable.cc
# Copyright The Chromium Authors and Netscape Communications; BSD and (MPL, GPL
# v2 or LGPL v2) licenses. This third-party code is taken from Mozilla, the
# license for which we already pick up from third_party/npapi/.
net/http/http_chunked_decoder.cc
# Copyright The Chromium Authors and Netscape Communications; BSD and (MPL, GPL
# v2 or LGPL v2) licenses. This third-party code is taken from Mozilla, the
# license for which we already pick up from third_party/npapi/.
net/http/http_chunked_decoder.h
# Copyright IBM Corporation; MPL, GPL v2 or LGPL v2 license. This third-party
# code is taken from Mozilla, the license for which we already pick up from
# third_party/npapi/.
net/http/md4.cc
# Copyright IBM Corporation; MPL, GPL v2 or LGPL v2 license. This third-party
# code is taken from Mozilla, the license for which we already pick up from
# third_party/npapi/.
net/http/md4.h
# Netscape Communications Corporation; MPL, GPL v2 or LGPL v2 license. This
# third-party code is taken from Mozilla, the license for which we already pick
# up from third_party/npapi/.
net/proxy/proxy_resolver_script.h
# Copyright The Chromium Authors and Netscape Communications Corporation; BSD
# and (MPL, GPL v2 or LGPL v2) licenses. Not used on Android.
net/socket/ssl_client_socket_nss.cc
# Contains the word 'Copyright' in comments
ppapi/generators/idl_c_proto.py
ppapi/generators/idl_outfile.py
# Copyright (c) 2007-2009 The Khronos Group Inc.  Not used on Android
ppapi/lib/gl/include/EGL/egl.h
ppapi/lib/gl/include/EGL/eglext.h
ppapi/lib/gl/include/EGL/eglplatform.h
ppapi/lib/gl/include/KHR/khrplatform.h
# Copyright The Android Open Source Project; ASL v2 license.
skia/config/SkUserConfig.h
# Contains word 'copyright' in comments.
tools/gen_keyboard_overlay_data/gen_keyboard_overlay_data.py
# This third-party code is taken from Mozilla, but is copyright Google and has
# been re-licensed under the Chromium license.
tools/imagediff/image_diff_png.cc
# Copyright Ero Carrera; BSD license. Tool only.
tools/symsrc/pefile.py
# Copyright The Chromium Authors, Sun Microsystems Inc, the V8 project authors;
# BSD license. Tool only.
tools/traceline/traceline/assembler.h
# Copyright Google Inc; BSD license. Tool only.
tools/traceline/traceline/sidestep/mini_disassembler.cc
# Copyright The Chromium Authors, Apple Inc; BSD license. Not used on Android.
ui/base/clipboard/clipboard_util_win.cc
# Copyright The Chromium Authors, Apple Inc; BSD license. Not used on Android.
ui/base/dragdrop/os_exchange_data_provider_win.cc
# Copyright The Chromium Authors, Apple Inc, Michael Emmel, Holger Hans Peter
# Freyther, Collabora Ltd, Google Inc; BSD license. Not used on Android.
ui/events/keycodes/keyboard_code_conversion_gtk.cc
# Copyright The Chromium Authors, Apple Inc, Michael Emmel, Holger Hans Peter
# Freyther, Collabora Ltd, Google Inc; BSD license. Not used on Android.
ui/events/keycodes/keyboard_code_conversion_gtk.h
# Copyright The Chromium Authors, Michael Emmel, Google Inc; BSD license. This
# third-party code is taken from WebKit, the license for which we already pick
# up from webkit/.
ui/events/keycodes/keyboard_codes_posix.h
# This third-party code is taken from Mozilla, but is copyright Google and has
# been re-licensed under the Chromium license.
ui/gfx/codec/jpeg_codec.cc
# This third-party code is taken from Mozilla, but is copyright Google and has
# been re-licensed under the Chromium license.
ui/gfx/codec/png_codec.cc
# Copyright The Chromium Authors and Apple Inc; BSD license. This third-party
# code is taken from WebKit, the license for which we already pick up from
# webkit/.
webkit/browser/appcache/manifest_parser.cc
# Copyright The Chromium Authors and Apple Inc; BSD license. This third-party
# code is taken from WebKit, the license for which we already pick up from
# webkit/.
webkit/browser/appcache/manifest_parser.h
# Copyright The Chromium Authors and Netscape Communications Corporation; BSD
# and (MPL, GPL v2 or LGPL v2) licenses. This third-party code is taken from
# Mozilla, the license for which we already pick up from third_party/npapi/.
webkit/child/multipart_response_delegate.h
# Copyright Tim Copperfield and Christian Dywan; LGPL license. Not used on
# Android.
webkit/common/cursors/webcursor_gtk_data.h
