Chromium browser uses multiple open source projects. Some of these projects are very important for ARM devices as they impact the performance, memory utilization, etc.

At Linaro we tried to capture the list of these third party projects here to analyze on which of these are important but outdated, we would like to integrate latest of these projects and evaluate the performance of chromium browser also ensure they build for 32bit / 64bit clang and GCC for both ARMv8 and ARMv7 SOCs

External Project

Usage in Chromium

Actual Source Project

CurrentVersion VS OpenSource

Built into chromium lib/chome.apk

Python-Markdown

Python-Markdown is a pure Python parser for Markdown.

https://pypi.python.org/packages/source/M/Markdown/Markdown-2.6.2.tar.gz#md5=256d19afcc564dc4ce4c229bb762f7ae

2.6.2/2.6.4

no

accessibility-audit

Library of accessibility-related testing and utility code.

https://raw.githubusercontent.com/GoogleChrome/accessibility-developer-tools/master/dist/js/axs_testing.js

n/a

no

adobe

"This directory is a glue layer providing targets to allow Chromium to build without the Adobe Flash build results necessary to build branded Google Chrome."

http://www.adobe.com/products/flashplayer.html

Varies

yes

analytics

"This package supports the use of Google Analytics (GA) in Chrome Platform Applications and Extensions."

https://github.com/GoogleChrome/chrome-platform-analytics

1.6.0c/

no

android_crazy_linker

Fork of the Android NDK crazy linker.

https://chromium.googlesource.com/chromium/src.git/+/master/third_party/android_crazy_linker/

0/0

yes

android_data_chart

Android Open Source Project - Settings App

https://android.googlesource.com/platform/packages/apps/Settings/

The code has been modified rather extensively to tweak the UI to Chromium'sneeds.

yes

android_media

MediaController android sample.

https://android.googlesource.com/platform/development/+/master/samples/Support4Demos/src/com/example/android/supportv4/media/MediaController.java

74c5bcff29959931c8a4b15e4afa613975a47f4c/b8d99d4a4191fc7c348316f1ab3c183d4dacaeaf

yes

android_opengl

"This directory contains an ETC1 encoding/decoding API. The source derives from frameworks/base/opengl/include/ETC1/etc1.cpp from the Android Open Source Project."

https://source.android.com/

0, derives from opensource

yes

android_platform

Android Platform engineering tools

https://android.googlesource.com/platform/development

0,Only picked the few scripts needed by chrome.

no

android_protobuf

Protocol Buffers - Google's data interchange format

https://android.googlesource.com/platform/external/protobuf.git

2.2.0a/2.6.0

yes

android_swipe_refresh

"This is a modified copy of the swipe refresh layout widget from Android's app compat library (v4)."

https://android.googlesource.com/platform/frameworks/support

local modifyed

yes

android_tools

Android Tools (SDK/NDK)

http://developer.android.com/sdk/index.html

NDK r10e-rc4

no

angle

ANGLE is a conformant implementation of the OpenGL ES 2.0 specification that is hardware‐accelerated via Direct3D.

https://code.google.com/p/angleproject/

2422

yes

apache-mime4j

"Apache James Mime4J provides a parser, MimeStreamParser , for e-mail message streams in plain rfc822 and MIME format."

http://james.apache.org/mime4j/

0.7.2/0.7.2

apache-portable-runtime

Apache Portable Runtime

https://apr.apache.org/download.cgi

1.5.2/1.5.2

apache-win32

This is a checked-in copy of Apache 2.2.25 for Win 32.

http://www.apache.org

2.2.25/2.4.20

apple_apsl

a private Apple header

http://www.opensource.apple.com/

unknown

apple_sample_code

apple sample code

http://developer.apple.com/

unknown

appurify-python

Appurify Python Api

https://github.com/appurify/appurify-python

0.1.10/0.1.10

ashmem

Android shared memory implementation

http://source.android.com

7203eb2a8a29a7b721a48cd291700f38f3da1456

bidichecker

bidichecker_packaged.js

na

bintrees

Binary-, RedBlack- and AVL-Trees in Python and Cython

https://pypi.python.org/pypi/bintrees/

