aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlo Landmeter <clandmeter@gmail.com>2015-07-01 16:14:20 +0200
committerCarlo Landmeter <clandmeter@gmail.com>2015-07-01 16:14:20 +0200
commit5fea4db05e1803bc55b2e71a80ee0a97302eac81 (patch)
tree6659d35caab3c7fc630b23668976088e58680914
parent901b6ee3e3a0dd5eea55bf05742024d43591327c (diff)
downloadaports-5fea4db05e1803bc55b2e71a80ee0a97302eac81.tar.bz2
aports-5fea4db05e1803bc55b2e71a80ee0a97302eac81.tar.xz
testing/chromium: new aport
this is a WIP. included patches need a cleanup. would be nice to link against libexecinfo and remove its patch.
-rw-r--r--testing/chromium/APKBUILD199
-rw-r--r--testing/chromium/gcc5-fixes.patch402
-rw-r--r--testing/chromium/musl-fixes.patch199
-rw-r--r--testing/chromium/no-execinfo.patch103
-rw-r--r--testing/chromium/no-getcontext.patch19
-rw-r--r--testing/chromium/no-mallinfo.patch11
-rw-r--r--testing/chromium/resolver.patch24
7 files changed, 957 insertions, 0 deletions
diff --git a/testing/chromium/APKBUILD b/testing/chromium/APKBUILD
new file mode 100644
index 0000000000..92c33daed3
--- /dev/null
+++ b/testing/chromium/APKBUILD
@@ -0,0 +1,199 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=chromium
+pkgver=43.0.2357.130
+pkgrel=0
+pkgdesc="chromium web browser"
+url="http://www.chromium.org/"
+arch="all"
+license="BSD"
+depends=
+depends_dev="alsa-lib-dev libevent-dev libpng-dev jpeg-dev cairo-dev cups-dev
+ mesa-dev libcap-dev dbus-glib-dev gtk+-dev libxml2-dev freetype-dev
+ jpeg-dev libxslt-dev libxtst-dev icu-dev flac-dev speex-dev
+ hunspell-dev libxinerama-dev ffmpeg-dev nss-dev libwebp-dev bzip2-dev
+ libvpx-dev sqlite-dev libelf-dev libgcrypt-dev zlib-dev
+ gnutls-dev mesa-dev libxcursor-dev libxcomposite-dev krb5-dev
+ libxrandr-dev libxscrnsaver-dev pciutils-dev udev-dev libexif-dev
+ hwdata-usb ninja libbsd-dev harfbuzz-dev snappy-dev protobuf-dev
+ bsd-compat-headers openssl-dev libre2-dev jsoncpp-dev minizip-dev"
+# disabled deps libusb-dev libgnome-keyring-dev
+makedepends="$depends_dev xdg-utils yasm gperf bison flex perl python bash paxmark findutils"
+install=""
+options=suid
+subpackages="$pkgname-doc"
+source="https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
+ gcc5-fixes.patch
+ musl-fixes.patch
+ no-execinfo.patch
+ resolver.patch
+ no-mallinfo.patch
+ no-getcontext.patch
+ "
+
+##############################################################
+# Please dont use these keys outside of Alpine Linux project #
+# You can create your own at: #
+# http://www.chromium.org/developers/how-tos/api-keys #
+##############################################################
+_google_api_key="-Dgoogle_api_key=AIzaSyCzJlvmpxdW-WUOULKUzow_a98uubu9Ro4"
+_google_default_client_id="-Dgoogle_default_client_id=755214983505-7ramulm762nd0qvsnct55n9kqrd8d65e.apps.googleusercontent.com"
+_google_default_client_secret="-Dgoogle_default_client_secret=TYDXT0NX-GtnRHrb3x4myEQs"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+case "${CARCH}" in
+ x86_64) target_arch=x64;;
+ x86) target_arch=ia32;;
+ arm) target_arch=arm;;
+esac
+
+prepare() {
+ cd "$_builddir"
+
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+
+ # Remove bundled ICU; its header files appear to get picked up instead of
+ # the system ones, leading to errors during the final link stage.
+ # https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/BNGvJc08B6Q
+ find third_party/icu -type f \! -regex '.*\.\(gyp\|gypi\|isolate\)' -delete
+}
+
+build() {
+ cd "$_builddir"
+
+ # reusable system library settings
+ local use_system="
+ -Duse_system_bzip2=1
+ -Duse_system_flac=1
+ -Duse_system_harfbuzz=1
+ -Duse_system_protobuf=1
+ -Duse_system_icu=1
+ -Duse_system_jsoncpp=1
+ -Duse_system_libevent=1
+ -Duse_system_libjpeg=1
+ -Duse_system_libpng=1
+ -Duse_system_libvpx=1
+ -Duse_system_libxml=1
+ -Duse_system_snappy=1
+ -Duse_system_xdg_utils=1
+ -Duse_system_yasm=1
+ -Duse_system_nspr=1
+ -Duse_system_re2=1
+ -Duse_system_speex=1
+ -Duse_system_libwebp=1
+ -Duse_system_libxslt=1
+ -Duse_system_zlib=1
+ -Duse_system_minizip=1
+ "
+
+ msg "Replacing gyp files"
+ build/linux/unbundle/replace_gyp_files.py ${use_system} || return 1
+
+ msg "Running gyp_chromium"
+ build/gyp_chromium --depth=. \
+ ${use_system} \
+ -Dgoogle_api_key="$_google_api_key" \
+ -Dgoogle_default_client_id="$_google_default_client_id" \
+ -Dgoogle_default_client_secret="$_google_default_client_secret" \
+ -Dwerror= \
+ -Dclang=0 \
+ -Dpython_ver=2.7 \
+ -Dlinux_link_gsettings=1 \
+ -Dlinux_link_libpci=1 \
+ -Dlinux_link_libspeechd=0 \
+ -Dlinux_strip_binary=1 \
+ -Dlinux_use_bundled_binutils=0 \
+ -Dlinux_use_bundled_gold=0 \
+ -Dlinux_use_gold_flags=0 \
+ -Dicu_use_data_file_flag=0 \
+ -Dlogging_like_official_build=1 \
+ -Dlibspeechd_h_prefix=speech-dispatcher/ \
+ -Dffmpeg_branding=Chrome \
+ -Dproprietary_codecs=1 \
+ -Duse_allocator=none \
+ -Duse_gnome_keyring=0 \
+ -Dusb_ids_path=/usr/share/hwdata/usb.ids \
+ -Duse_mojo=0 \
+ -Duse_gconf=0 \
+ -Duse_pulseaudio=0 \
+ -Denable_hotwording=0 \
+ -Ddisable_fatal_linker_warnings=1 \
+ -Ddisable_glibc=1 \
+ -Ddisable_nacl=1 \
+ -Ddisable_pnacl=1 \
+ -Dtarget_arch="$target_arch" \
+ -Drelease_extra_cflags="$CFLAGS" \
+ -Ddisable_sse2=1 \
+ || return 1
+
+ msg "Ninja turtles GO!"
+ # build mksnapshot and paxmark it
+ ninja -C out/Release mksnapshot || return 1
+ paxmark -m out/Release/mksnapshot || return 1
+
+ # finish rest of the build
+ ninja -C out/Release chrome chrome_sandbox chromedriver || return 1
+ paxmark -m out/Release/chrome || return 1
+}
+
+package() {
+ cd "$_builddir"
+ for bin in chrome chromedriver libffmpegsumo.so; do
+ install -Dm755 out/Release/$bin \
+ "$pkgdir"/usr/lib/$pkgname/$bin || return 1
+ done
+
+ install -Dm755 chrome/tools/build/linux/chrome-wrapper \
+ "$pkgdir"/usr/lib/$pkgname/chrome-wrapper || return 1
+
+ install -Dm4755 out/Release/chrome_sandbox \
+ "$pkgdir"/usr/lib/$pkgname/chrome_sandbox || return 1
+
+ install -m644 out/Release/chrome_100_percent.pak \
+ "$pkgdir"/usr/lib/$pkgname/chrome_100_percent.pak || return 1
+
+ install -m644 out/Release/resources.pak \
+ "$pkgdir"/usr/lib/$pkgname/resources.pak || return 1
+
+ cp -r out/Release/locales "$pkgdir"/usr/lib/$pkgname/ || return 1
+
+ install -Dm644 out/Release/chrome.1 \
+ "$pkgdir"/usr/share/man/man1/chrome.1 || return 1
+
+ #create symlins in usr/bin
+ mkdir -p "$pkgdir"/usr/bin || return 1
+ cd "$pkgdir"/usr/bin || return 1
+ ln -sf /usr/lib/$pkgname/chrome chrome || return 1
+ ln -sf /usr/lib/$pkgname/chrome chrome-browser || return 1
+ ln -sf /usr/lib/$pkgname/chrome-wrapper chromium || return 1
+ ln -sf /usr/lib/$pkgname/chrome-wrapper chromium-browser || return 1
+}
+
+md5sums="352e936a3fef5e6de87c9a911eb75d94 chromium-43.0.2357.130.tar.xz
+96277e7ddc26c8bdd50fb63eff2f4ce0 gcc5-fixes.patch
+1b6076a7fac1d056fd6064f5b1b98320 musl-fixes.patch
+00ae59dd9d09c60a116fd0133f9f3a60 no-execinfo.patch
+af047840f31e99aa36be04edc3482afd resolver.patch
+a11a60155a9faf6ca648aaa06c81f29e no-mallinfo.patch
+2c8de771a7c0e5e0e9fc68fa978785f7 no-getcontext.patch"
+sha256sums="62fb55439396a5d49ba53d4377e8d2554c14c2e8a6255f07909ccee8f248002e chromium-43.0.2357.130.tar.xz
+ee32d8a89cc51cb71a8d4aa82b196b145f43a2fc3ba9687f9c06c053601d5fe7 gcc5-fixes.patch
+ac38e2d1238b7062ee8c99ff7772477fa2d5328a750eab47553687e3782dc7a9 musl-fixes.patch
+505a55c28e971e067f189e3a1ce697d711cec82a765d81f78eb49ec1f6df56cf no-execinfo.patch
+f16c63d4188fe56732dc6760307795ba4059452c4cf3de1460cbcb2616011511 resolver.patch
+3e732ba5bbe324932a06a782bae655003089f5dc52a7bb2b790aa4837e20be8e no-mallinfo.patch
+ea79f9a46116c8b56bbc69d226abd9252e4ae4d946ca695203f2298279cc2211 no-getcontext.patch"
+sha512sums="b12479ee18c05a1f34f7efeb50d0255e134441ee18923310bbe4cd87b60eb51ce8ea9831350545b88dd803367f84cb5e335f3655707718bbfed09e2d55751f9d chromium-43.0.2357.130.tar.xz
+e2390cdeb2a75aad51d5da07819e1375fcf2092535eaa86545b9bc0160eff9e3981f946029ed8fc337df4c56a8b8cc7945821d2636b09e320dea2c8884022a59 gcc5-fixes.patch
+febb6a204bcffda8dc3d80e75563710745e383cb30e460db5d8c5ded3d40f8a872461719283260f573be378e085924ddf3af000b0a50b519fafd9f6fc392920e musl-fixes.patch
+4f756d3e404033f7a36b38266176b7302f7e2a2e78c9f8b8d362a53a3dbdc675cdaa581393a70c23a29135b34566cf4109513cb13a289dc111bbce65ec065ebd no-execinfo.patch
+987f18d37824676e5d874a6fde1099bcc558920e7781de5f34e612411013e4fac9ca421a3cce1ed5f82401c4d54212b6f47a0a856892a78543b8e400a4bb0489 resolver.patch
+511a3852d6172c14c651c316f1f874cfd23be0fde1c4285565dfead02e5865a1b240c40e270c940a23c55e2d3f2cfecbf3b5477bf9e6d3cf920d7c60331dc3c3 no-mallinfo.patch
+42d9a6ebea2d95cdc169b921cc1a1b846cf500997059fd3084de09e21f00b63b76e60c6124f4af247d402ff5ca3f4bf8867a6f2c78198c05b4273ca01fb29241 no-getcontext.patch"
diff --git a/testing/chromium/gcc5-fixes.patch b/testing/chromium/gcc5-fixes.patch
new file mode 100644
index 0000000000..63a2a26d95
--- /dev/null
+++ b/testing/chromium/gcc5-fixes.patch
@@ -0,0 +1,402 @@
+::::::::::::::
+cld_generated_cjk_uni_prop_80.patch
+::::::::::::::
+--- ./third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc 2014-10-29 21:17:01.352107691 -0400
++++ ./third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc 2015-04-28 06:45:57.826546378 -0400
+@@ -4,7 +4,7 @@
+ // you may not use this file except in compliance with the License.
+ // You may obtain a copy of the License at
+ //
+-// http://www.apache.org/licenses/LICENSE-2.0
++// http://www.apache.org/licenses/LICENSE_UC -2.0
+ //
+ // Unless required by applicable law or agreed to in writing, software
+ // distributed under the License is distributed on an "AS IS" BASIS,
+@@ -17,14 +17,14 @@
+ //
+ // Maps properties of all codes from file:
+ // cld_generated_ctjkvz.txt
+-// Accepts all other UTF-8 codes 0000..10FFFF
++// Accepts all other UTF_UC -8 codes 0000..10FFFF
+ // Space optimized
+ //
+-// ** ASSUMES INPUT IS STRUCTURALLY VALID UTF-8 **
++// ** ASSUMES INPUT IS STRUCTURALLY VALID UTF_UC -8 **
+ //
+-// Table offsets for byte 2-of-3 and byte 3-of-4 are
+-// multiplied by 16; offsets for 3-of-3 and 4-of-4 are
+-// relative +/-127 from previous state.
++// Table offsets for byte 2_UC -of_UC -3 and byte 3_UC -of_UC -4 are
++// multiplied by 16; offsets for 3_UC -of_UC -3 and 4_UC -of_UC -4 are
++// relative +/_UC -127 from previous state.
+
+ #include "utf8statetable.h"
+
+@@ -56,9 +56,11 @@
+ static const unsigned int cld_generated_CjkUni_LOSUB = 0x80808080;
+ static const unsigned int cld_generated_CjkUni_HIADD = 0x00000000;
+
+-static const uint8 cld_generated_CjkUni[] = {
++#define _UC (unsigned char)
++//static const uint8 cld_generated_CjkUni[] = {
++static const unsigned char cld_generated_CjkUni[] = {
+ // state[0] 0x000000 Byte 1 (row Ex offsets 16x small)
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ _UC -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+@@ -165,8 +167,8 @@
+ // state[16 + 2] 0x000000 Byte 2 of 3 (relative offsets)
+ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__,
+ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__,
+--14,-14,-14,-14,-14,-14,-14,-14, -14,-14,-14,-14,-14,-14,-14,-14,
+--14,-14,-14,-14,-14,-14,-14,-14, -14,-14,-14,-14,-14,-14,-14,-14,
++_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,
++_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,_UC -14,
+
+ // state[17 + 2] 0x0031c0 Byte 3 of 3 (property)
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+@@ -259,10 +261,10 @@
+ 229,229,229, 3,208, 0,229, 5, 233, 0,229,229,229,208,229,229,
+
+ // state[32 + 2] 0x002000 Byte 2 of 3 (relative offsets)
+--30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,
+--30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,
+--30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,
+--30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,
++_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30, _UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,
++_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30, _UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,
++_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30, _UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,
++_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30, _UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,_UC -30,
+
+ // state[33 + 2] 0x003780 Byte 3 of 3 (property)
+ 229,208,229,229,208,229,229,229, 208,208,208,208,208, 4, 6,208,
+@@ -355,10 +357,10 @@
+ 228,229,229,229,229,233,233, 6, 208,229, 3,229,233, 6, 6, 0,
+
+ // state[48 + 2] 0x001000 Byte 2 of 3 (relative offsets)
+--46,-46,-46,-46,-42,-41,-40,-39, -46,-46,-46,-46,-46,-46,-46,-46,
+--46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46,
+--46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46,
+--46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46,
++_UC -46,_UC -46,_UC -46,_UC -46,_UC -42,_UC -41,_UC -40,_UC -39, _UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,
++_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46, _UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,
++_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46, _UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,
++_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46, _UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,_UC -46,
+
+ // state[49 + 2] 0x003b40 Byte 3 of 3 (property)
+ 6,227,208,233,208, 3, 3,208, 208,229, 0,229,233,219, 0, 6,
+@@ -451,10 +453,10 @@
+ 229,208,208,208,217,208,229,229, 229,229,208,217,208,229,229,229,
+
+ // state[64 + 2] 0x003000 Byte 2 of 3 (relative offsets)
+--54,-53,-52,-51,-50,-58,-49,-47, -62,-62,-62,-62,-62,-62,-62,-62,
+--46,-45,-44,-43,-42,-41,-40,-39, -38,-37,-36,-35,-34,-33,-31,-30,
+--29,-28,-27,-26,-25,-24,-23,-22, -21,-20,-19,-18,-17,-15,-14,-13,
+--12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4,
++_UC -54,_UC -53,_UC -52,_UC -51,_UC -50,_UC -58,_UC -49,_UC -47, _UC -62,_UC -62,_UC -62,_UC -62,_UC -62,_UC -62,_UC -62,_UC -62,
++_UC -46,_UC -45,_UC -44,_UC -43,_UC -42,_UC -41,_UC -40,_UC -39, _UC -38,_UC -37,_UC -36,_UC -35,_UC -34,_UC -33,_UC -31,_UC -30,
++_UC -29,_UC -28,_UC -27,_UC -26,_UC -25,_UC -24,_UC -23,_UC -22, _UC -21,_UC -20,_UC -19,_UC -18,_UC -17,_UC -15,_UC -14,_UC -13,
++_UC -12,_UC -11,_UC -10, _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3, 4,
+
+ // state[65 + 2] 0x003f00 Byte 3 of 3 (property)
+ 217,217,208, 3,208,217,208,208, 6,229,208,228,229,229,208,229,
+@@ -547,10 +549,10 @@
+ 229,208,229,229,208,229,233, 0, 208,208,229,208,227,229,229,229,
+
+ // state[80 + 2] 0x004000 Byte 2 of 3 (relative offsets)
+--11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5,
++_UC -11,_UC -10, _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+- 38, 39, 40, 41, 42, 43, 44,-78, 45, 46, 47, 48, 49, 50, 51, 52,
++ 38, 39, 40, 41, 42, 43, 44,_UC -78, 45, 46, 47, 48, 49, 50, 51, 52,
+
+ // state[81 + 2] 0x0042c0 Byte 3 of 3 (property)
+ 229, 0,229,229,229, 3, 4, 4, 229,229,229,229,208,229, 0,208,
+@@ -931,7 +933,7 @@
+ 0,142, 98, 28,117,206,212,212, 220, 15, 0,231,199,231,111, 28,
+
+ // state[144 + 2] 0x005000 Byte 2 of 3 (relative offsets)
+--11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5,
++_UC -11,_UC -10, _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+@@ -1315,7 +1317,7 @@
+ 16, 15,211,118, 0,231, 68,231, 0, 99,161, 0,115,221,144,140,
+
+ // state[208 + 2] 0x006000 Byte 2 of 3 (relative offsets)
+--10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6,
++_UC -10, _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+@@ -1699,7 +1701,7 @@
+ 119, 16, 51, 0, 0, 68,136, 72, 144,118, 87,201,191,136, 78,233,
+
+ // state[272 + 2] 0x007000 Byte 2 of 3 (relative offsets)
+- -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7,
++ _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+@@ -2083,7 +2085,7 @@
+ 212,212, 0,126,140,220,220, 0, 0, 0,127,118,106, 0,199, 0,
+
+ // state[336 + 2] 0x008000 Byte 2 of 3 (relative offsets)
+- -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8,
++ _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+@@ -2467,7 +2469,7 @@
+ 0,122, 0,231,100,232, 0, 0, 117, 0,206,231, 0, 0,231, 0,
+
+ // state[400 + 2] 0x009000 Byte 2 of 3 (relative offsets)
+- -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9,
++ _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+@@ -2851,10 +2853,10 @@
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ // state[464 + 2] 0x00a000 Byte 2 of 3 (relative offsets)
+- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
+- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
+- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
+- -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
++ _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6,
++ _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6,
++ _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6, _UC -6,
++ _UC -5, _UC -5, _UC -5, _UC -5, _UC -5, _UC -5, _UC -5, _UC -5, _UC -5, _UC -5, _UC -5, _UC -5, _UC -5, _UC -5, _UC -5, _UC -5,
+
+ // state[465 + 2] 0x000080 Byte 2 of 2 (property)
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+@@ -2947,10 +2949,10 @@
+ 208,208,208,208, 5, 6,208, 2, 0, 6, 6, 5,208,208,208, 6,
+
+ // state[480 + 2] 0x00b000 Byte 2 of 3 (relative offsets)
+--20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20,
+--20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20,
+--20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20,
+--20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20,
++_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20, _UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,
++_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20, _UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,
++_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20, _UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,
++_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20, _UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,_UC -20,
+
+ // state[481 + 2] 0x020100 Byte 4 of 4 (property)
+ 2, 6, 5, 6, 5,229, 5,208, 208,208,208,208,208,208,208,229,
+@@ -3043,10 +3045,10 @@
+ 208,208, 5, 5, 5,208,208, 2, 229, 5, 5, 5, 5, 5, 6,208,
+
+ // state[496 + 2] 0x00d000 Byte 2 of 3 (relative offsets)
+--35,-35,-35,-35,-35,-35,-35,-35, -35,-35,-35,-35,-35,-35,-35,-35,
+--35,-35,-35,-35,-35,-35,-35,-35, -35,-35,-35,-35,-35,-35,-34,-33,
+--33,-33,-33,-33,-33,-33,-33,-33, -33,-33,-33,-33,-33,-33,-33,-33,
+--33,-33,-33,-33,-33,-33,-33,-33, -33,-33,-33,-33,-33,-33,-33,-33,
++_UC -35,_UC -35,_UC -35,_UC -35,_UC -35,_UC -35,_UC -35,_UC -35, _UC -35,_UC -35,_UC -35,_UC -35,_UC -35,_UC -35,_UC -35,_UC -35,
++_UC -35,_UC -35,_UC -35,_UC -35,_UC -35,_UC -35,_UC -35,_UC -35, _UC -35,_UC -35,_UC -35,_UC -35,_UC -35,_UC -35,_UC -34,_UC -33,
++_UC -33,_UC -33,_UC -33,_UC -33,_UC -33,_UC -33,_UC -33,_UC -33, _UC -33,_UC -33,_UC -33,_UC -33,_UC -33,_UC -33,_UC -33,_UC -33,
++_UC -33,_UC -33,_UC -33,_UC -33,_UC -33,_UC -33,_UC -33,_UC -33, _UC -33,_UC -33,_UC -33,_UC -33,_UC -33,_UC -33,_UC -33,_UC -33,
+
+ // state[497 + 2] 0x0204c0 Byte 4 of 4 (property)
+ 2, 2, 5, 5, 5, 2,208, 2, 5, 5, 6,208,208, 5, 5, 5,
+@@ -3139,10 +3141,10 @@
+ 208,208, 5, 5, 5, 5, 6, 6, 208,208, 2,208,208,208,208,208,
+
+ // state[512 + 2] 0x00f000 Byte 2 of 3 (relative offsets)
+--47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-47,-47,-47,
+--47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-47,-47,-47,
+--47,-47,-47,-47,-46,-45,-44,-43, -42,-41,-44,-40,-47,-47,-47,-47,
+--47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-39,-38,-37,
++_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47, _UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,
++_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47, _UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,
++_UC -47,_UC -47,_UC -47,_UC -47,_UC -46,_UC -45,_UC -44,_UC -43, _UC -42,_UC -41,_UC -44,_UC -40,_UC -47,_UC -47,_UC -47,_UC -47,
++_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -47, _UC -47,_UC -47,_UC -47,_UC -47,_UC -47,_UC -39,_UC -38,_UC -37,
+
+ // state[513 + 2] 0x020880 Byte 4 of 4 (property)
+ 5, 5, 5, 6,208,208,208,208, 208,208, 5, 5, 6, 6,208,208,
+@@ -3235,10 +3237,10 @@
+ 5, 6,208,218,208,208,208,218, 208, 6,227,229, 6, 6, 6,208,
+
+ // state[528 + 2] 0x020000 Byte 3 of 4 (relative offsets)
+--52,-51,-50,-49,-47,-46,-45,-44, -43,-42,-41,-40,-39,-38,-37,-36,
+--35,-34,-33,-31,-30,-29,-28,-27, -26,-25,-24,-23,-22,-21,-20,-19,
+--18,-17,-15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2,
+- -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
++_UC -52,_UC -51,_UC -50, _UC -49,_UC -47,_UC -46,_UC -45,_UC -44, _UC -43,_UC -42,_UC -41,_UC -40,_UC -39,_UC -38,_UC -37,_UC -36,
++_UC -35,_UC -34,_UC -33,_UC -31,_UC -30,_UC -29,_UC -28,_UC -27, _UC -26,_UC -25,_UC -24,_UC -23,_UC -22,_UC -21,_UC -20,_UC -19,
++_UC -18,_UC -17,_UC -15,_UC -14,_UC -13,_UC -12,_UC -11,_UC -10, _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2,
++ _UC -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+
+ // state[529 + 2] 0x020c40 Byte 4 of 4 (property)
+ 227, 5, 5, 5, 2, 2, 2, 2, 213, 2, 2, 2, 2, 2,208, 6,
+@@ -3427,7 +3429,7 @@
+ 208,208,208,208,208,208,208,208, 208, 6, 6, 6, 6, 2, 5, 5,
+
+ // state[560 + 2] 0x021000 Byte 3 of 4 (relative offsets)
+--16,-15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1,
++_UC -16,_UC -15,_UC -14,_UC -13,_UC -12,_UC -11,_UC -10, _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+@@ -3811,7 +3813,7 @@
+ 5, 5, 5, 6, 6, 6, 5,208, 208,229,208,208, 5, 5, 5, 5,
+
+ // state[624 + 2] 0x022000 Byte 3 of 4 (relative offsets)
+--15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1,
++_UC -15,_UC -14,_UC -13,_UC -12,_UC -11,_UC -10, _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+@@ -4195,7 +4197,7 @@
+ 6, 6, 4, 5,208,208,208,208, 208,208,229, 6, 5, 6, 6, 6,
+
+ // state[688 + 2] 0x023000 Byte 3 of 4 (relative offsets)
+--14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2,
++_UC -14,_UC -13,_UC -12,_UC -11,_UC -10, _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+@@ -4579,7 +4581,7 @@
+ 5, 5, 5, 5, 5, 5, 5, 6, 208,208,208,208,208,208, 6, 6,
+
+ // state[752 + 2] 0x024000 Byte 3 of 4 (relative offsets)
+--13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3,
++_UC -13,_UC -12,_UC -11,_UC -10, _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+@@ -4963,7 +4965,7 @@
+ 229, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 2, 2, 6,229,
+
+ // state[816 + 2] 0x025000 Byte 3 of 4 (relative offsets)
+--12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4,
++_UC -12,_UC -11,_UC -10, _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+@@ -5347,7 +5349,7 @@
+ 6, 6, 6, 5, 5, 5, 5, 6, 6, 6, 3, 6,229,208,208,229,
+
+ // state[880 + 2] 0x026000 Byte 3 of 4 (relative offsets)
+--11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5,
++_UC -11,_UC -10, _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+@@ -5731,7 +5733,7 @@
+ 208, 6, 6,208,208,208,208,208, 6, 6, 6,216, 5, 5, 5, 5,
+
+ // state[944 + 2] 0x027000 Byte 3 of 4 (relative offsets)
+--10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6,
++_UC -10, _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+@@ -6115,7 +6117,7 @@
+ 5, 5, 5, 6,208,208, 6, 6, 208,229,208,208,208, 5, 5, 5,
+
+ // state[1008 + 2] 0x028000 Byte 3 of 4 (relative offsets)
+- -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7,
++ _UC -9, _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+@@ -6499,7 +6501,7 @@
+ 208,208, 5, 5, 6,208,208, 5, 208,208,208, 6,208, 6,208,208,
+
+ // state[1072 + 2] 0x029000 Byte 3 of 4 (relative offsets)
+- -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8,
++ _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+@@ -6883,7 +6885,7 @@
+ 229,229,229,229,208,208,208,229, 208,208,208,229, 0,229,208,208,
+
+ // state[1136 + 2] 0x02a000 Byte 3 of 4 (relative offsets)
+- -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9,
++ _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+@@ -7075,10 +7077,10 @@
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+
+ // state[1168 + 2] 0x02f000 Byte 3 of 4 (relative offsets)
+- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
+- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
+- -8, -7, -6, -5, -4, -3, -2, -1, 1, -9, -9, -9, -9, -9, -9, -9,
+- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
++ _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9,
++ _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9,
++ _UC -8, _UC -7, _UC -6, _UC -5, _UC -4, _UC -3, _UC -2, _UC -1, 1, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9,
++ _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9, _UC -9,
+
+ // state[1169 + 2] 0x02fa00 Byte 4 of 4 (property)
+ 217, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,217, 5, 5,
+@@ -7127,7 +7129,7 @@
+ #undef D__
+ #undef RJA
+
+-// Table has 75008 bytes, Hash = E40D-2DFE
++// Table has 75008 bytes, Hash = E40D_UC -2DFE
+
+ } // End namespace CLD2
+
+::::::::::::::
+NodeFilter.idl.patch
+::::::::::::::
+--- ./third_party/WebKit/Source/core/dom/NodeFilter.idl 2015-03-03 22:10:29.769371589 -0500
++++ ./third_party/WebKit/Source/core/dom/NodeFilter.idl 2015-04-29 09:07:58.968615515 -0400
+@@ -32,7 +32,7 @@
+ const short FILTER_SKIP = 3;
+
+ // Constants for whatToShow
+- const unsigned long SHOW_ALL = 0xFFFFFFFF;
++ const unsigned long SHOW_ALL = 256;
+ const unsigned long SHOW_ELEMENT = 0x1;
+ const unsigned long SHOW_ATTRIBUTE = 0x2; // historical
+ const unsigned long SHOW_TEXT = 0x4;
+::::::::::::::
+WebGL2RenderingContextBase.idl.patch
+::::::::::::::
+--- ./third_party/WebKit/Source/core/html/canvas/WebGL2RenderingContextBase.idl 2015-04-28 20:57:21.310895273 -0400
++++ ./third_party/WebKit/Source/core/html/canvas/WebGL2RenderingContextBase.idl 2015-04-29 09:39:43.785081387 -0400
+@@ -259,7 +259,7 @@
+ const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
+ const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
+ const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
+- const GLenum INVALID_INDEX = 0xFFFFFFFF;
++ const GLenum INVALID_INDEX = 256;
+ const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
+ const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
+ const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111;
+@@ -308,7 +308,7 @@
+ const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF;
+
+ // FIXME: This currently differs from the WebGL2 spec.
+- const GLuint TIMEOUT_IGNORED = 0xFFFFFFFF;
++ const GLuint TIMEOUT_IGNORED = 256;
+
+ /* WebGL-specific enums */
+ const GLenum MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247;
+::::::::::::::
+NodeFilter.h.patch
+::::::::::::::
+--- ./third_party/WebKit/Source/core/dom/NodeFilter.h 2015-02-26 20:53:10.945296273 -0500
++++ ./third_party/WebKit/Source/core/dom/NodeFilter.h 2015-04-29 21:21:52.032029064 -0400
+@@ -52,7 +52,7 @@
+ * to the value of NodeType for the equivalent node type.
+ */
+ enum {
+- SHOW_ALL = 0xFFFFFFFF,
++ SHOW_ALL = 256,
+ SHOW_ELEMENT = 0x00000001,
+ SHOW_ATTRIBUTE = 0x00000002,
+ SHOW_TEXT = 0x00000004,
diff --git a/testing/chromium/musl-fixes.patch b/testing/chromium/musl-fixes.patch
new file mode 100644
index 0000000000..049a06b8c8
--- /dev/null
+++ b/testing/chromium/musl-fixes.patch
@@ -0,0 +1,199 @@
+--- ./third_party/lss/linux_syscall_support.h.orig
++++ ./third_party/lss/linux_syscall_support.h
+@@ -1127,6 +1127,12 @@
+ #ifndef __NR_fallocate
+ #define __NR_fallocate 285
+ #endif
++
++#undef __NR_pread
++#define __NR_pread __NR_pread64
++#undef __NR_pwrite
++#define __NR_pwrite __NR_pwrite64
++
+ /* End of x86-64 definitions */
+ #elif defined(__mips__)
+ #if _MIPS_SIM == _MIPS_SIM_ABI32
+--- ./breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc.orig
++++ ./breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+@@ -49,7 +49,7 @@
+ }
+
+ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+- const struct _libc_fpstate* fp) {
++ const struct _fpstate* fp) {
+ const greg_t* regs = uc->uc_mcontext.gregs;
+
+ out->context_flags = MD_CONTEXT_X86_FULL |
+@@ -97,7 +97,7 @@
+ }
+
+ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+- const struct _libc_fpstate* fpregs) {
++ const struct _fpstate* fpregs) {
+ const greg_t* regs = uc->uc_mcontext.gregs;
+
+ out->context_flags = MD_CONTEXT_AMD64_FULL;
+--- ./breakpad/src/client/linux/dump_writer_common/ucontext_reader.h.orig
++++ ./breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
+@@ -50,7 +50,7 @@
+ // info: the collection of register structures.
+ #if defined(__i386__) || defined(__x86_64)
+ static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
+- const struct _libc_fpstate* fp);
++ const struct _fpstate* fp);
+ #elif defined(__aarch64__)
+ static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ const struct fpsimd_context* fpregs);
+--- ./breakpad/src/client/linux/minidump_writer/minidump_writer.h.orig
++++ ./breakpad/src/client/linux/minidump_writer/minidump_writer.h
+@@ -48,7 +48,7 @@
+ #if defined(__aarch64__)
+ typedef struct fpsimd_context fpstate_t;
+ #elif !defined(__ARM_EABI__) && !defined(__mips__)
+-typedef struct _libc_fpstate fpstate_t;
++typedef struct _fpstate fpstate_t;
+ #endif
+
+ // These entries store a list of memory regions that the client wants included
+--- ./breakpad/src/common/linux/elf_core_dump.h.orig
++++ ./breakpad/src/common/linux/elf_core_dump.h
+@@ -36,6 +36,7 @@
+ #include <elf.h>
+ #include <link.h>
+ #include <stddef.h>
++#include <limits.h>
+
+ #include "common/memory_range.h"
+
+@@ -51,9 +52,9 @@
+ typedef ElfW(Phdr) Phdr;
+ typedef ElfW(Word) Word;
+ typedef ElfW(Addr) Addr;
+-#if __WORDSIZE == 32
++#if ULONG_MAX == 0xffffffff
+ static const int kClass = ELFCLASS32;
+-#elif __WORDSIZE == 64
++#elif ULONG_MAX == 0xffffffffffffffff
+ static const int kClass = ELFCLASS64;
+ #else
+ #error "Unsupported __WORDSIZE for ElfCoreDump."
+--- ./sandbox/linux/suid/process_util.h.orig
++++ ./sandbox/linux/suid/process_util.h
+@@ -11,6 +11,14 @@
+ #include <stdbool.h>
+ #include <sys/types.h>
+
++// Some additional functions
++# define TEMP_FAILURE_RETRY(expression) \
++ (__extension__ \
++ ({ long int __result; \
++ do __result = (long int) (expression); \
++ while (__result == -1L && errno == EINTR); \
++ __result; }))
++
+ // This adjusts /proc/process/oom_score_adj so the Linux OOM killer
+ // will prefer certain process types over others. The range for the
+ // adjustment is [-1000, 1000], with [0, 1000] being user accessible.
+--- ./sandbox/linux/seccomp-bpf/trap.cc.orig
++++ ./sandbox/linux/seccomp-bpf/trap.cc
+@@ -156,7 +156,7 @@
+ // most versions of glibc don't include this information in siginfo_t. So,
+ // we need to explicitly copy it into a arch_sigsys structure.
+ struct arch_sigsys sigsys;
+- memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
++ memcpy(&sigsys, &info->__si_fields, sizeof(sigsys));
+
+ #if defined(__mips__)
+ // When indirect syscall (syscall(__NR_foo, ...)) is made on Mips, the
+--- ./net/base/dns_reloader.cc.orig
++++ ./net/base/dns_reloader.cc
+@@ -5,7 +5,7 @@
+ #include "net/base/dns_reloader.h"
+
+ #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
+- !defined(OS_ANDROID)
++ !defined(OS_ANDROID) && !defined(_GNU_SOURCE)
+
+ #include <resolv.h>
+
+--- ./net/dns/dns_config_service_posix.cc.orig
++++ ./net/dns/dns_config_service_posix.cc
+@@ -116,7 +116,7 @@
+ ConfigParsePosixResult ReadDnsConfig(DnsConfig* config) {
+ ConfigParsePosixResult result;
+ config->unhandled_options = false;
+-#if defined(OS_OPENBSD)
++#if defined(OS_OPENBSD) || defined(_GNU_SOURCE)
+ // Note: res_ninit in glibc always returns 0 and sets RES_INIT.
+ // res_init behaves the same way.
+ memset(&_res, 0, sizeof(_res));
+--- ./third_party/ffmpeg/libavutil/cpu.c.orig
++++ ./third_party/ffmpeg/libavutil/cpu.c
+@@ -38,7 +38,6 @@
+ #include <sys/param.h>
+ #endif
+ #include <sys/types.h>
+-#include <sys/sysctl.h>
+ #endif
+ #if HAVE_UNISTD_H
+ #include <unistd.h>
+--- ./third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp.orig
++++ ./third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp
+@@ -58,7 +58,7 @@
+ // FIXME: On Mac OSX and Linux, this method cannot estimate stack size
+ // correctly for the main thread.
+
+-#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD)
++#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD)
+ // pthread_getattr_np() can fail if the thread is not invoked by
+ // pthread_create() (e.g., the main thread of webkit_unit_tests).
+ // In this case, this method returns 0 and the caller must handle it.
+@@ -105,7 +105,7 @@
+
+ void* StackFrameDepth::getStackStart()
+ {
+-#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD)
++#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD)
+ pthread_attr_t attr;
+ int error;
+ #if OS(FREEBSD)
+--- ./chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig
++++ ./chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
+@@ -26,7 +26,7 @@
+ #include "ui/events/event_switches.h"
+ #include "ui/gfx/screen.h"
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if defined(__GLIBC__) && !defined(OS_CHROMEOS)
+ #include <gnu/libc-version.h>
+
+ #include "base/version.h"
+--- ./chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig
++++ ./chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
+@@ -116,7 +116,7 @@
+ }
+
+ void RecordLinuxGlibcVersion() {
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if defined(__GLIBC__) && !defined(OS_CHROMEOS)
+ Version version(gnu_get_libc_version());
+
+ UMALinuxGlibcVersion glibc_version_result = UMA_LINUX_GLIBC_NOT_PARSEABLE;
+@@ -140,7 +140,7 @@
+ #endif
+ }
+
+-#if defined(USE_X11) && !defined(OS_CHROMEOS)
++#if defined(__GLIBC__) && defined(USE_X11) && !defined(OS_CHROMEOS)
+ UMALinuxWindowManager GetLinuxWindowManager() {
+ switch (ui::GuessWindowManager()) {
+ case ui::WM_UNKNOWN:
+@@ -239,7 +239,7 @@
+
+ void ChromeBrowserMainExtraPartsMetrics::PostBrowserStart() {
+ RecordLinuxGlibcVersion();
+-#if defined(USE_X11) && !defined(OS_CHROMEOS)
++#if defined(__GLIBC__) && defined(USE_X11) && !defined(OS_CHROMEOS)
+ UMA_HISTOGRAM_ENUMERATION("Linux.WindowManager",
+ GetLinuxWindowManager(),
+ UMA_LINUX_WINDOW_MANAGER_COUNT);
diff --git a/testing/chromium/no-execinfo.patch b/testing/chromium/no-execinfo.patch
new file mode 100644
index 0000000000..bc5eefcd55
--- /dev/null
+++ b/testing/chromium/no-execinfo.patch
@@ -0,0 +1,103 @@
+--- ./base/debug/stack_trace_posix.cc.orig
++++ ./base/debug/stack_trace_posix.cc
+@@ -22,7 +22,7 @@
+ #if defined(__GLIBCXX__)
+ #include <cxxabi.h>
+ #endif
+-#if !defined(__UCLIBC__)
++#if defined(HAVE_BACKTRACE)
+ #include <execinfo.h>
+ #endif
+
+@@ -73,7 +73,7 @@
+ // Note: code in this function is NOT async-signal safe (std::string uses
+ // malloc internally).
+
+-#if defined(__GLIBCXX__) && !defined(__UCLIBC__)
++#if defined(__GLIBCXX__) && defined(HAVE_BACKTRACE)
+
+ std::string::size_type search_from = 0;
+ while (search_from < text->size()) {
+@@ -169,7 +169,7 @@
+
+ handler->HandleOutput("\n");
+ }
+-#elif !defined(__UCLIBC__)
++#elif defined(HAVE_BACKTRACE)
+ bool printed = false;
+
+ // Below part is async-signal unsafe (uses malloc), so execute it only
+@@ -738,7 +738,7 @@
+ // NOTE: This code MUST be async-signal safe (it's used by in-process
+ // stack dumping signal handler). NO malloc or stdio is allowed here.
+
+-#if !defined(__UCLIBC__)
++#if defined(HAVE_BACKTRACE)
+ // Though the backtrace API man page does not list any possible negative
+ // return values, we take no chance.
+ count_ = base::saturated_cast<size_t>(backtrace(trace_, arraysize(trace_)));
+@@ -751,13 +751,13 @@
+ // NOTE: This code MUST be async-signal safe (it's used by in-process
+ // stack dumping signal handler). NO malloc or stdio is allowed here.
+
+-#if !defined(__UCLIBC__)
++#if defined(HAVE_BACKTRACE)
+ PrintBacktraceOutputHandler handler;
+ ProcessBacktrace(trace_, count_, &handler);
+ #endif
+ }
+
+-#if !defined(__UCLIBC__)
++#if defined(HAVE_BACKTRACE)
+ void StackTrace::OutputToStream(std::ostream* os) const {
+ StreamBacktraceOutputHandler handler(os);
+ ProcessBacktrace(trace_, count_, &handler);
+--- ./third_party/WebKit/Source/wtf/Assertions.cpp.orig
++++ ./third_party/WebKit/Source/wtf/Assertions.cpp
+@@ -61,7 +61,7 @@
+ #define HAVE_ISDEBUGGERPRESENT 1
+ #endif
+
+-#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__))
++#if defined(HAVE_BACKTRACE)
+ #include <cxxabi.h>
+ #include <dlfcn.h>
+ #include <execinfo.h>
+@@ -222,7 +222,7 @@
+
+ void WTFGetBacktrace(void** stack, int* size)
+ {
+-#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__))
++#if defined(HAVE_BACKTRACE)
+ *size = backtrace(stack, *size);
+ #elif OS(WIN)
+ // The CaptureStackBackTrace function is available in XP, but it is not defined
+@@ -260,7 +260,7 @@
+ : m_name(0)
+ , m_cxaDemangled(0)
+ {
+-#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__))
++#if defined(HAVE_BACKTRACE)
+ Dl_info info;
+ if (!dladdr(addr, &info) || !info.dli_sname)
+ return;
+--- ./third_party/webrtc/base/checks.cc.orig
++++ ./third_party/webrtc/base/checks.cc
+@@ -16,7 +16,7 @@
+ #include <cstdio>
+ #include <cstdlib>
+
+-#if defined(__GLIBCXX__) && !defined(__UCLIBC__)
++#if defined(HAVE_BACKTRACE)
+ #include <cxxabi.h>
+ #include <execinfo.h>
+ #endif
+@@ -55,7 +55,7 @@
+ // to get usable symbols on Linux. This is copied from V8. Chromium has a more
+ // advanced stace trace system; also more difficult to copy.
+ void DumpBacktrace() {
+-#if defined(__GLIBCXX__) && !defined(__UCLIBC__)
++#if defined(HAVE_BACKTRACE)
+ void* trace[100];
+ int size = backtrace(trace, sizeof(trace) / sizeof(*trace));
+ char** symbols = backtrace_symbols(trace, size);
diff --git a/testing/chromium/no-getcontext.patch b/testing/chromium/no-getcontext.patch
new file mode 100644
index 0000000000..4b87c6d170
--- /dev/null
+++ b/testing/chromium/no-getcontext.patch
@@ -0,0 +1,19 @@
+--- ./breakpad/src/client/linux/handler/exception_handler.cc.orig
++++ ./breakpad/src/client/linux/handler/exception_handler.cc
+@@ -460,7 +460,6 @@
+ siginfo.si_code = SI_USER;
+ siginfo.si_pid = getpid();
+ struct ucontext context;
+- getcontext(&context);
+ return HandleSignal(sig, &siginfo, &context);
+ }
+
+@@ -628,8 +627,6 @@
+ sys_prctl(PR_SET_DUMPABLE, 1, 0, 0, 0);
+
+ CrashContext context;
+- int getcontext_result = getcontext(&context.context);
+- if (getcontext_result)
+ return false;
+
+ #if defined(__i386__)
diff --git a/testing/chromium/no-mallinfo.patch b/testing/chromium/no-mallinfo.patch
new file mode 100644
index 0000000000..865db77dcb
--- /dev/null
+++ b/testing/chromium/no-mallinfo.patch
@@ -0,0 +1,11 @@
+--- ./content/child/content_child_helpers.cc.orig
++++ ./content/child/content_child_helpers.cc
+@@ -15,7 +15,7 @@
+
+ namespace content {
+
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(__GLIBC__) || defined(OS_ANDROID)
+ size_t GetMemoryUsageKB() {
+ struct mallinfo minfo = mallinfo();
+ uint64_t mem_usage =
diff --git a/testing/chromium/resolver.patch b/testing/chromium/resolver.patch
new file mode 100644
index 0000000000..fe1141ecbe
--- /dev/null
+++ b/testing/chromium/resolver.patch
@@ -0,0 +1,24 @@
+--- ./net/dns/host_resolver_impl.cc.orig
++++ ./net/dns/host_resolver_impl.cc
+@@ -1881,8 +1881,7 @@
+ #endif
+ NetworkChangeNotifier::AddIPAddressObserver(this);
+ NetworkChangeNotifier::AddDNSObserver(this);
+-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
+- !defined(OS_ANDROID)
++#if defined(__GLIBC__)
+ EnsureDnsReloaderInit();
+ #endif
+
+--- ./net/dns/host_resolver_proc.cc.orig
++++ ./net/dns/host_resolver_proc.cc
+@@ -193,8 +193,7 @@
+ // Restrict result set to only this socket type to avoid duplicates.
+ hints.ai_socktype = SOCK_STREAM;
+
+-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
+- !defined(OS_ANDROID)
++#if defined(__GLIBC__)
+ DnsReloaderMaybeReload();
+ #endif
+ int err = getaddrinfo(host.c_str(), NULL, &hints, &ai);