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, &region);
 }
++++++ 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(&params, kOriginalConnectionId) ||
+    if (!CBB_add_u16(&params, TransportParameters::kOriginalConnectionId) ||
         !CBB_add_u16_length_prefixed(&params, &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(&params, kStatelessResetToken) ||
+    if (!CBB_add_u16(&params, TransportParameters::kStatelessResetToken) ||
         !CBB_add_u16_length_prefixed(&params, &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(&params, kDisableMigration) ||
+    if (!CBB_add_u16(&params, TransportParameters::kDisableMigration) ||
         !CBB_add_u16(&params, 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(&params, kPreferredAddress) ||
+    if (!CBB_add_u16(&params, TransportParameters::kPreferredAddress) ||
         !CBB_add_u16_length_prefixed(&params, &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(&params, kGoogleQuicParam) ||
+    if (!CBB_add_u16(&params, TransportParameters::kGoogleQuicParam) ||
         !CBB_add_u16_length_prefixed(&params, &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(&params, kGoogleQuicVersion) ||
+  if (!CBB_add_u16(&params, TransportParameters::kGoogleQuicVersion) ||
       !CBB_add_u16_length_prefixed(&params, &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"
  


Reply via email to