1.0.1/2.0.4

binutils

The GNU Binutils are a collection of binary tools including ld,as,addr2line

http://www.gnu.org/software/binutils/

2.25/2.26

blanketjs

JavaScript code coverage library

https://github.com/alex-seville/blanket

1.1.5/1.2.3

blimp_fonts

Apache Version 2.0 and SIL Open Font License, Version 1.1

unknown

boringssl

a fork of OpenSSL

https://boringssl.googlesource.com/boringssl

b3a3c78b4800783f45e0e23261c7275ee095e9ad/3d907ed964c721a395c82c5733e7d6dd7fcdd1fb

brotli

used to decode WOFF 2.0 fonts

https://github.com/google/brotli

722f8996b05bdec7c375462f9139e72ed33e3c85

bsdtrees

Red-Black and Splay trees implementation from the OpenBSD system

http://www.openbsd.org/cgi-bin/cvsweb/src/sys/sys/tree.h

1.13/1.14

bspatch

Colin Percival's bspatch tool

http://lxr.mozilla.org/mozilla/source/toolkit/mozapps/update/src/updater/

unknown

cacheinvalidation

google-cache-invalidation-api

https://chromium.googlesource.com/chromium/src/+/master/third_party/cacheinvalidation/README.chromium

unknown

cardboard-java

cardboard

https://github.com/googlesamples/cardboard-java/

0.5.5

catapult

"Catapult is the home for several performance tools that span from gathering displaying and analyzing performance data"

chaijs

Chai Assertion Library

https://github.com/chaijs/chai

3.4.1

checkstyle

Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard.

http://checkstyle.sourceforge.net/

6.5/6.17

chromite

scripts used to build Chromium for Chromium OS

https://chromium.googlesource.com/chromiumos/chromite

0.0.2/0.0.2

class-dump

sed to generate Objective C interfaces for things not otherwise documented.

https://github.com/nygard/class-dump

978d177ca6f0d2e5e34acf3e8dadc63e3140ebbc/7acf1f00a03a219388a1d19d66edaa954c0be3a5

cld

Compact Language Detection

http://src.chromium.org/viewvc/chrome/trunk/src/third_party/cld/

0/0

cld_2

Compact Language Detection 2

https://github.com/CLD2Owners/cld2

0/0

closure_compiler

Closure compiler

http://github.com/google/closure-compiler

v20150729-236-gad656a1/f7c7ead1e72ea2bf68384df6f419933e4b94f24f

closure_linter

closure-linter

http://code.google.com/p/closure-linter/

2.3.14/2.3.19

codesighs

the Mozilla codesighs tool

http://hg.mozilla.org/mozilla-central/tools/codesighs

unknown

colorama

"Provides a simple cross-platform API to print colored terminal text from Python applications."

https://github.com/tartley/colorama.git

799604a104/9f5a28369c4

crashpad

Crashpad is a crash-reporting system. It’s the successor to Breakpad.

https://crashpad.chromium.org/

unknown

cros_system_api

"constants and definitions like D-Bus service names that are shared between Chromium and Chromium OS."

custom_tabs_client

Chrome Custom Tabs - Example and Usage

https://chromium.googlesource.com/external/github.com/GoogleChrome/custom-tabs-client

unknown

cython

cython

http://cython.org/

0.20.2/0.24

d3

A JavaScript library for manipulating documents based on data.

https://github.com/mbostock/d3

3.4.4/3.5.16

decklink

Blackmagic DeckLink SDK - Mac

http://sw.blackmagicdesign.com/DeckLink/v10.5.2/Blackmagic_DeckLink_SDK_10.5.2.zip?Key-Pair-Id=APKAJTKA3ZJMJRQITVEA&Signature=YRlsDaU0gNjrPNSoPp1IoTBQDavl09RGMnj1exrwAP+jbrNvSX2EuYTqOn2twguM+pQ8W0cqmIl/IHSVnEXJgQB6Eh57x+ba79t9z3fPsD8lb/a6PtK4qlFeqpLK5UBQ9yl18zxtHIZCnBBIeBNoj0G2CxX2Z4IXHVJmZ1KTbECIGaLyj+tBonW+cgIBQ7yw0dQHxGLJD+xzlCrZOXpGRmhJUBs981yLrnfZ7/LirvrHT+8CyzajzEgl9xBB7TFiZUh2DLXf1BvC4NeH0g/OnYRiR7F0VWh/ZiQM/KjCPbn2MajPo5Og0jVjzxYJbIhZf0HhB6ZN0ZI8aaiMMkmHMg==&Expires=1448991563

