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
+
+- 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/patc...
@@ -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
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
Commit-Queue: José Dapena Paz
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_setstd::string& GetNeverSniffedMimeTypes() {
- static base::NoDestructorstd::string> s_types({
+ static base::NoDestructorstd::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
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
Reviewed-by: Xianzhu Wang
Commit-Queue: José Dapena Paz
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
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
Reviewed-by: Luna Lu
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
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
Commit-Queue: José Dapena Paz
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 GetIterator() const {
return iterator(*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
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
Commit-Queue: José Dapena Paz
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
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
Reviewed-by: Daniel Cheng
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
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
Reviewed-by: Sylvain Defresne
Commit-Queue: José Dapena Paz
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
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
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
Commit-Queue: José Dapena Paz
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
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
Commit-Queue: José Dapena Paz
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
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_ptrnet::{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_ptrnet::{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
Reviewed-by: Eric Roman
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
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
Reviewed-by: Sigurður Ásgeirsson
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
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
Commit-Queue: José Dapena Paz
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
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
Reviewed-by: Antoine Labour
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
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(
@@ -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 @@
QuicMakeUniqueTransportParameters::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(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
@@ -12,7 +12,7 @@
#include
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
+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
+Commit-Queue: Mike Klein
+---
+
+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"