diff --git a/desktop/gnome/base/accountsservice/pspec.xml b/desktop/gnome/base/accountsservice/pspec.xml index 6d5c89936c..30867d53fd 100644 --- a/desktop/gnome/base/accountsservice/pspec.xml +++ b/desktop/gnome/base/accountsservice/pspec.xml @@ -12,7 +12,7 @@ library D-Bus Service to Manipulate User Account Information accountsservice server provides a set of D-Bus interfaces for querying and manipulating user account information. - https://www.freedesktop.org/software/accountsservice/accountsservice-0.6.50.tar.xz + https://www.freedesktop.org/software/accountsservice/accountsservice-0.6.55.tar.xz intltool gtk-doc diff --git a/network/web/chromium-browser_1/actions.py b/network/web/chromium-browser_1/actions.py new file mode 100644 index 0000000000..80a547940f --- /dev/null +++ b/network/web/chromium-browser_1/actions.py @@ -0,0 +1,81 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +WorkDir = "chromium-%s" % get.srcVERSION() + +shelltools.export("HOME", get.workDIR()) + +ARCH = "x64" + +def setup(): + shelltools.export("LC_ALL", "C") + shelltools.system("mkdir -p third_party/node/linux/node-linux-x64/bin") + shelltools.system("ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/") + + for LIB in ["flac", "harfbuzz-ng" "libwebp" ,"libxslt", "yasm"]: + shelltools.system('find -type f -path "*third_party/$LIB/*" \! -path "*third_party/$LIB/chromium/*" \! -path "*third_party/$LIB/google/*" \! -regex ".*\.\(gn\|gni\|isolate\|py\)" -delete') + + shelltools.system("build/linux/unbundle/replace_gn_files.py --system-libraries flac harfbuzz-ng libwebp libxslt yasm") + + opt = 'use_sysroot=false \ + is_clang=false enable_nacl=false \ + fieldtrial_testing_like_official_build=true \ + clang_use_chrome_plugins=false \ + fatal_linker_warnings=false \ + treat_warnings_as_errors=false \ + use_gnome_keyring=false\ + use_gold=false \ + enable_hangout_services_extension=true \ + enable_widevine=true \ + linux_use_bundled_binutils=false \ + is_debug=false \ + ffmpeg_branding="Chrome" \ + google_default_client_secret="0ZChLK6AxeA3Isu96MkwqDR4" \ + google_api_key="AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM" \ + google_default_client_id="413772536636.apps.googleusercontent.com" \ + remove_webcore_debug_symbols=true \ + proprietary_codecs=true \ + link_pulseaudio=true \ + use_custom_libcxx=false \ + enable_swiftshader=false' + + shelltools.system("tools/gn/bootstrap/bootstrap.py --gn-gen-args '%s'"% opt) + shelltools.system("out/Release/gn gen out/Release --args='%s'"% opt) + + +def build(): + #Sandbox for error must remain separate + shelltools.system("ninja -C out/Release chrome") + shelltools.system("ninja -C out/Release chrome_sandbox") + shelltools.system("ninja -C out/Release chromedriver") + shelltools.system("ninja -C out/Release widevinecdmadapter") + +def install(): + shelltools.cd("out/Release") + + #should be checked should for the missing folder "out/Release" + for vla in ["*.pak", "*.json", "chrome", "locales", "resources", "icudtl.dat", "mksnapshot", "chromedriver", "natives_blob.bin", "snapshot_blob.bin", "character_data_generator"]: + pisitools.insinto("/usr/lib/chromium-browser", "%s" % vla) + + pisitools.insinto("/usr/lib/chromium-browser", "chrome_sandbox", "chrome-sandbox") + pisitools.dosym("/usr/lib/chromium-browser/chrome", "/usr/bin/chromium-browser") + + shelltools.system("chmod -v 4755 %s/usr/lib/chromium-browser/chrome-sandbox" %get.installDIR()) + + pisitools.newman("chrome.1", "chromium-browser.1") + + shelltools.cd("../..") + for size in ["22", "24", "48", "64", "128", "256"]: + pisitools.insinto("/usr/share/icons/hicolor/%sx%s/apps" %(size, size), "chrome/app/theme/chromium/product_logo_%s.png" % size, "chromium-browser.png") + + pisitools.dosym("/usr/share/icons/hicolor/256x256/apps/chromium-browser.png", "/usr/share/pixmaps/chromium-browser.png") + + pisitools.dodoc("LICENSE") diff --git a/network/web/chromium-browser_1/files/chromium-browser.desktop b/network/web/chromium-browser_1/files/chromium-browser.desktop new file mode 100644 index 0000000000..795b084894 --- /dev/null +++ b/network/web/chromium-browser_1/files/chromium-browser.desktop @@ -0,0 +1,114 @@ +#!/usr/bin/env xdg-open +[Desktop Entry] +Version=1.0 +Encoding=UTF-8 +Name=Chromium Browser +GenericName=Web Browser +GenericName[ar]=متصفح الشبكة +GenericName[bg]=Уеб браузър +GenericName[ca]=Navegador web +GenericName[cs]=WWW prohlížeč +GenericName[da]=Browser +GenericName[de]=Web-Browser +GenericName[el]=Περιηγητής ιστού +GenericName[en_GB]=Web Browser +GenericName[es]=Navegador web +GenericName[et]=Veebibrauser +GenericName[fi]=WWW-selain +GenericName[fr]=Navigateur Web +GenericName[gu]=વેબ બ્રાઉઝર +GenericName[he]=דפדפן אינטרנט +GenericName[hi]=वेब ब्राउज़र +GenericName[hu]=Webböngésző +GenericName[it]=Browser Web +GenericName[ja]=ウェブブラウザ +GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ +GenericName[ko]=웹 브라우저 +GenericName[lt]=Žiniatinklio naršyklė +GenericName[lv]=Tīmekļa pārlūks +GenericName[ml]=വെബ് ബ്രൌസര്‍ +GenericName[mr]=वेब ब्राऊजर +GenericName[nb]=Nettleser +GenericName[nl]=Webbrowser +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador da Internet +GenericName[ro]=Navigator de Internet +GenericName[ru]=Веб-браузер +GenericName[sl]=Spletni brskalnik +GenericName[sv]=Webbläsare +GenericName[ta]=இணைய உலாவி +GenericName[th]=เว็บเบราว์เซอร์ +GenericName[tr]=Web Tarayıcı +GenericName[uk]=Навігатор Тенет +GenericName[zh_CN]=网页浏览器 +GenericName[zh_HK]=網頁瀏覽器 +GenericName[zh_TW]=網頁瀏覽器 +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[fil]=Web Browser +GenericName[hr]=Web preglednik +GenericName[id]=Browser Web +GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର +GenericName[sk]=WWW prehliadač +GenericName[sr]=Интернет прегледник +GenericName[te]=మహాతల అన్వేషి +GenericName[vi]=Bộ duyệt Web +Comment=Access the Internet +Comment[ar]=الدخول إلى الإنترنت +Comment[bg]=Достъп до интернет +Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন +Comment[ca]=Accedeix a Internet +Comment[cs]=Přístup k internetu +Comment[da]=Få adgang til internettet +Comment[de]=Internetzugriff +Comment[el]=Πρόσβαση στο Διαδίκτυο +Comment[en_GB]=Access the Internet +Comment[es]=Accede a Internet. +Comment[et]=Pääs Internetti +Comment[fi]=Käytä internetiä +Comment[fil]=I-access ang Internet +Comment[fr]=Accéder à Internet +Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો +Comment[he]=גישה אל האינטרנט +Comment[hi]=इंटरनेट तक पहुंच स्थापित करें +Comment[hr]=Pristup Internetu +Comment[hu]=Internetelérés +Comment[id]=Akses Internet +Comment[it]=Accesso a Internet +Comment[ja]=インターネットにアクセス +Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ +Comment[ko]=인터넷 연결 +Comment[lt]=Interneto prieiga +Comment[lv]=Piekļūt internetam +Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക +Comment[mr]=इंटरनेटमध्ये प्रवेश करा +Comment[nb]=Gå til Internett +Comment[nl]=Verbinding maken met internet +Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ +Comment[pl]=Skorzystaj z internetu +Comment[pt]=Aceder à Internet +Comment[pt_BR]=Acessar a internet +Comment[ro]=Accesaţi Internetul +Comment[ru]=Доступ в Интернет +Comment[sk]=Prístup do siete Internet +Comment[sl]=Dostop do interneta +Comment[sr]=Приступите Интернету +Comment[sv]=Gå ut på Internet +Comment[ta]=இணையத்தை அணுகுதல் +Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి +Comment[th]=เข้าถึงอินเทอร์เน็ต +Comment[tr]=İnternet'e erişin +Comment[uk]=Доступ до Інтернету +Comment[vi]=Truy cập Internet +Comment[zh_CN]=访问互联网 +Comment[zh_HK]=連線到網際網路 +Comment[zh_TW]=連線到網際網路 +Exec=chromium-browser %U --ppapi-flash-path=/usr/lib/chromium-browser/PepperFlash/libpepflashplayer.so --ppapi-flash-version=$version +Terminal=false +Icon=chromium-browser +Type=Application +Categories=Application;Network; +MimeType=text/html;text/xml;application/xhtml_xml; +StartupWMClass=Chromium +StartupNotify=true + diff --git a/network/web/chromium-browser_1/files/chromium-compiler-r4.patch b/network/web/chromium-browser_1/files/chromium-compiler-r4.patch new file mode 100644 index 0000000000..3fe73ef7fe --- /dev/null +++ b/network/web/chromium-browser_1/files/chromium-compiler-r4.patch @@ -0,0 +1,168 @@ +From 777d166eec22c1894108dce985498f75ac5931e8 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Wed, 25 Apr 2018 13:22:49 -0400 +Subject: [PATCH] Disable various compiler configs + +--- + build/config/compiler/BUILD.gn | 61 ++++++++++------------------------ + 1 file changed, 18 insertions(+), 43 deletions(-) + +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index 6e38ad782d38..87bbd423f67f 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -225,8 +225,6 @@ config("compiler") { + + configs += [ + # See the definitions below. +- ":clang_revision", +- ":compiler_cpu_abi", + ":compiler_codegen", + ] + +@@ -488,18 +486,6 @@ config("compiler") { + } + } + +- if (is_clang && !is_nacl && current_toolchain == host_toolchain && +- target_os != "chromeos") { +- cflags += [ +- # TODO(hans): Remove this once Clang generates better optimized debug info +- # by default. https://crbug.com/765793 +- "-Xclang", +- "-mllvm", +- "-Xclang", +- "-instcombine-lower-dbg-declare=0", +- ] +- } +- + # Print absolute paths in diagnostics. There is no precedent for doing this + # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and + # Windows developers rely on it (crbug.com/636109) so only do this on Windows. +@@ -1473,10 +1459,6 @@ config("default_warnings") { + cflags += [ + # TODO(thakis): https://crbug.com/753973 + "-Wno-enum-compare-switch", +- +- # Ignore warnings about MSVC optimization pragmas. +- # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314 +- "-Wno-ignored-pragma-optimize", + ] + } + } +@@ -1518,22 +1500,6 @@ config("chromium_code") { + "__STDC_FORMAT_MACROS", + ] + +- if (!is_debug && !using_sanitizer && +- (!is_linux || !is_clang || is_official_build) && +- current_cpu != "s390x" && current_cpu != "s390" && +- current_cpu != "ppc64" && current_cpu != "ppc64" && +- current_cpu != "mips" && current_cpu != "mips64") { +- # _FORTIFY_SOURCE isn't really supported by Clang now, see +- # http://llvm.org/bugs/show_bug.cgi?id=16821. +- # It seems to work fine with Ubuntu 12 headers though, so use it in +- # official builds. +- # +- # Non-chromium code is not guaranteed to compile cleanly with +- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are +- # disabled, so only do that for Release build. +- defines += [ "_FORTIFY_SOURCE=2" ] +- } +- + if (is_mac || is_ios) { + cflags_objc = [ "-Wobjc-missing-property-synthesis" ] + cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] +@@ -1863,7 +1829,8 @@ config("default_stack_frames") { + } + + # Default "optimization on" config. +-config("optimize") { ++config("optimize") { } ++config("xoptimize") { + if (is_win) { + # TODO(thakis): Remove is_clang here, https://crbug.com/598772 + if (is_official_build && full_wpo_on_official && !is_clang) { +@@ -1897,7 +1864,8 @@ config("optimize") { + } + + # Same config as 'optimize' but without the WPO flag. +-config("optimize_no_wpo") { ++config("optimize_no_wpo") { } ++config("xoptimize_no_wpo") { + if (is_win) { + # Favor size over speed, /O1 must be before the common flags. The GYP + # build also specifies /Os and /GF but these are implied by /O1. +@@ -1920,7 +1888,8 @@ config("optimize_no_wpo") { + } + + # Turn off optimizations. +-config("no_optimize") { ++config("no_optimize") { } ++config("xno_optimize") { + if (is_win) { + cflags = [ + "/Od", # Disable optimization. +@@ -1944,7 +1913,8 @@ config("no_optimize") { + # Turns up the optimization level. On Windows, this implies whole program + # optimization and link-time code generation which is very expensive and should + # be used sparingly. +-config("optimize_max") { ++config("optimize_max") { } ++config("xoptimize_max") { + if (is_nacl && is_nacl_irt) { + # The NaCl IRT is a special case and always wants its own config. + # Various components do: +@@ -1991,7 +1961,8 @@ config("optimize_max") { + # + # TODO(crbug.com/621335) - rework how all of these configs are related + # so that we don't need this disclaimer. +-config("optimize_speed") { ++config("optimize_speed") { } ++config("xoptimize_speed") { + if (is_nacl && is_nacl_irt) { + # The NaCl IRT is a special case and always wants its own config. + # Various components do: +@@ -2029,7 +2000,8 @@ config("optimize_speed") { + } + } + +-config("optimize_fuzzing") { ++config("optimize_fuzzing") { } ++config("xoptimize_fuzzing") { + cflags = [ "-O1" ] + common_optimize_on_cflags + ldflags = common_optimize_on_ldflags + visibility = [ ":default_optimization" ] +@@ -2115,7 +2087,8 @@ config("afdo") { + # configs += [ "//build/config/compiler:symbols" ] + + # Full symbols. +-config("symbols") { ++config("symbols") { } ++config("xsymbols") { + if (is_win) { + if (use_goma || is_clang) { + # Note that with VC++ this requires is_win_fastlink, enforced elsewhere. +@@ -2213,7 +2186,8 @@ config("symbols") { + # Minimal symbols. + # This config guarantees to hold symbol for stack trace which are shown to user + # when crash happens in unittests running on buildbot. +-config("minimal_symbols") { ++config("minimal_symbols") { } ++config("xminimal_symbols") { + if (is_win) { + # Linker symbols for backtraces only. + cflags = [] +@@ -2244,7 +2218,8 @@ config("minimal_symbols") { + } + + # No symbols. +-config("no_symbols") { ++config("no_symbols") { } ++config("xno_symbols") { + if (!is_win) { + cflags = [ "-g0" ] + asmflags = cflags +-- +2.18.0 + diff --git a/network/web/chromium-browser_1/files/chromium-skia-harmony.patch b/network/web/chromium-browser_1/files/chromium-skia-harmony.patch new file mode 100644 index 0000000000..68e416d067 --- /dev/null +++ b/network/web/chromium-browser_1/files/chromium-skia-harmony.patch @@ -0,0 +1,78 @@ +diff -Nuar a/third_party/skia/src/ports/SkFontHost_FreeType.cpp b/third_party/skia/src/ports/SkFontHost_FreeType.cpp +--- a/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2018-09-04 22:11:58.000000000 +0300 ++++ b/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2018-09-11 23:05:41.613517599 +0300 +@@ -112,8 +112,6 @@ + : fGetVarDesignCoordinates(nullptr) + , fGetVarAxisFlags(nullptr) + , fLibrary(nullptr) +- , fIsLCDSupported(false) +- , fLCDExtra(0) + { + if (FT_New_Library(&gFTMemory, &fLibrary)) { + return; +@@ -173,12 +171,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) { +@@ -187,8 +180,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. +@@ -205,8 +196,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 +693,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 +@@ -1109,11 +1087,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/network/web/chromium-browser_1/files/chromium-widevine-r2.patch b/network/web/chromium-browser_1/files/chromium-widevine-r2.patch new file mode 100644 index 0000000000..5527f7f293 --- /dev/null +++ b/network/web/chromium-browser_1/files/chromium-widevine-r2.patch @@ -0,0 +1,39 @@ +Minimal patch to get chromium to compile with widevine support. + +Exactly the same as -r1, but we now need to patch +ninja to pretty please not terminate our build. + +caveat emptor: it's in no way clear that building chromium this +way is safer, from a security perspective, than whatever Google +Chrome does. + +Upstream appears to be cooking up a code-signing trust-chain +which may protect users against malicious cdm blobs; I doubt +we benefit from these using this kludge. Ideally, someone +would look into this more carefully than I have ... tbh as +soon as I got my "stories" back, I pretty much lost interest :) + +-gmt + +-- +--- a/third_party/widevine/cdm/stub/widevine_cdm_version.h ++++ b/third_party/widevine/cdm/stub/widevine_cdm_version.h +@@ -10,6 +10,7 @@ + + #include "third_party/widevine/cdm/widevine_cdm_common.h" + ++#define WIDEVINE_CDM_VERSION_STRING "unknown" + #define WIDEVINE_CDM_AVAILABLE + + #endif // WIDEVINE_CDM_VERSION_H_ +--- a/third_party/widevine/cdm/BUILD.gn ++++ b/third_party/widevine/cdm/BUILD.gn +@@ -11,7 +11,7 @@ import("//third_party/widevine/cdm/widev + # Internal Cast builds set enable_widevine=true to bring in Widevine support. + # TODO(xhwang): Support component updated CDM on other platforms and remove this + # assert. +-assert(!enable_widevine || is_win || is_mac || is_chromecast, ++assert(!enable_widevine || is_win || is_mac || is_chromecast || is_linux, + "Component updated CDM only supported on Windows and Mac for now.") + + widevine_arch = current_cpu diff --git a/network/web/chromium-browser_1/files/fix-cfi-icall-failure-with-use_system_libjpeg-true.patch b/network/web/chromium-browser_1/files/fix-cfi-icall-failure-with-use_system_libjpeg-true.patch new file mode 100644 index 0000000000..3c27898ed2 --- /dev/null +++ b/network/web/chromium-browser_1/files/fix-cfi-icall-failure-with-use_system_libjpeg-true.patch @@ -0,0 +1,52 @@ +From db82db1b609f30d144d45477f55697818bcd363c Mon Sep 17 00:00:00 2001 +From: Vlad Tsyrklevich +Date: Tue, 31 Jul 2018 01:03:22 +0000 +Subject: [PATCH] Fix cfi-icall failure with use_system_libjpeg=true + +JPEGImageReader::AllocateSampleArray() can call the function pointer +(*info_.mem->alloc_sarray) which can be set by the systems non-CFI +enabled libjpeg DSO when chromium is built with use_system_libjpeg=true. +Disable cfi-icall for that method. + +Bug: 866290 +Change-Id: I6d9bbf08c514d6d5f48ad34c3802c63419ed1223 +Reviewed-on: https://chromium-review.googlesource.com/1155927 +Reviewed-by: Kentaro Hara +Commit-Queue: Vlad Tsyrklevich +Cr-Commit-Position: refs/heads/master@{#579270} +--- + .../renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc | 2 +- + third_party/blink/renderer/platform/wtf/compiler.h | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc +index a1e440f6eed5..fd4e72ba053c 100644 +--- a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc ++++ b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc +@@ -643,7 +643,7 @@ class JPEGImageReader final { + IntSize UvSize() const { return uv_size_; } + + private: +- JSAMPARRAY AllocateSampleArray() { ++ NO_SANITIZE_CFI_ICALL JSAMPARRAY AllocateSampleArray() { + // Some output color spaces don't need the sample array: don't allocate in that + // case. + #if defined(TURBO_JPEG_RGB_SWIZZLE) +diff --git a/third_party/blink/renderer/platform/wtf/compiler.h b/third_party/blink/renderer/platform/wtf/compiler.h +index 51595afdc955..5225a70309d6 100644 +--- a/third_party/blink/renderer/platform/wtf/compiler.h ++++ b/third_party/blink/renderer/platform/wtf/compiler.h +@@ -57,8 +57,10 @@ + #if defined(__clang__) + #define NO_SANITIZE_UNRELATED_CAST \ + __attribute__((no_sanitize("cfi-unrelated-cast", "vptr"))) ++#define NO_SANITIZE_CFI_ICALL __attribute__((no_sanitize("cfi-icall"))) + #else + #define NO_SANITIZE_UNRELATED_CAST ++#define NO_SANITIZE_CFI_ICALL + #endif + + #endif /* WTF_Compiler_h */ +-- +2.18.0 + diff --git a/network/web/chromium-browser_1/files/mageia/001-chromium-59-gcc5.patch b/network/web/chromium-browser_1/files/mageia/001-chromium-59-gcc5.patch new file mode 100644 index 0000000000..a268f05b6a --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/001-chromium-59-gcc5.patch @@ -0,0 +1,21 @@ +--- chromium-59.0.3071.86/third_party/swiftshader/src/Reactor/BUILD.gn.gcc-5 2017-06-05 21:04:23.000000000 +0200 ++++ chromium-59.0.3071.86/third_party/swiftshader/src/Reactor/BUILD.gn 2017-06-10 18:13:09.946401226 +0200 +@@ -92,7 +92,7 @@ + cflags += [ "-Wno-sign-compare" ] + } + } +- } else if (is_linux || is_mac) { ++ } else if (is_clang && (is_linux || is_mac)) { + cflags += [ "-Wno-macro-redefined" ] + } + +--- chromium-59.0.3071.86/third_party/swiftshader/third_party/subzero/src/IceTargetLowering.cpp.gcc-5 2017-06-05 21:04:24.000000000 +0200 ++++ chromium-59.0.3071.86/third_party/swiftshader/third_party/subzero/src/IceTargetLowering.cpp 2017-06-10 19:47:02.404476512 +0200 +@@ -48,6 +48,7 @@ + // createTargetHeaderLowering(Ice::GlobalContext *); + // void staticInit(::Ice::GlobalContext *); + // } ++#undef SUBZERO_TARGET + #define SUBZERO_TARGET(X) \ + namespace X { \ + std::unique_ptr<::Ice::TargetLowering> \ diff --git a/network/web/chromium-browser_1/files/mageia/002-chromium-61-gcc5.patch b/network/web/chromium-browser_1/files/mageia/002-chromium-61-gcc5.patch new file mode 100644 index 0000000000..91e27c32c2 --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/002-chromium-61-gcc5.patch @@ -0,0 +1,11 @@ +--- chromium-61.0.3163.59/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.bak 2017-08-23 21:08:14.000000000 +0200 ++++ chromium-61.0.3163.59/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2017-08-29 13:07:50.789475942 +0200 +@@ -10,7 +10,7 @@ + + #include "modules/audio_processing/aec3/aec_state.h" + +-#include ++#include + + #include + #include diff --git a/network/web/chromium-browser_1/files/mageia/003-chromium-62-gcc5.patch b/network/web/chromium-browser_1/files/mageia/003-chromium-62-gcc5.patch new file mode 100644 index 0000000000..9993b6ddfe --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/003-chromium-62-gcc5.patch @@ -0,0 +1,11 @@ +--- chromium-62.0.3192.0/cc/paint/paint_op_reader.cc.enum 2017-08-22 21:04:38.000000000 +0200 ++++ chromium-62.0.3192.0/cc/paint/paint_op_reader.cc 2017-08-30 19:19:41.082455143 +0200 +@@ -54,7 +54,7 @@ + + bool IsValidSkShaderTileMode(SkShader::TileMode mode) { + // When Skia adds Decal, update this (skbug.com/7638) +- return mode <= SkShader::kMirror_TileMode; ++ return int(mode) <= SkShader::kMirror_TileMode; + } + + bool IsValidPaintShaderScalingBehavior(PaintShader::ScalingBehavior behavior) { diff --git a/network/web/chromium-browser_1/files/mageia/004-chromium-62-gcc7.patch b/network/web/chromium-browser_1/files/mageia/004-chromium-62-gcc7.patch new file mode 100644 index 0000000000..31bf4ec2f3 --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/004-chromium-62-gcc7.patch @@ -0,0 +1,111 @@ +--- chromium-62.0.3192.0/third_party/webrtc/modules/video_processing/video_denoiser.cc.gcc7 2017-08-22 21:06:40.000000000 +0200 ++++ chromium-62.0.3192.0/third_party/webrtc/modules/video_processing/video_denoiser.cc 2017-09-08 23:17:25.755051027 +0200 +@@ -183,7 +183,7 @@ + // artifacts. + if (mb_filter_decision_[mb_index] != FILTER_BLOCK || + IsTrailingBlock(moving_edge_, mb_row, mb_col) || +- (x_density_[mb_col] * y_density_[mb_row] && ++ ((x_density_[mb_col] * y_density_[mb_row] != 0) && + moving_object_[mb_row * mb_cols_ + mb_col])) { + // Copy y source. + filter_->CopyMem16x16(mb_src, stride_src, mb_dst, stride_dst); +--- chromium-62.0.3192.0/extensions/common/permissions/settings_override_permission.cc.gcc7 2017-08-22 21:04:44.000000000 +0200 ++++ chromium-62.0.3192.0/extensions/common/permissions/settings_override_permission.cc 2017-09-09 00:43:40.708568094 +0200 +@@ -43,7 +43,9 @@ + + bool SettingsOverrideAPIPermission::Equal(const APIPermission* rhs) const { + if (this != rhs) ++ { + CHECK_EQ(info(), rhs->info()); ++ } + return true; + } + +--- chromium-62.0.3192.0/third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h.gcc7 2017-08-22 21:05:01.000000000 +0200 ++++ chromium-62.0.3192.0/third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h 2017-09-09 00:47:09.190945226 +0200 +@@ -174,7 +174,7 @@ + */ + class ObjectId { + public: +- ObjectId() : is_initialized_(false) {} ++ ObjectId() : is_initialized_(false), source_(0) {} + + /* Creates an object id for the given source and name (the name is copied). */ + ObjectId(int source, const string& name) +--- chromium-62.0.3192.0/extensions/common/permissions/api_permission.cc.gcc7 2017-08-22 21:04:44.000000000 +0200 ++++ chromium-62.0.3192.0/extensions/common/permissions/api_permission.cc 2017-09-09 01:26:10.983202025 +0200 +@@ -36,7 +36,9 @@ + + bool Equal(const APIPermission* rhs) const override { + if (this != rhs) ++ { + CHECK_EQ(info(), rhs->info()); ++ } + return true; + } + +--- chromium-62.0.3192.0/content/browser/frame_host/navigation_controller_impl.cc.gcc7 2017-08-22 21:04:43.000000000 +0200 ++++ chromium-62.0.3192.0/content/browser/frame_host/navigation_controller_impl.cc 2017-09-09 01:53:03.860647419 +0200 +@@ -980,7 +980,9 @@ + // TODO(creis): This check won't pass for subframes until we create entries + // for subframe navigations. + if (!rfh->GetParent()) ++ { + CHECK_EQ(active_entry->site_instance(), rfh->GetSiteInstance()); ++ } + + // Remember the bindings the renderer process has at this point, so that + // we do not grant this entry additional bindings if we come back to it. +--- chromium-62.0.3192.0/content/browser/frame_host/navigator_impl.cc.gcc7 2017-08-22 21:04:43.000000000 +0200 ++++ chromium-62.0.3192.0/content/browser/frame_host/navigator_impl.cc 2017-09-09 02:05:15.758922091 +0200 +@@ -411,11 +411,15 @@ + + // Make sure no code called via RFH::Navigate clears the pending entry. + if (is_pending_entry) ++ { + CHECK_EQ(nav_entry_id, controller_->GetPendingEntry()->GetUniqueID()); ++ } + + // Notify observers about navigation. + if (delegate_ && is_pending_entry) ++ { + delegate_->DidStartNavigationToPendingEntry(dest_url, reload_type); ++ } + } + + void NavigatorImpl::RequestOpenURL( +--- chromium-62.0.3192.0/content/browser/frame_host/render_frame_host_manager.cc.gcc7 2017-08-22 21:04:43.000000000 +0200 ++++ chromium-62.0.3192.0/content/browser/frame_host/render_frame_host_manager.cc 2017-09-09 02:07:40.371353881 +0200 +@@ -1030,7 +1030,9 @@ + // SiteInstance and the same frame, breaking lookup of RenderFrameHosts by + // SiteInstance. + if (force_swap) ++ { + CHECK_NE(new_instance, current_instance); ++ } + + if (new_instance == current_instance) { + // If we're navigating to the same site instance, we won't need to use the +--- chromium-62.0.3192.0/media/cast/receiver/video_decoder.cc.gcc7 2017-08-22 21:04:45.000000000 +0200 ++++ chromium-62.0.3192.0/media/cast/receiver/video_decoder.cc 2017-09-09 05:02:17.907818439 +0200 +@@ -133,7 +133,9 @@ + private: + ~Vp8Impl() final { + if (ImplBase::operational_status_ == STATUS_INITIALIZED) ++ { + CHECK_EQ(VPX_CODEC_OK, vpx_codec_destroy(&context_)); ++ } + } + + scoped_refptr Decode(uint8_t* data, int len) final { +--- chromium-62.0.3202.9/third_party/skia/src/ports/SkTLS_pthread.cpp.gcc7 2017-09-11 04:39:22.554714295 +0200 ++++ chromium-62.0.3202.9/third_party/skia/src/ports/SkTLS_pthread.cpp 2017-09-11 04:39:45.663296012 +0200 +@@ -16,7 +16,7 @@ + // should we use forceCreateTheSlot to potentially just return nullptr if + // we've never been called with forceCreateTheSlot==true ? + static SkOnce once; +- once(pthread_key_create, &gSkTLSKey, SkTLS::Destructor); ++ once(&pthread_key_create, &gSkTLSKey, SkTLS::Destructor); + return pthread_getspecific(gSkTLSKey); + } + diff --git a/network/web/chromium-browser_1/files/mageia/005-chromium-64-gcc7.patch b/network/web/chromium-browser_1/files/mageia/005-chromium-64-gcc7.patch new file mode 100644 index 0000000000..cd134dad74 --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/005-chromium-64-gcc7.patch @@ -0,0 +1,84 @@ +--- chromium-64.0.3282.71/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc.gcc7 2018-01-04 00:06:33.000000000 +0100 ++++ chromium-64.0.3282.71/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc 2018-01-07 10:30:57.354614167 +0100 +@@ -594,24 +594,6 @@ + UCNV_FROM_U_CALLBACK_ESCAPE(context, from_unicode_args, code_units, length, + code_point, reason, err); + } +- +-static void GbkCallbackSubstitute(const void* context, +- UConverterFromUnicodeArgs* from_unicode_args, +- const UChar* code_units, +- int32_t length, +- UChar32 code_point, +- UConverterCallbackReason reason, +- UErrorCode* err) { +- UChar out_char; +- if (reason == UCNV_UNASSIGNED && (out_char = FallbackForGBK(code_point))) { +- const UChar* source = &out_char; +- *err = U_ZERO_ERROR; +- ucnv_cbFromUWriteUChars(from_unicode_args, &source, source + 1, 0, err); +- return; +- } +- UCNV_FROM_U_CALLBACK_SUBSTITUTE(context, from_unicode_args, code_units, +- length, code_point, reason, err); +-} + #endif // USING_SYSTEM_ICU + + class TextCodecInput final { +--- chromium-64.0.3282.71/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc.gcc7 2018-01-04 00:06:29.000000000 +0100 ++++ chromium-64.0.3282.71/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc 2018-01-07 21:47:33.628080370 +0100 +@@ -2297,17 +2297,14 @@ bool PaintPropertyTreeBuilder::ObjectTyp + } + + void PaintPropertyTreeBuilder::UpdatePaintingLayer() { +- bool changed_painting_layer = false; + if (object_.HasLayer() && + ToLayoutBoxModelObject(object_).HasSelfPaintingLayer()) { + context_.painting_layer = ToLayoutBoxModelObject(object_).Layer(); +- changed_painting_layer = true; + } else if (object_.IsColumnSpanAll() || + object_.IsFloatingWithNonContainingBlockParent()) { + // See LayoutObject::paintingLayer() for the special-cases of floating under + // inline and multicolumn. + context_.painting_layer = object_.PaintingLayer(); +- changed_painting_layer = true; + } + DCHECK(context_.painting_layer == object_.PaintingLayer()); + } +--- chromium-64.0.3282.71/third_party/blink/renderer/platform/graphics/highcontrast/highcontrast_classifier.cc.gcc7 2018-01-04 00:06:32.000000000 +0100 ++++ chromium-64.0.3282.71/third_party/blink/renderer/platform/graphics/highcontrast/highcontrast_classifier.cc 2018-01-07 22:06:16.757401299 +0100 +@@ -1127,7 +1127,6 @@ + , + FixedAllocations* __restrict fixed) { + const int32_t input0_shape[] = {1, 4}; +- int32_t logits_MatMul_merged_with_dnn_logits_BiasAdd0_shape[2]; + + // dnn/hiddenlayer_0/MatMul_merged_with_dnn/hiddenlayer_0/BiasAdd + FullyConnected(input0_shape, input0, +@@ -1150,8 +1149,6 @@ + dnn_logits_weights_part_0.values, dnn_logits_biases_part_0_shape, + dnn_logits_biases_part_0.values, + logits_MatMul_merged_with_dnn_logits_BiasAdd0); +- logits_MatMul_merged_with_dnn_logits_BiasAdd0_shape[0] = 1; +- logits_MatMul_merged_with_dnn_logits_BiasAdd0_shape[1] = 1; + } + + } // namespace highcontrast_tfnative_model +--- chromium-64.0.3282.71/extensions/renderer/runtime_custom_bindings.cc.gcc7 2018-01-04 00:06:04.000000000 +0100 ++++ chromium-64.0.3282.71/extensions/renderer/runtime_custom_bindings.cc 2018-01-08 01:59:41.213107482 +0100 +@@ -60,11 +60,15 @@ + ViewType view_type = VIEW_TYPE_INVALID; + bool parsed_view_type = GetViewTypeFromString(view_type_string, &view_type); + if (!parsed_view_type) ++ { + CHECK_EQ("ALL", view_type_string); ++ } + + const std::string& extension_id = context()->GetExtensionID(); + if (extension_id.empty()) ++ { + return; ++ } + + v8::Local v8_context = args.GetIsolate()->GetCurrentContext(); + // We ignore iframes here. (Returning subframes can cause broken behavior by diff --git a/network/web/chromium-browser_1/files/mageia/006-chromium-65-gcc7.patch b/network/web/chromium-browser_1/files/mageia/006-chromium-65-gcc7.patch new file mode 100644 index 0000000000..0b15f78a78 --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/006-chromium-65-gcc7.patch @@ -0,0 +1,32 @@ +--- chromium-65.0.3325.51/ui/gfx/ipc/buffer_types/gfx_param_traits.cc.format 2018-02-06 21:06:22.000000000 +0100 ++++ chromium-65.0.3325.51/ui/gfx/ipc/buffer_types/gfx_param_traits.cc 2018-02-17 02:35:15.445832776 +0100 +@@ -30,7 +30,7 @@ + void ParamTraits::Log( + const gfx::BufferUsageAndFormat& p, + std::string* l) { +- l->append(base::StringPrintf("(%d, %d)", p.usage, p.format)); ++ l->append(base::StringPrintf("(%d, %d)", int(p.usage), int(p.format))); + } + + } // namespace IPC +--- chromium-65.0.3325.51/components/assist_ranker/ranker_example_util.cc.gcc7 2018-02-06 21:05:28.000000000 +0100 ++++ chromium-65.0.3325.51/components/assist_ranker/ranker_example_util.cc 2018-02-17 03:15:17.577865763 +0100 +@@ -9,6 +9,8 @@ + #include "base/metrics/metrics_hashes.h" + #include "base/strings/stringprintf.h" + ++#include ++ + namespace assist_ranker { + namespace { + const uint64_t MASK32Bits = (1LL << 32) - 1; +--- chromium-65.0.3325.51/chrome/browser/vr/sample_queue.h.gcc7 2018-02-06 21:05:25.000000000 +0100 ++++ chromium-65.0.3325.51/chrome/browser/vr/sample_queue.h 2018-02-17 20:35:26.406726748 +0100 +@@ -6,6 +6,7 @@ + #define CHROME_BROWSER_VR_SAMPLE_QUEUE_H_ + + #include ++#include + + #include "base/macros.h" + diff --git a/network/web/chromium-browser_1/files/mageia/007-chromium-66-gcc7.patch b/network/web/chromium-browser_1/files/mageia/007-chromium-66-gcc7.patch new file mode 100644 index 0000000000..72effe07ff --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/007-chromium-66-gcc7.patch @@ -0,0 +1,69 @@ +--- chromium-66.0.3359.66/ui/gfx/ipc/skia/gfx_skia_param_traits_macros.h.gcc7_5 2018-03-30 17:16:10.416384243 +0200 ++++ chromium-66.0.3359.66/ui/gfx/ipc/skia/gfx_skia_param_traits_macros.h 2018-03-30 17:17:45.715797731 +0200 +@@ -10,7 +10,7 @@ + #include "ipc/ipc_message_macros.h" + #include "third_party/skia/include/core/SkImageInfo.h" + +-IPC_ENUM_TRAITS_VALIDATE(SkColorType, kLastEnum_SkColorType); +-IPC_ENUM_TRAITS_VALIDATE(SkAlphaType, kLastEnum_SkAlphaType); ++IPC_ENUM_TRAITS_VALIDATE(SkColorType, kLastEnum_SkColorType != 0); ++IPC_ENUM_TRAITS_VALIDATE(SkAlphaType, kLastEnum_SkAlphaType != 0); + + #endif // UI_GFX_IPC_SKIA_GFX_SKIA_PARAM_TRAITS_MACROS_H_ +--- chromium-66.0.3359.66/components/autofill/core/common/autofill_regexes.cc.gcc7-5 2018-03-28 21:10:54.000000000 +0200 ++++ chromium-66.0.3359.66/components/autofill/core/common/autofill_regexes.cc 2018-03-30 17:59:39.857829411 +0200 +@@ -54,10 +54,6 @@ + g_autofill_regexes_tls.Pointer()->Set(this); + } + +-AutofillRegexes::~AutofillRegexes() { +- g_autofill_regexes_tls.Pointer()->Set(nullptr); +-} +- + icu::RegexMatcher* AutofillRegexes::GetMatcher(const base::string16& pattern) { + auto it = matchers_.find(pattern); + if (it == matchers_.end()) { +--- chromium-66.0.3359.66/chrome/browser/notifications/notification_permission_context.cc.gcc7-5 2018-03-28 21:10:50.000000000 +0200 ++++ chromium-66.0.3359.66/chrome/browser/notifications/notification_permission_context.cc 2018-04-01 20:19:51.928280032 +0200 +@@ -42,9 +42,6 @@ + base::TimeDelta visible_delay, + const PermissionRequestID& id); + +- // Deletes any earlier task(s) that match |id|. +- void CancelTask(const PermissionRequestID& id); +- + // WebContentsObserver: + void OnVisibilityChanged(content::Visibility visibility) override; + void WebContentsDestroyed() override; +@@ -119,15 +116,6 @@ + task_queue_.front().timer->Reset(); + } + +-void VisibilityTimerTabHelper::CancelTask(const PermissionRequestID& id) { +- bool deleting_front = task_queue_.front().id == id; +- +- base::EraseIf(task_queue_, [id](const Task& task) { return task.id == id; }); +- +- if (!task_queue_.empty() && is_visible_ && deleting_front) +- task_queue_.front().timer->Reset(); +-} +- + void VisibilityTimerTabHelper::OnVisibilityChanged( + content::Visibility visibility) { + if (visibility == content::Visibility::VISIBLE) { +--- chromium-66.0.3359.66/third_party/blink/renderer/platform/mhtml/mhtml_parser.cc.gcc7-5 2018-04-02 02:25:58.873350066 +0200 ++++ chromium-66.0.3359.66/third_party/blink/renderer/platform/mhtml/mhtml_parser.cc 2018-04-02 02:27:48.929444720 +0200 +@@ -316,9 +316,10 @@ + // In order to support parsing the MHTML archive file produced before the + // MHTMLArchive bug was fixed, we need to take a risk of stripping off the + // CRLF that indeed belongs to the content. +- if (content.size() >= 2 && content[content.size() - 2] == '\r' && +- content[content.size() - 1] == '\n') { +- content.resize(content.size() - 2); ++ size_t size = content.size(); ++ if (size >= 2 && content[size - 2] == '\r' && ++ content[size - 1] == '\n') { ++ content.resize(size - 2); + } + + Vector next_chars; diff --git a/network/web/chromium-browser_1/files/mageia/008-chromium-67-gcc7.patch b/network/web/chromium-browser_1/files/mageia/008-chromium-67-gcc7.patch new file mode 100644 index 0000000000..ac88d0b909 --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/008-chromium-67-gcc7.patch @@ -0,0 +1,155 @@ +--- chromium-67.0.3396.10/third_party/crashpad/crashpad/client/crashpad_info.h.gcc7 2018-04-18 21:05:43.000000000 +0200 ++++ chromium-67.0.3396.10/third_party/crashpad/crashpad/client/crashpad_info.h 2018-04-22 14:48:58.402613864 +0200 +@@ -220,7 +220,7 @@ + size_t size); + + enum : uint32_t { +- kSignature = 'CPad', ++ kSignature = 0x43506164, // 'CPad' + }; + + private: +--- chromium-67.0.3396.10/third_party/crashpad/crashpad/client/settings.cc.gcc7 2018-04-18 21:05:43.000000000 +0200 ++++ chromium-67.0.3396.10/third_party/crashpad/crashpad/client/settings.cc 2018-04-22 14:56:49.200391358 +0200 +@@ -84,7 +84,7 @@ + #endif // OS_FUCHSIA + + struct Settings::Data { +- static const uint32_t kSettingsMagic = 'CPds'; ++ static const uint32_t kSettingsMagic = 0x43506473; //'CPds' + static const uint32_t kSettingsVersion = 1; + + enum Options : uint32_t { +--- chromium-67.0.3396.10/third_party/crashpad/crashpad/util/misc/pdb_structures.h.gcc7 2018-04-18 21:05:43.000000000 +0200 ++++ chromium-67.0.3396.10/third_party/crashpad/crashpad/util/misc/pdb_structures.h 2018-04-22 15:25:05.626833340 +0200 +@@ -41,7 +41,7 @@ + //! + //! In a hex dump, this will appear as “NB10” when produced by a little-endian + //! machine. +- static const uint32_t kSignature = '01BN'; ++ static const uint32_t kSignature = 0x3031424e; // '01BN' + + //! \brief The magic number identifying this structure version, the value of + //! #kSignature. +@@ -102,7 +102,7 @@ + //! + //! In a hex dump, this will appear as “RSDS” when produced by a little-endian + //! machine. +- static const uint32_t kSignature = 'SDSR'; ++ static const uint32_t kSignature = 0x53445352; // 'SDSR' + + //! \brief The magic number identifying this structure version, the value of + //! #kSignature. +--- chromium-67.0.3396.10/headless/lib/browser/protocol/browser_handler.cc.gcc7 2018-04-18 21:04:50.000000000 +0200 ++++ chromium-67.0.3396.10/headless/lib/browser/protocol/browser_handler.cc 2018-04-22 17:26:04.113469026 +0200 +@@ -71,7 +71,7 @@ + Response BrowserHandler::SetWindowBounds( + int window_id, + std::unique_ptr window_bounds) { +- HeadlessWebContentsImpl* web_contents = web_contents = ++ HeadlessWebContentsImpl* web_contents = + browser()->GetWebContentsForWindowId(window_id); + if (!web_contents) + return Response::Error("Browser window not found"); +--- chromium-67.0.3396.10/chrome/browser/ui/webui/discards/discards_ui.cc.gcc7 2018-04-18 21:04:40.000000000 +0200 ++++ chromium-67.0.3396.10/chrome/browser/ui/webui/discards/discards_ui.cc 2018-04-22 18:15:26.594324206 +0200 +@@ -44,7 +44,7 @@ + case content::Visibility::VISIBLE: + return mojom::LifecycleUnitVisibility::VISIBLE; + } +-#if defined(COMPILER_MSVC) ++#if defined(COMPILER_MSVC) || defined(COMPILER_GCC) + NOTREACHED(); + return mojom::LifecycleUnitVisibility::VISIBLE; + #endif +--- chromium-67.0.3396.10/third_party/blink/renderer/core/frame/local_frame_view.cc.gcc7 2018-04-18 21:05:39.000000000 +0200 ++++ chromium-67.0.3396.10/third_party/blink/renderer/core/frame/local_frame_view.cc 2018-04-22 21:37:37.030626382 +0200 +@@ -4096,8 +4095,7 @@ + scrollable_areas_ = new ScrollableAreaSet; + scrollable_areas_->insert(scrollable_area); + +- if (ScrollingCoordinator* scrolling_coordinator = +- this->GetScrollingCoordinator()) { ++ if (this->GetScrollingCoordinator() != NULL) { + ScrollableAreasDidChange(); + } + } +@@ -4107,8 +4105,7 @@ + return; + scrollable_areas_->erase(scrollable_area); + +- if (ScrollingCoordinator* scrolling_coordinator = +- this->GetScrollingCoordinator()) { ++ if (this->GetScrollingCoordinator() != NULL) { + ScrollableAreasDidChange(); + } + } +@@ -4132,7 +4129,9 @@ + // TODO(crbug.com/729196): Trace why LocalFrameView::DetachFromLayout crashes. + CHECK(!is_attached_); + if (frame_->GetDocument()) ++ { + CHECK_NE(Lifecycle().GetState(), DocumentLifecycle::kStopping); ++ } + is_attached_ = true; + parent_ = ParentFrameView(); + if (!parent_) { +@@ -5296,8 +5295,7 @@ + void LocalFrameView::Show() { + if (!IsSelfVisible()) { + SetSelfVisible(true); +- if (ScrollingCoordinator* scrolling_coordinator = +- this->GetScrollingCoordinator()) { ++ if (this->GetScrollingCoordinator() != NULL) { + GetScrollingContext()->SetScrollGestureRegionIsDirty(true); + } + SetNeedsCompositingUpdate(kCompositingUpdateRebuildTree); +@@ -5325,8 +5323,7 @@ + }); + } + SetSelfVisible(false); +- if (ScrollingCoordinator* scrolling_coordinator = +- this->GetScrollingCoordinator()) { ++ if (this->GetScrollingCoordinator() != NULL) { + GetScrollingContext()->SetScrollGestureRegionIsDirty(true); + } + SetNeedsCompositingUpdate(kCompositingUpdateRebuildTree); +--- chromium-67.0.3396.10/third_party/blink/renderer/core/html/parser/html_tree_builder.cc.gcc7 2018-04-18 21:05:39.000000000 +0200 ++++ chromium-67.0.3396.10/third_party/blink/renderer/core/html/parser/html_tree_builder.cc 2018-04-22 22:29:51.951074679 +0200 +@@ -943,7 +943,7 @@ + } + if (token->GetName() == colTag) { + ProcessFakeStartTag(colgroupTag); +- DCHECK(kInColumnGroupMode); ++ DCHECK(kInColumnGroupMode != 0); + ProcessStartTag(token); + return; + } +--- chromium-67.0.3396.10/third_party/blink/renderer/core/page/focus_controller.cc.gcc7 2018-04-18 21:05:40.000000000 +0200 ++++ chromium-67.0.3396.10/third_party/blink/renderer/core/page/focus_controller.cc 2018-04-22 23:10:03.717765400 +0200 +@@ -333,25 +333,6 @@ + return nullptr; + } + +-bool ScopedFocusNavigation::IsSlotFallbackScoped(const Element& element) { +- return ScopedFocusNavigation::FindFallbackScopeOwnerSlot(element); +-} +- +-bool ScopedFocusNavigation::IsSlotFallbackScopedForThisSlot( +- const HTMLSlotElement& slot, +- const Element& current) { +- Element* parent = current.parentElement(); +- while (parent) { +- if (IsHTMLSlotElement(parent) && +- ToHTMLSlotElement(parent)->AssignedNodes().IsEmpty()) { +- return !SlotScopedTraversal::IsSlotScoped(current) && +- ToHTMLSlotElement(parent) == slot; +- } +- parent = parent->parentElement(); +- } +- return false; +-} +- + inline void DispatchBlurEvent(const Document& document, + Element& focused_element) { + focused_element.DispatchBlurEvent(nullptr, kWebFocusTypePage); diff --git a/network/web/chromium-browser_1/files/mageia/009-chromium-68-gcc7.patch b/network/web/chromium-browser_1/files/mageia/009-chromium-68-gcc7.patch new file mode 100644 index 0000000000..39ad3309a9 --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/009-chromium-68-gcc7.patch @@ -0,0 +1,211 @@ +--- chromium-68.0.3418.2/base/allocator/partition_allocator/partition_alloc_constants.h.gcc7 2018-05-04 06:05:09.000000000 +0200 ++++ chromium-68.0.3418.2/base/allocator/partition_allocator/partition_alloc_constants.h 2018-05-07 23:44:01.047768997 +0200 +@@ -9,6 +9,8 @@ + #include "base/bits.h" + #include "base/logging.h" + ++#include ++ + namespace base { + + // Allocation granularity of sizeof(void*) bytes. +--- chromium-68.0.3418.2/media/capture/video/video_capture_device_descriptor.cc.gcc7 2018-05-04 06:05:23.000000000 +0200 ++++ chromium-68.0.3418.2/media/capture/video/video_capture_device_descriptor.cc 2018-05-08 01:07:51.984718931 +0200 +@@ -93,6 +93,7 @@ + case VideoCaptureApi::VIRTUAL_DEVICE: + return "Virtual Device"; + case VideoCaptureApi::UNKNOWN: ++ default: + return "Unknown"; + } + } +--- chromium-68.0.3418.2/net/nqe/network_quality_estimator.cc.gcc7 2018-05-04 06:05:25.000000000 +0200 ++++ chromium-68.0.3418.2/net/nqe/network_quality_estimator.cc 2018-05-08 01:51:43.640113593 +0200 +@@ -1307,6 +1307,7 @@ + percentile, observations_count) + .value_or(nqe::internal::INVALID_RTT_THROUGHPUT)); + case nqe::internal::OBSERVATION_CATEGORY_COUNT: ++ default: + NOTREACHED(); + return base::TimeDelta(); + } +--- chromium-68.0.3418.2/components/cast_channel/cast_message_util.cc.gcc7 2018-05-04 06:05:16.000000000 +0200 ++++ chromium-68.0.3418.2/components/cast_channel/cast_message_util.cc 2018-05-08 03:30:15.218856130 +0200 +@@ -284,6 +284,7 @@ + case GetAppAvailabilityResult::kUnavailable: + return "unavailable"; + case GetAppAvailabilityResult::kUnknown: ++ default: + return "unknown"; + } + } +--- chromium-68.0.3418.2/services/network/cross_origin_read_blocking.cc.gcc7 2018-05-04 06:05:26.000000000 +0200 ++++ chromium-68.0.3418.2/services/network/cross_origin_read_blocking.cc 2018-05-08 04:58:22.484383246 +0200 +@@ -729,6 +729,7 @@ + case kNeedToSniffMore: + return sniffers_.empty() && !found_blockable_content_; + case kBlock: ++ default: + return false; + } + } +@@ -740,6 +741,7 @@ + case kNeedToSniffMore: + return sniffers_.empty() && found_blockable_content_; + case kBlock: ++ default: + return true; + } + } +--- chromium-68.0.3418.2/third_party/blink/renderer/modules/webaudio/audio_param.cc.gcc7 2018-05-04 06:05:50.000000000 +0200 ++++ chromium-68.0.3418.2/third_party/blink/renderer/modules/webaudio/audio_param.cc 2018-05-13 16:16:36.362212522 +0200 +@@ -144,6 +144,7 @@ + return custom_param_name_; + default: + NOTREACHED(); ++ return ""; + } + } + +--- chromium-68.0.3440.7/third_party/crashpad/crashpad/util/net/http_transport_socket.cc.gcc7 2018-05-31 12:46:18.000000000 +0200 ++++ chromium-68.0.3440.7/third_party/crashpad/crashpad/util/net/http_transport_socket.cc 2018-06-02 15:30:05.860916765 +0200 +@@ -210,8 +210,13 @@ bool WriteRequest(int sock, + do { + constexpr size_t kCRLFSize = arraysize(kCRLFTerminator) - 1; + struct __attribute__((packed)) { +- char size[8]; +- char crlf[2]; ++ union { ++ struct { ++ char size[8]; ++ char crlf[2]; ++ }; ++ char size_and_crlf[10]; ++ }; + uint8_t data[32 * 1024 + kCRLFSize]; + } buf; + static_assert( +@@ -238,7 +243,7 @@ bool WriteRequest(int sock, + + // Not snprintf because non-null terminated is desired. + int rv = sprintf( +- buf.size, "%08x", base::checked_cast(data_bytes)); ++ buf.size_and_crlf, "%08x", base::checked_cast(data_bytes)); + DCHECK_GE(rv, 0); + DCHECK_EQ(static_cast(rv), sizeof(buf.size)); + DCHECK_NE(buf.size[sizeof(buf.size) - 1], '\0'); +--- chromium-68.0.3440.7/services/audio/public/cpp/audio_system_to_service_adapter.cc.gcc7 2018-05-31 12:45:46.000000000 +0200 ++++ chromium-68.0.3440.7/services/audio/public/cpp/audio_system_to_service_adapter.cc 2018-06-02 16:23:31.460186468 +0200 +@@ -68,6 +68,7 @@ + return "AudioSystemToServiceAdapter::GetInputDeviceInfo"; + } + NOTREACHED(); ++ return NULL; + } + + void LogUMA(Action action, base::TimeTicks start_time) { +--- chromium-68.0.3440.7/cc/input/snap_fling_controller.cc.gcc7 2018-05-31 12:45:27.000000000 +0200 ++++ chromium-68.0.3440.7/cc/input/snap_fling_controller.cc 2018-06-02 16:44:43.320656957 +0200 +@@ -27,6 +27,8 @@ + return state_ == State::kActive || state_ == State::kFinished; + } + } ++ // should not be reached ++ return false; + } + + void SnapFlingController::ClearSnapFling() { +--- chromium-68.0.3440.7/components/bookmarks/browser/bookmark_storage.h.gcc7 2018-05-31 12:45:36.000000000 +0200 ++++ chromium-68.0.3440.7/components/bookmarks/browser/bookmark_storage.h 2018-06-02 16:54:37.974209537 +0200 +@@ -19,6 +19,7 @@ + #include "base/memory/weak_ptr.h" + #include "components/bookmarks/browser/bookmark_node.h" + #include "components/bookmarks/browser/titled_url_index.h" ++#include "components/bookmarks/browser/url_index.h" + + namespace base { + class SequencedTaskRunner; +@@ -29,7 +30,6 @@ + class BookmarkClient; + class BookmarkModel; + class BookmarkNode; +-class UrlIndex; + + // A list of BookmarkPermanentNodes that owns them. + using BookmarkPermanentNodeList = +--- chromium-68.0.3440.7/components/autofill/core/browser/autofill_manager.cc.gcc7 2018-05-31 12:45:36.000000000 +0200 ++++ chromium-68.0.3440.7/components/autofill/core/browser/autofill_manager.cc 2018-06-02 17:06:51.007106694 +0200 +@@ -303,6 +303,7 @@ PopupType AutofillManager::GetPopupType( + + default: + NOTREACHED(); ++ return PopupType::kUnspecified; + } + } + +--- chromium-68.0.3440.7/content/browser/web_package/signed_exchange_handler.cc.gcc7 2018-05-31 12:45:40.000000000 +0200 ++++ chromium-68.0.3440.7/content/browser/web_package/signed_exchange_handler.cc 2018-06-02 19:13:50.092986453 +0200 +@@ -362,7 +362,7 @@ + base::StringPrintf( + "OCSP check failed. response status: %d, revocation status: %d", + cert_verify_result_.ocsp_result.response_status, +- cert_verify_result_.ocsp_result.revocation_status), ++ int(cert_verify_result_.ocsp_result.revocation_status)), + std::make_pair(0 /* signature_index */, + SignedExchangeError::Field::kSignatureCertUrl)); + RunErrorCallback(net::ERR_INVALID_SIGNED_EXCHANGE); +--- chromium-68.0.3440.7/content/browser/cache_storage/cache_storage_quota_client.cc.gcc7 2018-05-31 12:45:39.000000000 +0200 ++++ chromium-68.0.3440.7/content/browser/cache_storage/cache_storage_quota_client.cc 2018-06-02 19:36:54.786503931 +0200 +@@ -99,6 +99,7 @@ + case CacheStorageOwner::kBackgroundFetch: + return kBackgroundFetch; + } ++ return storage::QuotaClient::ID(0); + } + + } // namespace content +--- chromium-68.0.3440.7/content/browser/renderer_host/render_widget_host_view_base.cc.gcc7 2018-05-31 12:45:40.000000000 +0200 ++++ chromium-68.0.3440.7/content/browser/renderer_host/render_widget_host_view_base.cc 2018-06-02 20:27:56.685605639 +0200 +@@ -227,7 +227,7 @@ + if (default_background_color_ == color) + return; + +- bool opaque = default_background_color_ ++ int opaque = default_background_color_ + ? SkColorGetA(*default_background_color_) + : SK_AlphaOPAQUE; + default_background_color_ = color; +--- chromium-68.0.3440.7/ui/accessibility/platform/ax_platform_node_auralinux.cc.gcc7 2018-05-31 12:46:30.000000000 +0200 ++++ chromium-68.0.3440.7/ui/accessibility/platform/ax_platform_node_auralinux.cc 2018-06-02 20:45:03.373900877 +0200 +@@ -1289,6 +1289,8 @@ AtkRole AXPlatformNodeAuraLinux::GetAtkR + case ax::mojom::Role::kUnknown: + return ATK_ROLE_REDUNDANT_OBJECT; + } ++ // should not be reached ++ return AtkRole(0); + } + + void AXPlatformNodeAuraLinux::GetAtkState(AtkStateSet* atk_state_set) { +--- chromium-68.0.3440.7/ui/aura/hit_test_data_provider_aura.cc.gcc7 2018-05-31 12:46:30.000000000 +0200 ++++ chromium-68.0.3440.7/ui/aura/hit_test_data_provider_aura.cc 2018-06-02 20:55:53.154472628 +0200 +@@ -53,8 +53,8 @@ base::Optional H + hit_test_region_list->flags = + event_targeting_policy == + ui::mojom::EventTargetingPolicy::DESCENDANTS_ONLY +- ? viz::HitTestRegionFlags::kHitTestIgnore +- : viz::HitTestRegionFlags::kHitTestMine; ++ ? uint32_t(viz::HitTestRegionFlags::kHitTestIgnore) ++ : uint32_t(viz::HitTestRegionFlags::kHitTestMine); + // TODO(crbug.com/805416): Use pixels instead of DIP units for bounds. + hit_test_region_list->bounds = window_->bounds(); + +--- chromium-68.0.3440.7/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc.gcc7 2018-05-31 12:46:13.000000000 +0200 ++++ chromium-68.0.3440.7/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc 2018-06-03 01:23:30.476302728 +0200 +@@ -1140,6 +1140,7 @@ + case EVerticalAlign::kSuper: + return kAXTextPositionSuperscript; + } ++ return AXTextPosition(0); + } + + int AXLayoutObject::TextLength() const { diff --git a/network/web/chromium-browser_1/files/mageia/010-chromium-68-gcc8.patch b/network/web/chromium-browser_1/files/mageia/010-chromium-68-gcc8.patch new file mode 100644 index 0000000000..17e07a28d2 --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/010-chromium-68-gcc8.patch @@ -0,0 +1,812 @@ +--- chromium-68.0.3440.106/base/metrics/histogram_samples.cc.gcc8 2018-08-08 21:10:31.000000000 +0200 ++++ chromium-68.0.3440.106/base/metrics/histogram_samples.cc 2018-08-14 02:31:33.960840778 +0200 +@@ -172,7 +172,9 @@ + HistogramSamples::LocalMetadata::LocalMetadata() { + // This is the same way it's done for persistent metadata since no ctor + // is called for the data members in that case. ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(this, 0, sizeof(*this)); ++#pragma GCC diagnostic pop + } + + HistogramSamples::HistogramSamples(uint64_t id, Metadata* meta) +--- chromium-68.0.3440.106/mojo/core/data_pipe_consumer_dispatcher.cc.gcc8 2018-08-14 03:11:50.492927855 +0200 ++++ chromium-68.0.3440.106/mojo/core/data_pipe_consumer_dispatcher.cc 2018-08-14 03:12:32.254163933 +0200 +@@ -40,7 +40,7 @@ + uint64_t buffer_guid_high; + uint64_t buffer_guid_low; + char padding[7]; +-}; ++} __attribute__ ((aligned(8))); + + static_assert(sizeof(SerializedState) % 8 == 0, + "Invalid SerializedState size."); +--- chromium-68.0.3440.106/mojo/core/data_pipe_producer_dispatcher.cc.gcc8 2018-08-14 03:11:52.923883382 +0200 ++++ chromium-68.0.3440.106/mojo/core/data_pipe_producer_dispatcher.cc 2018-08-14 03:12:35.341107472 +0200 +@@ -39,7 +39,7 @@ + uint64_t buffer_guid_high; + uint64_t buffer_guid_low; + char padding[7]; +-}; ++} __attribute__ ((aligned(8))); + + static_assert(sizeof(SerializedState) % 8 == 0, + "Invalid SerializedState size."); +--- chromium-68.0.3440.106/mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl.gcc8 2018-08-14 21:12:13.141558150 +0200 ++++ chromium-68.0.3440.106/mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl 2018-08-14 21:13:14.068493440 +0200 +@@ -1,6 +1,6 @@ + {%- set class_name = struct.name ~ "_Data" -%} + +-class {{export_attribute}} {{class_name}} { ++class {{export_attribute}} __attribute__ ((aligned(8))) {{class_name}} { + public: + class BufferWriter { + public: +--- chromium-68.0.3440.106/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl.gcc8 2018-08-14 21:12:15.324520008 +0200 ++++ chromium-68.0.3440.106/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl 2018-08-14 21:13:16.724447019 +0200 +@@ -2,7 +2,7 @@ + {%- set enum_name = union.name ~ "_Tag" -%} + {%- import "struct_macros.tmpl" as struct_macros %} + +-class {{export_attribute}} {{class_name}} { ++class {{export_attribute}} __attribute__ ((aligned(8))) {{class_name}} { + public: + // Used to identify Mojom Union Data Classes. + typedef void MojomUnionDataType; +--- chromium-68.0.3440.106/third_party/angle/src/libANGLE/VertexArray.cpp.gcc8 2018-08-08 21:13:09.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/angle/src/libANGLE/VertexArray.cpp 2018-08-14 21:24:50.555374549 +0200 +@@ -306,12 +306,14 @@ + mDirtyBits.reset(); + mDirtyBitsGuard.reset(); + ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + // This is a bit of an implementation hack - but since we know the implementation + // details of the dirty bit class it should always have the same effect as iterating + // individual attribs. We could also look into schemes where iterating the dirty + // bit set also resets it as you pass through it. + memset(&mDirtyAttribBits, 0, sizeof(mDirtyAttribBits)); + memset(&mDirtyBindingBits, 0, sizeof(mDirtyBindingBits)); ++#pragma GCC diagnostic pop + } + return gl::NoError(); + } +--- chromium-68.0.3440.106/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.cpp.gcc8 2018-08-08 21:13:09.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.cpp 2018-08-14 21:35:47.655983018 +0200 +@@ -350,7 +350,9 @@ + + PipelineDesc &PipelineDesc::operator=(const PipelineDesc &other) + { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(this, &other, sizeof(PipelineDesc)); ++#pragma GCC diagnostic pop + return *this; + } + +--- chromium-68.0.3440.106/third_party/webrtc/modules/audio_processing/include/audio_processing.h.gcc8 2018-08-08 21:13:16.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/webrtc/modules/audio_processing/include/audio_processing.h 2018-08-14 21:40:29.208073793 +0200 +@@ -292,7 +292,9 @@ + // sanitizer builds. + Config& operator=(const Config& config) { + if (this != &config) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(this, &config, sizeof(*this)); ++#pragma GCC diagnostic pop + } + return *this; + } +--- chromium-68.0.3440.106/third_party/webrtc/modules/audio_processing/echo_cancellation_impl.cc.gcc8 2018-08-08 21:13:16.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/webrtc/modules/audio_processing/echo_cancellation_impl.cc 2018-08-14 21:46:52.906368109 +0200 +@@ -300,7 +300,9 @@ + + AecMetrics my_metrics; + memset(&my_metrics, 0, sizeof(my_metrics)); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(metrics, 0, sizeof(Metrics)); ++#pragma GCC diagnostic pop + + const int err = WebRtcAec_GetMetrics(cancellers_[0]->state(), &my_metrics); + if (err != AudioProcessing::kNoError) { +--- chromium-68.0.3440.106/third_party/webrtc/modules/rtp_rtcp/source/rtp_header_parser.cc.gcc8 2018-08-08 21:13:16.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/webrtc/modules/rtp_rtcp/source/rtp_header_parser.cc 2018-08-14 21:49:50.106272582 +0200 +@@ -49,7 +49,9 @@ + size_t length, + RTPHeader* header) const { + RtpUtility::RtpHeaderParser rtp_parser(packet, length); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(header, 0, sizeof(*header)); ++#pragma GCC diagnostic pop + + RtpHeaderExtensionMap map; + { +--- chromium-68.0.3440.106/third_party/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc.gcc8 2018-08-08 21:13:16.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc 2018-08-14 21:51:07.382922793 +0200 +@@ -64,7 +64,9 @@ + } else { + // No clock implementation provided, use default clock. + RtpRtcp::Configuration configuration_copy; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(&configuration_copy, &configuration, sizeof(RtpRtcp::Configuration)); ++#pragma GCC diagnostic pop + configuration_copy.clock = Clock::GetRealTimeClock(); + return new ModuleRtpRtcpImpl(configuration_copy); + } +--- chromium-68.0.3440.106/third_party/blink/renderer/platform/wtf/vector.h.gcc8 2018-08-08 21:11:52.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/blink/renderer/platform/wtf/vector.h 2018-08-14 21:59:58.115654176 +0200 +@@ -141,8 +141,10 @@ + struct VectorInitializer { + STATIC_ONLY(VectorInitializer); + static void Initialize(T* begin, T* end) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(begin, 0, + reinterpret_cast(end) - reinterpret_cast(begin)); ++#pragma GCC diagnostic pop + } + }; + +@@ -190,9 +192,11 @@ + STATIC_ONLY(VectorMover); + static void Move(const T* src, const T* src_end, T* dst) { + if (LIKELY(dst && src)) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(dst, src, + reinterpret_cast(src_end) - + reinterpret_cast(src)); ++#pragma GCC diagnostic pop + ConstructTraits, Allocator>::NotifyNewElements( + dst, src_end - src); + } +@@ -203,9 +203,11 @@ + } + static void MoveOverlapping(const T* src, const T* src_end, T* dst) { + if (LIKELY(dst && src)) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memmove(dst, src, + reinterpret_cast(src_end) - + reinterpret_cast(src)); ++#pragma GCC diagnostic pop + ConstructTraits, Allocator>::NotifyNewElements( + dst, src_end - src); + } +@@ -242,9 +244,11 @@ + STATIC_ONLY(VectorCopier); + static void UninitializedCopy(const T* src, const T* src_end, T* dst) { + if (LIKELY(dst && src)) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(dst, src, + reinterpret_cast(src_end) - + reinterpret_cast(src)); ++#pragma GCC diagnostic pop + ConstructTraits, Allocator>::NotifyNewElements( + dst, src_end - src); + } +--- chromium-68.0.3440.106/third_party/blink/renderer/platform/wtf/hash_table.h.gcc8 2018-08-08 21:11:52.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/blink/renderer/platform/wtf/hash_table.h 2018-08-14 22:04:23.904013134 +0200 +@@ -1216,7 +1216,9 @@ + // makes it possible to use this with types that don't support copying. + // The memset to 0 looks like a slow operation but is optimized by the + // compilers. ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&bucket, 0, sizeof(bucket)); ++#pragma GCC diagnostic pop + } + }; + +@@ -1688,7 +1690,9 @@ + if (IsEmptyOrDeletedBucket(table_[i])) { + DCHECK_NE(&table_[i], entry); + if (Traits::kEmptyValueIsZero) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&temporary_table[i], 0, sizeof(ValueType)); ++#pragma GCC diagnostic pop + } else { + InitializeBucket(temporary_table[i]); + } +@@ -1703,7 +1707,9 @@ + Allocator::BackingWriteBarrier(table_); + + if (Traits::kEmptyValueIsZero) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(original_table, 0, new_table_size * sizeof(ValueType)); ++#pragma GCC diagnostic pop + } else { + for (unsigned i = 0; i < new_table_size; i++) + InitializeBucket(original_table[i]); +--- chromium-68.0.3440.106/gpu/command_buffer/client/raster_implementation.cc.gcc8 2018-08-08 21:10:58.000000000 +0200 ++++ chromium-68.0.3440.106/gpu/command_buffer/client/raster_implementation.cc 2018-08-14 22:13:17.028701679 +0200 +@@ -848,7 +848,9 @@ + for (GLsizei i = 0; i < count; ++i) { + if (sync_tokens[i]) { + SyncToken sync_token; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(&sync_token, sync_tokens[i], sizeof(sync_token)); ++#pragma GCC diagnostic pop + + if (sync_token.HasData() && !sync_token.verified_flush()) { + if (!GetVerifiedSyncTokenForIPC(sync_token, &sync_token)) { +@@ -879,7 +881,9 @@ + + // Copy the data over before data access to ensure alignment. + SyncToken sync_token, verified_sync_token; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(&sync_token, sync_token_data, sizeof(SyncToken)); ++#pragma GCC diagnostic pop + + if (!sync_token.HasData()) + return; +--- chromium-68.0.3440.106/gpu/command_buffer/client/gles2_implementation.cc.gcc8 2018-08-08 21:10:58.000000000 +0200 ++++ chromium-68.0.3440.106/gpu/command_buffer/client/gles2_implementation.cc 2018-08-14 22:15:45.728097911 +0200 +@@ -6002,7 +6002,9 @@ + for (GLsizei i = 0; i < count; ++i) { + if (sync_tokens[i]) { + SyncToken sync_token; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(&sync_token, sync_tokens[i], sizeof(sync_token)); ++#pragma GCC diagnostic pop + + if (sync_token.HasData() && !sync_token.verified_flush()) { + if (!GetVerifiedSyncTokenForIPC(sync_token, &sync_token)) { +@@ -6032,7 +6034,9 @@ + + // Copy the data over before data access to ensure alignment. + SyncToken sync_token, verified_sync_token; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(&sync_token, sync_token_data, sizeof(SyncToken)); ++#pragma GCC diagnostic pop + + if (!sync_token.HasData()) + return; +--- chromium-68.0.3440.106/third_party/webrtc/video/video_receive_stream.cc.gcc8 2018-08-08 21:13:17.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/webrtc/video/video_receive_stream.cc 2018-08-14 22:24:07.073210699 +0200 +@@ -46,7 +46,9 @@ + namespace { + VideoCodec CreateDecoderVideoCodec(const VideoReceiveStream::Decoder& decoder) { + VideoCodec codec; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&codec, 0, sizeof(codec)); ++#pragma GCC diagnostic pop + + codec.plType = decoder.payload_type; + codec.codecType = PayloadStringToCodecType(decoder.payload_name); +--- chromium-68.0.3440.106/third_party/pdfium/core/fxcodec/jbig2/JBig2_Context.cpp.gcc8 2018-08-08 21:13:13.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/pdfium/core/fxcodec/jbig2/JBig2_Context.cpp 2018-08-14 22:32:06.974633434 +0200 +@@ -817,7 +817,9 @@ + if (pTRD->SBREFINE == 1) { + const size_t size = GetRefAggContextSize(pTRD->SBRTEMPLATE); + grContext.reset(FX_Alloc(JBig2ArithCtx, size)); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(grContext.get(), 0, sizeof(JBig2ArithCtx) * size); ++#pragma GCC diagnostic pop + } + if (pTRD->SBHUFF == 0) { + auto pArithDecoder = +@@ -871,7 +873,9 @@ + const size_t size = GetHuffContextSize(pPDD->HDTEMPLATE); + std::unique_ptr gbContext( + FX_Alloc(JBig2ArithCtx, size)); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(gbContext.get(), 0, sizeof(JBig2ArithCtx) * size); ++#pragma GCC diagnostic pop + auto pArithDecoder = + pdfium::MakeUnique(m_pStream.get()); + pSegment->m_PatternDict = +@@ -940,7 +944,9 @@ + const size_t size = GetHuffContextSize(pHRD->HTEMPLATE); + std::unique_ptr gbContext( + FX_Alloc(JBig2ArithCtx, size)); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(gbContext.get(), 0, sizeof(JBig2ArithCtx) * size); ++#pragma GCC diagnostic pop + auto pArithDecoder = + pdfium::MakeUnique(m_pStream.get()); + pSegment->m_Image = +@@ -1120,7 +1126,9 @@ + const size_t size = GetRefAggContextSize(pGRRD->GRTEMPLATE); + std::unique_ptr grContext( + FX_Alloc(JBig2ArithCtx, size)); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(grContext.get(), 0, sizeof(JBig2ArithCtx) * size); ++#pragma GCC diagnostic pop + auto pArithDecoder = pdfium::MakeUnique(m_pStream.get()); + pSegment->m_nResultType = JBIG2_IMAGE_POINTER; + pSegment->m_Image = pGRRD->Decode(pArithDecoder.get(), grContext.get()); +--- chromium-68.0.3440.106/third_party/pdfium/xfa/fde/cfde_texteditengine.cpp.gcc8 2018-08-08 21:13:13.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/pdfium/xfa/fde/cfde_texteditengine.cpp 2018-08-14 22:34:59.589550686 +0200 +@@ -1043,7 +1043,9 @@ + const CFX_BreakPiece* piece = text_break_.GetBreakPieceUnstable(i); + + FDE_TEXTEDITPIECE txtEdtPiece; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&txtEdtPiece, 0, sizeof(FDE_TEXTEDITPIECE)); ++#pragma GCC diagnostic pop + + txtEdtPiece.nBidiLevel = piece->m_iBidiLevel; + txtEdtPiece.nCount = piece->GetLength(); +--- chromium-68.0.3440.106/third_party/webrtc/media/engine/simulcast_encoder_adapter.cc.gcc8 2018-08-08 21:13:15.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/webrtc/media/engine/simulcast_encoder_adapter.cc 2018-08-14 22:37:49.845519857 +0200 +@@ -118,7 +118,9 @@ + // the encoder task queue. + encoder_queue_.Detach(); + ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&codec_, 0, sizeof(webrtc::VideoCodec)); ++#pragma GCC diagnostic pop + } + + SimulcastEncoderAdapter::~SimulcastEncoderAdapter() { +--- chromium-68.0.3440.106/third_party/webrtc/modules/video_coding/encoder_database.cc.gcc8 2018-08-08 21:13:16.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/webrtc/modules/video_coding/encoder_database.cc 2018-08-14 22:40:27.598718970 +0200 +@@ -103,7 +103,9 @@ + + void VCMEncoderDataBase::DeregisterExternalEncoder() { + DeleteEncoder(); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&send_codec_, 0, sizeof(VideoCodec)); ++#pragma GCC diagnostic pop + external_encoder_ = nullptr; + internal_source_ = false; + } +--- chromium-68.0.3440.106/third_party/webrtc/modules/video_coding/decoder_database.cc.gcc8 2018-08-08 21:13:16.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/webrtc/modules/video_coding/decoder_database.cc 2018-08-14 22:42:30.590539511 +0200 +@@ -99,7 +99,9 @@ + dec_map_.erase(it); + if (receive_codec_.plType == payload_type) { + // This codec is currently in use. ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&receive_codec_, 0, sizeof(VideoCodec)); ++#pragma GCC diagnostic pop + } + return true; + } +@@ -115,7 +117,9 @@ + // If decoder exists - delete. + if (ptr_decoder_) { + ptr_decoder_.reset(); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&receive_codec_, 0, sizeof(VideoCodec)); ++#pragma GCC diagnostic pop + } + ptr_decoder_ = CreateAndInitDecoder(frame, &receive_codec_); + if (!ptr_decoder_) { +@@ -126,7 +130,9 @@ + if (ptr_decoder_->RegisterDecodeCompleteCallback(decoded_frame_callback) < + 0) { + ptr_decoder_.reset(); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&receive_codec_, 0, sizeof(VideoCodec)); ++#pragma GCC diagnostic pop + return nullptr; + } + return ptr_decoder_.get(); +--- chromium-68.0.3440.106/third_party/webrtc/modules/video_coding/video_codec_initializer.cc.gcc8 2018-08-08 21:13:16.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/webrtc/modules/video_coding/video_codec_initializer.cc 2018-08-14 22:45:20.974525552 +0200 +@@ -77,7 +77,9 @@ + RTC_DCHECK_GE(config.min_transmit_bitrate_bps, 0); + + VideoCodec video_codec; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&video_codec, 0, sizeof(video_codec)); ++#pragma GCC diagnostic pop + video_codec.codecType = config.codec_type; + + switch (config.content_type) { +--- chromium-68.0.3440.106/third_party/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc.gcc8 2018-08-08 21:13:16.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc 2018-08-14 22:46:55.545855003 +0200 +@@ -86,7 +86,9 @@ + output_framerate_(1000.0, 1000.0), + last_encoded_frame_rtp_timestamp_(0), + is_flexible_mode_(false) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&codec_, 0, sizeof(codec_)); ++#pragma GCC diagnostic pop + memset(&svc_params_, 0, sizeof(vpx_svc_extra_cfg_t)); + } + +@@ -761,7 +763,9 @@ + } + RTC_DCHECK_LE(encoded_image_._length, encoded_image_._size); + ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&codec_specific_, 0, sizeof(codec_specific_)); ++#pragma GCC diagnostic pop + PopulateCodecSpecific(&codec_specific_, *pkt, input_image_->timestamp(), + first_frame_in_picture); + +--- chromium-68.0.3440.106/media/filters/vp8_parser.cc.gcc8 2018-08-08 21:11:03.000000000 +0200 ++++ chromium-68.0.3440.106/media/filters/vp8_parser.cc 2018-08-14 23:13:10.772858869 +0200 +@@ -59,7 +59,9 @@ + stream_ = ptr; + bytes_left_ = frame_size; + ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(fhdr, 0, sizeof(*fhdr)); ++#pragma GCC diagnostic pop + fhdr->data = stream_; + fhdr->frame_size = bytes_left_; + +--- chromium-68.0.3440.106/media/video/h264_parser.cc.gcc8 2018-08-08 21:11:05.000000000 +0200 ++++ chromium-68.0.3440.106/media/video/h264_parser.cc 2018-08-14 23:18:45.317942396 +0200 +@@ -1368,7 +1368,9 @@ + const H264PPS* pps; + Result res; + ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(shdr, 0, sizeof(*shdr)); ++#pragma GCC diagnostic pop + + shdr->idr_pic_flag = (nalu.nal_unit_type == 5); + shdr->nal_ref_idc = nalu.nal_ref_idc; +@@ -1516,7 +1518,9 @@ + H264Parser::Result H264Parser::ParseSEI(H264SEIMessage* sei_msg) { + int byte; + ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(sei_msg, 0, sizeof(*sei_msg)); ++#pragma GCC diagnostic pop + + READ_BITS_OR_RETURN(8, &byte); + while (byte == 0xff) { +--- chromium-68.0.3440.106/third_party/pdfium/xfa/fxfa/cxfa_textlayout.cpp.gcc8 2018-08-08 21:13:13.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/pdfium/xfa/fxfa/cxfa_textlayout.cpp 2018-08-14 23:29:04.550904864 +0200 +@@ -591,7 +591,9 @@ + pCharPos = FX_Realloc(FXTEXT_CHARPOS, pCharPos, iChars); + iCharCount = iChars; + } ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(pCharPos, 0, iCharCount * sizeof(FXTEXT_CHARPOS)); ++#pragma GCC diagnostic pop + RenderString(pFxDevice, pPieceLine, j, pCharPos, tmDoc2Device); + } + for (j = 0; j < iPieces; j++) +--- chromium-68.0.3440.106/v8/src/frames.h.gcc8 2018-08-08 21:13:19.000000000 +0200 ++++ chromium-68.0.3440.106/v8/src/frames.h 2018-08-14 23:30:16.197615313 +0200 +@@ -44,7 +44,9 @@ + } + + void Flush() { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&cache_[0], 0, sizeof(cache_)); ++#pragma GCC diagnostic pop + } + + InnerPointerToCodeCacheEntry* GetCacheEntry(Address inner_pointer); +--- chromium-68.0.3440.106/v8/src/base/macros.h.gcc8 2018-08-08 21:13:19.000000000 +0200 ++++ chromium-68.0.3440.106/v8/src/base/macros.h 2018-08-14 23:38:21.112816242 +0200 +@@ -101,7 +101,9 @@ + static_assert(sizeof(Dest) == sizeof(Source), + "source and dest must be same size"); + Dest dest; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(&dest, &source, sizeof(dest)); ++#pragma GCC diagnostic pop + return dest; + } + +--- chromium-68.0.3440.106/v8/src/compiler/node-cache.cc.gcc8 2018-08-08 21:13:19.000000000 +0200 ++++ chromium-68.0.3440.106/v8/src/compiler/node-cache.cc 2018-08-14 23:45:26.941120662 +0200 +@@ -38,7 +38,9 @@ + size_ *= 4; + size_t num_entries = size_ + kLinearProbe; + entries_ = zone->NewArray(num_entries); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(entries_, 0, sizeof(Entry) * num_entries); ++#pragma GCC diagnostic pop + + // Insert the old entries into the new block. + for (size_t i = 0; i < old_size; ++i) { +@@ -69,7 +71,9 @@ + size_t num_entries = kInitialSize + kLinearProbe; + entries_ = zone->NewArray(num_entries); + size_ = kInitialSize; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(entries_, 0, sizeof(Entry) * num_entries); ++#pragma GCC diagnostic pop + Entry* entry = &entries_[hash & (kInitialSize - 1)]; + entry->key_ = key; + return &entry->value_; +--- chromium-68.0.3440.106/v8/src/compiler/simd-scalar-lowering.cc.gcc8 2018-08-08 21:13:19.000000000 +0200 ++++ chromium-68.0.3440.106/v8/src/compiler/simd-scalar-lowering.cc 2018-08-14 23:47:52.217508370 +0200 +@@ -38,7 +38,9 @@ + DCHECK_NOT_NULL(graph()); + DCHECK_NOT_NULL(graph()->end()); + replacements_ = zone()->NewArray(graph()->NodeCount()); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(replacements_, 0, sizeof(Replacement) * graph()->NodeCount()); ++#pragma GCC diagnostic pop + } + + void SimdScalarLowering::LowerGraph() { +--- chromium-68.0.3440.106/v8/src/log.cc.gcc8 2018-08-08 21:13:19.000000000 +0200 ++++ chromium-68.0.3440.106/v8/src/log.cc 2018-08-14 23:55:16.938544439 +0200 +@@ -668,7 +668,9 @@ + SharedFunctionInfo* shared, const char* name, + int length) { + JitCodeEvent event; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&event, 0, sizeof(event)); ++#pragma GCC diagnostic pop + event.type = JitCodeEvent::CODE_ADDED; + event.code_start = reinterpret_cast(code->InstructionStart()); + event.code_type = +@@ -689,7 +691,9 @@ + void JitLogger::LogRecordedBuffer(const wasm::WasmCode* code, const char* name, + int length) { + JitCodeEvent event; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&event, 0, sizeof(event)); ++#pragma GCC diagnostic pop + event.type = JitCodeEvent::CODE_ADDED; + event.code_type = JitCodeEvent::JIT_CODE; + event.code_start = code->instructions().start(); +@@ -726,7 +730,9 @@ + int position, + JitCodeEvent::PositionType position_type) { + JitCodeEvent event; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&event, 0, sizeof(event)); ++#pragma GCC diagnostic pop + event.type = JitCodeEvent::CODE_ADD_LINE_POS_INFO; + event.user_data = jit_handler_data; + event.line_info.offset = pc_offset; +@@ -740,7 +746,9 @@ + + void* JitLogger::StartCodePosInfoEvent() { + JitCodeEvent event; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&event, 0, sizeof(event)); ++#pragma GCC diagnostic pop + event.type = JitCodeEvent::CODE_START_LINE_INFO_RECORDING; + event.isolate = reinterpret_cast(isolate_); + +@@ -751,7 +759,9 @@ + void JitLogger::EndCodePosInfoEvent(Address start_address, + void* jit_handler_data) { + JitCodeEvent event; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&event, 0, sizeof(event)); ++#pragma GCC diagnostic pop + event.type = JitCodeEvent::CODE_END_LINE_INFO_RECORDING; + event.code_start = reinterpret_cast(start_address); + event.user_data = jit_handler_data; +--- chromium-68.0.3440.106/components/web_cache/browser/web_cache_manager.cc.gcc8 2018-08-08 21:10:52.000000000 +0200 ++++ chromium-68.0.3440.106/components/web_cache/browser/web_cache_manager.cc 2018-08-16 12:02:36.324221013 +0200 +@@ -80,7 +80,9 @@ + active_renderers_.insert(renderer_id); + + RendererInfo* stats = &(stats_[renderer_id]); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(stats, 0, sizeof(*stats)); ++#pragma GCC diagnostic pop + stats->access = Time::Now(); + + content::RenderProcessHost* host = +--- chromium-68.0.3440.106/content/browser/browser_plugin/browser_plugin_guest.cc.gcc8 2018-08-08 21:10:53.000000000 +0200 ++++ chromium-68.0.3440.106/content/browser/browser_plugin/browser_plugin_guest.cc 2018-08-16 12:40:59.741240759 +0200 +@@ -429,7 +429,9 @@ + gfx::Vector2d offset_from_embedder = frame_rect_.OffsetFromOrigin(); + if (event.GetType() == blink::WebInputEvent::kGestureScrollUpdate) { + blink::WebGestureEvent resent_gesture_event; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(&resent_gesture_event, &event, sizeof(blink::WebGestureEvent)); ++#pragma GCC diagnostic pop + resent_gesture_event.SetPositionInWidget( + resent_gesture_event.PositionInWidget() + offset_from_embedder); + // Mark the resend source with the browser plugin's instance id, so the +@@ -441,7 +443,9 @@ + view->ProcessGestureEvent(resent_gesture_event, latency_info); + } else if (event.GetType() == blink::WebInputEvent::kMouseWheel) { + blink::WebMouseWheelEvent resent_wheel_event; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(&resent_wheel_event, &event, sizeof(blink::WebMouseWheelEvent)); ++#pragma GCC diagnostic pop + resent_wheel_event.SetPositionInWidget( + resent_wheel_event.PositionInWidget().x + offset_from_embedder.x(), + resent_wheel_event.PositionInWidget().y + offset_from_embedder.y()); +--- chromium-68.0.3440.106/device/gamepad/public/cpp/gamepad_mojom_traits.cc.gcc8 2018-08-08 21:10:57.000000000 +0200 ++++ chromium-68.0.3440.106/device/gamepad/public/cpp/gamepad_mojom_traits.cc 2018-08-16 14:55:08.981030117 +0200 +@@ -12,7 +12,9 @@ + void StructTraits< + device::mojom::GamepadQuaternionDataView, + device::GamepadQuaternion>::SetToNull(device::GamepadQuaternion* out) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(out, 0, sizeof(device::GamepadQuaternion)); ++#pragma GCC diagnostic pop + out->not_null = false; + } + +@@ -33,7 +35,9 @@ + void StructTraits::SetToNull(device::GamepadVector* + out) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(out, 0, sizeof(device::GamepadVector)); ++#pragma GCC diagnostic pop + out->not_null = false; + } + +@@ -101,7 +105,9 @@ + void StructTraits:: + SetToNull(device::GamepadHapticActuator* out) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(out, 0, sizeof(device::GamepadHapticActuator)); ++#pragma GCC diagnostic pop + out->not_null = false; + } + +@@ -119,7 +125,9 @@ + // static + void StructTraits::SetToNull(device::GamepadPose* out) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(out, 0, sizeof(device::GamepadPose)); ++#pragma GCC diagnostic pop + out->not_null = false; + } + +--- chromium-68.0.3440.106/device/gamepad/gamepad_pad_state_provider.cc.gcc8 2018-08-08 21:10:57.000000000 +0200 ++++ chromium-68.0.3440.106/device/gamepad/gamepad_pad_state_provider.cc 2018-08-16 14:57:16.836715112 +0200 +@@ -62,7 +62,9 @@ + } + + void GamepadPadStateProvider::ClearPadState(PadState& state) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&state, 0, sizeof(PadState)); ++#pragma GCC diagnostic pop + } + + void GamepadPadStateProvider::InitializeDataFetcher( +@@ -77,7 +79,9 @@ + DCHECK(pad); + + if (!pad_state->data.connected) { ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(pad, 0, sizeof(Gamepad)); ++#pragma GCC diagnostic pop + return; + } + +--- chromium-68.0.3440.106/device/gamepad/gamepad_shared_buffer.cc.gcc8 2018-08-08 21:10:57.000000000 +0200 ++++ chromium-68.0.3440.106/device/gamepad/gamepad_shared_buffer.cc 2018-08-16 15:12:56.372693313 +0200 +@@ -16,7 +16,9 @@ + void* mem = shared_memory_mapping_.memory(); + DCHECK(mem); + hardware_buffer_ = new (mem) GamepadHardwareBuffer(); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&(hardware_buffer_->data), 0, sizeof(Gamepads)); ++#pragma GCC diagnostic pop + } + + GamepadSharedBuffer::~GamepadSharedBuffer() = default; +--- chromium-68.0.3440.106/third_party/blink/renderer/platform/length.h.gcc8 2018-08-08 21:11:51.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/blink/renderer/platform/length.h 2018-08-16 21:04:12.500371375 +0200 +@@ -102,7 +102,9 @@ + length.IncrementCalculatedRef(); + if (IsCalculated()) + DecrementCalculatedRef(); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(this, &length, sizeof(Length)); ++#pragma GCC diagnostic pop + return *this; + } + +--- chromium-68.0.3440.106/ppapi/proxy/gamepad_resource.cc.gcc8 2018-08-08 21:11:07.000000000 +0200 ++++ chromium-68.0.3440.106/ppapi/proxy/gamepad_resource.cc 2018-08-16 21:14:14.496252776 +0200 +@@ -60,7 +60,9 @@ + device::Gamepads read_into; + do { + version = buffer_->seqlock.ReadBegin(); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(&read_into, &buffer_->data, sizeof(read_into)); ++#pragma GCC diagnostic pop + ++contention_count; + if (contention_count == kMaximumContentionCount) + break; +--- chromium-68.0.3440.106/third_party/blink/renderer/modules/gamepad/gamepad_shared_memory_reader.cc.gcc8 2018-08-08 21:10:55.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/blink/renderer/modules/gamepad/gamepad_shared_memory_reader.cc 2018-08-16 22:01:05.038368945 +0200 +@@ -87,7 +87,9 @@ + base::subtle::Atomic32 version; + do { + version = gamepad_hardware_buffer_->seqlock.ReadBegin(); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(&read_into, &gamepad_hardware_buffer_->data, sizeof(read_into)); ++#pragma GCC diagnostic pop + ++contention_count; + if (contention_count == kMaximumContentionCount) + break; +@@ -102,7 +104,9 @@ + } + + // New data was read successfully, copy it into the output buffer. ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(&gamepads, &read_into, sizeof(gamepads)); ++#pragma GCC diagnostic pop + + if (!ever_interacted_with_) { + // Clear the connected flag if the user hasn't interacted with any of the +--- chromium-68.0.3440.106/content/renderer/media/webrtc/rtc_video_encoder.cc.gcc8 2018-08-08 21:10:55.000000000 +0200 ++++ chromium-68.0.3440.106/content/renderer/media/webrtc/rtc_video_encoder.cc 2018-08-16 22:35:12.295855869 +0200 +@@ -769,7 +769,9 @@ + return; + + webrtc::RTPFragmentationHeader header; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&header, 0, sizeof(header)); ++#pragma GCC diagnostic pop + switch (video_codec_type_) { + case webrtc::kVideoCodecVP8: + // Generate a header describing a single fragment. +@@ -794,7 +796,9 @@ + } + + webrtc::CodecSpecificInfo info; ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&info, 0, sizeof(info)); ++#pragma GCC diagnostic pop + info.codecType = video_codec_type_; + info.codec_name = ImplementationName(); + if (video_codec_type_ == webrtc::kVideoCodecVP8) { +--- chromium-68.0.3440.106/third_party/blink/renderer/core/css/css_selector_list.cc.gcc8 2018-08-08 21:11:49.000000000 +0200 ++++ chromium-68.0.3440.106/third_party/blink/renderer/core/css/css_selector_list.cc 2018-08-16 22:38:46.625948903 +0200 +@@ -262,8 +262,10 @@ + // Move item from the parser selector vector into selector_array_ without + // invoking destructor (Ugh.) + CSSSelector* current_selector = current->ReleaseSelector().release(); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memcpy(&list.selector_array_[array_index], current_selector, + sizeof(CSSSelector)); ++#pragma GCC diagnostic pop + WTF::Partitions::FastFree(current_selector); + + current = current->TagHistory(); +--- chromium-68.0.3440.106/content/renderer/pepper/plugin_module.cc.gcc8 2018-08-08 21:10:55.000000000 +0200 ++++ chromium-68.0.3440.106/content/renderer/pepper/plugin_module.cc 2018-08-17 09:00:00.010744283 +0200 +@@ -506,7 +506,9 @@ + if (!host_globals) + host_globals = new HostGlobals; + ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(&entry_points_, 0, sizeof(entry_points_)); ++#pragma GCC diagnostic pop + pp_module_ = HostGlobals::Get()->AddModule(this); + GetLivePluginSet()->insert(this); + } +--- chromium-68.0.3440.106/mojo/public/c/system/message_pipe.h.gcc8 2018-08-08 21:11:05.000000000 +0200 ++++ chromium-68.0.3440.106/mojo/public/c/system/message_pipe.h 2018-08-18 15:08:11.059119547 +0200 +@@ -35,7 +35,6 @@ + // See |MojoCreateMessagePipeFlags|. + MojoCreateMessagePipeFlags flags; + }; +-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment"); + MOJO_STATIC_ASSERT(sizeof(MojoCreateMessagePipeOptions) == 8, + "MojoCreateMessagePipeOptions has wrong size"); + +--- chromium-68.0.3440.106/mojo/public/c/system/data_pipe.h.gcc8 2018-08-08 21:11:05.000000000 +0200 ++++ chromium-68.0.3440.106/mojo/public/c/system/data_pipe.h 2018-08-18 15:13:42.028075568 +0200 +@@ -40,7 +40,6 @@ + // system-dependent capacity of at least one element in size. + uint32_t capacity_num_bytes; + }; +-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment"); + MOJO_STATIC_ASSERT(sizeof(MojoCreateDataPipeOptions) == 16, + "MojoCreateDataPipeOptions has wrong size"); + +--- chromium-68.0.3440.106/mojo/public/c/system/buffer.h.gcc8 2018-08-08 21:11:05.000000000 +0200 ++++ chromium-68.0.3440.106/mojo/public/c/system/buffer.h 2018-08-18 15:15:18.766308780 +0200 +@@ -30,7 +30,6 @@ + // See |MojoCreateSharedBufferFlags|. + MojoCreateSharedBufferFlags flags; + }; +-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment"); + MOJO_STATIC_ASSERT(sizeof(MojoCreateSharedBufferOptions) == 8, + "MojoCreateSharedBufferOptions has wrong size"); + +--- chromium-68.0.3440.106/mojo/core/options_validation_unittest.cc.gcc8 2018-08-08 21:11:05.000000000 +0200 ++++ chromium-68.0.3440.106/mojo/core/options_validation_unittest.cc 2018-08-18 15:16:30.947990424 +0200 +@@ -18,7 +18,6 @@ + + using TestOptionsFlags = uint32_t; + +-static_assert(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment"); + struct MOJO_ALIGNAS(8) TestOptions { + uint32_t struct_size; + TestOptionsFlags flags; diff --git a/network/web/chromium-browser_1/files/mageia/011-chromium-69-gcc7.patch b/network/web/chromium-browser_1/files/mageia/011-chromium-69-gcc7.patch new file mode 100644 index 0000000000..153b4cea9e --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/011-chromium-69-gcc7.patch @@ -0,0 +1,554 @@ +--- chromium-69.0.3472.3/third_party/webrtc/video/video_receive_stream.cc.gcc7 2018-06-26 06:35:08.000000000 +0200 ++++ chromium-69.0.3472.3/third_party/webrtc/video/video_receive_stream.cc 2018-07-07 12:13:45.579733235 +0200 +@@ -320,10 +320,6 @@ + const CodecSpecificInfo* codec_specific_info, + const RTPFragmentationHeader* fragmentation) { + stats_proxy_.OnPreDecode(encoded_image, codec_specific_info); +- size_t simulcast_idx = 0; +- if (codec_specific_info->codecType == kVideoCodecVP8) { +- simulcast_idx = codec_specific_info->codecSpecific.VP8.simulcastIdx; +- } + { + rtc::CritScope lock(&ivf_writer_lock_); + if (ivf_writer_.get()) { +--- chromium-69.0.3472.3/third_party/crashpad/crashpad/compat/non_win/dbghelp.h.gcc7 2018-06-26 06:33:19.000000000 +0200 ++++ chromium-69.0.3472.3/third_party/crashpad/crashpad/compat/non_win/dbghelp.h 2018-07-07 12:30:05.410672630 +0200 +@@ -29,7 +29,7 @@ + //! + //! A hex dump of a little-endian minidump file will begin with the string + //! “MDMP”. +-#define MINIDUMP_SIGNATURE ('PMDM') // 0x4d444d50 ++#define MINIDUMP_SIGNATURE (0x4d444d50) // 'PMDM' + + //! \brief The version of a minidump file, stored in MINIDUMP_HEADER::Version. + #define MINIDUMP_VERSION (42899) +--- chromium-69.0.3472.3/chrome/browser/chrome_browser_main.cc.gcc7 2018-06-26 06:32:57.000000000 +0200 ++++ chromium-69.0.3472.3/chrome/browser/chrome_browser_main.cc 2018-07-07 13:30:10.409446615 +0200 +@@ -740,9 +740,8 @@ + chrome::AttemptExit(); + return false; + } +-#else +- return true; + #endif ++ return true; + } + + } // namespace +--- chromium-69.0.3472.3/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc.gcc7 2018-06-26 06:32:58.000000000 +0200 ++++ chromium-69.0.3472.3/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc 2018-07-07 13:47:27.816647653 +0200 +@@ -154,6 +154,7 @@ + } + } + } ++ return false; + } + + StateChangeReason DiscardReasonToStateChangeReason(DiscardReason reason) { +@@ -165,6 +166,7 @@ + case DiscardReason::kUrgent: + return StateChangeReason::SYSTEM_MEMORY_PRESSURE; + } ++ return StateChangeReason::BROWSER_INITIATED; + } + + struct FeatureUsageEntry { +--- chromium-69.0.3472.3/chrome/browser/ui/views/harmony/material_refresh_layout_provider.cc.gcc7 2018-06-26 06:32:58.000000000 +0200 ++++ chromium-69.0.3472.3/chrome/browser/ui/views/harmony/material_refresh_layout_provider.cc 2018-07-07 14:36:14.447584185 +0200 +@@ -33,9 +33,6 @@ + views::EmphasisMetric emphasis_metric, + const gfx::Size& size) const { + switch (emphasis_metric) { +- case views::EMPHASIS_NONE: +- NOTREACHED(); +- return 0; + case views::EMPHASIS_LOW: + case views::EMPHASIS_MEDIUM: + return 4; +@@ -43,15 +40,15 @@ + return 8; + case views::EMPHASIS_MAXIMUM: + return std::min(size.width(), size.height()) / 2; ++ case views::EMPHASIS_NONE: ++ NOTREACHED(); + } ++ return 0; + } + + int MaterialRefreshLayoutProvider::GetShadowElevationMetric( + views::EmphasisMetric emphasis_metric) const { + switch (emphasis_metric) { +- case views::EMPHASIS_NONE: +- NOTREACHED(); +- return 0; + case views::EMPHASIS_LOW: + return 1; + case views::EMPHASIS_MEDIUM: +@@ -60,7 +57,10 @@ + return 3; + case views::EMPHASIS_MAXIMUM: + return 16; ++ case views::EMPHASIS_NONE: ++ NOTREACHED(); + } ++ return 0; + } + + gfx::ShadowValues MaterialRefreshLayoutProvider::MakeShadowValues( +--- chromium-69.0.3472.3/chrome/browser/ui/views/passwords/password_generation_popup_view_views.cc.gcc7 2018-06-26 06:32:58.000000000 +0200 ++++ chromium-69.0.3472.3/chrome/browser/ui/views/passwords/password_generation_popup_view_views.cc 2018-07-07 15:04:10.502088288 +0200 +@@ -55,8 +55,8 @@ + views::Label* suggestion_label = new views::Label( + suggestion, ChromeTextContext::CONTEXT_BODY_TEXT_LARGE, + state == PasswordGenerationPopupController::kOfferGeneration +- ? views::style::STYLE_PRIMARY +- : STYLE_SECONDARY); ++ ? int(views::style::STYLE_PRIMARY) ++ : int(STYLE_SECONDARY)); + layout->AddView(suggestion_label); + + DCHECK(!password_label_); +--- chromium-69.0.3472.3/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc.gcc7-7 2018-06-26 06:33:00.000000000 +0200 ++++ chromium-69.0.3472.3/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc 2018-07-07 15:22:43.289751740 +0200 +@@ -313,8 +313,6 @@ + PageloadMetrics_ConnectionType ProtoConnectionTypeFromConnectionType( + net::NetworkChangeNotifier::ConnectionType connection_type) { + switch (connection_type) { +- case net::NetworkChangeNotifier::CONNECTION_UNKNOWN: +- return PageloadMetrics_ConnectionType_CONNECTION_UNKNOWN; + case net::NetworkChangeNotifier::CONNECTION_ETHERNET: + return PageloadMetrics_ConnectionType_CONNECTION_ETHERNET; + case net::NetworkChangeNotifier::CONNECTION_WIFI: +@@ -329,7 +327,10 @@ + return PageloadMetrics_ConnectionType_CONNECTION_NONE; + case net::NetworkChangeNotifier::CONNECTION_BLUETOOTH: + return PageloadMetrics_ConnectionType_CONNECTION_BLUETOOTH; ++ case net::NetworkChangeNotifier::CONNECTION_UNKNOWN: ++ break; + } ++ return PageloadMetrics_ConnectionType_CONNECTION_UNKNOWN; + } + + RequestInfo_Protocol ProtoRequestInfoProtocolFromRequestInfoProtocol( +@@ -342,8 +343,9 @@ + case DataReductionProxyData::RequestInfo::Protocol::QUIC: + return RequestInfo_Protocol_QUIC; + case DataReductionProxyData::RequestInfo::Protocol::UNKNOWN: +- return RequestInfo_Protocol_UNKNOWN; ++ break; + } ++ return RequestInfo_Protocol_UNKNOWN; + } + + net::ProxyServer::Scheme SchemeFromProxyScheme( +--- chromium-69.0.3472.3/components/previews/core/previews_black_list.cc.gcc7 2018-06-26 06:33:01.000000000 +0200 ++++ chromium-69.0.3472.3/components/previews/core/previews_black_list.cc 2018-07-07 15:41:14.295381780 +0200 +@@ -34,6 +34,7 @@ + case blacklist::BlacklistReason::kAllowed: + return PreviewsEligibilityReason::ALLOWED; + } ++ return PreviewsEligibilityReason::LAST; + } + + } +--- chromium-69.0.3472.3/base/callback_helpers.h.gcc7 2018-06-26 06:32:56.000000000 +0200 ++++ chromium-69.0.3472.3/base/callback_helpers.h 2018-07-07 16:00:33.724127746 +0200 +@@ -91,7 +91,7 @@ + void ReplaceClosure(OnceClosure closure); + + // Releases the Closure without calling. +- OnceClosure Release() WARN_UNUSED_RESULT; ++ OnceClosure Release(); + + private: + OnceClosure closure_; +--- chromium-69.0.3472.3/content/browser/frame_host/frame_tree_node.cc.gcc7 2018-06-26 06:33:02.000000000 +0200 ++++ chromium-69.0.3472.3/content/browser/frame_host/frame_tree_node.cc 2018-07-07 18:37:53.236178023 +0200 +@@ -624,6 +624,7 @@ + return NotifyUserActivation(); + } + NOTREACHED() << "Invalid update_type."; ++ return false; + } + + void FrameTreeNode::OnSetHasReceivedUserGestureBeforeNavigation(bool value) { +--- chromium-69.0.3472.3/device/bluetooth/bluetooth_remote_gatt_characteristic.cc.gcc7 2018-06-26 06:33:02.000000000 +0200 ++++ chromium-69.0.3472.3/device/bluetooth/bluetooth_remote_gatt_characteristic.cc 2018-07-07 21:00:37.557253268 +0200 +@@ -362,14 +362,15 @@ + Properties properties = GetProperties(); + bool hasNotify = (properties & PROPERTY_NOTIFY) != 0; + bool hasIndicate = (properties & PROPERTY_INDICATE) != 0; +- if (!notification_type) +- return hasNotify || hasIndicate; +- switch (notification_type.value()) { +- case NotificationType::kNotification: +- return hasNotify; +- case NotificationType::kIndication: +- return hasIndicate; ++ if (notification_type) { ++ switch (notification_type.value()) { ++ case NotificationType::kNotification: ++ return hasNotify; ++ case NotificationType::kIndication: ++ return hasIndicate; ++ } + } ++ return hasNotify || hasIndicate; + } + + } // namespace device +--- chromium-69.0.3472.3/ui/base/mojo/clipboard_struct_traits.h.gcc7 2018-06-26 06:33:23.000000000 +0200 ++++ chromium-69.0.3472.3/ui/base/mojo/clipboard_struct_traits.h 2018-07-07 22:02:21.462873681 +0200 +@@ -21,6 +21,7 @@ + case ui::CLIPBOARD_TYPE_DRAG: + return ui::mojom::ClipboardType::DRAG; + } ++ return ui::mojom::ClipboardType(int(ui::mojom::ClipboardType::kMaxValue) + 1); + } + + static bool FromMojom(ui::mojom::ClipboardType type, ui::ClipboardType* out) { +--- chromium-69.0.3472.3/pdf/out_of_process_instance.cc.gcc7 2018-06-26 06:33:05.000000000 +0200 ++++ chromium-69.0.3472.3/pdf/out_of_process_instance.cc 2018-07-07 22:24:15.654709688 +0200 +@@ -471,7 +471,6 @@ + + text_input_ = std::make_unique(this); + +- bool enable_javascript = false; + const char* stream_url = nullptr; + const char* original_url = nullptr; + const char* top_level_url = nullptr; +@@ -491,8 +490,6 @@ + } else if (strcmp(argn[i], "top-toolbar-height") == 0) { + success = + base::StringToInt(argv[i], &top_toolbar_height_in_viewport_coords_); +- } else if (strcmp(argn[i], "javascript") == 0) { +- enable_javascript = (strcmp(argv[i], "allow") == 0); + } + if (!success) + return false; +--- chromium-69.0.3472.3/ui/views/layout/layout_provider.cc.gcc7 2018-06-26 06:33:24.000000000 +0200 ++++ chromium-69.0.3472.3/ui/views/layout/layout_provider.cc 2018-07-07 22:46:19.302390595 +0200 +@@ -148,7 +148,7 @@ + switch (emphasis_metric) { + case views::EMPHASIS_NONE: + NOTREACHED(); +- return 0; ++ break; + case EMPHASIS_LOW: + case EMPHASIS_MEDIUM: + return is_touch ? 4 : 2; +@@ -157,6 +157,7 @@ + case EMPHASIS_MAXIMUM: + return is_touch ? std::min(size.width(), size.height()) / 2 : 4; + } ++ return 0; + } + + int LayoutProvider::GetShadowElevationMetric( +--- chromium-69.0.3472.3/content/renderer/input/input_event_prediction.cc.gcc7 2018-06-26 06:33:02.000000000 +0200 ++++ chromium-69.0.3472.3/content/renderer/input/input_event_prediction.cc 2018-07-07 23:26:14.070643691 +0200 +@@ -77,6 +77,7 @@ + case PredictorType::kKalman: + return std::make_unique(); + } ++ return 0; + } + + void InputEventPrediction::UpdatePrediction(const WebInputEvent& event) { +--- chromium-69.0.3472.3/third_party/blink/renderer/platform/heap/heap_stats_collector.h.gcc7 2018-06-26 06:33:19.000000000 +0200 ++++ chromium-69.0.3472.3/third_party/blink/renderer/platform/heap/heap_stats_collector.h 2018-07-08 02:47:57.843418842 +0200 +@@ -95,6 +95,7 @@ + case Id::kVisitStackRoots: + return "BlinkGC.VisitStackRoots"; + } ++ return 0; + } + + static constexpr int kNumScopeIds = kLastScopeId + 1; +--- chromium-69.0.3472.3/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc.gcc7 2018-06-26 06:33:19.000000000 +0200 ++++ chromium-69.0.3472.3/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc 2018-07-08 10:57:14.446270568 +0200 +@@ -622,7 +622,7 @@ + switch (old_state) { + case PageLifecycleState::kUnknown: + // We don't track the initial transition. +- return base::nullopt; ++ break; + case PageLifecycleState::kActive: + switch (new_state) { + case PageLifecycleState::kHiddenForegrounded: +@@ -631,7 +631,7 @@ + return PageLifecycleStateTransition::kActiveToHiddenBackgrounded; + default: + NOTREACHED(); +- return base::nullopt; ++ break; + } + case PageLifecycleState::kHiddenForegrounded: + switch (new_state) { +@@ -644,7 +644,7 @@ + return PageLifecycleStateTransition::kHiddenForegroundedToFrozen; + default: + NOTREACHED(); +- return base::nullopt; ++ break; + } + case PageLifecycleState::kHiddenBackgrounded: + switch (new_state) { +@@ -657,8 +657,8 @@ + return PageLifecycleStateTransition::kHiddenBackgroundedToFrozen; + default: + NOTREACHED(); +- return base::nullopt; +- } ++ break; ++ } + case PageLifecycleState::kFrozen: + switch (new_state) { + case PageLifecycleState::kActive: +@@ -669,9 +669,10 @@ + return PageLifecycleStateTransition::kFrozenToHiddenBackgrounded; + default: + NOTREACHED(); +- return base::nullopt; ++ break; + } + } ++ return base::nullopt; + } + + // static +--- chromium-69.0.3497.4/third_party/pdfium/core/fpdfapi/render/cpdf_scaledrenderbuffer.cpp.gcc7 2018-07-21 09:14:59.000000000 +0200 ++++ chromium-69.0.3497.4/third_party/pdfium/core/fpdfapi/render/cpdf_scaledrenderbuffer.cpp 2018-07-21 18:57:05.372328475 +0200 +@@ -50,10 +50,8 @@ + } + m_pBitmapDevice = pdfium::MakeUnique(); + FXDIB_Format dibFormat = FXDIB_Rgb; +- int32_t bpp = 24; + if (m_pDevice->GetDeviceCaps(FXDC_RENDER_CAPS) & FXRC_ALPHA_OUTPUT) { + dibFormat = FXDIB_Argb; +- bpp = 32; + } + while (1) { + FX_RECT bitmap_rect = +--- chromium-69.0.3497.4/third_party/pdfium/fxjs/cjs_field.cpp.gcc7 2018-07-21 09:14:59.000000000 +0200 ++++ chromium-69.0.3497.4/third_party/pdfium/fxjs/cjs_field.cpp 2018-07-21 20:25:41.470285320 +0200 +@@ -703,14 +703,16 @@ + + CPDF_FormField* pFormField = GetFirstFormField(); + if (!pFormField) ++ { + return CJS_Return(JSMessage::kBadObjectError); +- +- return CJS_Return(JSMessage::kBadObjectError); ++ } + + CPDFSDK_Widget* pWidget = + GetWidget(m_pFormFillEnv.Get(), GetSmartFieldControl(pFormField)); + if (!pWidget) ++ { + return CJS_Return(JSMessage::kBadObjectError); ++ } + + switch (pWidget->GetBorderStyle()) { + case BorderStyle::SOLID: +--- chromium-69.0.3497.4/components/policy/core/common/policy_proto_decoders.cc.gcc7 2018-07-21 09:12:56.000000000 +0200 ++++ chromium-69.0.3497.4/components/policy/core/common/policy_proto_decoders.cc 2018-07-21 21:38:32.566870921 +0200 +@@ -43,6 +43,7 @@ + case em::PolicyOptions::UNSET: + return false; + } ++ return false; + } + + // Convert a BooleanPolicyProto to a bool base::Value. +@@ -186,4 +187,4 @@ + } + } + +-} // namespace policy +\ No newline at end of file ++} // namespace policy +--- chromium-69.0.3497.4/components/password_manager/core/browser/browser_save_password_progress_logger.cc.gcc7 2018-07-21 09:12:55.000000000 +0200 ++++ chromium-69.0.3497.4/components/password_manager/core/browser/browser_save_password_progress_logger.cc 2018-07-21 23:21:48.274812853 +0200 +@@ -87,6 +87,7 @@ + case AutofillUploadContents::Field::FIRST_USE: + return "First use"; + } ++ return ""; + } + + } // namespace +--- chromium-69.0.3497.4/components/previews/content/previews_hints.cc.gcc7 2018-07-21 09:12:56.000000000 +0200 ++++ chromium-69.0.3497.4/components/previews/content/previews_hints.cc 2018-07-21 23:28:56.375131778 +0200 +@@ -95,6 +95,7 @@ + case optimization_guide::proto::RESOURCE_LOADING: + return PreviewsType::RESOURCE_LOADING_HINTS; + } ++ return base::Optional(); + } + + void RecordProcessHintsResult(PreviewsProcessHintsResult result) { +--- chromium-69.0.3497.4/content/browser/renderer_host/input/mouse_wheel_event_queue.cc.gcc7 2018-07-21 09:13:03.000000000 +0200 ++++ chromium-69.0.3497.4/content/browser/renderer_host/input/mouse_wheel_event_queue.cc 2018-07-21 23:53:41.085484269 +0200 +@@ -178,13 +178,11 @@ + bool current_phase_ended = false; + bool scroll_phase_ended = false; + bool momentum_phase_ended = false; +- bool has_phase_info = false; + + if (event_sent_for_gesture_ack_->event.phase != + blink::WebMouseWheelEvent::kPhaseNone || + event_sent_for_gesture_ack_->event.momentum_phase != + blink::WebMouseWheelEvent::kPhaseNone) { +- has_phase_info = true; + scroll_phase_ended = event_sent_for_gesture_ack_->event.phase == + blink::WebMouseWheelEvent::kPhaseEnded || + event_sent_for_gesture_ack_->event.phase == +--- chromium-69.0.3497.4/content/browser/web_package/signed_exchange_handler.cc.gcc7 2018-07-21 20:30:02.788552807 +0200 ++++ chromium-69.0.3497.4/content/browser/web_package/signed_exchange_handler.cc 2018-07-22 00:32:42.325559060 +0200 +@@ -499,7 +499,7 @@ + base::StringPrintf( + "CT verification failed. result: %s, policy compliance: %d", + net::ErrorToShortString(ct_result).c_str(), +- ct_verify_result.policy_compliance), ++ int(ct_verify_result.policy_compliance)), + std::make_pair(0 /* signature_index */, + SignedExchangeError::Field::kSignatureCertUrl)); + RunErrorCallback(net::ERR_INVALID_SIGNED_EXCHANGE); +--- chromium-69.0.3497.4/net/third_party/quic/core/quic_framer.cc.gcc7 2018-07-21 09:13:13.000000000 +0200 ++++ chromium-69.0.3497.4/net/third_party/quic/core/quic_framer.cc 2018-07-22 01:30:27.093813461 +0200 +@@ -3634,7 +3634,6 @@ + return false; + } + +- size_t num_timestamps_offset = 0; + size_t max_num_ack_blocks = available_timestamp_and_ack_block_bytes / + (ack_block_length + PACKET_1BYTE_PACKET_NUMBER); + +@@ -3652,7 +3651,6 @@ + + // Write a placeholder for the number of timestamps which will be + // overwritten after the ack blocks have been written. +- num_timestamps_offset = writer->length(); + uint8_t num_timestamps = 0; + if (!writer->WriteUInt8(num_timestamps)) { + return false; +--- chromium-69.0.3497.4/services/ui/public/cpp/gpu/command_buffer_metrics.cc.gcc7 2018-07-21 09:13:14.000000000 +0200 ++++ chromium-69.0.3497.4/services/ui/public/cpp/gpu/command_buffer_metrics.cc 2018-07-22 02:02:14.833006828 +0200 +@@ -87,6 +87,7 @@ + case ContextType::FOR_TESTING: + return "ForTesting"; + } ++ return "Unexpected"; + } + + void UmaRecordContextInitFailed(ContextType type) { +--- chromium-69.0.3497.4/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc.gcc7 2018-07-21 09:13:41.000000000 +0200 ++++ chromium-69.0.3497.4/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc 2018-07-22 02:11:31.506330451 +0200 +@@ -29,6 +29,7 @@ + case webrtc::RtpTransceiverDirection::kInactive: + return "inactive"; + } ++ return ""; + } + + String OptionalTransceiverDirectionToString( +--- chromium-69.0.3497.4/media/blink/watch_time_reporter.cc.gcc7 2018-07-21 09:13:09.000000000 +0200 ++++ chromium-69.0.3497.4/media/blink/watch_time_reporter.cc 2018-07-22 03:13:23.483720815 +0200 +@@ -572,6 +572,7 @@ + case DisplayType::kPictureInPicture: + return DISPLAY_TYPE_KEY(DisplayPictureInPicture); + } ++ return DISPLAY_TYPE_KEY(All); + } + + #undef DISPLAY_TYPE_KEY +--- chromium-69.0.3497.4/third_party/blink/renderer/core/css/style_environment_variables.cc.gcc7 2018-07-21 09:13:40.000000000 +0200 ++++ chromium-69.0.3497.4/third_party/blink/renderer/core/css/style_environment_variables.cc 2018-07-22 10:53:45.772448293 +0200 +@@ -63,6 +63,7 @@ + case UADefinedVariable::kSafeAreaInsetRight: + return "safe-area-inset-right"; + default: ++ return ""; + break; + } + +--- chromium-69.0.3497.4/third_party/blink/renderer/core/frame/local_frame_view.cc.gcc7 2018-07-21 20:30:02.719554057 +0200 ++++ chromium-69.0.3497.4/third_party/blink/renderer/core/frame/local_frame_view.cc 2018-07-22 12:07:12.229220576 +0200 +@@ -3211,7 +3211,7 @@ + + FloatPoint LocalFrameView::ConvertToContainingEmbeddedContentView( + const FloatPoint& local_point) const { +- if (LocalFrameView* parent = ParentFrameView()) { ++ if (ParentFrameView() != 0) { + auto* layout_object = frame_->OwnerLayoutObject(); + if (!layout_object) + return local_point; +--- chromium-69.0.3497.4/third_party/blink/renderer/core/xmlhttprequest/xml_http_request.cc.gcc7 2018-07-21 09:13:41.000000000 +0200 ++++ chromium-69.0.3497.4/third_party/blink/renderer/core/xmlhttprequest/xml_http_request.cc 2018-07-22 12:12:33.199377829 +0200 +@@ -1753,9 +1753,6 @@ + unsigned long identifier, + const ResourceResponse& response, + std::unique_ptr handle) { +- // TODO(yhirano): Remove this CHECK: see https://crbug.com/570946. +- CHECK(&response); +- + ALLOW_UNUSED_LOCAL(handle); + DCHECK(!handle); + NETWORK_DVLOG(1) << this << " didReceiveResponse(" << identifier << ")"; +--- chromium-69.0.3497.4/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc.gcc7 2018-07-21 09:13:41.000000000 +0200 ++++ chromium-69.0.3497.4/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc 2018-07-22 12:42:37.155347296 +0200 +@@ -56,6 +56,7 @@ + } + + NOTREACHED(); ++ return ""; + } + + } // namespace +--- chromium-69.0.3497.4/third_party/blink/renderer/platform/text/character_property_data_generator.h.gcc7 2018-07-22 13:38:55.938619906 +0200 ++++ chromium-69.0.3497.4/third_party/blink/renderer/platform/text/character_property_data_generator.h 2018-07-22 13:39:12.271315025 +0200 +@@ -247,7 +247,7 @@ + 0xFFA0, 0xFFDC, + }; + +-static const UChar32 kIsHangulArray[] = {}; ++static const UChar32 kIsHangulArray[] = {0}; + + } // namespace blink + +--- chromium-69.0.3497.42/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer.cc.gcc7 2018-08-17 03:05:19.000000000 +0200 ++++ chromium-69.0.3497.42/chrome/browser/resource_coordinator/local_site_characteristics_webcontents_observer.cc 2018-08-18 23:31:30.084822331 +0200 +@@ -254,9 +254,11 @@ + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + + if (ShouldIgnoreFeatureUsageEvent(feature_type)) ++ { + return; ++ } + +- (writer_.get()->*method)(); ++ (writer_.get()->*method)(); + } + + void LocalSiteCharacteristicsWebContentsObserver::OnSiteLoaded() { +--- chromium-69.0.3497.42/content/renderer/media/webrtc/peer_connection_tracker.cc.gcc7 2018-08-17 03:05:35.000000000 +0200 ++++ chromium-69.0.3497.42/content/renderer/media/webrtc/peer_connection_tracker.cc 2018-08-19 10:00:21.171828248 +0200 +@@ -113,6 +113,7 @@ + case webrtc::RtpTransceiverDirection::kInactive: + return "'inactive'"; + } ++ return ""; + } + + static const char* SerializeOptionalDirection( +--- chromium-69.0.3497.42/third_party/blink/renderer/core/html/media/media_controls.cc.gcc7 2018-08-17 03:06:24.000000000 +0200 ++++ chromium-69.0.3497.42/third_party/blink/renderer/core/html/media/media_controls.cc 2018-08-19 12:30:24.128429583 +0200 +@@ -39,6 +39,7 @@ + } + + NOTREACHED(); ++ return AtomicString(); + } + + MediaControls::MediaControls(HTMLMediaElement& media_element) diff --git a/network/web/chromium-browser_1/files/mageia/012-chromium-69-gcc8.patch b/network/web/chromium-browser_1/files/mageia/012-chromium-69-gcc8.patch new file mode 100644 index 0000000000..ef98f85741 --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/012-chromium-69-gcc8.patch @@ -0,0 +1,12 @@ +--- chromium-69.0.3497.42/third_party/blink/renderer/platform/heap/heap_stats_collector.cc.gcc8 2018-08-17 03:06:26.000000000 +0200 ++++ chromium-69.0.3497.42/third_party/blink/renderer/platform/heap/heap_stats_collector.cc 2018-08-19 13:50:34.455693170 +0200 +@@ -83,7 +83,9 @@ + // Reset the current state. + static_assert(!std::is_polymorphic::value, + "Event should not be polymorphic"); ++#pragma GCC diagnostic ignored "-Wclass-memaccess" + memset(¤t_, 0, sizeof(current_)); ++#pragma GCC diagnostic pop + } + + void ThreadHeapStatsCollector::UpdateReason(BlinkGC::GCReason reason) { diff --git a/network/web/chromium-browser_1/files/mageia/chromium-45-no-external-components.patch b/network/web/chromium-browser_1/files/mageia/chromium-45-no-external-components.patch new file mode 100644 index 0000000000..1a755a16d0 --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/chromium-45-no-external-components.patch @@ -0,0 +1,13 @@ +--- chromium-60.0.3112.40/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc.no-external-components 2017-06-23 23:37:14.038911768 +0200 ++++ chromium-60.0.3112.40/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc 2017-06-23 23:49:00.077985242 +0200 +@@ -26,8 +26,10 @@ + + bool IsComponentExtensionWhitelisted(const std::string& extension_id) { + const char* const kAllowed[] = { ++#if 0 + extension_misc::kInAppPaymentsSupportAppId, + extension_misc::kMediaRouterStableExtensionId, ++#endif + extension_misc::kPdfExtensionId, + #if defined(OS_CHROMEOS) + extension_misc::kAssessmentAssistantExtensionId, diff --git a/network/web/chromium-browser_1/files/mageia/chromium-52-pdfium-system-libtiff-libpng.patch b/network/web/chromium-browser_1/files/mageia/chromium-52-pdfium-system-libtiff-libpng.patch new file mode 100644 index 0000000000..2f8a4967c1 --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/chromium-52-pdfium-system-libtiff-libpng.patch @@ -0,0 +1,228 @@ +diff -up chromium-60.0.3112.40/third_party/pdfium/BUILD.gn.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/BUILD.gn +--- chromium-60.0.3112.40/third_party/pdfium/BUILD.gn.pdfium-system-libtiff-libpng 2017-06-22 00:04:09.000000000 +0200 ++++ chromium-60.0.3112.40/third_party/pdfium/BUILD.gn 2017-06-24 00:05:50.521671902 +0200 +@@ -19,7 +19,6 @@ config("pdfium_common_config") { + ldflags = [] + include_dirs = [ "." ] + defines = [ +- "OPJ_STATIC", + "PNG_PREFIX", + "PNG_USE_READ_MACROS", + ] +@@ -668,6 +667,7 @@ + deps = [ + ":fxcrt", + "third_party:lcms2", ++ "third_party:fx_libopenjpeg", + ] + } + +@@ -685,6 +685,7 @@ + configs += [ ":pdfium_core_config" ] + deps = [ + ":fxcrt", ++ "third_party:fx_libopenjpeg", + ] + } + +diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp +--- chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp.pdfium-system-libtiff-libpng 2017-06-22 00:04:10.000000000 +0200 ++++ chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp 2017-06-24 00:05:50.524671846 +0200 +@@ -19,9 +19,7 @@ + #include "third_party/base/logging.h" + #include "third_party/base/ptr_util.h" + +-extern "C" { +-#include "third_party/libtiff/tiffiop.h" +-} // extern C ++#include + + namespace { + +@@ -188,7 +186,7 @@ + tiff_write, tiff_seek, tiff_close, tiff_get_size, + tiff_map, tiff_unmap); + if (tif) { +- tif->tif_fd = (int)(intptr_t)context; ++ (void)TIFFSetFileno(tif, (int)(intptr_t)context); + } + return tif; + } +diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/cjpx_decoder.h.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/cjpx_decoder.h +--- chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/cjpx_decoder.h.pdfium-system-libtiff-libpng 2017-06-24 00:05:50.526671809 +0200 ++++ chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/cjpx_decoder.h 2017-06-25 12:29:14.039984794 +0200 +@@ -13,7 +13,7 @@ + #include "core/fxcodec/codec/codec_int.h" + #include "core/fxcrt/unowned_ptr.h" + #include "third_party/base/span.h" +-#include "third_party/libopenjpeg20/openjpeg.h" ++#include + + class CPDF_ColorSpace; + +diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/codec_int.h.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/codec_int.h +--- chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/codec_int.h.pdfium-system-libtiff-libpng 2017-06-22 00:04:10.000000000 +0200 ++++ chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/codec_int.h 2017-06-24 00:05:50.521671902 +0200 +@@ -15,7 +15,7 @@ + #include + + #include "core/fxcodec/jbig2/JBig2_Context.h" +-#include "third_party/libopenjpeg20/openjpeg.h" ++#include + + class CPDF_ColorSpace; + +diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/fx_codec_jpx_opj.cpp.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/fx_codec_jpx_opj.cpp +--- chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/fx_codec_jpx_opj.cpp.pdfium-system-libtiff-libpng 2017-06-22 00:04:10.000000000 +0200 ++++ chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/fx_codec_jpx_opj.cpp 2017-06-24 00:26:21.330902789 +0200 +@@ -16,8 +16,12 @@ + #include "core/fxcrt/fx_memory.h" + #include "core/fxcrt/fx_safe_types.h" + #include "third_party/base/ptr_util.h" +-#include "third_party/libopenjpeg20/openjpeg.h" +-#include "third_party/libopenjpeg20/opj_malloc.h" ++#include ++//#include ++extern "C" { ++extern void * opj_calloc(size_t, size_t); ++extern void opj_free(void *); ++} + + namespace { + +@@ -514,7 +518,7 @@ + return false; + + m_Image = pTempImage; +- m_Image->pdfium_use_colorspace = !!m_ColorSpace; ++// m_Image->pdfium_use_colorspace = !!m_ColorSpace; + + if (!m_Parameters.nb_tile_to_decode) { + if (!opj_set_decode_area(m_Codec.Get(), m_Image.Get(), m_Parameters.DA_x0, +diff -up chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn +--- chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn.pdfium-system-libtiff-libpng 2017-06-22 00:04:10.000000000 +0200 ++++ chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn 2017-06-24 22:25:18.901585830 +0200 +@@ -356,49 +356,14 @@ + } + } + +-config("fx_libopenjpeg_warnings") { +- visibility = [ ":*" ] +- if (is_win) { +- cflags = [ +- # Signed/unsigned comparisons. +- "/wd4018", +- ] +- } ++pkg_config("openjpeg_config") { ++ packages = [ ++ "libopenjp2", ++ ] + } + +-static_library("fx_libopenjpeg") { +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ +- "//build/config/compiler:no_chromium_code", +- "//build/config/sanitizers:cfi_icall_generalize_pointers", +- ":pdfium_third_party_config", +- +- # Must be after no_chromium_code for warning flags to be ordered correctly. +- ":fx_libopenjpeg_warnings", +- ] +- sources = [ +- "libopenjpeg20/bio.c", +- "libopenjpeg20/cio.c", +- "libopenjpeg20/dwt.c", +- "libopenjpeg20/event.c", +- "libopenjpeg20/function_list.c", +- "libopenjpeg20/image.c", +- "libopenjpeg20/invert.c", +- "libopenjpeg20/j2k.c", +- "libopenjpeg20/jp2.c", +- "libopenjpeg20/mct.c", +- "libopenjpeg20/mqc.c", +- "libopenjpeg20/openjpeg.c", +- "libopenjpeg20/opj_clock.c", +- "libopenjpeg20/pi.c", +- "libopenjpeg20/sparse_array.c", +- "libopenjpeg20/sparse_array.h", +- "libopenjpeg20/t1.c", +- "libopenjpeg20/t2.c", +- "libopenjpeg20/tcd.c", +- "libopenjpeg20/tgt.c", +- "libopenjpeg20/thread.c", +- ] ++source_set("fx_libopenjpeg") { ++ public_configs = [ ":openjpeg_config" ] + } + + config("system_libpng_config") { +@@ -477,61 +442,13 @@ + } + } + ++config("fx_tiff_config") { ++ libs = [ "tiff" ] ++} ++ + if (pdf_enable_xfa) { +- static_library("fx_tiff") { +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ +- "//build/config/compiler:no_chromium_code", +- ":pdfium_third_party_config", +- ] +- if (is_win) { +- # Need to undefine the macro since it is redefined in +- # tif_ojpeg.c and tif_jpeg.c. +- configs -= [ "//build/config/win:lean_and_mean" ] +- } +- deps = [ +- ":zlib", +- "//third_party:jpeg", +- ] +- sources = [ +- "libtiff/tif_aux.c", +- "libtiff/tif_close.c", +- "libtiff/tif_codec.c", +- "libtiff/tif_color.c", +- "libtiff/tif_compress.c", +- "libtiff/tif_dir.c", +- "libtiff/tif_dirinfo.c", +- "libtiff/tif_dirread.c", +- "libtiff/tif_dirwrite.c", +- "libtiff/tif_dumpmode.c", +- "libtiff/tif_error.c", +- "libtiff/tif_extension.c", +- "libtiff/tif_fax3.c", +- "libtiff/tif_fax3sm.c", +- "libtiff/tif_flush.c", +- "libtiff/tif_getimage.c", +- "libtiff/tif_jpeg.c", +- "libtiff/tif_luv.c", +- "libtiff/tif_lzw.c", +- "libtiff/tif_next.c", +- "libtiff/tif_ojpeg.c", +- "libtiff/tif_open.c", +- "libtiff/tif_packbits.c", +- "libtiff/tif_pixarlog.c", +- "libtiff/tif_predict.c", +- "libtiff/tif_print.c", +- "libtiff/tif_read.c", +- "libtiff/tif_strip.c", +- "libtiff/tif_swab.c", +- "libtiff/tif_thunder.c", +- "libtiff/tif_tile.c", +- "libtiff/tif_version.c", +- "libtiff/tif_warning.c", +- "libtiff/tif_write.c", +- "libtiff/tif_zip.c", +- "libtiff/tiffiop.h", +- "libtiff/tiffvers.h", +- ] ++ source_set("fx_tiff") { ++ public_configs = [ ":fx_tiff_config" ] + } + } + diff --git a/network/web/chromium-browser_1/files/mageia/chromium-53-gn-system-icu-jsoncpp.patch b/network/web/chromium-browser_1/files/mageia/chromium-53-gn-system-icu-jsoncpp.patch new file mode 100644 index 0000000000..2a848596e7 --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/chromium-53-gn-system-icu-jsoncpp.patch @@ -0,0 +1,46 @@ +diff -up chromium-55.0.2873.0/build/linux/unbundle/jsoncpp.gn.gn-system-icu-jsoncpp chromium-55.0.2873.0/build/linux/unbundle/jsoncpp.gn +--- chromium-55.0.2873.0/build/linux/unbundle/jsoncpp.gn.gn-system-icu-jsoncpp 2016-10-01 16:21:27.343107786 +0200 ++++ chromium-55.0.2873.0/build/linux/unbundle/jsoncpp.gn 2016-10-01 16:21:27.343107786 +0200 +@@ -0,0 +1,31 @@ ++# Copyright 2016 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++shim_headers("jsoncpp_shim") { ++ root_path = "source/include" ++ headers = [ ++ "json/assertions.h", ++ "json/autolink.h", ++ "json/config.h", ++ "json/features.h", ++ "json/forwards.h", ++ "json/json.h", ++ "json/reader.h", ++ "json/value.h", ++ "json/writer.h" ++ ] ++} ++ ++source_set("jsoncpp") { ++ deps = [ ++ ":jsoncpp_shim", ++ ] ++ libs = [ "jsoncpp" ] ++} ++ ++config("jsoncpp_config") { ++} +diff -up chromium-55.0.2873.0/build/linux/unbundle/replace_gn_files.py.gn-system-icu-jsoncpp chromium-55.0.2873.0/build/linux/unbundle/replace_gn_files.py +--- chromium-55.0.2873.0/build/linux/unbundle/replace_gn_files.py.gn-system-icu-jsoncpp 2016-10-01 16:21:27.343107786 +0200 ++++ chromium-55.0.2873.0/build/linux/unbundle/replace_gn_files.py 2016-10-01 17:17:38.913721403 +0200 +@@ -23,6 +23,7 @@ + 'freetype': 'build/config/freetype/freetype.gni', + 'harfbuzz-ng': 'third_party/harfbuzz-ng/harfbuzz.gni', + 'icu': 'third_party/icu/BUILD.gn', ++ 'jsoncpp' : 'third_party/jsoncpp/BUILD.gn', + 'libdrm': 'third_party/libdrm/BUILD.gn', + 'libevent': 'base/third_party/libevent/BUILD.gn', + 'libjpeg': 'third_party/libjpeg.gni', diff --git a/network/web/chromium-browser_1/files/mageia/chromium-53-gn-system-opus.patch b/network/web/chromium-browser_1/files/mageia/chromium-53-gn-system-opus.patch new file mode 100644 index 0000000000..4e533e7f38 --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/chromium-53-gn-system-opus.patch @@ -0,0 +1,11 @@ +diff -up chromium-53.0.2785.46/build/linux/unbundle/opus.gn.gn-system-opus chromium-53.0.2785.46/build/linux/unbundle/opus.gn +--- chromium-53.0.2785.46/build/linux/unbundle/opus.gn.gn-system-opus 2016-08-09 23:46:12.808470292 +0200 ++++ chromium-53.0.2785.46/build/linux/unbundle/opus.gn 2016-08-09 23:53:16.660141755 +0200 +@@ -12,6 +12,7 @@ + shim_headers("opus_shim") { + root_path = "src/include" + headers = [ ++ "opus_custom.h", + "opus.h", + "opus_defines.h", + "opus_multistream.h", diff --git a/network/web/chromium-browser_1/files/mageia/chromium-69-gn-bootstrap.patch b/network/web/chromium-browser_1/files/mageia/chromium-69-gn-bootstrap.patch new file mode 100644 index 0000000000..b2f9218b11 --- /dev/null +++ b/network/web/chromium-browser_1/files/mageia/chromium-69-gn-bootstrap.patch @@ -0,0 +1,15 @@ +--- chromium-69.0.3497.4/tools/gn/build/gen.py.gn-bootstrap 2018-07-21 09:17:17.000000000 +0200 ++++ chromium-69.0.3497.4/tools/gn/build/gen.py 2018-07-21 17:08:45.465590164 +0200 +@@ -367,10 +367,8 @@ + # Use the sid sysroot that UpdateLinuxSysroot() downloads. + cflags.append('--sysroot=' + linux_sysroot) + ldflags.append('--sysroot=' + linux_sysroot) +- ldflags.extend([ +- '-static-libstdc++', +- '-Wl,--as-needed', +- ]) ++ ldflags.append('-static-libstdc++') ++ ldflags.append('-Wl,--as-needed') + libs.extend([ + # These are needed by libc++. + '-ldl', diff --git a/network/web/chromium-browser_1/files/marcos.patch b/network/web/chromium-browser_1/files/marcos.patch new file mode 100644 index 0000000000..dc4be5ebd6 --- /dev/null +++ b/network/web/chromium-browser_1/files/marcos.patch @@ -0,0 +1,11 @@ +diff -Nuar a/third_party/libdrm/src/xf86drm.h b/third_party/libdrm/src/xf86drm.h +--- a/third_party/libdrm/src/xf86drm.h 2018-09-12 11:32:38.000000000 +0300 ++++ b/third_party/libdrm/src/xf86drm.h 2018-09-12 13:53:15.815152841 +0300 +@@ -35,6 +35,7 @@ + #define _XF86DRM_H_ + + #include ++#include + #include + #include + #include diff --git a/network/web/chromium-browser_1/files/master_preferences b/network/web/chromium-browser_1/files/master_preferences new file mode 100644 index 0000000000..94932bd3aa --- /dev/null +++ b/network/web/chromium-browser_1/files/master_preferences @@ -0,0 +1,24 @@ +{ + "homepage" : "http://www.google.com.tr", + "homepage_is_newtabpage" : false, + "browser" : { + "show_home_button" : true, + "custom_chrome_frame" : true + }, + "bookmark_bar" : { + "show_on_all_tabs" : true + }, + "distribution" : { + "skip_first_run_ui" : true, + "show_welcome_page" : true, + "import_search_engine" : true, + "import_history" : false, + "create_all_shortcuts" : true, + "make_chrome_default" : false + }, + "first_run_tabs" : [ + "http://www.pisilinux.org", + "welcome_page", + "new_tab_page" + ] +} diff --git a/network/web/chromium-browser_1/files/only-disable-cfi-icall-when-use_system_libjpeg-true.patch b/network/web/chromium-browser_1/files/only-disable-cfi-icall-when-use_system_libjpeg-true.patch new file mode 100644 index 0000000000..3a71f8c057 --- /dev/null +++ b/network/web/chromium-browser_1/files/only-disable-cfi-icall-when-use_system_libjpeg-true.patch @@ -0,0 +1,34 @@ +From 20f81a066ffdf6bd30fb4b696b8b3e101368e2f6 Mon Sep 17 00:00:00 2001 +From: Vlad Tsyrklevich +Date: Tue, 31 Jul 2018 23:21:09 +0000 +Subject: [PATCH] Only disable cfi-icall when use_system_libjpeg=true + +Bug: 866290 +Change-Id: Ic5d175b3b854665f50781650406d599d09ee9849 +Reviewed-on: https://chromium-review.googlesource.com/1157136 +Reviewed-by: Kentaro Hara +Commit-Queue: Vlad Tsyrklevich +Cr-Commit-Position: refs/heads/master@{#579614} +--- + .../platform/image-decoders/jpeg/jpeg_image_decoder.cc | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc +index fd4e72ba053c..afa90d83efee 100644 +--- a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc ++++ b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc +@@ -643,7 +643,10 @@ class JPEGImageReader final { + IntSize UvSize() const { return uv_size_; } + + private: +- NO_SANITIZE_CFI_ICALL JSAMPARRAY AllocateSampleArray() { ++#if defined(USE_SYSTEM_LIBJPEG) ++ NO_SANITIZE_CFI_ICALL ++#endif ++ JSAMPARRAY AllocateSampleArray() { + // Some output color spaces don't need the sample array: don't allocate in that + // case. + #if defined(TURBO_JPEG_RGB_SWIZZLE) +-- +2.18.0 + diff --git a/network/web/chromium-browser_1/files/pisilinux/fix_build_with_newer_gcc.patch b/network/web/chromium-browser_1/files/pisilinux/fix_build_with_newer_gcc.patch new file mode 100644 index 0000000000..517909f772 --- /dev/null +++ b/network/web/chromium-browser_1/files/pisilinux/fix_build_with_newer_gcc.patch @@ -0,0 +1,57 @@ + +diff --git a/third_party/WebKit/Source/wtf/dtoa/bignum.cc b/third_party/WebKit/S + index a000b46..6c6d336 100644 + --- a/third_party/WebKit/Source/wtf/dtoa/bignum.cc + +++ b/third_party/WebKit/Source/wtf/dtoa/bignum.cc +-@@ -109,7 +109,10 @@ namespace double_conversion { +- int length = value.length(); +- int pos = 0; +- // Let's just say that each digit needs 4 bits. ++@@ -102,7 +102,10 @@ ++ } ++ ++ + +#pragma GCC diagnostic push + +#pragma GCC diagnostic warning "-Wstrict-overflow" +- while (length >= kMaxUint64DecimalDigits) { ++ void Bignum::AssignDecimalString(Vector value) { + +#pragma GCC diagnostic pop +- uint64_t digits = ReadUInt64(value, pos, kMaxUint64DecimalDigits); +- pos += kMaxUint64DecimalDigits; +- length -= kMaxUint64DecimalDigits; ++ // 2^64 = 18446744073709551616 > 10^19 ++ const int kMaxUint64DecimalDigits = 19; ++ Zero(); + -- + 1.8.4.5 +- + + +diff --git a/ui/gfx/image/image_util.cc b/ui/gfx/image/image_util.cc + index 89a3f8c..d595da3 100644 + --- a/ui/gfx/image/image_util.cc + +++ b/ui/gfx/image/image_util.cc +-@@ -68,7 +68,10 @@ bool VisibleMargins(const ImageSkia& image, int* leading, int* trailing) { +- int inner_min = bitmap.width(); +- for (int x = 0; x < bitmap.width(); ++x) { +- for (int y = 0; y < bitmap.height(); ++y) { ++@@ -47,7 +47,10 @@ ++ } ++ #endif // !defined(OS_IOS) ++ + +#pragma GCC diagnostic push + +#pragma GCC diagnostic warning "-Wstrict-overflow" +- if (SkColorGetA(bitmap.getColor(x, y)) > kMinimumVisibleOpacity) { ++ bool VisibleMargins(const ImageSkia& image, int* leading, int* trailing) { + +#pragma GCC diagnostic pop +- inner_min = x; +- break; +- } ++ *leading = 0; ++ *trailing = std::max(1, image.width()) - 1; ++ if (!image.HasRepresentation(1.0)) + -- + 1.8.4.5 +- +-- +2.7.1 diff --git a/network/web/chromium-browser_1/files/pisilinux/gfx_jpeg_codec.patch b/network/web/chromium-browser_1/files/pisilinux/gfx_jpeg_codec.patch new file mode 100644 index 0000000000..c7107a2460 --- /dev/null +++ b/network/web/chromium-browser_1/files/pisilinux/gfx_jpeg_codec.patch @@ -0,0 +1,48 @@ +diff -Naur orig/ui/gfx/codec/jpeg_codec.cc patched/ui/gfx/codec/jpeg_codec.cc +--- orig/ui/gfx/codec/jpeg_codec.cc 2016-04-24 21:31:31.000000000 +0200 ++++ patched/ui/gfx/codec/jpeg_codec.cc 2016-06-13 23:43:36.809948082 +0200 +@@ -120,7 +120,7 @@ + // tell libjpeg where to write the next data + cinfo->dest->next_output_byte = &(*state->out)[state->image_buffer_used]; + cinfo->dest->free_in_buffer = state->out->size() - state->image_buffer_used; +- return 1; ++ return TRUE; + } + + // Cleans up the JpegEncoderState to prepare for returning in the final form. +@@ -266,7 +266,7 @@ + cinfo.data_precision = 8; + + jpeg_set_defaults(&cinfo); +- jpeg_set_quality(&cinfo, quality, 1); // quality here is 0-100 ++ jpeg_set_quality(&cinfo, quality, TRUE); // quality here is 0-100 + + // set up the destination manager + jpeg_destination_mgr destmgr; +@@ -278,7 +278,7 @@ + JpegEncoderState state(output); + cinfo.client_data = &state; + +- jpeg_start_compress(&cinfo, 1); ++ jpeg_start_compress(&cinfo, TRUE); + + // feed it the rows, doing necessary conversions for the color format + #ifdef JCS_EXTENSIONS +@@ -364,7 +364,7 @@ + // set to a positive value if TRUE is returned. A FALSE return should only + // be used when I/O suspension is desired." + boolean FillInputBuffer(j_decompress_ptr cinfo) { +- return false; ++ return FALSE; + } + + // Skip data in the buffer. Since we have all the data at once, this operation +@@ -496,7 +496,7 @@ + cinfo.client_data = &state; + + // fill the file metadata into our buffer +- if (jpeg_read_header(&cinfo, true) != JPEG_HEADER_OK) ++ if (jpeg_read_header(&cinfo, TRUE) != JPEG_HEADER_OK) + return false; + + // we want to always get RGB data out diff --git a/network/web/chromium-browser_1/files/pisilinux/last_commit_position.patch b/network/web/chromium-browser_1/files/pisilinux/last_commit_position.patch new file mode 100644 index 0000000000..cb84290fc3 --- /dev/null +++ b/network/web/chromium-browser_1/files/pisilinux/last_commit_position.patch @@ -0,0 +1,27 @@ +--- chromium-55.0.2883.75/tools/gn/gn_main.cc.orig 2016-12-12 11:49:56.260549036 +0000 ++++ chromium-55.0.2883.75/tools/gn/gn_main.cc 2016-12-12 11:50:14.780931485 +0000 +@@ -11,13 +11,7 @@ + #include "tools/gn/standard_out.h" + #include "tools/gn/switches.h" + +-// Only the GN-generated build makes this header for now. +-// TODO(brettw) consider adding this if we need it in GYP. +-#if defined(GN_BUILD) +-#include "tools/gn/last_commit_position.h" +-#else + #define LAST_COMMIT_POSITION "UNKNOWN" +-#endif + + namespace { + +--- chromium-55.0.2883.75/tools/gn/BUILD.gn.orig 2016-12-12 11:50:43.513524769 +0000 ++++ chromium-55.0.2883.75/tools/gn/BUILD.gn 2016-12-12 11:50:57.697817632 +0000 +@@ -227,7 +227,6 @@ + + deps = [ + ":gn_lib", +- ":last_commit_position", + "//base", + "//build/config/sanitizers:deps", + ] + diff --git a/network/web/chromium-browser_1/pspec.xml b/network/web/chromium-browser_1/pspec.xml new file mode 100644 index 0000000000..74937650cb --- /dev/null +++ b/network/web/chromium-browser_1/pspec.xml @@ -0,0 +1,282 @@ + + + + + chromium-browser + https://www.chromium.org/Home + + Admin PisiLinux + admin@pisilinux.org + + GPLv2 + chromium-browser + app:gui + A WebKit powered web browser + Chromium-browser is an open-source web browser, powered by WebKit. + https://commondatastorage.googleapis.com/chromium-browser-official/chromium-75.0.3770.100.tar.xz + + alsa-lib-devel + at-spi2-atk-devel + atk-devel + cairo-devel + cups-devel + dbus-devel + desktop-file-utils + faac-devel + flac-devel + fontconfig-devel + gdk-pixbuf-devel + glib2-devel + glibc-devel + gperf + gsm-devel + gtk3-devel + harfbuzz-devel + hunspell-devel + icon-theme-hicolor + imlib2-devel + jack-audio-connection-kit-devel + lame-devel + libXScrnSaver-devel + libXcomposite-devel + libXcursor-devel + libXdamage-devel + libXext-devel + libXfixes-devel + libXi-devel + libXrandr-devel + libXrender-devel + libXtst-devel + libavc1394-devel + libdc1394-devel + libdrm-devel + libexif-devel + libffi-devel + libgnome-keyring + libjpeg-turbo-devel + libmtp-devel + libogg-devel + libopus-devel + libsecret-devel + libtheora-devel + libvdpau-devel + libvorbis-devel + libxcb-devel + libxslt-devel + llvm-clang-devel + minizip-devel + mit-kerberos + ninja + nodejs + nss-devel + opencore-amr-devel + pango-devel + pciutils-devel + pulseaudio-libs-devel + python-lxml + schroedinger-devel + snappy-devel + speech-dispatcher-devel + speex-devel + usbutils + valgrind + webp-devel + x264-devel + xdg-utils + xvid-devel + yasm-devel + python-devel + json-c-devel + openjpeg2-devel + + + chromium-compiler-r4.patch + chromium-skia-harmony.patch + chromium-widevine-r2.patch + fix-cfi-icall-failure-with-use_system_libjpeg-true.patch + mageia/001-chromium-59-gcc5.patch + mageia/002-chromium-61-gcc5.patch + mageia/003-chromium-62-gcc5.patch + mageia/004-chromium-62-gcc7.patch + mageia/005-chromium-64-gcc7.patch + mageia/006-chromium-65-gcc7.patch + mageia/007-chromium-66-gcc7.patch + mageia/008-chromium-67-gcc7.patch + mageia/009-chromium-68-gcc7.patch + mageia/011-chromium-69-gcc7.patch + mageia/chromium-45-no-external-components.patch + mageia/chromium-52-pdfium-system-libtiff-libpng.patch + mageia/chromium-53-gn-system-icu-jsoncpp.patch + mageia/chromium-53-gn-system-opus.patch + mageia/chromium-69-gn-bootstrap.patch + marcos.patch + only-disable-cfi-icall-when-use_system_libjpeg-true.patch + + + + chromium-browser + + alsa-lib + dbus + atk + cairo + cups + flac + fontconfig + gdk-pixbuf + + gtk3 + + + + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXrender + libXScrnSaver + libXtst + libxcb + libxslt + + + nss + pango + pepperflash + pulseaudio-libs + + + webp + + nspr + + expat + glib2 + libX11 + libgcc + + + + harfbuzz + + + + /etc + /usr/bin + /usr/lib + /usr/share/man + /usr/share/doc + /usr/share/icons + /usr/share/pixmaps + /usr/share/applications + + + master_preferences + chromium-browser.desktop + + + + + + 2018-09-11 + 69.0.3497.100 + Version Bump. + Kamil Atlı + suvari@pisilinux.org + + + 2018-04-09 + 62.0.3202.97 + Version Bump. + Kamil Atlı + suvari@pisilinux.org + + + 2017-11-24 + 62.0.3202.94 + Version Bump. + Mustafa Cinasal + muscnsl@gmail.com + + + 2017-07-31 + 60.0.3112.78 + Version Bump + Mustafa Cinasal + muscnsl@gmail.com + + + 2017-05-11 + 58.0.3029.81 + Version Bump + Mustafa Cinasal + muscnsl@gmail.com + + + 2016-12-12 + 55.0.2883.75 + Version Bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2016-09-23 + 53.0.2785.116 + Version Bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2016-09-10 + 53.0.2785.101 + Version Bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2016-09-06 + 53.0.2785.92 + Version Bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2016-08-03 + 52.0.2743.116 + Version Bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2016-07-22 + 52.0.2743.82 + Version Bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2016-07-05 + 51.0.2704.106 + Version Bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2016-06-30 + 51.0.2704.84 + Version Bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2016-06-09 + 48.0.2564.97 + Release Bump + Pisi Linux Community + admin@pisilinux.org + + + diff --git a/network/web/chromium-browser_1/translations.xml b/network/web/chromium-browser_1/translations.xml new file mode 100644 index 0000000000..6d122f4faf --- /dev/null +++ b/network/web/chromium-browser_1/translations.xml @@ -0,0 +1,8 @@ + + + + chromium-browser + Webkit tabanlı ağ tarayıcı + Chromium, açık kaynak kodlu Webkit tabanlı bir ağ tarayıcıdır. + +