10.5.2

deqp

drawElements Quality Program

https://source.android.com/devices/graphics/testing.html

"554adf152573fb579d0cbc68d3c1395e5ee94391/ aa4099c48f58c93d951b64451ef87adb31fce406"

devscripts

This directory contains selected tools from the Debian's devscripts collection.

http://anonscm.debian.org/gitweb/?p=devscripts/devscripts.git

2.12.4

dom_distiller_js

a java library that extracts article content from a web page.

https://github.com/chromium/dom-distiller

349b932fc2/c3edb38

drmemory

Dr. Memory is a new open-source tool for finding memory errors - similar to Memcheck (Valgrind) but with Windows support, including detection of Windows handle leaks and GDI usage errors.

http://drmemory.org

1.9.16880/1.10.1

elfutils

elfutils

https://fedorahosted.org/releases/e/l/elfutils/0.158/elfutils-0.158.tar.bz2

0.158/0.166

errorprone

Catch common Java mistakes as compile-time errors

http://errorprone.info/

2.0.5/2.0.9

expat

Expat XML Parser

http://sourceforge.net/projects/expat/

2.1.0/2.1.1

ffmpeg

copy of FFmpeg git

http://ffmpeg.org/

findbugs

a program to find bugs in Java programs.

http://findbugs.sourceforge.net/

3.0.1/3.0.1

fips181

FIPS 181 Automated Password Generator

http://www.adel.nursat.kz/apg/

2.2.3/2.2.3

flac

compress and encode recorded audio

http://sourceforge.net/projects/flac/files/flac-src/flac-1.2.1-src/flac-1.2.1.tar.gz/download

1.2.1/1.2.1

flot

Flot Javascript/JQuery library for creating graphs

http://www.flotcharts.org

0.8.1/0.8.3

fontconfig

Fontconfig is a library for configuring and customizing font access.

http://www.freedesktop.org/wiki/Software/fontconfig/

2.11.0/2.11.1

freetype-android

FreeType

http://www.freetype.org/

VER-2-6-2-updates/ 2.6.3

freetype2

freetype2

git://git.sv.nongnu.org/freetype/freetype2.git

2.4.8-1ubuntu2.3/2.6.3

fuzzymatch

fuzzymatch

None

None

gardiner_mod

GardinerMod Font Family

http://users.teilar.gr/~g1951d/

5.03

gif_player

GifPlayer Animated GIF Library

http://android-gifview.googlecode.com/svn/!svn/bc/8/trunk/

r8/r8

google_appengine_cloudstorage

Google AppEngine Cloud Storage Python client

https://code.google.com/p/appengine-gcs-client/source

google_input_tools

Google Input Tools

https://github.com/googlei18n/google-input-tools.git

1.0.4.6/1.0.4.7

google_toolbox_for_mac

Google Toolbox for Mac

https://github.com/google/google-toolbox-for-mac

626/633

haha

Headless Android Heap Analyzer

https://github.com/square/haha

2.0.2/2.0.2

harfbuzz-ng

harfbuzz-ng

http://harfbuzz.org

1.2.1/1.2.6

httpcomponents-client

Apache HttpComponents Client

http://hc.apache.org/httpcomponents-client-ga/

4.2.2/4.5

httpcomponents-core

Apache HttpComponents Core

http://hc.apache.org/httpcomponents-core-ga/

4.2.2/4.5

hunspell

hunspell checker

http://hunspell.sourceforge.net/

1.3.2/1.4.0

hunspell_dictionaries

hunspell dictionaries

http://bgoffice.sourceforge.net/

unknown

hwcplus

Hardware Composer Plus

