diff options
author | Carlo Landmeter <clandmeter@gmail.com> | 2015-07-17 10:19:30 +0200 |
---|---|---|
committer | Carlo Landmeter <clandmeter@gmail.com> | 2015-07-17 10:19:30 +0200 |
commit | 325d3df3ef1dde868865a266b88df7cdfb909289 (patch) | |
tree | 9e0eafe6f544a228931ea3cde76df2716724fc2b /main/chromium | |
parent | 6e428c0d94cbff633df9bbb44f91a5db2f073833 (diff) | |
download | aports-325d3df3ef1dde868865a266b88df7cdfb909289.tar.bz2 aports-325d3df3ef1dde868865a266b88df7cdfb909289.tar.xz |
testing/chromium: move to main and rebuild against eudev
Diffstat (limited to 'main/chromium')
-rw-r--r-- | main/chromium/APKBUILD | 266 | ||||
-rw-r--r-- | main/chromium/chromium-hotwording-2403.patch | 147 | ||||
-rw-r--r-- | main/chromium/chromium-launcher.sh | 39 | ||||
-rw-r--r-- | main/chromium/chromium-system-jinja-r7.patch | 35 | ||||
-rw-r--r-- | main/chromium/chromium-system-libvpx-r0.patch | 10 | ||||
-rw-r--r-- | main/chromium/chromium-widevine.patch | 12 | ||||
-rw-r--r-- | main/chromium/chromium.conf | 5 | ||||
-rw-r--r-- | main/chromium/chromium.desktop | 10 | ||||
-rw-r--r-- | main/chromium/gcc5-fixes.patch | 402 | ||||
-rw-r--r-- | main/chromium/google-api.keys | 10 | ||||
-rw-r--r-- | main/chromium/issue1107683002_20001_30001.patch | 14 | ||||
-rw-r--r-- | main/chromium/musl-fixes.patch | 199 | ||||
-rw-r--r-- | main/chromium/musl-sandbox.patch | 66 | ||||
-rw-r--r-- | main/chromium/no-execinfo.patch | 103 | ||||
-rw-r--r-- | main/chromium/no-getcontext.patch | 19 | ||||
-rw-r--r-- | main/chromium/no-mallinfo.patch | 11 | ||||
-rw-r--r-- | main/chromium/resolver.patch | 24 |
17 files changed, 1372 insertions, 0 deletions
diff --git a/main/chromium/APKBUILD b/main/chromium/APKBUILD new file mode 100644 index 0000000000..2986d2f736 --- /dev/null +++ b/main/chromium/APKBUILD @@ -0,0 +1,266 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=chromium +pkgver=43.0.2357.132 +pkgrel=5 +pkgdesc="chromium web browser" +url="http://www.chromium.org/" +arch="x86_64" +license="BSD" +depends="xdg-utils" +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 + bsd-compat-headers openssl-dev libre2-dev jsoncpp-dev minizip-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 + chromium-launcher.sh + chromium.conf + chromium.desktop + google-api.keys + + gcc5-fixes.patch + musl-fixes.patch + no-execinfo.patch + resolver.patch + no-mallinfo.patch + no-getcontext.patch + musl-sandbox.patch + + chromium-hotwording-2403.patch + chromium-system-libvpx-r0.patch + chromium-system-jinja-r7.patch + chromium-widevine.patch + issue1107683002_20001_30001.patch + " + +_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_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 + + ############################################################## + # 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 # + ############################################################## + eval "$(base64 -d < $srcdir/google-api.keys)" + + 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" + local bin pak + + for bin in chrome libffmpegsumo.so natives_blob.bin snapshot_blob.bin; do + install -Dm755 out/Release/$bin \ + "$pkgdir"/usr/lib/$pkgname/$bin || return 1 + done + + install -Dm4755 "$_builddir"/out/Release/chrome_sandbox \ + "$pkgdir"/usr/lib/$pkgname/chrome-sandbox || return 1 + + install -Dm755 "$_builddir"/out/Release/chromedriver \ + "$pkgdir"/usr/lib/$pkgname/chromedriver || return 1 + + for pak in out/Release/*.pak; do + install -Dm644 $pak \ + "$pkgdir"/usr/lib/$pkgname/${pak##*/} || return 1 + done + + #TODO do we really need bash for this simple script? + install -Dm755 "$srcdir"/chromium-launcher.sh \ + "$pkgdir"/usr/lib/$pkgname/chromium-launcher.sh || return 1 + + install -Dm755 chrome/tools/build/linux/chrome-wrapper \ + "$pkgdir"/usr/lib/$pkgname/chrome-wrapper || 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 + + install -Dm644 out/Release/chrome.1 \ + "$pkgdir"/usr/share/man/man1/chromium.1 || return 1 + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + mkdir -p "$pkgdir"/usr/bin || return 1 + cd "$pkgdir"/usr/bin || return 1 + ln -sf /usr/lib/$pkgname/chromium-launcher.sh \ + chromium-browser || return 1 + ln -sf /usr/lib/$pkgname/chromedriver || return 1 + cd "$_builddir" + + install -Dm644 "$srcdir"/chromium.conf \ + "$pkgdir"/etc/chromium/chromium.conf || return 1 + + install -Dm644 "$srcdir"/chromium.desktop \ + "$pkgdir"/usr/share/applications/chromium.desktop + + for size in 22 24 48 64 128 256; do + install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \ + "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" + done + + for size in 16 32; do + install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \ + "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" + done +} + +md5sums="aba8a1b9945d2c0f203294e43b68cdab chromium-43.0.2357.132.tar.xz +b6d015c1da85aa65ee21bc974c7fc7d2 chromium-launcher.sh +c5aa73a87d4b88cce9f1a680ca691bb6 chromium.conf +2962ac6259e39a797d441daf43aa49c9 chromium.desktop +2d2ee5f22d65c756871301b4a407f4ca google-api.keys +96277e7ddc26c8bdd50fb63eff2f4ce0 gcc5-fixes.patch +1b6076a7fac1d056fd6064f5b1b98320 musl-fixes.patch +00ae59dd9d09c60a116fd0133f9f3a60 no-execinfo.patch +af047840f31e99aa36be04edc3482afd resolver.patch +a11a60155a9faf6ca648aaa06c81f29e no-mallinfo.patch +2c8de771a7c0e5e0e9fc68fa978785f7 no-getcontext.patch +4f22f0d05448c49d6501386523a081ba musl-sandbox.patch +2b7291195c467f8135473e543c1c7dad chromium-hotwording-2403.patch +9a73cf075dc321dfe781f5bed4920d6c chromium-system-libvpx-r0.patch +97b1578585ab600ed9adef4f341ccd80 chromium-system-jinja-r7.patch +de717d6430532f34fe161035dfdafcdf chromium-widevine.patch +eb577b0daae37843d70844020d46f9d5 issue1107683002_20001_30001.patch" +sha256sums="405f52c6649f1d2937952fbcfcd238ba058db7d13edf4705f7027805f3ce1809 chromium-43.0.2357.132.tar.xz +89f1eb19d1ed998a190045ea173959f01faee3490d58a6a34ca3fe21228e569f chromium-launcher.sh +b466559340a36998354a0577325fe533d9e6b74c24a15b7599671171506bf128 chromium.conf +3ae90cea7503d0039de53448ed112b9bc0cb5a09f6b0045506eb777fc23517e5 chromium.desktop +267ba8ff50574e51d2582c4fca9b9e14f7225c1fa064d135cbceff9cef2324ac google-api.keys +ee32d8a89cc51cb71a8d4aa82b196b145f43a2fc3ba9687f9c06c053601d5fe7 gcc5-fixes.patch +ac38e2d1238b7062ee8c99ff7772477fa2d5328a750eab47553687e3782dc7a9 musl-fixes.patch +505a55c28e971e067f189e3a1ce697d711cec82a765d81f78eb49ec1f6df56cf no-execinfo.patch +f16c63d4188fe56732dc6760307795ba4059452c4cf3de1460cbcb2616011511 resolver.patch +3e732ba5bbe324932a06a782bae655003089f5dc52a7bb2b790aa4837e20be8e no-mallinfo.patch +ea79f9a46116c8b56bbc69d226abd9252e4ae4d946ca695203f2298279cc2211 no-getcontext.patch +20fcb99022f3a737dceea7349da61e12a85834c0ab65a02009b6f56acb8b0f07 musl-sandbox.patch +7d20f05bbd2b9ba363b28ed591cd0c770b4d7365a7ca9d20b5f6a268f6af2122 chromium-hotwording-2403.patch +06b26f3459e2f60866eb28803f129c59e064b082eae76126de60463706739f8c chromium-system-libvpx-r0.patch +872f5a38d8263b14308bb117828496a4093d0e6ad755d39d2c5e6857314fe071 chromium-system-jinja-r7.patch +1d1ead77250475228524770e57c17282aff9098c5efc3d7719b0df76229b8874 chromium-widevine.patch +f634567b717568ca2e06b2e10862f31c6cc5a86e09214bc771a94030167ed222 issue1107683002_20001_30001.patch" +sha512sums="077539f267a8a196a251334546219f3459b30dff3e56d2573b011464cef3b60da49243a123834bd59ad32c78d82b6a90fb2cea95f57bf50a440f689b251a4eba chromium-43.0.2357.132.tar.xz +b9a810416dd7a8ffc3a5ced85ad9acebda1665bd08a57eec7b189698cc5f74d2c3fd69044e20fcb83297a43214b2772a1312b2c6122ea0eb716abacf39524d60 chromium-launcher.sh +f6d962b9e4c22dd42183df3db5d3202dab33eccecafb1bf63ca678147289581262db1e5e64cbe8f9c212beefb0a6717bb8d311e497f56b55fe95b8bab2db493f chromium.conf +e182c998a43d22d1c76a86c561619afd1fca8c2be668265ad5e2f81a3806f7a154272cc027a2f8b370fb69446892c69e5967a4be76082325c14245ee7915234c chromium.desktop +2d8237a940ea691bd10b08315429677a587f7ef9692a0cca53bfd066eae82998a6c71f402a8669e9de39f94d7f3280745d1628ea6eac5d76ca7116844d4e0dac google-api.keys +e2390cdeb2a75aad51d5da07819e1375fcf2092535eaa86545b9bc0160eff9e3981f946029ed8fc337df4c56a8b8cc7945821d2636b09e320dea2c8884022a59 gcc5-fixes.patch +febb6a204bcffda8dc3d80e75563710745e383cb30e460db5d8c5ded3d40f8a872461719283260f573be378e085924ddf3af000b0a50b519fafd9f6fc392920e musl-fixes.patch +4f756d3e404033f7a36b38266176b7302f7e2a2e78c9f8b8d362a53a3dbdc675cdaa581393a70c23a29135b34566cf4109513cb13a289dc111bbce65ec065ebd no-execinfo.patch +987f18d37824676e5d874a6fde1099bcc558920e7781de5f34e612411013e4fac9ca421a3cce1ed5f82401c4d54212b6f47a0a856892a78543b8e400a4bb0489 resolver.patch +511a3852d6172c14c651c316f1f874cfd23be0fde1c4285565dfead02e5865a1b240c40e270c940a23c55e2d3f2cfecbf3b5477bf9e6d3cf920d7c60331dc3c3 no-mallinfo.patch +42d9a6ebea2d95cdc169b921cc1a1b846cf500997059fd3084de09e21f00b63b76e60c6124f4af247d402ff5ca3f4bf8867a6f2c78198c05b4273ca01fb29241 no-getcontext.patch +cc61407bae55523fd3d0b43be7cf827cd6a648314a81f8d78f830e60cb215ede6c585d8755e9c870bb98955a4d3679205cbefde6f4efcb0e48469169167823eb musl-sandbox.patch +38dcbae0d9bc63c044d50bd395692007642af705e1bbb9b704f3f349a48e45ca2b7f8495dbafbb4333b8bdb84ac53e5611eba4fe3d4fc7e841b319b4d744c324 chromium-hotwording-2403.patch +fe5801b63e7cb58c4653e6f4542de070cb5bf88e0d99fdd0bb7b45ba928be065ebda41fb1f5fa32f4a55d321b8765df53a977bf2d1418b030846a9e2b2fd1c1d chromium-system-libvpx-r0.patch +10bcc6a467b6766d13b5e41e7b7dcdbd62de7c04daad16c83037e88043032a0c118627029f91ef8a2a57faaaebc8b6f4ee16e8d1fecb5921d0d49efd60a27863 chromium-system-jinja-r7.patch +4a11b46afa8ce84bd23a8c506301b5848ee4291a764f3aed282b8a98706ece16cf9346dec6cc71b1e17812b15f43a5cbc7bc6d38ed4dcc88c12d6fcb03bd9295 chromium-widevine.patch +c2015fd83c1cb659c275d18cc457882c97e53d7a4649effe1d7107325313f50eaabd70e5b562d619fa51b980481b8daa0a15277dc9bf2472941293a8c444ddf2 issue1107683002_20001_30001.patch" diff --git a/main/chromium/chromium-hotwording-2403.patch b/main/chromium/chromium-hotwording-2403.patch new file mode 100644 index 0000000000..a3904ad030 --- /dev/null +++ b/main/chromium/chromium-hotwording-2403.patch @@ -0,0 +1,147 @@ +From c2a0c6df7d468da9864c56f2099aa947b07e2535 Mon Sep 17 00:00:00 2001 +From: amistry <amistry@chromium.org> +Date: Tue, 9 Jun 2015 12:18:39 -0700 +Subject: [PATCH] Add build flag to disable hotwording. + +Hotwording downloads a shared module from the web store containing a NaCl module. There is a desire to build and distribute Chromium without this happening. This change adds an "enable_hotwording" build flag that is enabled by default, but can be disabled at compile time. + +BUG=491435 + +Review URL: https://codereview.chromium.org/1160243004 + +Cr-Commit-Position: refs/heads/master@{#333548} + +Conflicts: + chrome/browser/search/hotword_service.cc +--- + build/common.gypi | 4 ++++ + chrome/browser/BUILD.gn | 9 +++++++++ + chrome/browser/search/hotword_service.cc | 4 ++++ + chrome/browser/search/hotword_service_unittest.cc | 4 ++++ + chrome/chrome_browser.gypi | 3 +++ + 5 files changed, 24 insertions(+) + +diff --git a/build/common.gypi b/build/common.gypi +index 339cc75..ddb075c 100644 +--- a/build/common.gypi ++++ b/build/common.gypi +@@ -381,6 +381,9 @@ + # Web speech is enabled by default. Set to 0 to disable. + 'enable_web_speech%': 1, + ++ # 'Ok Google' hotwording is enabled by default. Set to 0 to disable. ++ 'enable_hotwording%': 1, ++ + # Notifications are compiled in by default. Set to 0 to disable. + 'notifications%' : 1, + +@@ -1134,6 +1137,7 @@ + 'configuration_policy%': '<(configuration_policy)', + 'safe_browsing%': '<(safe_browsing)', + 'enable_web_speech%': '<(enable_web_speech)', ++ 'enable_hotwording%': '<(enable_hotwording)', + 'notifications%': '<(notifications)', + 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)', + 'mac_want_real_dsym%': '<(mac_want_real_dsym)', +diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn +index 5152d83..6ccb079 100644 +--- a/chrome/browser/BUILD.gn ++++ b/chrome/browser/BUILD.gn +@@ -18,6 +18,11 @@ if (is_desktop_linux) { + import("//build/config/linux/pkg_config.gni") + } + ++declare_args() { ++ # 'Ok Google' hotwording is enabled. ++ enable_hotwording = true ++} ++ + about_credits_file = "$target_gen_dir/about_credits.html" + additional_modules_list_file = + "$root_gen_dir/chrome/browser/internal/additional_modules_list.txt" +@@ -455,6 +460,10 @@ source_set("browser") { + } + } + ++ if (enable_hotwording) { ++ defines += [ "ENABLE_HOTWORDING" ] ++ } ++ + if (is_linux) { + deps += [ + "//device/media_transfer_protocol", +diff --git a/chrome/browser/search/hotword_service.cc b/chrome/browser/search/hotword_service.cc +index 0cf3c60..e93789b 100644 +--- a/chrome/browser/search/hotword_service.cc ++++ b/chrome/browser/search/hotword_service.cc +@@ -642,6 +642,7 @@ bool HotwordService::IsServiceAvailable() { + } + + bool HotwordService::IsHotwordAllowed() { ++#if defined(ENABLE_HOTWORDING) + std::string group = base::FieldTrialList::FindFullName( + hotword_internal::kHotwordFieldTrialName); + // Allow hotwording by default, and only disable if the field trial has been +@@ -650,6 +651,9 @@ bool HotwordService::IsHotwordAllowed() { + return false; + + return DoesHotwordSupportLanguage(profile_); ++#else ++ return false; ++#endif + } + + bool HotwordService::IsOptedIntoAudioLogging() { +diff --git a/chrome/browser/search/hotword_service_unittest.cc b/chrome/browser/search/hotword_service_unittest.cc +index a3aef47..b0b5927 100644 +--- a/chrome/browser/search/hotword_service_unittest.cc ++++ b/chrome/browser/search/hotword_service_unittest.cc +@@ -216,6 +216,7 @@ TEST_P(HotwordServiceTest, IsHotwordAllowedInvalidFieldTrial) { + } + + TEST_P(HotwordServiceTest, IsHotwordAllowedLocale) { ++#if defined(ENABLE_HOTWORDING) + TestingProfile::Builder profile_builder; + scoped_ptr<TestingProfile> profile = profile_builder.Build(); + +@@ -246,6 +247,7 @@ TEST_P(HotwordServiceTest, IsHotwordAllowedLocale) { + Profile* otr_profile = profile->GetOffTheRecordProfile(); + SetApplicationLocale(otr_profile, "en"); + EXPECT_FALSE(HotwordServiceFactory::IsHotwordAllowed(otr_profile)); ++#endif // defined(ENABLE_HOTWORDING) + } + + TEST_P(HotwordServiceTest, ShouldReinstallExtension) { +@@ -302,6 +304,7 @@ TEST_P(HotwordServiceTest, PreviousLanguageSetOnInstall) { + } + + TEST_P(HotwordServiceTest, UninstallReinstallTriggeredCorrectly) { ++#if defined(ENABLE_HOTWORDING) + InitializeEmptyExtensionService(); + service_->Init(); + +@@ -372,6 +375,7 @@ TEST_P(HotwordServiceTest, UninstallReinstallTriggeredCorrectly) { + EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile())); + EXPECT_FALSE(hotword_service->MaybeReinstallHotwordExtension()); + EXPECT_EQ(1, hotword_service->uninstall_count()); // no change ++#endif // defined(ENABLE_HOTWORDING) + } + + TEST_P(HotwordServiceTest, DisableAlwaysOnOnLanguageChange) { +diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi +index 6d323eb..1aaedba 100644 +--- a/chrome/chrome_browser.gypi ++++ b/chrome/chrome_browser.gypi +@@ -3529,6 +3529,9 @@ + ['enable_session_service==1', { + 'sources': [ '<@(chrome_browser_session_service_sources)' ], + }], ++ ['enable_hotwording==1', { ++ 'defines': [ 'ENABLE_HOTWORDING' ], ++ }], + ['OS!="android" and OS!="ios" and chromeos==0', { + 'sources': [ '<@(chrome_browser_desktop_sources)' ], + }], +-- +2.4.4 + diff --git a/main/chromium/chromium-launcher.sh b/main/chromium/chromium-launcher.sh new file mode 100644 index 0000000000..b001d6fe59 --- /dev/null +++ b/main/chromium/chromium-launcher.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +# Allow the user to override command-line flags, bug #357629. +# This is based on Debian's chromium-browser package, and is intended +# to be consistent with Debian. +for f in /etc/chromium/*.conf; do + [ -f ${f} ] && . "${f}" +done + +# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system +# default CHROMIUM_FLAGS (from /etc/chromium/default). +CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-"$CHROMIUM_FLAGS"} + +# Let the wrapped binary know that it has been run through the wrapper +export CHROME_WRAPPER=$(readlink -f "$0") + +PROGDIR=${CHROME_WRAPPER%/*} + +case ":$PATH:" in + *:$PROGDIR:*) + # $PATH already contains $PROGDIR + ;; + *) + # Append $PROGDIR to $PATH + export PATH="$PATH:$PROGDIR" + ;; +esac + +if [ $(id -u) -eq 0 ] && [ $(stat -c %u -L ${XDG_CONFIG_HOME:-${HOME}}) -eq 0 ]; then + # Running as root with HOME owned by root. + # Pass --user-data-dir to work around upstream failsafe. + CHROMIUM_FLAGS="--user-data-dir=${XDG_CONFIG_HOME:-${HOME}/.config}/chromium + ${CHROMIUM_FLAGS}" +fi + +# Set the .desktop file name +export CHROME_DESKTOP="chromium.desktop" + +exec "$PROGDIR/chrome" --extra-plugin-dir=/usr/lib/nsbrowser/plugins ${CHROMIUM_FLAGS} "$@" diff --git a/main/chromium/chromium-system-jinja-r7.patch b/main/chromium/chromium-system-jinja-r7.patch new file mode 100644 index 0000000000..d8e7464c6e --- /dev/null +++ b/main/chromium/chromium-system-jinja-r7.patch @@ -0,0 +1,35 @@ +--- ./third_party/WebKit/Source/bindings/scripts/scripts.gyp.orig 2014-08-19 09:55:10.330972228 +0000 ++++ ./third_party/WebKit/Source/bindings/scripts/scripts.gyp 2014-08-19 09:55:26.387286232 +0000 +@@ -54,7 +54,6 @@ + 'actions': [{ + 'action_name': 'cache_jinja_templates', + 'inputs': [ +- '<@(jinja_module_files)', + 'code_generator_v8.py', + '<@(code_generator_template_files)', + ], +--- ./third_party/WebKit/Source/build/scripts/scripts.gypi.orig 2014-08-19 10:00:00.216521733 +0000 ++++ ./third_party/WebKit/Source/build/scripts/scripts.gypi 2014-08-19 10:00:11.464735099 +0000 +@@ -2,10 +2,6 @@ + { + 'variables': { + 'scripts_for_in_files': [ +- # jinja2/__init__.py contains version string, so sufficient as +- # dependency for whole jinja2 package +- '<(DEPTH)/third_party/jinja2/__init__.py', +- '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep + 'hasher.py', + 'in_file.py', + 'in_generator.py', +--- ./third_party/WebKit/Source/bindings/scripts/scripts.gypi.orig 2014-08-19 10:53:02.824618979 +0000 ++++ ./third_party/WebKit/Source/bindings/scripts/scripts.gypi 2014-08-19 10:53:20.784957370 +0000 +@@ -12,9 +12,6 @@ + '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep + ], + 'idl_lexer_parser_files': [ +- # PLY (Python Lex-Yacc) +- '<(DEPTH)/third_party/ply/lex.py', +- '<(DEPTH)/third_party/ply/yacc.py', + # Web IDL lexer/parser (base parser) + '<(DEPTH)/tools/idl_parser/idl_lexer.py', + '<(DEPTH)/tools/idl_parser/idl_node.py', diff --git a/main/chromium/chromium-system-libvpx-r0.patch b/main/chromium/chromium-system-libvpx-r0.patch new file mode 100644 index 0000000000..2f4475d008 --- /dev/null +++ b/main/chromium/chromium-system-libvpx-r0.patch @@ -0,0 +1,10 @@ +--- ./build/linux/unbundle/libvpx.gyp.orig 2015-04-08 09:25:29.605925761 +0000 ++++ ./build/linux/unbundle/libvpx.gyp 2015-04-08 09:27:19.932142216 +0000 +@@ -24,6 +24,7 @@ + 'vpx/vpx_integer.h', + 'vpx/vp8dx.h', + 'vpx/vpx_encoder.h', ++ 'vpx/vpx_frame_buffer.h', + ], + }, + 'includes': [ diff --git a/main/chromium/chromium-widevine.patch b/main/chromium/chromium-widevine.patch new file mode 100644 index 0000000000..5e78817f07 --- /dev/null +++ b/main/chromium/chromium-widevine.patch @@ -0,0 +1,12 @@ +diff -upr chromium-42.0.2311.90.orig/third_party/widevine/cdm/widevine_cdm_version.h chromium-42.0.2311.90/third_party/widevine/cdm/widevine_cdm_version.h +--- chromium-42.0.2311.90.orig/third_party/widevine/cdm/widevine_cdm_version.h 2015-04-15 01:18:59.000000000 +0300 ++++ chromium-42.0.2311.90/third_party/widevine/cdm/widevine_cdm_version.h 2015-04-15 09:09:49.157260050 +0300 +@@ -14,4 +14,8 @@ + // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available + // as a string, e.g., "1.0.123.456"). + ++#include "third_party/widevine/cdm/widevine_cdm_common.h" ++#define WIDEVINE_CDM_AVAILABLE ++#define WIDEVINE_CDM_VERSION_STRING "1.0.000.000" ++ + #endif // WIDEVINE_CDM_VERSION_H_ diff --git a/main/chromium/chromium.conf b/main/chromium/chromium.conf new file mode 100644 index 0000000000..a8b8db37f5 --- /dev/null +++ b/main/chromium/chromium.conf @@ -0,0 +1,5 @@ +# Default settings for chromium. This file is sourced by /bin/sh from +# the chromium launcher. + +# Options to pass to chromium. +#CHROMIUM_FLAGS="" diff --git a/main/chromium/chromium.desktop b/main/chromium/chromium.desktop new file mode 100644 index 0000000000..e5f549bc02 --- /dev/null +++ b/main/chromium/chromium.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Chromium +GenericName=Web Browser +Comment=Access the Internet +Exec=chromium-browser %U +Terminal=false +Icon=chromium +Type=Application +Categories=GTK;Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; diff --git a/main/chromium/gcc5-fixes.patch b/main/chromium/gcc5-fixes.patch new file mode 100644 index 0000000000..63a2a26d95 --- /dev/null +++ b/main/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/main/chromium/google-api.keys b/main/chromium/google-api.keys new file mode 100644 index 0000000000..8cd0f0ab09 --- /dev/null +++ b/main/chromium/google-api.keys @@ -0,0 +1,10 @@ +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMKIyBQbGVhc2UgZG9udCB1c2UgdGhlc2Uga2V5cyBvdXRzaWRlIG9mIEFscGluZSBMaW51 +eCBwcm9qZWN0ICMKIyBZb3UgY2FuIGNyZWF0ZSB5b3VyIG93biBhdDogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICMKIyBodHRwOi8vd3d3LmNocm9taXVtLm9yZy9kZXZlbG9wZXJzL2hv +dy10b3MvYXBpLWtleXMgICAgICAgICMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKX2dvb2dsZV9hcGlfa2V5PSJBSXphU3lDUkk0 +RUdwRHVfQUFISThFMnllbmpWaFdRZHA0RzhpZ2MiCl9nb29nbGVfZGVmYXVsdF9jbGllbnRfaWQ9 +IjQ5NzU1MDYyMjM2Ny11YnRrbWQzYjJwcDVndWxiYTVuNmhhNnNxNG4zNWVoai5hcHBzLmdvb2ds +ZXVzZXJjb250ZW50LmNvbSIKX2dvb2dsZV9kZWZhdWx0X2NsaWVudF9zZWNyZXQ9Ik5hQ1g4dElJ +QXBocmpzNTZuM1RwSHhfZSIKCg== diff --git a/main/chromium/issue1107683002_20001_30001.patch b/main/chromium/issue1107683002_20001_30001.patch new file mode 100644 index 0000000000..1a237b6387 --- /dev/null +++ b/main/chromium/issue1107683002_20001_30001.patch @@ -0,0 +1,14 @@ +Index: gpu/command_buffer/service/gles2_cmd_decoder.cc +diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc +index 04a9eb25443cb2a25d52400ba714c850ea63eca6..9c43f88e81fe60ef82b0bf17e41c2781350164c3 100644 +--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc ++++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc +@@ -2737,7 +2737,7 @@ bool GLES2DecoderImpl::Initialize( + // make it appear RGB. If on the other hand we ask for RGBA nd get RGB we + // can't do anything about that. + +- if (!surfaceless_) { ++ if (!surfaceless_ && !surface_->IsOffscreen()) { + GLint alpha_bits = 0; + GLint depth_bits = 0; + GLint stencil_bits = 0; diff --git a/main/chromium/musl-fixes.patch b/main/chromium/musl-fixes.patch new file mode 100644 index 0000000000..049a06b8c8 --- /dev/null +++ b/main/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/main/chromium/musl-sandbox.patch b/main/chromium/musl-sandbox.patch new file mode 100644 index 0000000000..3f244f03e6 --- /dev/null +++ b/main/chromium/musl-sandbox.patch @@ -0,0 +1,66 @@ +--- ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.cld ++++ ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc +@@ -111,23 +111,13 @@ + // CLONE_VM, nor CLONE_THREAD, which includes all fork() implementations. + ResultExpr RestrictCloneToThreadsAndEPERMFork() { + const Arg<unsigned long> flags(0); ++ const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | ++ CLONE_THREAD | CLONE_SYSVSEM; ++ const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID | ++ CLONE_DETACHED; ++ const BoolExpr thread_clone_ok = (flags&~safe)==required; + +- // TODO(mdempsky): Extend DSL to support (flags & ~mask1) == mask2. +- const uint64_t kAndroidCloneMask = CLONE_VM | CLONE_FS | CLONE_FILES | +- CLONE_SIGHAND | CLONE_THREAD | +- CLONE_SYSVSEM; +- const uint64_t kObsoleteAndroidCloneMask = kAndroidCloneMask | CLONE_DETACHED; +- +- const uint64_t kGlibcPthreadFlags = +- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_THREAD | +- CLONE_SYSVSEM | CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID; +- const BoolExpr glibc_test = flags == kGlibcPthreadFlags; +- +- const BoolExpr android_test = flags == kAndroidCloneMask || +- flags == kObsoleteAndroidCloneMask || +- flags == kGlibcPthreadFlags; +- +- return If(IsAndroid() ? android_test : glibc_test, Allow()) ++ return If(thread_clone_ok, Allow()) + .ElseIf((flags & (CLONE_VM | CLONE_THREAD)) == 0, Error(EPERM)) + .Else(CrashSIGSYSClone()); + } +--- ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc.orig ++++ ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +@@ -416,12 +416,12 @@ + #endif + case __NR_epoll_create1: + case __NR_epoll_ctl: ++ case __NR_epoll_pwait: + return true; + default: + #if defined(__x86_64__) + case __NR_epoll_ctl_old: + #endif +- case __NR_epoll_pwait: + #if defined(__x86_64__) + case __NR_epoll_wait_old: + #endif +--- ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc.orig ++++ ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +@@ -494,6 +494,7 @@ + case __NR_mlock: + case __NR_munlock: + case __NR_munmap: ++ case __NR_mremap: + return true; + case __NR_madvise: + case __NR_mincore: +@@ -509,7 +510,6 @@ + case __NR_modify_ldt: + #endif + case __NR_mprotect: +- case __NR_mremap: + case __NR_msync: + case __NR_munlockall: + case __NR_readahead: diff --git a/main/chromium/no-execinfo.patch b/main/chromium/no-execinfo.patch new file mode 100644 index 0000000000..bc5eefcd55 --- /dev/null +++ b/main/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/main/chromium/no-getcontext.patch b/main/chromium/no-getcontext.patch new file mode 100644 index 0000000000..4b87c6d170 --- /dev/null +++ b/main/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/main/chromium/no-mallinfo.patch b/main/chromium/no-mallinfo.patch new file mode 100644 index 0000000000..865db77dcb --- /dev/null +++ b/main/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/main/chromium/resolver.patch b/main/chromium/resolver.patch new file mode 100644 index 0000000000..fe1141ecbe --- /dev/null +++ b/main/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); |