Hello community, here is the log from the commit of package chromium for openSUSE:Factory checked in at 2019-08-05 10:39:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/chromium (Old) and /work/SRC/openSUSE:Factory/.chromium.new.4126 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium" Mon Aug 5 10:39:41 2019 rev:224 rq:720561 version:76.0.3809.87 Changes: -------- --- /work/SRC/openSUSE:Factory/chromium/chromium.changes 2019-07-31 14:29:10.702092087 +0200 +++ /work/SRC/openSUSE:Factory/.chromium.new.4126/chromium.changes 2019-08-05 10:40:49.255302733 +0200 @@ -1,0 +2,51 @@ +Fri Aug 2 08:41:33 UTC 2019 - Tomáš Chvátal <[email protected]> + +- Update to 76.0.3809.87: + * CVE-2019-5850: Use-after-free in offline page fetcher + * CVE-2019-5860: Use-after-free in PDFium + * CVE-2019-5853: Memory corruption in regexp length check + * CVE-2019-5851: Use-after-poison in offline audio context + * CVE-2019-5859: res: URIs can load alternative browsers + * CVE-2019-5856: Insufficient checks on filesystem: URI permissions + * CVE-2019-5855: Integer overflow in PDFium + * CVE-2019-5865: Site isolation bypass from compromised renderer + * CVE-2019-5858: Insufficient filtering of Open URL service parameters + * CVE-2019-5864: Insufficient port filtering in CORS for extensions + * CVE-2019-5862: AppCache not robust to compromised renderers + * CVE-2019-5861: Click location incorrectly checked + * CVE-2019-5857: Comparison of -0 and null yields crash + * CVE-2019-5854: Integer overflow in PDFium text rendering + * CVE-2019-5852: Object leak of utility functions + * Various fixes from internal audits, fuzzing and other initiatives + * Not affected: + + CVE-2019-5863: Use-after-free in WebUSB on Windows +- Added patches: + * chromium-76-gcc-ambiguous-nodestructor.patch + * chromium-76-gcc-blink-constexpr.patch + * chromium-76-gcc-blink-namespace1.patch + * chromium-76-gcc-blink-namespace2.patch + * chromium-76-gcc-gl-init.patch + * chromium-76-gcc-include.patch + * chromium-76-gcc-noexcept.patch + * chromium-76-gcc-private.patch + * chromium-76-gcc-pure-virtual.patch + * chromium-76-gcc-uint32.patch + * chromium-76-gcc-vulkan.patch + * chromium-76-quiche.patch +- Removed patches: + * chromium-non-void-return.patch + * chromium-75.0.3770.80-SIOCGSTAMP.patch + * chromium-75.0.3770.80-pure-virtual-crash-fix.patch + * chromium-gcc.patch + * chromium-renderprocess-crash.patch + * chromium-skia-system-fontconfig.patch +- Refreshed patches: + * chromium-dma-buf.patch + * chromium-drm.patch + * chromium-libusb_interrupt_event_handler.patch + * chromium-skia-aarch64-buildfix.patch + * chromium-system-icu.patch + * chromium-vaapi.patch + * old-libva.patch + +------------------------------------------------------------------- Old: ---- chromium-75.0.3770.142.tar.xz chromium-75.0.3770.80-SIOCGSTAMP.patch chromium-75.0.3770.80-pure-virtual-crash-fix.patch chromium-gcc.patch chromium-renderprocess-crash.patch chromium-skia-system-fontconfig.patch New: ---- chromium-76-gcc-ambiguous-nodestructor.patch chromium-76-gcc-blink-constexpr.patch chromium-76-gcc-blink-namespace1.patch chromium-76-gcc-blink-namespace2.patch chromium-76-gcc-gl-init.patch chromium-76-gcc-include.patch chromium-76-gcc-noexcept.patch chromium-76-gcc-private.patch chromium-76-gcc-pure-virtual.patch chromium-76-gcc-uint32.patch chromium-76-gcc-vulkan.patch chromium-76-quiche.patch chromium-76.0.3809.87.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ chromium.spec ++++++ --- /var/tmp/diff_new_pack.0SOLxw/_old 2019-08-05 10:41:01.643301278 +0200 +++ /var/tmp/diff_new_pack.0SOLxw/_new 2019-08-05 10:41:01.663301276 +0200 @@ -44,9 +44,6 @@ %else %bcond_without swiftshader %endif -%bcond_with system_vpx -%bcond_with clang -%bcond_with wayland %ifarch x86_64 %if %{?suse_version} > 1500 %bcond_without lto @@ -56,8 +53,11 @@ %else %bcond_with lto %endif +%bcond_with system_vpx +%bcond_with clang +%bcond_with wayland Name: chromium -Version: 75.0.3770.142 +Version: 76.0.3809.87 Release: 0 Summary: Google's open source browser project License: BSD-3-Clause AND LGPL-2.1-or-later @@ -89,12 +89,21 @@ Patch9: chromium-system-libusb.patch Patch10: chromium-old-glibc.patch Patch11: chromium-skia-aarch64-buildfix.patch -Patch12: chromium-gcc.patch -Patch13: chromium-75.0.3770.80-SIOCGSTAMP.patch -Patch14: chromium-75.0.3770.80-pure-virtual-crash-fix.patch -Patch15: gcc-lto-rsp-clobber.patch -Patch16: gcc-enable-lto.patch -Patch17: chromium-renderprocess-crash.patch +Patch12: gcc-lto-rsp-clobber.patch +Patch13: gcc-enable-lto.patch +# gcc patches +Patch20: chromium-76-gcc-ambiguous-nodestructor.patch +Patch21: chromium-76-gcc-blink-constexpr.patch +Patch22: chromium-76-gcc-blink-namespace1.patch +Patch23: chromium-76-gcc-blink-namespace2.patch +Patch24: chromium-76-gcc-gl-init.patch +Patch25: chromium-76-gcc-include.patch +Patch26: chromium-76-gcc-noexcept.patch +Patch27: chromium-76-gcc-private.patch +Patch28: chromium-76-gcc-pure-virtual.patch +Patch29: chromium-76-gcc-uint32.patch +Patch30: chromium-76-gcc-vulkan.patch +Patch31: chromium-76-quiche.patch # Google seem not too keen on merging this but GPU accel is quite important # https://chromium-review.googlesource.com/c/chromium/src/+/532294 # https://github.com/saiarcot895/chromium-ubuntu-build/tree/master/debian/patches @@ -102,11 +111,8 @@ # (default on) compared to the PR Patch100: chromium-vaapi.patch Patch101: old-libva.patch -# Google does not care much about system libs here -# https://bugs.chromium.org/p/skia/issues/detail?id=6663 -Patch102: chromium-skia-system-fontconfig.patch # PATCH-FIX-SUSE: allow prop codecs to be set with chromium branding -Patch202: chromium-prop-codecs.patch +Patch200: chromium-prop-codecs.patch BuildRequires: SDL-devel BuildRequires: binutils-gold BuildRequires: bison @@ -297,6 +303,7 @@ # Remove bundled libs keeplibs=( + base/third_party/cityhash base/third_party/dmg_fp base/third_party/dynamic_annotations base/third_party/nspr @@ -335,6 +342,9 @@ third_party/blink third_party/boringssl third_party/boringssl/src/third_party/fiat + third_party/boringssl/src/third_party/sike + third_party/boringssl/linux-aarch64/crypto/third_party/sike + third_party/boringssl/linux-x86_64/crypto/third_party/sike third_party/breakpad third_party/breakpad/breakpad/src/third_party/curl third_party/brotli @@ -353,8 +363,8 @@ third_party/cld_3 third_party/crashpad third_party/closure_compiler - third_party/crashpad/crashpad/third_party/zlib third_party/crashpad/crashpad/third_party/lss + third_party/crashpad/crashpad/third_party/zlib third_party/crc32c third_party/cros_system_api third_party/dav1d @@ -403,7 +413,7 @@ third_party/node third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 third_party/openh264 - third_party/openmax_dl + third_party/openscreen third_party/ots third_party/perfetto third_party/pdfium @@ -434,6 +444,7 @@ third_party/skia/third_party/skcms third_party/skia/third_party/vulkan third_party/skia/include/third_party/vulkan/ + third_party/skia/include/third_party/skcms/ third_party/smhasher third_party/spirv-headers third_party/SPIRV-Tools @@ -523,10 +534,10 @@ export CXX=clang++ %else # REDUCE DEBUG as it gets TOO large -# -Wno-error=return-type :: upstream does not care about this +# -Wno-return-type :: upstream does not care about this ARCH_FLAGS="`echo %{optflags} | sed -e 's/^-g / /g' -e 's/ -g / /g' -e 's/ -g$//g'`" -export CFLAGS="${ARCH_FLAGS} -fpermissive -Wno-error=return-type" -export CXXFLAGS="${ARCH_FLAGS} -fpermissive -Wno-error=return-type" +export CFLAGS="${ARCH_FLAGS} -fpermissive -Wno-return-type" +export CXXFLAGS="${ARCH_FLAGS} -fpermissive -Wno-return-type" export CC=gcc export CXX=g++ %if 0%{?suse_version} <= 1500 @@ -625,6 +636,7 @@ myconf_gn+=" use_sysroot=false" myconf_gn+=" treat_warnings_as_errors=false" myconf_gn+=" enable_widevine=true" +myconf_gn+=" use_dbus=true" # See dependency logic in third_party/BUILD.gn %if %{with system_harfbuzz} myconf_gn+=" use_system_harfbuzz=true" ++++++ chromium-76-gcc-ambiguous-nodestructor.patch ++++++ >From 52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Wed, 05 Jun 2019 19:46:55 +0000 Subject: [PATCH] GCC: avoid ambiguous NoDestructor creation in GetNeverSniffedMimeTypes. Use brace-list notation to wrap the already existing brace-list for initializing the flat-set. This resolves an ambiguous instantiation in GCC. Bug: 819294 Change-Id: I89ddf12522d62a5140a8c2c41dc98e30ec7a0e78 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645774 Reviewed-by: Matt Menke <[email protected]> Commit-Queue: José Dapena Paz <[email protected]> Cr-Commit-Position: refs/heads/master@{#666401} --- diff --git a/services/network/cross_origin_read_blocking.cc b/services/network/cross_origin_read_blocking.cc index 30999c0..60a03f6 100644 --- a/services/network/cross_origin_read_blocking.cc +++ b/services/network/cross_origin_read_blocking.cc @@ -211,7 +211,7 @@ // confirmation sniffing because images, scripts, etc. are frequently // mislabelled by http servers as HTML/JSON/XML). base::flat_set<std::string>& GetNeverSniffedMimeTypes() { - static base::NoDestructor<base::flat_set<std::string>> s_types({ + static base::NoDestructor<base::flat_set<std::string>> s_types{{ // The list below has been populated based on most commonly used content // types according to HTTP Archive - see: // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 @@ -224,7 +224,7 @@ "application/x-www-form-urlencoded", "application/zip", "text/event-stream", - }); + }}; // All items need to be lower-case, to support case-insensitive comparisons // later. ++++++ chromium-76-gcc-blink-constexpr.patch ++++++ >From cf6d6b40d711fce93a24a2cf517fa3becdbae8bb Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Wed, 05 Jun 2019 17:18:40 +0000 Subject: [PATCH] Make blink::LayoutUnit::HasFraction constexpr Other HasFraction methods as in PhysicalUnit are declared already constexpr and using it. It breaks GCC build. Bug: 819294. Change-Id: I0c4bd9bd206d45cf31f7fa815ce8533718a425cb Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645222 Reviewed-by: vmpstr <[email protected]> Reviewed-by: Xianzhu Wang <[email protected]> Commit-Queue: José Dapena Paz <[email protected]> Cr-Commit-Position: refs/heads/master@{#666336} --- diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h index f073986..b6dbc76 100644 --- a/third_party/blink/renderer/platform/geometry/layout_unit.h +++ b/third_party/blink/renderer/platform/geometry/layout_unit.h @@ -202,7 +202,9 @@ return value_ > 0 ? LayoutUnit() : *this; } - bool HasFraction() const { return RawValue() % kFixedPointDenominator; } + constexpr bool HasFraction() const { + return RawValue() % kFixedPointDenominator; + } LayoutUnit Fraction() const { // Compute fraction using the mod operator to preserve the sign of the value ++++++ chromium-76-gcc-blink-namespace1.patch ++++++ >From c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Fri, 07 Jun 2019 18:11:15 +0000 Subject: [PATCH] GCC: FeaturePolicyParser ParseValueForFuzzer is not in anonymous namespace Compilation fails because we are declaring ParseValueForFuzzer as friend method, but we are declaring it is in anonymous namespace. Moving to global namespace still fails (in this case in Clang). So final solution is making it a public static method of FeaturePolicyParser. Bug: 819294 Change-Id: Iea307cb6faef675b748d6eb5da2175dcbb17fdc7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645223 Commit-Queue: José Dapena Paz <[email protected]> Reviewed-by: Luna Lu <[email protected]> Cr-Commit-Position: refs/heads/master@{#667228} --- diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc index f1c9594..bae91a1 100644 --- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc +++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc @@ -323,6 +323,13 @@ return value; } +void FeaturePolicyParser::ParseValueForFuzzer( + blink::mojom::PolicyValueType feature_type, + const WTF::String& value_string) { + bool ok; + ParseValueForType(feature_type, value_string, &ok); +} + bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature, const ParsedFeaturePolicy& policy) { return std::any_of(policy.begin(), policy.end(), diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h index fd25d90..8aa7323 100644 --- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h +++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h @@ -16,9 +16,6 @@ #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" #include "third_party/blink/renderer/platform/wtf/vector.h" -// Forward declare for friendship. -void ParseValueForFuzzer(blink::mojom::PolicyValueType, const WTF::String&); - namespace blink { class Document; @@ -79,8 +76,10 @@ const FeatureNameMap& feature_names, ExecutionContext* execution_context = nullptr); + // Used for LLVM fuzzer test + static void ParseValueForFuzzer(mojom::PolicyValueType, const String&); + private: - friend void ::ParseValueForFuzzer(mojom::PolicyValueType, const String&); static PolicyValue GetFallbackValueForFeature( mojom::FeaturePolicyFeature feature); static PolicyValue ParseValueForType(mojom::PolicyValueType feature_type, diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc index 7f8e6aa..1455636 100644 --- a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc +++ b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc @@ -13,19 +13,12 @@ #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" #include "third_party/blink/renderer/platform/wtf/vector.h" -void ParseValueForFuzzer(blink::mojom::PolicyValueType feature_type, - const WTF::String& value_string) { - bool ok; - blink::FeaturePolicyParser::ParseValueForType(feature_type, value_string, - &ok); -} - extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { static blink::BlinkFuzzerTestSupport test_support = blink::BlinkFuzzerTestSupport(); - ParseValueForFuzzer(blink::mojom::PolicyValueType::kBool, - WTF::String(data, size)); - ParseValueForFuzzer(blink::mojom::PolicyValueType::kDecDouble, - WTF::String(data, size)); + blink::FeaturePolicyParser::ParseValueForFuzzer( + blink::mojom::PolicyValueType::kBool, WTF::String(data, size)); + blink::FeaturePolicyParser::ParseValueForFuzzer( + blink::mojom::PolicyValueType::kDecDouble, WTF::String(data, size)); return 0; } ++++++ chromium-76-gcc-blink-namespace2.patch ++++++ >From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Tue, 11 Jun 2019 08:00:13 +0000 Subject: [PATCH] GCC: move explicit specialization out of RunInfo Explicit specialization in non-namespace scope is not allowed in C++, and GCC breaks build because of that. Move the template specializations out of RunInfo declaration in shape_result_inline_headeres.h to fix the GCC build issue. Bug: 819294 Change-Id: Id083852bcf8e9efbdc911fdad28fd8767d2905d0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651728 Reviewed-by: Kinuko Yasuda <[email protected]> Commit-Queue: José Dapena Paz <[email protected]> Cr-Commit-Position: refs/heads/master@{#667901} --- diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h index 76ee6091..c14d3a0 100644 --- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h +++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h @@ -251,37 +251,6 @@ template <bool has_non_zero_glyph_offsets> struct iterator final {}; - // For non-zero glyph offset array - template <> - struct iterator<true> final { - // The constructor for ShapeResult - explicit iterator(const GlyphOffsetArray& array) - : pointer(array.storage_.get()) { - DCHECK(pointer); - } - - // The constructor for ShapeResultView - explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { - DCHECK(pointer); - } - - GlyphOffset operator*() const { return *pointer; } - void operator++() { ++pointer; } - - const GlyphOffset* pointer; - }; - - // For zero glyph offset array - template <> - struct iterator<false> final { - explicit iterator(const GlyphOffsetArray& array) { - DCHECK(!array.HasStorage()); - } - explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } - GlyphOffset operator*() const { return GlyphOffset(); } - void operator++() {} - }; - template <bool has_non_zero_glyph_offsets> iterator<has_non_zero_glyph_offsets> GetIterator() const { return iterator<has_non_zero_glyph_offsets>(*this); @@ -495,6 +464,37 @@ float width_; }; +// For non-zero glyph offset array +template <> +struct ShapeResult::RunInfo::GlyphOffsetArray::iterator<true> final { + // The constructor for ShapeResult + explicit iterator(const GlyphOffsetArray& array) + : pointer(array.storage_.get()) { + DCHECK(pointer); + } + + // The constructor for ShapeResultView + explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { + DCHECK(pointer); + } + + GlyphOffset operator*() const { return *pointer; } + void operator++() { ++pointer; } + + const GlyphOffset* pointer; +}; + +// For zero glyph offset array +template <> +struct ShapeResult::RunInfo::GlyphOffsetArray::iterator<false> final { + explicit iterator(const GlyphOffsetArray& array) { + DCHECK(!array.HasStorage()); + } + explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } + GlyphOffset operator*() const { return GlyphOffset(); } + void operator++() {} +}; + // Find the range of HarfBuzzRunGlyphData for the specified character index // range. This function uses binary search twice, hence O(2 log n). inline ShapeResult::RunInfo::GlyphDataRange ++++++ chromium-76-gcc-gl-init.patch ++++++ >From 7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Wed, 05 Jun 2019 21:09:01 +0000 Subject: [PATCH] GCC: XSetWindowAttributes struct initialization should keep order of declaration XSetWindowAttributes initialization of attributes in GLSurfaceGLX is not in the same order of the declaration. GCC fails because of that. Bug: 819294 Change-Id: I8a97da980d5961a35a47ae4d0d8d558b85291f1f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646253 Reviewed-by: Zhenyao Mo <[email protected]> Commit-Queue: José Dapena Paz <[email protected]> Cr-Commit-Position: refs/heads/master@{#666436} --- diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc index f649dd4..0aa6892 100644 --- a/ui/gl/gl_surface_glx.cc +++ b/ui/gl/gl_surface_glx.cc @@ -583,10 +583,10 @@ XSetWindowAttributes swa = { .background_pixmap = 0, - .bit_gravity = NorthWestGravity, - .colormap = g_colormap, .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM .border_pixel = 0, + .bit_gravity = NorthWestGravity, + .colormap = g_colormap, }; auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel; if (ui::IsCompositingManagerPresent() && ++++++ chromium-76-gcc-include.patch ++++++ --- a/chrome/browser/themes/theme_service.h 2019-06-13 18:56:30.000000000 -0000 +++ b/chrome/browser/themes/theme_service.h 2019-06-17 08:50:57.714289399 -0000 @@ -26,6 +26,7 @@ #include "extensions/common/extension_id.h" #include "ui/base/theme_provider.h" #include "ui/native_theme/native_theme_observer.h" +#include "ui/native_theme/native_theme.h" class BrowserThemePack; class CustomThemeSupplier; ++++++ chromium-76-gcc-noexcept.patch ++++++ >From 84c91abab33966f928497c24db4a39f436d2dca8 Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Fri, 07 Jun 2019 09:50:11 +0000 Subject: [PATCH] Make SharedMemoryMapping move constructor noexcept As LayerTreeHostImpl::UIResourceData move constructor is declared noexcept with default implementation, the move constructor of its members should also be noexcept. GCC will fail to build otherwise for mismatching noexcept declaration. We also set the move assignment operator. Bug: 819294 Change-Id: Icd663da83b882e15f7d16780c9241972e09bc492 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645297 Commit-Queue: José Dapena Paz <[email protected]> Reviewed-by: Daniel Cheng <[email protected]> Cr-Commit-Position: refs/heads/master@{#667064} --- diff --git a/base/memory/shared_memory_mapping.cc b/base/memory/shared_memory_mapping.cc index 2be2570..8426fa8 100644 --- a/base/memory/shared_memory_mapping.cc +++ b/base/memory/shared_memory_mapping.cc @@ -33,7 +33,7 @@ SharedMemoryMapping::SharedMemoryMapping() = default; -SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) +SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept : memory_(mapping.memory_), size_(mapping.size_), mapped_size_(mapping.mapped_size_), @@ -42,7 +42,7 @@ } SharedMemoryMapping& SharedMemoryMapping::operator=( - SharedMemoryMapping&& mapping) { + SharedMemoryMapping&& mapping) noexcept { Unmap(); memory_ = mapping.memory_; size_ = mapping.size_; @@ -90,9 +90,9 @@ ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping() = default; ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( - ReadOnlySharedMemoryMapping&&) = default; + ReadOnlySharedMemoryMapping&&) noexcept = default; ReadOnlySharedMemoryMapping& ReadOnlySharedMemoryMapping::operator=( - ReadOnlySharedMemoryMapping&&) = default; + ReadOnlySharedMemoryMapping&&) noexcept = default; ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( void* address, size_t size, @@ -102,9 +102,9 @@ WritableSharedMemoryMapping::WritableSharedMemoryMapping() = default; WritableSharedMemoryMapping::WritableSharedMemoryMapping( - WritableSharedMemoryMapping&&) = default; + WritableSharedMemoryMapping&&) noexcept = default; WritableSharedMemoryMapping& WritableSharedMemoryMapping::operator=( - WritableSharedMemoryMapping&&) = default; + WritableSharedMemoryMapping&&) noexcept = default; WritableSharedMemoryMapping::WritableSharedMemoryMapping( void* address, size_t size, diff --git a/base/memory/shared_memory_mapping.h b/base/memory/shared_memory_mapping.h index d9569af..2b8858e 100644 --- a/base/memory/shared_memory_mapping.h +++ b/base/memory/shared_memory_mapping.h @@ -32,8 +32,8 @@ SharedMemoryMapping(); // Move operations are allowed. - SharedMemoryMapping(SharedMemoryMapping&& mapping); - SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping); + SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept; + SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping) noexcept; // Unmaps the region if the mapping is valid. virtual ~SharedMemoryMapping(); @@ -93,8 +93,9 @@ ReadOnlySharedMemoryMapping(); // Move operations are allowed. - ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&); - ReadOnlySharedMemoryMapping& operator=(ReadOnlySharedMemoryMapping&&); + ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&) noexcept; + ReadOnlySharedMemoryMapping& operator=( + ReadOnlySharedMemoryMapping&&) noexcept; // Returns the base address of the mapping. This is read-only memory. This is // page-aligned. This is nullptr for invalid instances. @@ -171,8 +172,9 @@ WritableSharedMemoryMapping(); // Move operations are allowed. - WritableSharedMemoryMapping(WritableSharedMemoryMapping&&); - WritableSharedMemoryMapping& operator=(WritableSharedMemoryMapping&&); + WritableSharedMemoryMapping(WritableSharedMemoryMapping&&) noexcept; + WritableSharedMemoryMapping& operator=( + WritableSharedMemoryMapping&&) noexcept; // Returns the base address of the mapping. This is writable memory. This is // page-aligned. This is nullptr for invalid instances. >From bdc24128b75008743d819e298557a53205706e7c Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Sun, 09 Jun 2019 11:22:25 +0000 Subject: [PATCH] GCC: fix noexcept from move constructor and assign operators of AccountInfo AccountInfo declares them as noexcept and uses default implementation, so all its members (including AccountId) should be noexcept. But AccountId is not noexcept. To fix it we just need to make CoreAccountId move operator/assign operator noexcept. Bug: 819294 Change-Id: Ice38654ab7cf3b9eaa6f54aa36e1fec329264f98 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645296 Reviewed-by: Roger Tawa <[email protected]> Reviewed-by: Sylvain Defresne <[email protected]> Commit-Queue: José Dapena Paz <[email protected]> Cr-Commit-Position: refs/heads/master@{#667484} --- diff --git a/google_apis/gaia/core_account_id.cc b/google_apis/gaia/core_account_id.cc index d808082..12eefe3 100644 --- a/google_apis/gaia/core_account_id.cc +++ b/google_apis/gaia/core_account_id.cc @@ -6,8 +6,16 @@ CoreAccountId::CoreAccountId() = default; +CoreAccountId::CoreAccountId(const CoreAccountId&) = default; + +CoreAccountId::CoreAccountId(CoreAccountId&&) noexcept = default; + CoreAccountId::~CoreAccountId() = default; +CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; + +CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; + CoreAccountId::CoreAccountId(const char* id) : id(id) {} CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} diff --git a/google_apis/gaia/core_account_id.h b/google_apis/gaia/core_account_id.h index 5ea602a..c2d1911 100644 --- a/google_apis/gaia/core_account_id.h +++ b/google_apis/gaia/core_account_id.h @@ -14,8 +14,13 @@ // for design and tracking). struct CoreAccountId { CoreAccountId(); + CoreAccountId(const CoreAccountId&); + CoreAccountId(CoreAccountId&&) noexcept; ~CoreAccountId(); + CoreAccountId& operator=(const CoreAccountId&); + CoreAccountId& operator=(CoreAccountId&&) noexcept; + // Those implicit constructor and conversion operator allow to // progressively migrate the code to use this struct. Removing // them is tracked by https://crbug.com/959161 >From 9aae68736bc7eb7172d0d0c978ecb6d1f75c7b30 Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Tue, 11 Jun 2019 10:27:19 +0200 Subject: [PATCH] GCC: add noexcept move assignment in history::URLRow In GCC, build is failing because history::QueryURLResult declares its move assignment operator as noexcept using default implementation. That requires its members to provide a move assignment operator that is noexcept too. But URLRow was missing noexcept declaration in move assignment operator (even though it was providing noexcept to its move constructor). Bug: 819294 Change-Id: I726e3cf7a4a50c9206a5d0fba8a561d363483d4f --- diff --git a/components/history/core/browser/url_row.cc b/components/history/core/browser/url_row.cc index 44c22fd..aec0101 100644 --- a/components/history/core/browser/url_row.cc +++ b/components/history/core/browser/url_row.cc @@ -26,7 +26,7 @@ } URLRow& URLRow::operator=(const URLRow& other) = default; -URLRow& URLRow::operator=(URLRow&& other) = default; +URLRow& URLRow::operator=(URLRow&& other) noexcept = default; void URLRow::Swap(URLRow* other) { std::swap(id_, other->id_); diff --git a/components/history/core/browser/url_row.h b/components/history/core/browser/url_row.h index 8f6f9cf..31a1ef8 100644 --- a/components/history/core/browser/url_row.h +++ b/components/history/core/browser/url_row.h @@ -35,7 +35,7 @@ virtual ~URLRow(); URLRow& operator=(const URLRow& other); - URLRow& operator=(URLRow&& other); + URLRow& operator=(URLRow&& other) noexcept; URLID id() const { return id_; } >From 41d954dec0669c9a85730c0bde7df7ba7a0ff43e Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Thu, 06 Jun 2019 15:30:49 +0000 Subject: [PATCH] Fix AutocompleteMatch move constructor/assign operator noexcept For AutocompleteMatch to declare noexcept them, all the contained properties need to be noexcept too. This is required at least for SuggestionAnswer, because base::string16 will make default calculated signature of the move operator noexcept(false). To avoid this issue we explicitely declare them on SuggestionAnswer, and its member classes TextField and ImageLine. Bug: 819294 Change-Id: I8714f2c6352a3292bdebdc3aed9790270e49c580 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1554669 Reviewed-by: Kevin Bailey <[email protected]> Commit-Queue: José Dapena Paz <[email protected]> Cr-Commit-Position: refs/heads/master@{#666714} --- diff --git a/components/omnibox/browser/suggestion_answer.cc b/components/omnibox/browser/suggestion_answer.cc index 151e55f..a0c9049 100644 --- a/components/omnibox/browser/suggestion_answer.cc +++ b/components/omnibox/browser/suggestion_answer.cc @@ -55,6 +55,12 @@ SuggestionAnswer::TextField::TextField() = default; SuggestionAnswer::TextField::~TextField() = default; +SuggestionAnswer::TextField::TextField(const TextField&) = default; +SuggestionAnswer::TextField::TextField(TextField&&) noexcept = default; +SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( + const TextField&) = default; +SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( + TextField&&) noexcept = default; // static bool SuggestionAnswer::TextField::ParseTextField(const base::Value& field_json, @@ -93,9 +99,12 @@ SuggestionAnswer::ImageLine::ImageLine() : num_text_lines_(1) {} SuggestionAnswer::ImageLine::ImageLine(const ImageLine& line) = default; +SuggestionAnswer::ImageLine::ImageLine(ImageLine&&) noexcept = default; SuggestionAnswer::ImageLine& SuggestionAnswer::ImageLine::operator=( const ImageLine& line) = default; +SuggestionAnswer::ImageLine& SuggestionAnswer::ImageLine::operator=( + ImageLine&&) noexcept = default; SuggestionAnswer::ImageLine::~ImageLine() {} @@ -251,9 +260,14 @@ SuggestionAnswer::SuggestionAnswer(const SuggestionAnswer& answer) = default; +SuggestionAnswer::SuggestionAnswer(SuggestionAnswer&&) noexcept = default; + SuggestionAnswer& SuggestionAnswer::operator=(const SuggestionAnswer& answer) = default; +SuggestionAnswer& SuggestionAnswer::operator=(SuggestionAnswer&&) noexcept = + default; + SuggestionAnswer::~SuggestionAnswer() = default; // static diff --git a/components/omnibox/browser/suggestion_answer.h b/components/omnibox/browser/suggestion_answer.h index 31be937..2840ace 100644 --- a/components/omnibox/browser/suggestion_answer.h +++ b/components/omnibox/browser/suggestion_answer.h @@ -125,6 +125,10 @@ public: TextField(); ~TextField(); + TextField(const TextField&); + TextField(TextField&&) noexcept; + TextField& operator=(const TextField&); + TextField& operator=(TextField&&) noexcept; // Parses |field_json| dictionary and populates |text_field| with the // contents. If any of the required elements is missing, returns false and @@ -162,7 +166,9 @@ public: ImageLine(); explicit ImageLine(const ImageLine& line); + ImageLine(ImageLine&&) noexcept; ImageLine& operator=(const ImageLine& line); + ImageLine& operator=(ImageLine&&) noexcept; ~ImageLine(); // Parses dictionary |line_json| and populates |image_line| with the @@ -213,7 +219,9 @@ SuggestionAnswer(); SuggestionAnswer(const SuggestionAnswer& answer); + SuggestionAnswer(SuggestionAnswer&&) noexcept; SuggestionAnswer& operator=(const SuggestionAnswer& answer); + SuggestionAnswer& operator=(SuggestionAnswer&&) noexcept; ~SuggestionAnswer(); // Parses dictionary |answer_json| and fills a SuggestionAnswer containing the >From 9f99af41cae3cfff3bcdcc856c1539801c9b745b Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Fri, 07 Jun 2019 18:59:59 +0000 Subject: [PATCH] DisjoingRangeLockManager::Lock move constructor/assign operator cannot be noexcept They depend on LockRequest, that depends on WeakPtr, none of them noexcept. Bug: 819294 Change-Id: I04ec15901ca627358df727540597f21f135c129b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646252 Reviewed-by: Joshua Bell <[email protected]> Commit-Queue: José Dapena Paz <[email protected]> Cr-Commit-Position: refs/heads/master@{#667260} --- diff --git a/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc b/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc index 478a5c9..a18c6cd 100644 --- a/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc +++ b/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc @@ -19,14 +19,13 @@ : requested_type(type), locks_holder(std::move(locks_holder)), acquired_callback(std::move(acquired_callback)) {} -DisjointRangeLockManager::LockRequest::LockRequest(LockRequest&&) noexcept = - default; +DisjointRangeLockManager::LockRequest::LockRequest(LockRequest&&) = default; DisjointRangeLockManager::LockRequest::~LockRequest() = default; DisjointRangeLockManager::Lock::Lock() = default; -DisjointRangeLockManager::Lock::Lock(Lock&&) noexcept = default; +DisjointRangeLockManager::Lock::Lock(Lock&&) = default; DisjointRangeLockManager::Lock::~Lock() = default; DisjointRangeLockManager::Lock& DisjointRangeLockManager::Lock::operator=( - DisjointRangeLockManager::Lock&&) noexcept = default; + DisjointRangeLockManager::Lock&&) = default; DisjointRangeLockManager::DisjointRangeLockManager(int level_count) : task_runner_(base::SequencedTaskRunnerHandle::Get()), ++++++ chromium-76-gcc-private.patch ++++++ >From 502e6e42633d2571c8236c8649b031fe9915eb5b Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Tue, 11 Jun 2019 16:56:27 +0000 Subject: [PATCH] GCC: CertNetFetcherImpl declares Job as a friend but it is in the anonymous namespace GCC does not allow friendship declaration to anonymous namespace as done with Job object in the CertNetFetcherImpl. This fix removes the friend declaration, and just makes RemoveJob method public, that was the only reason to make Job a friend. Error was: ./../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::DetachRequest(net::CertNetFetcherImpl::RequestCore*)’: ../../net/cert_net/cert_net_fetcher_impl.cc:458:42: error: ‘std::unique_ptr<net::{anonymous}::Job> net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context delete_this = parent_->RemoveJob(this); ^ ../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here std::unique_ptr<Job> RemoveJob(Job* job); ^~~~~~~~~ ../../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::OnJobCompleted(net::Error)’: ../../net/cert_net/cert_net_fetcher_impl.cc:610:61: error: ‘std::unique_ptr<net::{anonymous}::Job> net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context std::unique_ptr<Job> delete_this = parent_->RemoveJob(this); ^ ../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here std::unique_ptr<Job> RemoveJob(Job* job); ^~~~~~~~~ Bug: 819294 Change-Id: I3609f4558e570741395366de6a4cd40577d91450 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651783 Commit-Queue: Eric Roman <[email protected]> Reviewed-by: Eric Roman <[email protected]> Cr-Commit-Position: refs/heads/master@{#668015} --- diff --git a/net/cert_net/cert_net_fetcher_impl.cc b/net/cert_net/cert_net_fetcher_impl.cc index 11a1166..349c656 100644 --- a/net/cert_net/cert_net_fetcher_impl.cc +++ b/net/cert_net/cert_net_fetcher_impl.cc @@ -135,21 +135,19 @@ void Fetch(std::unique_ptr<RequestParams> request_params, scoped_refptr<RequestCore> request); + // Removes |job| from the in progress jobs and transfers ownership to the + // caller. + std::unique_ptr<Job> RemoveJob(Job* job); + // Cancels outstanding jobs, which stops network requests and signals the // corresponding RequestCores that the requests have completed. void Shutdown(); private: - friend class Job; - // Finds a job with a matching RequestPararms or returns nullptr if there was // no match. Job* FindJob(const RequestParams& params); - // Removes |job| from the in progress jobs and transfers ownership to the - // caller. - std::unique_ptr<Job> RemoveJob(Job* job); - // The in-progress jobs. This set does not contain the job which is actively // invoking callbacks (OnJobCompleted). JobSet jobs_; ++++++ chromium-76-gcc-pure-virtual.patch ++++++ >From cdf306db81efaaaa954487585d5a5a16205a5ebd Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Wed, 05 Jun 2019 14:45:06 +0000 Subject: [PATCH] Avoid pure virtual crash destroying RenderProcessUserData When RenderProcessUserData is destroyed from the destructor of RenderProcessHostImpl, it is done in the destructor of RenderProcessHost. At this point RemoveObserver override is already freed, so RenderProcessHost is pure virtual. This crash happens at least building with GCC: at /usr/include/c++/8/ext/new_allocator.h:140 (this=0x7fffffffcb50, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/stl_tree.h:964 We need to destroy RenderProcessUserData before that happens. To do that we can just override RenderProcessHostDestroyed. Bug: 910288 Change-Id: I38107b178829b0cb7494f5333b765e5b087d82cd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645366 Commit-Queue: Sigurður Ásgeirsson <[email protected]> Reviewed-by: Sigurður Ásgeirsson <[email protected]> Cr-Commit-Position: refs/heads/master@{#666279} --- diff --git a/chrome/browser/performance_manager/render_process_user_data.cc b/chrome/browser/performance_manager/render_process_user_data.cc index 2e2c199..ef6e1fb 100644 --- a/chrome/browser/performance_manager/render_process_user_data.cc +++ b/chrome/browser/performance_manager/render_process_user_data.cc @@ -116,4 +116,9 @@ base::Unretained(process_node_.get()), info.exit_code)); } +void RenderProcessUserData::RenderProcessHostDestroyed( + content::RenderProcessHost* host) { + host->RemoveUserData(kRenderProcessUserDataKey); +} + } // namespace performance_manager diff --git a/chrome/browser/performance_manager/render_process_user_data.h b/chrome/browser/performance_manager/render_process_user_data.h index ac74b1d..f3b4d16 100644 --- a/chrome/browser/performance_manager/render_process_user_data.h +++ b/chrome/browser/performance_manager/render_process_user_data.h @@ -47,6 +47,7 @@ void RenderProcessExited( content::RenderProcessHost* host, const content::ChildProcessTerminationInfo& info) override; + void RenderProcessHostDestroyed(content::RenderProcessHost* host) override; // All instances are linked together in a doubly linked list to allow orderly // destruction at browser shutdown time. ++++++ chromium-76-gcc-uint32.patch ++++++ >From 53bb5a463ee956c70230eaa5450022185d0ddc3c Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Thu, 06 Jun 2019 07:54:05 +0000 Subject: [PATCH] ThrottlingController::Liveness needs to be uint32_t We are setting kAlive and kDead values assigning values that are bigger than the maximum signed int32. It is better to use uint32_t in this case. Bug: 819294 Change-Id: If72b48291a66a3a9db24b4c8e2d11d31936a66ee Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645772 Reviewed-by: Kinuko Yasuda <[email protected]> Commit-Queue: José Dapena Paz <[email protected]> Cr-Commit-Position: refs/heads/master@{#666619} --- diff --git a/services/network/throttling/throttling_controller.h b/services/network/throttling/throttling_controller.h index 43751c4..3c6f87b 100644 --- a/services/network/throttling/throttling_controller.h +++ b/services/network/throttling/throttling_controller.h @@ -38,7 +38,7 @@ // TODO(https://crbug.com/960874): Debugging code to try and shed some light // on why the owned maps are invalid. - enum class Liveness : int32_t { + enum class Liveness : uint32_t { kAlive = 0xCA11AB13, kDead = 0xDEADBEEF, }; ++++++ chromium-76-gcc-vulkan.patch ++++++ >From fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <[email protected]> Date: Tue, 11 Jun 2019 17:39:38 +0000 Subject: [PATCH] GCC: do not use old C notation to assign struct with property names. The notation for initialization of structs referring to its properties is invalid in C++. This is not accepted in GCC. It was making build fail in VulkanCommandBuffer. ./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::TransitionImageLayout(VkImage, VkImageLayout, VkImageLayout)': ./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:214:7: error: expected primary-expression before '.' token .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, ^ ./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:215:7: error: expected primary-expression before '.' token .subresourceRange.baseMipLevel = 0, ^ ./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:216:7: error: expected primary-expression before '.' token .subresourceRange.levelCount = 1, ^ ./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:217:7: error: expected primary-expression before '.' token .subresourceRange.baseArrayLayer = 0, ^ ./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:218:7: error: expected primary-expression before '.' token .subresourceRange.layerCount = 1, ^ ./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::CopyBufferToImage(VkBuffer, VkImage, uint32_t, uint32_t, uint32_t, uint32_t)': ./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:235:7: error: expected primary-expression before '.' token .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, ^ ./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:236:7: error: expected primary-expression before '.' token .imageSubresource.mipLevel = 0, ^ ./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:237:7: error: expected primary-expression before '.' token .imageSubresource.baseArrayLayer = 0, ^ ./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:238:7: error: expected primary-expression before '.' token .imageSubresource.layerCount = 1, ^ Bug: 819294 Change-Id: I999abece0c727e77964789183642ba62009c2c22 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651802 Commit-Queue: José Dapena Paz <[email protected]> Reviewed-by: Antoine Labour <[email protected]> Cr-Commit-Position: refs/heads/master@{#668033} --- diff --git a/gpu/vulkan/vulkan_command_buffer.cc b/gpu/vulkan/vulkan_command_buffer.cc index ba776e4..4f14c85 100644 --- a/gpu/vulkan/vulkan_command_buffer.cc +++ b/gpu/vulkan/vulkan_command_buffer.cc @@ -207,21 +207,20 @@ void VulkanCommandBuffer::TransitionImageLayout(VkImage image, VkImageLayout old_layout, VkImageLayout new_layout) { - VkImageMemoryBarrier barrier = { - .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, - .srcAccessMask = GetAccessMask(old_layout), - .dstAccessMask = GetAccessMask(new_layout), - .oldLayout = old_layout, - .newLayout = new_layout, - .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, - .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, - .image = image, - .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, - .subresourceRange.baseMipLevel = 0, - .subresourceRange.levelCount = 1, - .subresourceRange.baseArrayLayer = 0, - .subresourceRange.layerCount = 1, - }; + VkImageMemoryBarrier barrier = {}; + barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + barrier.srcAccessMask = GetAccessMask(old_layout); + barrier.dstAccessMask = GetAccessMask(new_layout); + barrier.oldLayout = old_layout; + barrier.newLayout = new_layout; + barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.image = image; + barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + barrier.subresourceRange.baseMipLevel = 0; + barrier.subresourceRange.levelCount = 1; + barrier.subresourceRange.baseArrayLayer = 0; + barrier.subresourceRange.layerCount = 1; vkCmdPipelineBarrier(command_buffer_, GetPipelineStageFlags(old_layout), GetPipelineStageFlags(new_layout), 0, 0, nullptr, 0, nullptr, 1, &barrier); @@ -233,17 +232,16 @@ uint32_t buffer_height, uint32_t width, uint32_t height) { - VkBufferImageCopy region = { - .bufferOffset = 0, - .bufferRowLength = buffer_width, - .bufferImageHeight = buffer_height, - .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, - .imageSubresource.mipLevel = 0, - .imageSubresource.baseArrayLayer = 0, - .imageSubresource.layerCount = 1, - .imageOffset = {0, 0, 0}, - .imageExtent = {width, height, 1}, - }; + VkBufferImageCopy region = {}; + region.bufferOffset = 0; + region.bufferRowLength = buffer_width; + region.bufferImageHeight = buffer_height; + region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + region.imageSubresource.mipLevel = 0; + region.imageSubresource.baseArrayLayer = 0; + region.imageSubresource.layerCount = 1; + region.imageOffset = {0, 0, 0}; + region.imageExtent = {width, height, 1}; vkCmdCopyBufferToImage(command_buffer_, buffer, image, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, ®ion); } ++++++ chromium-76-quiche.patch ++++++ >From 9424add9d73432a794b7944790253213cce6dcb8 Mon Sep 17 00:00:00 2001 From: danzh <[email protected]> Date: Thu, 06 Jun 2019 14:04:36 -0700 Subject: [PATCH] gfe-relnote: (n/a) code cleanup. Fix envoy compile errors. Add #include header for std library. Reference TransportParameters when using its enum TransportParameterId. PiperOrigin-RevId: 251922363 Change-Id: Iba38660e5adc3069e377829acec44267658b11c6 --- diff --git a/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc b/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc index ee0ebf0..e5df9fe 100644 --- a/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc +++ b/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc @@ -62,37 +62,37 @@ std::string TransportParameterIdToString( TransportParameters::TransportParameterId param_id) { switch (param_id) { - case kOriginalConnectionId: + case TransportParameters::kOriginalConnectionId: return "original_connection_id"; - case kIdleTimeout: + case TransportParameters::kIdleTimeout: return "idle_timeout"; - case kStatelessResetToken: + case TransportParameters::kStatelessResetToken: return "stateless_reset_token"; - case kMaxPacketSize: + case TransportParameters::kMaxPacketSize: return "max_packet_size"; - case kInitialMaxData: + case TransportParameters::kInitialMaxData: return "initial_max_data"; - case kInitialMaxStreamDataBidiLocal: + case TransportParameters::kInitialMaxStreamDataBidiLocal: return "initial_max_stream_data_bidi_local"; - case kInitialMaxStreamDataBidiRemote: + case TransportParameters::kInitialMaxStreamDataBidiRemote: return "initial_max_stream_data_bidi_remote"; - case kInitialMaxStreamDataUni: + case TransportParameters::kInitialMaxStreamDataUni: return "initial_max_stream_data_uni"; - case kInitialMaxStreamsBidi: + case TransportParameters::kInitialMaxStreamsBidi: return "initial_max_streams_bidi"; - case kInitialMaxStreamsUni: + case TransportParameters::kInitialMaxStreamsUni: return "initial_max_streams_uni"; - case kAckDelayExponent: + case TransportParameters::kAckDelayExponent: return "ack_delay_exponent"; - case kMaxAckDelay: + case TransportParameters::kMaxAckDelay: return "max_ack_delay"; - case kDisableMigration: + case TransportParameters::kDisableMigration: return "disable_migration"; - case kPreferredAddress: + case TransportParameters::kPreferredAddress: return "preferred_address"; - case kGoogleQuicParam: + case TransportParameters::kGoogleQuicParam: return "google"; - case kGoogleQuicVersion: + case TransportParameters::kGoogleQuicVersion: return "google-version"; } return "Unknown(" + QuicTextUtils::Uint64ToString(param_id) + ")"; @@ -390,7 +390,7 @@ CBB original_connection_id_param; if (!in.original_connection_id.IsEmpty()) { DCHECK_EQ(Perspective::IS_SERVER, in.perspective); - if (!CBB_add_u16(¶ms, kOriginalConnectionId) || + if (!CBB_add_u16(¶ms, TransportParameters::kOriginalConnectionId) || !CBB_add_u16_length_prefixed(¶ms, &original_connection_id_param) || !CBB_add_bytes( &original_connection_id_param, @@ -412,7 +412,7 @@ if (!in.stateless_reset_token.empty()) { DCHECK_EQ(kStatelessResetTokenLength, in.stateless_reset_token.size()); DCHECK_EQ(Perspective::IS_SERVER, in.perspective); - if (!CBB_add_u16(¶ms, kStatelessResetToken) || + if (!CBB_add_u16(¶ms, TransportParameters::kStatelessResetToken) || !CBB_add_u16_length_prefixed(¶ms, &stateless_reset_token_param) || !CBB_add_bytes(&stateless_reset_token_param, in.stateless_reset_token.data(), @@ -438,7 +438,7 @@ // disable_migration if (in.disable_migration) { - if (!CBB_add_u16(¶ms, kDisableMigration) || + if (!CBB_add_u16(¶ms, TransportParameters::kDisableMigration) || !CBB_add_u16(¶ms, 0u)) { // 0 is the length of this parameter. QUIC_BUG << "Failed to write disable_migration for " << in; return false; @@ -458,7 +458,7 @@ QUIC_BUG << "Bad lengths " << *in.preferred_address; return false; } - if (!CBB_add_u16(¶ms, kPreferredAddress) || + if (!CBB_add_u16(¶ms, TransportParameters::kPreferredAddress) || !CBB_add_u16_length_prefixed(¶ms, &preferred_address_params) || !CBB_add_bytes( &preferred_address_params, @@ -491,7 +491,7 @@ if (in.google_quic_params) { const QuicData& serialized_google_quic_params = in.google_quic_params->GetSerialized(); - if (!CBB_add_u16(¶ms, kGoogleQuicParam) || + if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicParam) || !CBB_add_u16_length_prefixed(¶ms, &google_quic_params) || !CBB_add_bytes(&google_quic_params, reinterpret_cast<const uint8_t*>( @@ -505,7 +505,7 @@ // Google-specific version extension. CBB google_version_params; - if (!CBB_add_u16(¶ms, kGoogleQuicVersion) || + if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicVersion) || !CBB_add_u16_length_prefixed(¶ms, &google_version_params) || !CBB_add_u32(&google_version_params, in.version)) { QUIC_BUG << "Failed to write Google version extension for " << in; @@ -565,7 +565,7 @@ } bool parse_success = true; switch (param_id) { - case kOriginalConnectionId: + case TransportParameters::kOriginalConnectionId: if (!out->original_connection_id.IsEmpty()) { QUIC_DLOG(ERROR) << "Received a second original connection ID"; return false; @@ -581,10 +581,10 @@ CBS_len(&value)); } break; - case kIdleTimeout: + case TransportParameters::kIdleTimeout: parse_success = out->idle_timeout_milliseconds.ReadFromCbs(&value); break; - case kStatelessResetToken: + case TransportParameters::kStatelessResetToken: if (!out->stateless_reset_token.empty()) { QUIC_DLOG(ERROR) << "Received a second stateless reset token"; return false; @@ -597,36 +597,36 @@ out->stateless_reset_token.assign(CBS_data(&value), CBS_data(&value) + CBS_len(&value)); break; - case kMaxPacketSize: + case TransportParameters::kMaxPacketSize: parse_success = out->max_packet_size.ReadFromCbs(&value); break; - case kInitialMaxData: + case TransportParameters::kInitialMaxData: parse_success = out->initial_max_data.ReadFromCbs(&value); break; - case kInitialMaxStreamDataBidiLocal: + case TransportParameters::kInitialMaxStreamDataBidiLocal: parse_success = out->initial_max_stream_data_bidi_local.ReadFromCbs(&value); break; - case kInitialMaxStreamDataBidiRemote: + case TransportParameters::kInitialMaxStreamDataBidiRemote: parse_success = out->initial_max_stream_data_bidi_remote.ReadFromCbs(&value); break; - case kInitialMaxStreamDataUni: + case TransportParameters::kInitialMaxStreamDataUni: parse_success = out->initial_max_stream_data_uni.ReadFromCbs(&value); break; - case kInitialMaxStreamsBidi: + case TransportParameters::kInitialMaxStreamsBidi: parse_success = out->initial_max_streams_bidi.ReadFromCbs(&value); break; - case kInitialMaxStreamsUni: + case TransportParameters::kInitialMaxStreamsUni: parse_success = out->initial_max_streams_uni.ReadFromCbs(&value); break; - case kAckDelayExponent: + case TransportParameters::kAckDelayExponent: parse_success = out->ack_delay_exponent.ReadFromCbs(&value); break; - case kMaxAckDelay: + case TransportParameters::kMaxAckDelay: parse_success = out->max_ack_delay.ReadFromCbs(&value); break; - case kDisableMigration: + case TransportParameters::kDisableMigration: if (out->disable_migration) { QUIC_DLOG(ERROR) << "Received a second disable migration"; return false; @@ -638,7 +638,7 @@ } out->disable_migration = true; break; - case kPreferredAddress: { + case TransportParameters::kPreferredAddress: { uint16_t ipv4_port, ipv6_port; in_addr ipv4_address; in6_addr ipv6_address; @@ -692,7 +692,7 @@ QuicMakeUnique<TransportParameters::PreferredAddress>( preferred_address); } break; - case kGoogleQuicParam: { + case TransportParameters::kGoogleQuicParam: { if (out->google_quic_params) { QUIC_DLOG(ERROR) << "Received a second Google parameter"; return false; @@ -701,7 +701,7 @@ reinterpret_cast<const char*>(CBS_data(&value)), CBS_len(&value)); out->google_quic_params = CryptoFramer::ParseMessage(serialized_params); } break; - case kGoogleQuicVersion: { + case TransportParameters::kGoogleQuicVersion: { if (!CBS_get_u32(&value, &out->version)) { QUIC_DLOG(ERROR) << "Failed to parse Google version extension"; return false; diff --git a/quic/core/quic_socket_address_coder.cc b/quic/core/quic_socket_address_coder.cc index 2527fc9..b26103d 100644 --- a/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc +++ b/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc @@ -2,10 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include <string> - #include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h" +#include <cstring> +#include <string> +#include <vector> + namespace quic { namespace { ++++++ chromium-75.0.3770.142.tar.xz -> chromium-76.0.3809.87.tar.xz ++++++ /work/SRC/openSUSE:Factory/chromium/chromium-75.0.3770.142.tar.xz /work/SRC/openSUSE:Factory/.chromium.new.4126/chromium-76.0.3809.87.tar.xz differ: char 26, line 1 ++++++ chromium-dma-buf.patch ++++++ --- /var/tmp/diff_new_pack.0SOLxw/_old 2019-08-05 10:41:01.851301254 +0200 +++ /var/tmp/diff_new_pack.0SOLxw/_new 2019-08-05 10:41:01.851301254 +0200 @@ -1,10 +1,10 @@ -Index: chromium-72.0.3626.7/ui/gfx/linux/client_native_pixmap_dmabuf.cc +Index: chromium-76.0.3800.0/ui/gfx/linux/client_native_pixmap_dmabuf.cc =================================================================== ---- chromium-72.0.3626.7.orig/ui/gfx/linux/client_native_pixmap_dmabuf.cc -+++ chromium-72.0.3626.7/ui/gfx/linux/client_native_pixmap_dmabuf.cc -@@ -18,9 +18,6 @@ - #include "base/trace_event/trace_event.h" +--- chromium-76.0.3800.0.orig/ui/gfx/linux/client_native_pixmap_dmabuf.cc ++++ chromium-76.0.3800.0/ui/gfx/linux/client_native_pixmap_dmabuf.cc +@@ -24,9 +24,6 @@ #include "build/build_config.h" + #include "ui/gfx/switches.h" -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -#include <linux/dma-buf.h> @@ -12,7 +12,7 @@ #include <linux/types.h> struct dma_buf_sync { -@@ -35,7 +32,6 @@ struct dma_buf_sync { +@@ -41,7 +38,6 @@ struct dma_buf_sync { #define DMA_BUF_BASE 'b' #define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync) ++++++ chromium-drm.patch ++++++ --- /var/tmp/diff_new_pack.0SOLxw/_old 2019-08-05 10:41:01.855301254 +0200 +++ /var/tmp/diff_new_pack.0SOLxw/_new 2019-08-05 10:41:01.859301253 +0200 @@ -1,14 +1,14 @@ -Index: chromium-65.0.3325.146/ui/gfx/native_pixmap_handle.cc +Index: chromium-76.0.3800.0/ui/gfx/native_pixmap_handle.cc =================================================================== ---- chromium-65.0.3325.146.orig/ui/gfx/native_pixmap_handle.cc -+++ chromium-65.0.3325.146/ui/gfx/native_pixmap_handle.cc -@@ -12,6 +12,9 @@ +--- chromium-76.0.3800.0.orig/ui/gfx/native_pixmap_handle.cc ++++ chromium-76.0.3800.0/ui/gfx/native_pixmap_handle.cc +@@ -21,6 +21,9 @@ namespace gfx { #if defined(OS_LINUX) +#ifndef DRM_FORMAT_MOD_INVALID +#define DRM_FORMAT_MOD_INVALID ((1ULL<<56) - 1) +#endif - static_assert(NativePixmapPlane::kNoModifier == DRM_FORMAT_MOD_INVALID, - "gfx::NativePixmapPlane::kNoModifier should be an alias for" + static_assert(NativePixmapHandle::kNoModifier == DRM_FORMAT_MOD_INVALID, + "gfx::NativePixmapHandle::kNoModifier should be an alias for" "DRM_FORMAT_MOD_INVALID"); ++++++ chromium-libusb_interrupt_event_handler.patch ++++++ --- /var/tmp/diff_new_pack.0SOLxw/_old 2019-08-05 10:41:01.863301253 +0200 +++ /var/tmp/diff_new_pack.0SOLxw/_new 2019-08-05 10:41:01.867301252 +0200 @@ -1,6 +1,6 @@ -diff -up chromium-48.0.2564.116/device/usb/usb_context.cc.modern-libusbx chromium-48.0.2564.116/device/usb/usb_context.cc ---- chromium-48.0.2564.116/device/usb/usb_context.cc.modern-libusbx 2016-02-24 10:21:10.534996028 -0500 -+++ chromium-48.0.2564.116/device/usb/usb_context.cc 2016-02-24 10:22:28.270499864 -0500 +diff -up chromium-48.0.2564.116/services/device/usb/usb_context.cc.modern-libusbx chromium-48.0.2564.116/device/usb/usb_context.cc +--- chromium-48.0.2564.116/services/device/usb/usb_context.cc.modern-libusbx 2016-02-24 10:21:10.534996028 -0500 ++++ chromium-48.0.2564.116/services/device/usb/usb_context.cc 2016-02-24 10:22:28.270499864 -0500 @@ -57,7 +57,11 @@ void UsbContext::UsbEventHandler::Run() void UsbContext::UsbEventHandler::Stop() { ++++++ chromium-skia-aarch64-buildfix.patch ++++++ --- /var/tmp/diff_new_pack.0SOLxw/_old 2019-08-05 10:41:01.879301251 +0200 +++ /var/tmp/diff_new_pack.0SOLxw/_new 2019-08-05 10:41:01.883301250 +0200 @@ -1,20 +1,41 @@ ---- chromium-71.0.3578.53.orig//third_party/skia/src/opts/SkRasterPipeline_opts.h 2018-11-22 10:52:58.556286527 +0100 -+++ chromium-71.0.3578.53/third_party/skia/src/opts/SkRasterPipeline_opts.h 2018-11-22 11:31:38.837360583 +0100 -@@ -658,7 +658,7 @@ SI F approx_powf(F x, F y) { +From 7aacb0b30a86936aedd1308708d1a51d951197f2 Mon Sep 17 00:00:00 2001 +From: Mike Klein <[email protected]> +Date: Tue, 02 Jul 2019 13:23:06 -0500 +Subject: [PATCH] fix GCC arm64 builds + +These two guards are checking if we're building for aarch64 and thus +have F16 conversion instructions, but weren't checking if we want to use +them (if we have them _and_ we're being compiled by Clang). At head +we're trying to pass a 2-byte uint16_t to a function expecting an 8-byte +uint16x4_t, etc. + +Change-Id: I21f6cd2100ec81ccdd47c4ec0575107624cd7c5a +Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225257 +Reviewed-by: Herb Derby <[email protected]> +Commit-Queue: Mike Klein <[email protected]> +--- + +diff --git a/third_party/skia/src/opts/SkRasterPipeline_opts.h b/third_party/skia/src/opts/SkRasterPipeline_opts.h +index 0eae9fe..e05f36c 100644 +--- a/third_party/skia/src/opts/SkRasterPipeline_opts.h ++++ b/third_party/skia/src/opts/SkRasterPipeline_opts.h +@@ -972,7 +972,8 @@ } SI F from_half(U16 h) { -#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. ++#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \ ++ && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. return vcvt_f32_f16(h); #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) -@@ -678,7 +678,7 @@ SI F from_half(U16 h) { +@@ -992,7 +993,8 @@ } SI U16 to_half(F f) { -#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. ++#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \ ++ && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. return vcvt_f16_f32(f); #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) ++++++ chromium-system-icu.patch ++++++ --- /var/tmp/diff_new_pack.0SOLxw/_old 2019-08-05 10:41:01.887301250 +0200 +++ /var/tmp/diff_new_pack.0SOLxw/_new 2019-08-05 10:41:01.887301250 +0200 @@ -1,11 +1,13 @@ ---- chromium-72.0.3626.7.orig/third_party/blink/renderer/platform/text/character_property_data.h 2018-12-12 14:38:52.691743205 +0100 -+++ chromium-72.0.3626.7/third_party/blink/renderer/platform/text/character_property_data.h 2018-12-12 14:49:27.320195000 +0100 -@@ -247,7 +247,7 @@ static const UChar32 kIsHangulRanges[] = +Index: chromium-76.0.3800.0/third_party/blink/renderer/platform/text/character_property_data.h +=================================================================== +--- chromium-76.0.3800.0.orig/third_party/blink/renderer/platform/text/character_property_data.h ++++ chromium-76.0.3800.0/third_party/blink/renderer/platform/text/character_property_data.h +@@ -258,7 +258,7 @@ static const UChar32 kIsHangulRanges[] = 0xFFA0, 0xFFDC, }; -static const UChar32 kIsHangulArray[] = {}; +static const UChar32 kIsHangulArray[] = {0xFFDC,}; - #if !defined(USING_SYSTEM_ICU) // Freezed trie tree, see character_property_data_generator.cc. + extern const int32_t kSerializedCharacterDataSize; ++++++ chromium-vaapi.patch ++++++ --- /var/tmp/diff_new_pack.0SOLxw/_old 2019-08-05 10:41:01.895301249 +0200 +++ /var/tmp/diff_new_pack.0SOLxw/_new 2019-08-05 10:41:01.895301249 +0200 @@ -12,11 +12,11 @@ media/mojo/services/gpu_mojo_media_client.cc | 4 ++-- 6 files changed, 29 insertions(+), 14 deletions(-) -Index: chromium-75.0.3745.4/chrome/browser/about_flags.cc +Index: chromium-76.0.3806.1/chrome/browser/about_flags.cc =================================================================== ---- chromium-75.0.3745.4.orig/chrome/browser/about_flags.cc -+++ chromium-75.0.3745.4/chrome/browser/about_flags.cc -@@ -1434,7 +1434,7 @@ const FeatureEntry kFeatureEntries[] = { +--- chromium-76.0.3806.1.orig/chrome/browser/about_flags.cc ++++ chromium-76.0.3806.1/chrome/browser/about_flags.cc +@@ -1394,7 +1394,7 @@ const FeatureEntry kFeatureEntries[] = { "disable-accelerated-video-decode", flag_descriptions::kAcceleratedVideoDecodeName, flag_descriptions::kAcceleratedVideoDecodeDescription, @@ -24,8 +24,8 @@ + kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), }, - #if defined(OS_WIN) -@@ -1980,12 +1980,12 @@ const FeatureEntry kFeatureEntries[] = { + {"enable-history-favicons-google-server-query", +@@ -1833,10 +1833,10 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, #endif // ENABLE_ISOLATED_XR_SERVICE #endif // ENABLE_VR @@ -36,16 +36,13 @@ - flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, + flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS // OS_LINUX - {"v8-cache-options", flag_descriptions::kV8CacheOptionsName, - flag_descriptions::kV8CacheOptionsDescription, kOsAll, - MULTI_VALUE_TYPE(kV8CacheOptionsChoices)}, -Index: chromium-75.0.3745.4/chrome/browser/flag_descriptions.cc + #endif // OS_CHROMEOS + {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, +Index: chromium-76.0.3806.1/chrome/browser/flag_descriptions.cc =================================================================== ---- chromium-75.0.3745.4.orig/chrome/browser/flag_descriptions.cc -+++ chromium-75.0.3745.4/chrome/browser/flag_descriptions.cc -@@ -2989,15 +2989,20 @@ const char kMacViewsTaskManagerDescripti +--- chromium-76.0.3806.1.orig/chrome/browser/flag_descriptions.cc ++++ chromium-76.0.3806.1/chrome/browser/flag_descriptions.cc +@@ -2734,15 +2734,20 @@ const char kMacSystemMediaPermissionsInf #endif @@ -68,11 +65,11 @@ const char kAppServiceAshName[] = "App Service Ash"; const char kAppServiceAshDescription[] = -Index: chromium-75.0.3745.4/chrome/browser/flag_descriptions.h +Index: chromium-76.0.3806.1/chrome/browser/flag_descriptions.h =================================================================== ---- chromium-75.0.3745.4.orig/chrome/browser/flag_descriptions.h -+++ chromium-75.0.3745.4/chrome/browser/flag_descriptions.h -@@ -1779,11 +1779,15 @@ extern const char kPermissionPromptPersi +--- chromium-76.0.3806.1.orig/chrome/browser/flag_descriptions.h ++++ chromium-76.0.3806.1/chrome/browser/flag_descriptions.h +@@ -1631,11 +1631,15 @@ extern const char kPermissionPromptPersi // Chrome OS ------------------------------------------------------------------ @@ -89,10 +86,10 @@ extern const char kAppServiceAshName[]; extern const char kAppServiceAshDescription[]; -Index: chromium-75.0.3745.4/gpu/config/software_rendering_list.json +Index: chromium-76.0.3806.1/gpu/config/software_rendering_list.json =================================================================== ---- chromium-75.0.3745.4.orig/gpu/config/software_rendering_list.json -+++ chromium-75.0.3745.4/gpu/config/software_rendering_list.json +--- chromium-76.0.3806.1.orig/gpu/config/software_rendering_list.json ++++ chromium-76.0.3806.1/gpu/config/software_rendering_list.json @@ -371,11 +371,12 @@ }, { ++++++ old-libva.patch ++++++ --- /var/tmp/diff_new_pack.0SOLxw/_old 2019-08-05 10:41:01.927301246 +0200 +++ /var/tmp/diff_new_pack.0SOLxw/_new 2019-08-05 10:41:01.927301246 +0200 @@ -1,8 +1,8 @@ -Index: chromium-75.0.3770.80/media/gpu/vaapi/vaapi_wrapper.cc +Index: chromium-76.0.3809.12/media/gpu/vaapi/vaapi_wrapper.cc =================================================================== ---- chromium-75.0.3770.80.orig/media/gpu/vaapi/vaapi_wrapper.cc -+++ chromium-75.0.3770.80/media/gpu/vaapi/vaapi_wrapper.cc -@@ -54,6 +54,10 @@ +--- chromium-76.0.3809.12.orig/media/gpu/vaapi/vaapi_wrapper.cc ++++ chromium-76.0.3809.12/media/gpu/vaapi/vaapi_wrapper.cc +@@ -55,6 +55,10 @@ #include "ui/ozone/public/surface_factory_ozone.h" #endif @@ -13,7 +13,7 @@ using media_gpu_vaapi::kModuleVa; using media_gpu_vaapi::kModuleVa_drm; #if defined(USE_X11) -@@ -293,9 +297,6 @@ bool VADisplayState::Initialize() { +@@ -277,9 +281,6 @@ bool VADisplayState::Initialize() { } bool VADisplayState::InitializeOnce() { @@ -23,13 +23,13 @@ switch (gl::GetGLImplementation()) { case gl::kGLImplementationEGLGLES2: va_display_ = vaGetDisplayDRM(drm_fd_.get()); -Index: chromium-75.0.3770.80/media/gpu/vaapi/vaapi_jpeg_decoder.cc +Index: chromium-76.0.3809.12/media/gpu/vaapi/vaapi_jpeg_decoder.cc =================================================================== ---- chromium-75.0.3770.80.orig/media/gpu/vaapi/vaapi_jpeg_decoder.cc -+++ chromium-75.0.3770.80/media/gpu/vaapi/vaapi_jpeg_decoder.cc -@@ -21,6 +21,10 @@ - #include "media/gpu/vaapi/vaapi_utils.h" +--- chromium-76.0.3809.12.orig/media/gpu/vaapi/vaapi_jpeg_decoder.cc ++++ chromium-76.0.3809.12/media/gpu/vaapi/vaapi_jpeg_decoder.cc +@@ -23,6 +23,10 @@ #include "media/gpu/vaapi/vaapi_wrapper.h" + #include "media/parsers/jpeg_parser.h" +#ifndef VA_FOURCC_I420 +#define VA_FOURCC_I420 0x30323449 @@ -38,11 +38,11 @@ namespace media { namespace { -Index: chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc +Index: chromium-76.0.3809.12/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc =================================================================== ---- chromium-75.0.3770.80.orig/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc -+++ chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc -@@ -29,6 +29,10 @@ +--- chromium-76.0.3809.12.orig/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc ++++ chromium-76.0.3809.12/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc +@@ -30,6 +30,10 @@ #include "third_party/libyuv/include/libyuv.h" #include "ui/gfx/geometry/size.h"