https://chromium.googlesource.com/chromium/src/third_party/hwcplus/

1.4/1.4

iaccessible2

IAccessible2 COM interfaces for accessibility

http://www.linuxfoundation.org/collaborate/workgroups/accessibility/iaccessible2

1.31.3

iccjpeg

iccjpeg

http://www.ijg.org

unknown

icu

icu

http://site.icu-project.org/

56.1/57.1

ijar

ijar

https://github.com/google/bazel/tree/master/third_party/ijar

0

instrumented_libraries

instrumented_libbraries

n/a

0

isimpledom

ISimpleDOM COM interfaces for accessibility

http://developer.mozilla.org/en-US/docs/Accessibility/AT-APIs

unknown

jarjar

Jar Jar Links

http://code.google.com/p/jarjar/

1.4/1.4

jinja2

Jinja2 Python Template Engine

http://jinja.pocoo.org/

2.7.1/2.8.1

jmake

JMake

https://github.com/pantsbuild/jmake

0

jsoncpp

jsoncpp

https://github.com/open-source-parsers/jsoncpp

f572e8e42e22cfcf5ab0aea26574f408943edfa4/980cdf0fb56c7bdefaab94799cc16750b7b62b0b

jsr-305

JSR 305: Annotations for Software Defect Detection in Java

https://code.google.com/p/jsr-305/

r51

jstemplate

google-jstemplate

http://code.google.com/p/google-jstemplate/

unknown

junit

JUnit

http://junit.org

4.1/4.12

kasko

khronos

Khronos header files

http://www.khronos.org/registry

unknown

lcov

LCOV - the LTP GCOV extension

http://ltp.sourceforge.net/coverage/lcov.php

1.1/1.12

leakcanary

LeakCanary

https://github.com/square/leakcanary

1.4-beta1

leveldatabase

LevelDB: A Fast Persistent Key-Value Store

https://github.com/google/leveldb.git

unknown

libFuzzer

libFuzzer

http://llvm.org/docs/LibFuzzer.html

1d3e15006639ad8c1aadd2d7bac4dab9a6be7da6

libXNVCtrl

NVidia Control X Extension Library

http://cgit.freedesktop.org/~aplattner/nvidia-settings/

unknown

libaddressinput

The library to input, validate, and display addresses.

https://github.com/googlei18n/libaddressinput

0

libc++-static

libcxx

http://libcxx.llvm.org/

0

libjingle

libjingle

http://www.webrtc.org

unknown

libjpeg

libjpeg

http://www.ijg.org/

6b/9b

libjpeg_turbo

libjpeg-turbo

http://sourceforge.net/projects/libjpeg-turbo/

1.3.1/1.5

liblouis

Braille Translation Library

https://github.com/liblouis/liblouis

2.6.0/2.6.4

libphonenumber

International Phone Number Library

https://github.com/googlei18n/libphonenumber/

unknown

libpng

libpng

http://libpng.org/

1.2.56/1.6.21

libsecret

libsecret

https://git.gnome.org/browse/libsecret/

0.18/0.18.5

libsrtp

libsrtp

https://github.com/cisco/libsrtp

1.5.2/2.0.0

libsync

Android Explicit Synchronization

http://source.android.com

a7c7bce252a6bce1539e9caa84420de3698029e7

libudev

libudev

http://www.freedesktop.org/wiki/Software/systemd/

Varies

libusb

libusbx

http://libusb.org

1.0.17

libva

libva

git://anongit.freedesktop.org/git/libva

git tag libva-1.6.0/1.7

libvpx

libvpx

http://www.webmproject.org

v1.4.0/1.4.0

libwebm

WebM container parser and writer.

http://www.webmproject.org/code/

unknown

libwebp

WebP image encoder/decoder

http://developers.google.com/speed/webp

v0.5.0/0.5.0

libxml

libxml

http://xmlsoft.org

2.9.3/2.9.3

libxslt

libxslt

http://xmlsoft.org/XSLT

1.1.28/1.1.28

libyuv

libyuv

http://code.google.com/p/libyuv/

1579/1579

llvm-build

264915-1

lss

lzma_sdk

LZMA SDK

