diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD index 2d901b98d..eb35fe9e5 100644 --- a/extra/chromium/PKGBUILD +++ b/extra/chromium/PKGBUILD @@ -13,10 +13,11 @@ buildarch=12 highmem=1 +noautobuild=1 pkgname=chromium -pkgver=71.0.3578.98 -pkgrel=3 +pkgver=72.0.3626.81 +pkgrel=1 _launcher_ver=6 pkgdesc="A web browser built for speed, simplicity, and security" arch=('x86_64') @@ -26,25 +27,23 @@ depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt' 'ttf-font' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib' 'desktop-file-utils' 'hicolor-icon-theme') makedepends=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git' - 'clang' 'lld' 'gn' 'distcc-clang') + 'clang' 'lld' 'gn' 'java-runtime-headless' 'distcc-clang') optdepends=('kdialog: needed for file dialogs in KDE' 'gnome-keyring: for storing passwords in GNOME keyring' 'kwallet: for storing passwords in KWallet') install=chromium.install source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz - fix-nav-preload-with-third-party-cookie-blocking.patch - chromium-harfbuzz-r0.patch chromium-system-icu.patch + chromium-webrtc-missing-header.patch chromium-widevine.patch chromium-skia-harmony.patch) -sha256sums=('1c56a9e30825774c83d568d194e9585625c6e90f81ee0ef09760fcedc86b9d45' +sha256sums=('dfe89fe389008e6d2098099948d10774989d2f3e8dca6ace78ea4ec636dd8006' '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' - 'd2c497f3400baad7d380305f4705fd1e5b9f70a8460384490a1bb78e1c2b0f23' - '1b370d49c43e88acfe7c0b1f9517047e927f3407bd80b4a48bba32c001f80136' - 'c4f2d1bed9034c02b8806f00c2e8165df24de467803855904bff709ceaf11af5' + 'e2d284311f49c529ea45083438a768db390bde52949995534034d2a814beab89' + '63cbed7d7af327c17878a2066c303f106ff08636372721845131f7ff13d87b44' 'd081f2ef8793544685aad35dea75a7e6264a2cb987ff3541e6377f4a3650a28b' - 'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3') + '5887f78b55c4ecbbcba5930f3f0bb7bc0117c2a41c2f761805fcf7f46f1ca2b3') # Possible replacements are listed in build/linux/unbundle/replace_gn_files.py # Keys are the names in the above script; values are the dependencies in Arch @@ -103,17 +102,14 @@ prepare() { third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \ third_party/libxml/chromium/libxml_utils.cc - # https://crbug.com/913220 - patch -Np1 -i ../fix-nav-preload-with-third-party-cookie-blocking.patch - # Load Widevine CDM if available patch -Np1 -i ../chromium-widevine.patch # https://crbug.com/skia/6663#c10 - patch -Np4 -i ../chromium-skia-harmony.patch + patch -Np0 -i ../chromium-skia-harmony.patch - # Fixes from Gentoo - patch -Np1 -i ../chromium-harfbuzz-r0.patch + # https://webrtc.googlesource.com/src.git/+/3e70781361ed + patch -Np0 -i ../chromium-webrtc-missing-header.patch # https://bugs.gentoo.org/661880#c21 patch -Np1 -i ../chromium-system-icu.patch diff --git a/extra/chromium/chromium-harfbuzz-r0.patch b/extra/chromium/chromium-harfbuzz-r0.patch deleted file mode 100644 index 2d5602de2..000000000 --- a/extra/chromium/chromium-harfbuzz-r0.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 7ae38170a117e909bb28e1470842b68de3501197 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppymaster@gmail.com> -Date: Sun, 21 Oct 2018 10:06:53 -0400 -Subject: [PATCH] blink: add 'const' modifier for harfbuzz hb_codepoint_t - pointers - -This resolves a build failure against harfbuzz 2.0. - -Based on a patch by Alexandre Fierreira. - -Bug: https://bugs.gentoo.org/669034 ---- - .../renderer/platform/fonts/shaping/harfbuzz_face.cc | 2 +- - .../renderer/platform/fonts/skia/skia_text_metrics.cc | 9 +++++++-- - .../renderer/platform/fonts/skia/skia_text_metrics.h | 2 +- - 3 files changed, 9 insertions(+), 4 deletions(-) - -diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc -index 8e7d91ca371f..e279a5876cb3 100644 ---- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc -+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc -@@ -139,7 +139,7 @@ static hb_position_t HarfBuzzGetGlyphHorizontalAdvance(hb_font_t* hb_font, - static void HarfBuzzGetGlyphHorizontalAdvances(hb_font_t* font, - void* font_data, - unsigned count, -- hb_codepoint_t* first_glyph, -+ const hb_codepoint_t* first_glyph, - unsigned int glyph_stride, - hb_position_t* first_advance, - unsigned int advance_stride, -diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc -index 77ec6209fab9..9f9070921448 100644 ---- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc -+++ b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc -@@ -18,6 +18,11 @@ T* advance_by_byte_size(T* p, unsigned byte_size) { - return reinterpret_cast<T*>(reinterpret_cast<uint8_t*>(p) + byte_size); - } - -+template <class T> -+T* advance_by_byte_size_const(T* p, unsigned byte_size) { -+ return reinterpret_cast<T*>(reinterpret_cast<const uint8_t*>(p) + byte_size); -+} -+ - } // namespace - - SkiaTextMetrics::SkiaTextMetrics(const SkPaint* paint) : paint_(paint) { -@@ -39,7 +44,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(hb_codepoint_t codepoint, - } - - void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count, -- hb_codepoint_t* glyphs, -+ const hb_codepoint_t* glyphs, - unsigned glyph_stride, - hb_position_t* advances, - unsigned advance_stride) { -@@ -48,7 +53,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count, - // array that copy them to a regular array. - Vector<Glyph, 256> glyph_array(count); - for (unsigned i = 0; i < count; -- i++, glyphs = advance_by_byte_size(glyphs, glyph_stride)) { -+ i++, glyphs = advance_by_byte_size_const(glyphs, glyph_stride)) { - glyph_array[i] = *glyphs; - } - Vector<SkScalar, 256> sk_width_array(count); -diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h -index 787d8af0375a..3bc4407c641b 100644 ---- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h -+++ b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h -@@ -19,7 +19,7 @@ class SkiaTextMetrics final { - - void GetGlyphWidthForHarfBuzz(hb_codepoint_t, hb_position_t* width); - void GetGlyphWidthForHarfBuzz(unsigned count, -- hb_codepoint_t* first_glyph, -+ const hb_codepoint_t* first_glyph, - unsigned glyph_stride, - hb_position_t* first_advance, - unsigned advance_stride); --- -2.19.1 - diff --git a/extra/chromium/chromium-skia-harmony.patch b/extra/chromium/chromium-skia-harmony.patch index 6343f7f80..949c8f020 100644 --- a/extra/chromium/chromium-skia-harmony.patch +++ b/extra/chromium/chromium-skia-harmony.patch @@ -1,77 +1,13 @@ ---- qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2017-10-10 17:42:06.956950985 +0200 -+++ qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2017-10-10 17:46:05.824187787 +0200 -@@ -99,8 +99,6 @@ - FreeTypeLibrary() +--- third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2019-01-20 10:54:56.415239030 +0000 ++++ third_party/skia/src/ports/SkFontHost_FreeType.cpp 2019-01-20 10:55:05.695307733 +0000 +@@ -121,8 +121,8 @@ public: : fGetVarDesignCoordinates(nullptr) + , fGetVarAxisFlags(nullptr) , fLibrary(nullptr) - , fIsLCDSupported(false) - , fLCDExtra(0) ++ , fIsLCDSupported(true) ++ , fLCDExtra(2) { if (FT_New_Library(&gFTMemory, &fLibrary)) { return; -@@ -147,12 +145,7 @@ - } - #endif - -- // Setup LCD filtering. This reduces color fringes for LCD smoothed glyphs. -- // The default has changed over time, so this doesn't mean the same thing to all users. -- if (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) { -- fIsLCDSupported = true; -- fLCDExtra = 2; //Using a filter adds one full pixel to each side. -- } -+ FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT); - } - ~FreeTypeLibrary() { - if (fLibrary) { -@@ -161,8 +153,6 @@ - } - - FT_Library library() { return fLibrary; } -- bool isLCDSupported() { return fIsLCDSupported; } -- int lcdExtra() { return fLCDExtra; } - - // FT_Get_{MM,Var}_{Blend,Design}_Coordinates were added in FreeType 2.7.1. - // Prior to this there was no way to get the coordinates out of the FT_Face. -@@ -173,8 +163,6 @@ - - private: - FT_Library fLibrary; -- bool fIsLCDSupported; -- int fLCDExtra; - - // FT_Library_SetLcdFilterWeights was introduced in FreeType 2.4.0. - // The following platforms provide FreeType of at least 2.4.0. -@@ -704,17 +692,6 @@ - rec->fTextSize = SkIntToScalar(1 << 14); - } - -- if (isLCD(*rec)) { -- // TODO: re-work so that FreeType is set-up and selected by the SkFontMgr. -- SkAutoMutexAcquire ama(gFTMutex); -- ref_ft_library(); -- if (!gFTLibrary->isLCDSupported()) { -- // If the runtime Freetype library doesn't support LCD, disable it here. -- rec->fMaskFormat = SkMask::kA8_Format; -- } -- unref_ft_library(); -- } -- - SkPaint::Hinting h = rec->getHinting(); - if (SkPaint::kFull_Hinting == h && !isLCD(*rec)) { - // collapse full->normal hinting if we're not doing LCD -@@ -1115,11 +1092,11 @@ - void SkScalerContext_FreeType::updateGlyphIfLCD(SkGlyph* glyph) { - if (isLCD(fRec)) { - if (fLCDIsVert) { -- glyph->fHeight += gFTLibrary->lcdExtra(); -- glyph->fTop -= gFTLibrary->lcdExtra() >> 1; -+ glyph->fHeight += 2; -+ glyph->fTop -= 1; - } else { -- glyph->fWidth += gFTLibrary->lcdExtra(); -- glyph->fLeft -= gFTLibrary->lcdExtra() >> 1; -+ glyph->fWidth += 2; -+ glyph->fLeft -= 1; - } - } - } diff --git a/extra/chromium/chromium-system-icu.patch b/extra/chromium/chromium-system-icu.patch index 89a7b0037..23dde5d71 100644 --- a/extra/chromium/chromium-system-icu.patch +++ b/extra/chromium/chromium-system-icu.patch @@ -1,7 +1,7 @@ -diff --git a/third_party/blink/renderer/platform/text/character_property_data_generator.h b/third_party/blink/renderer/platform/text/character_property_data_generator.h +diff --git a/third_party/blink/renderer/platform/text/character_property_data.h b/third_party/blink/renderer/platform/text/character_property_data.h index 28fb6a9..bb4dbd7 100644 ---- a/third_party/blink/renderer/platform/text/character_property_data_generator.h -+++ b/third_party/blink/renderer/platform/text/character_property_data_generator.h +--- a/third_party/blink/renderer/platform/text/character_property_data.h ++++ b/third_party/blink/renderer/platform/text/character_property_data.h @@ -244,10 +244,12 @@ static const UChar32 kIsHangulRanges[] = { 0xD7B0, 0xD7FF, // Halfwidth Hangul Jamo @@ -15,5 +15,5 @@ index 28fb6a9..bb4dbd7 100644 + 0xFFDC, +}; - } // namespace blink - + #if !defined(USING_SYSTEM_ICU) + // Freezed trie tree, see character_property_data_generator.cc. diff --git a/extra/chromium/chromium-webrtc-missing-header.patch b/extra/chromium/chromium-webrtc-missing-header.patch new file mode 100644 index 000000000..335a7b80f --- /dev/null +++ b/extra/chromium/chromium-webrtc-missing-header.patch @@ -0,0 +1,10 @@ +--- third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc.orig 2019-01-20 10:57:09.166224517 +0000 ++++ third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc 2019-01-20 06:01:05.901545307 +0000 +@@ -14,6 +14,7 @@ + #include <X11/extensions/Xcomposite.h> + #include <X11/extensions/Xrender.h> + ++#include <string.h> + #include <memory> + #include <string> + #include <utility> diff --git a/extra/chromium/fix-nav-preload-with-third-party-cookie-blocking.patch b/extra/chromium/fix-nav-preload-with-third-party-cookie-blocking.patch deleted file mode 100644 index dd5473d02..000000000 --- a/extra/chromium/fix-nav-preload-with-third-party-cookie-blocking.patch +++ /dev/null @@ -1,40 +0,0 @@ -From c0d0bacc0ae01f15c4d06405057fd35f371bcaf3 Mon Sep 17 00:00:00 2001 -From: Matt Falkenhagen <falken@chromium.org> -Date: Tue, 18 Dec 2018 08:31:08 +0000 -Subject: [PATCH] service worker: Fix nav preload with third-party cookie - blocking. - -In non-ServiceWorkerServicification, the navigation preload request -wasn't setting site_for_cookies field when converting from a URLRequest -to ResourceRequest, so StaticCookiePolicy was blocking cookie access -when third-party cookie blocking was enabled. This meant that cookies -weren't sent in the navigation preload request. - -ServiceWorkerServicification already set set_for_cookies since it just -passed the ResourceRequest on to the URLLoader for navigation preload. - -Test coverage is added as a //chrome browser test. - -Bug: 913220 -Change-Id: I03acb2c0b67d4645d3f6147b2ac9426a68935dee -Reviewed-on: https://chromium-review.googlesource.com/c/1379792 -Commit-Queue: Matt Falkenhagen <falken@chromium.org> -Reviewed-by: Tsuyoshi Horo <horo@chromium.org> -Cr-Commit-Position: refs/heads/master@{#617414} ---- - .../browser/service_worker/service_worker_fetch_dispatcher.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/content/browser/service_worker/service_worker_fetch_dispatcher.cc b/content/browser/service_worker/service_worker_fetch_dispatcher.cc -index 413842dd85..049da64651 100644 ---- a/content/browser/service_worker/service_worker_fetch_dispatcher.cc -+++ b/content/browser/service_worker/service_worker_fetch_dispatcher.cc -@@ -616,7 +616,7 @@ bool ServiceWorkerFetchDispatcher::MaybeStartNavigationPreload( - network::ResourceRequest request; - request.method = original_request->method(); - request.url = original_request->url(); -- // TODO(horo): Set site_for_cookies to support Same-site Cookies. -+ request.site_for_cookies = original_request->site_for_cookies(); - request.request_initiator = - original_request->initiator().has_value() - ? original_request->initiator()