http://www.7-zip.org/sdk.html

15.14/15.14

mach_override

mach_override

https://github.com/rentzsch/mach_override

Newer than 1.2. HEAD from branch semver-1.x.

markdown

markdown, a text-to-HTML conversion tool for web writers

https://pypi.python.org/pypi/Markdown

2.3.1/2.6.6

markupsafe

MarkupSafe Python Safe String Class

https://github.com/mitsuhiko/markupsafe

0.18/0.22

mesa

mesa

http://www.mesa3d.org/

9.0.3/11.2.0

minigbm

minigbm

https://chromium.googlesource.com/chromiumos/platform/minigbm

0

mocha

Mocha

https://github.com/mochajs/mocha

2.2.5/2.4.0

mockito

Mockito

https://code.google.com/p/mockito

1.10.5/2.0.52

modp_b64

modp base64 decoder

https://github.com/client9/stringencoders

unknown

molokocacao

NSBezierPath additions from Sean Patrick O'Brien

ce URL: http://www.seanpatrickobrien.com/downloads/track/?path=%2Ftutorials%2F1%2FExampleButton.zip

1

motemplate

Motemplate, cross-platform data binding templates.

https://github.com/kalman/templates

0

mozilla

Cocoa extension code from Camino

http://caminobrowser.org/

unknown

mt19937ar

mt19937ar

http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html

0

netty-tcnative

Tomcat Native Fork for Netty

https://github.com/netty/netty-tcnative

1.1.33/1.1.33

netty4

Netty

https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-all/4.1.0.CR1-SNAPSHOT/

4.1.0.Beta8/4.0.37

npapi

Netscape Plugin Application Programming Interface (NPAPI)

http://mxr.mozilla.org/mozilla-central/source/modules/plugin/base/public/

unknown

ocmock

ocmock

https://github.com/erikdoe/ocmock

unknown

openh264

OpenH264

http://www.openh264.org/

v.1.4.0/1.5.0

openmax_dl

OpenMAX DL

https://silver.arm.com/download/Software/Graphics/OX000-BU-00010-r1p0-00bet0/OX000-BU-00010-r1p0-00bet0.tgz

1.0.2

opus

opus

http://git.xiph.org/?p=opus.git

1.1.2/1.1.2

ots

OTS (OpenType Sanitizer)

https://github.com/khaledhosny/ots.git

8ade3d16fbb0273e7f828191b4ad37b3819ce302/5.0.0

pdfium

pexpect

pexpect

http://www.noah.org/python/pexpect/

2.3/2.3

ply

PLY (Python Lex-Yacc)

http://www.dabeaz.com/ply/ply-3.4.tar.gz

3.4/3.8

polymer

Polymer

http://www.polymer-project.org

1.2.3/1.4.0

proguard

Proguard

http://proguard.sourceforge.net/

5.2.1/5.3

protobuf

Protocol Buffers

http://protobuf.googlecode.com/svn/trunk

unknown

py_trace_event

py_trace_event

https://github.com/natduca/py_trace_event

0

pycoverage

coverage

https://pypi.python.org/pypi/coverage

3.7.1/4.1b2

pyelftools

pyelftools

https://bitbucket.org/eliben/pyelftools

0

pyftpdlib

Python FTP server library

https://github.com/giampaolo/pyftpdlib

0.7.0-updates/1.5.0

pymock

mock

http://pypi.python.org/pypi/mock

1.0.1/2.0.0

python_gflags

python-gflags

http://code.google.com/p/python-gflags/

2/2.0

pywebsocket

pywebsocket

https://github.com/google/pywebsocket/

0

qcms

Quick Color Management System

https://github.com/jrmuizel/qcms/tree/v4

v4

qunit

QUnit

https://github.com/jquery/qunit

1.17.1/2.0.0

re2

re2 - an efficient, principled regular expression library

https://github.com/google/re2

dba3349aba83b5588e85e5ecf2b56c97f2d259b7/b3f77c59894a3c2ee3806d23eda4f34b36085011

requests

Requests

http://docs.python-requests.org/en/latest/

2.5.0

robolectric

Robolectric

http://robolectric.org

2.4/3.0

safe_browsing

google-safe-browsing

http://code.google.com/p/google-safe-browsing/

unknown

scons-2.0.1

sfntly

sfntly

https://github.com/googlei18n/sfntly

130f832eddf98467e6578b548cb74ce17d04a26d/9a04b4bc9c9f090cd2033a0bc3e3a6744e06e1d6

simplejson

simplejson

https://github.com/simplejson/simplejson

2.6.2/3.8.2

sinonjs

SinonJS

https://github.com/cjohansen/Sinon.JS

1.10.0/1.17.3

skia

Skia

https://skia.org/

unknown

smhasher

SMHasher

http://code.google.com/p/smhasher/

0

snappy

Snappy: A fast compressor/decompressor

http://google.github.io/snappy/

1.1.0-updates/1.1.3

speech-dispatcher

Speech Dispatcher

http://devel.freebsoft.org/speechd

0.7.1/0.8

sqlite

sqlite

http://sqlite.org/

3.8.7.4/3.12.2

sudden_motion_sensor

Sudden Motion Sensor library

http://www.suitable.com/tools/smslib.html

0

swiftshader

SwiftShader software renderer.

http://transgaming.com/business/swiftshader

unknown

talloc

talloc

http://talloc.samba.org/talloc/doc/html/index.html

2.0.1/2.1.6

tcmalloc

tcmalloc

http://gperftools.googlecode.com/

unknown

tlslite

tlslite

http://trevp.net/tlslite/

0.4.8/0.4.9

typ

typ

https://github.com/dpranke/typ.git

0.9.4/0.9.4

ub-uiautomator

uiautomator (unbundled)

http://developer.android.com/tools/help/uiautomator

0

usb_ids

The USB ID Repository

http://www.linux-usb.org/usb-ids.html

2015.06.09

usrsctp

usrsctp

http://github.com/sctplab/usrsctp

0

v4l-utils

v4l-utils

http://git.linuxtv.org/v4l-utils.git

1.6.0/1.10.0

v4l2capture

Python extension to capture video with video4linux2

https://github.com/gebart/python-v4l2capture

36eff3851628202fe0b54689d6b94002dd1b0da2/dc09a8c5f5b5c12a5cb1cec96c2886bcaa982b25

wayland

wayland

http://wayland.freedesktop.org/

1.9.91/1.10.0

wayland-protocols

wayland-protocols

http://wayland.freedesktop.org/

1.1/1.3

wds

WDS

https://github.com/01org/wds

1.0.0/1.1.0

web-animations-js

Web Animations JS

https://github.com/web-animations/web-animations-js

2.1.0/2.1

webdriver

Webdriver

http://selenium.googlecode.com/svn/trunk/py

unknown

webgl

Public Khronos WebGL Conformance Tests repository

http://www.khronos.org/registry/webgl/sdk

1

webpagereplay

webrtc

WebRTC

http://www.webrtc.org

90

webrtc_overrides

WebRTC

http://www.webrtc.org

0

webtreemap

webtreemap

https://github.com/martine/webtreemap

a2fa353833eca1a4821ba4c93fb6a7d546aed02a/ba47ce6684b5934805b60433c6c4488da9031456

widevine

woff2

woff2

https://github.com/google/woff2

b2e7af9f6fbc03ae1926717caa161e1de70c1f95/2bc6acf6dfa2f6dd2f8da63b4fe2e27851e45e11

wtl

Windows Template Library (WTL)

http://wtl.sourceforge.net/

8.0/9.1

x86inc

x86inc

http://git.videolan.org/?p=x264.git;a=blob;f=common/x86/x86inc.asm

0

xdg-utils

xdg-utils

https://www.freedesktop.org/wiki/Software/xdg-utils/

3ba869a97b737fd308502a7f9e63bda202891642/ef8a58be4049697bb6347c3c5b8fff4d2b2deb86

yasm

yasm

http://www.tortall.net/projects/yasm/

1.2.0

zlib

zlib

http://zlib.net/

1.2.5/1.2.8

LMG/Engineering/ChromiumExternalProjects (last modified 2016-05-02 18:45:26)