Cleanup the patches

epel8
Tomas Popela 5 years ago
parent 2de703ec6f
commit 9ac69a56eb

@ -1,54 +0,0 @@
Upstream-Status: Submitted
GCC aarch64 build fix [this is actually a libvpx patch, not a Chromium one]
Sent to: https://chromium-review.googlesource.com/c/webm/libvpx/+/1136449
Signed-off-by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
---
From c20bd394f18c47bf133b51d6a40399273c3f24e0 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Fri, 13 Jul 2018 14:29:09 +0200
Subject: [PATCH] vpx_sum_squares_2d_i16_neon(): Make |s2| a uint64x1_t.
This fixes the build with at least GCC 7.3, where it was previously failing
with:
../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c: In function 'vpx_sum_squares_2d_i16_neon':
../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:34:5: note: use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts
s2 = vpaddl_u32(s1);
^~
../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:34:8: error: incompatible types when assigning to type 'int64x1_t' from type 'uint64x1_t'
s2 = vpaddl_u32(s1);
^
../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:81:8: error: incompatible types when assigning to type 'int64x1_t' from type 'uint64x1_t'
s2 = vadd_u64(vget_low_u64(s1), vget_high_u64(s1));
^
../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:84:24: error: incompatible type for argument 1 of 'vget_lane_u64'
return vget_lane_u64(s2, 0);
^~
The generated assembly was verified to remain identical with both GCC and
LLVM.
Change-Id: I2778428ee1fee0a674d0d4910347c2a717de21ac
---
vpx_dsp/arm/sum_squares_neon.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/vpx_dsp/arm/sum_squares_neon.c b/vpx_dsp/arm/sum_squares_neon.c
index 8942ba83b..cfefad993 100644
--- a/third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c
+++ b/third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c
@@ -14,7 +14,7 @@
#include "./vpx_dsp_rtcd.h"
uint64_t vpx_sum_squares_2d_i16_neon(const int16_t *src, int stride, int size) {
- int64x1_t s2;
+ uint64x1_t s2;
if (size == 4) {
int16x4_t s[4];
--
2.14.4

@ -1,11 +0,0 @@
diff -up chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd.notest chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd
--- chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd.notest 2015-10-16 02:01:56.644149741 -0400
+++ chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd 2015-10-16 02:02:36.217285227 -0400
@@ -8,7 +8,6 @@
</outputs>
<release seq="1">
<includes>
- <include name="IDR_WEBUI_TEST_I18N_PROCESS_CSS_TEST" file="webui/i18n_process_css_test.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" />
</includes>
</release>
</grit>

@ -1,15 +0,0 @@
diff -up chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.madv_free chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp
--- chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.madv_free 2016-08-15 13:07:29.279655676 -0400
+++ chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp 2016-08-15 13:08:38.447317416 -0400
@@ -41,6 +41,11 @@
#include <errno.h>
#include <sys/mman.h>
+#if OS(LINUX) && defined(MADV_FREE)
+// Added in Linux 4.5, but it breaks the sandbox.
+#undef MADV_FREE
+#endif
+
#ifndef MADV_FREE
#define MADV_FREE MADV_DONTNEED
#endif

@ -1,51 +0,0 @@
diff -up chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc.armwebrtc chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc
--- chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc.armwebrtc 2016-08-03 09:30:53.922861020 +0200
+++ chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc 2016-08-03 09:32:00.337498174 +0200
@@ -18,6 +18,47 @@
#include "webrtc/typedefs.h"
+#include <elf.h>
+#ifdef __arm__
+#include <fcntl.h>
+#include <unistd.h>
+#include <linux/auxvec.h>
+#include <asm/hwcap.h>
+#endif
+
+#ifdef __arm__
+uint64_t WebRtc_GetCPUFeaturesARM() {
+ static bool detected = false;
+ static uint64_t have_neon = 0;
+
+ int fd;
+ Elf32_auxv_t auxv;
+ unsigned int hwcaps;
+
+ if (!detected) {
+ int fd;
+ Elf32_auxv_t auxv;
+ unsigned int hwcaps;
+
+ fd = open("/proc/self/auxv", O_RDONLY);
+ if (fd >= 0) {
+ while (read(fd, &auxv, sizeof(Elf32_auxv_t)) == sizeof(Elf32_auxv_t)) {
+ if (auxv.a_type == AT_HWCAP) {
+ have_neon = (auxv.a_un.a_val & HWCAP_NEON) ? kCPUFeatureNEON : 0;
+ break;
+ }
+ }
+ close (fd);
+ } else {
+ have_neon = 0;
+ }
+ detected = true;
+ }
+
+ return 0 | have_neon; // others here as we need them
+}
+#endif
+
// No CPU feature is available => straight C path.
int GetCPUInfoNoASM(CPUFeature feature) {
(void)feature;

@ -1,15 +0,0 @@
diff -up chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc.etc chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc
--- chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc.etc 2016-08-03 10:15:57.980692109 +0200
+++ chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc 2016-08-03 10:16:44.553325229 +0200
@@ -19,9 +19,9 @@ bool IsOrganicFirstRun() {
base::FilePath MasterPrefsPath() {
// The standard location of the master prefs is next to the chrome binary.
+ // ...but we patch it to use /etc/chromium
base::FilePath master_prefs;
- if (!PathService::Get(base::DIR_EXE, &master_prefs))
- return base::FilePath();
+ master_prefs = base::FilePath("/etc/chromium");
return master_prefs.AppendASCII(installer::kDefaultMasterPrefs);
}

@ -1,30 +0,0 @@
diff -up chromium-55.0.2883.75/sandbox/linux/BUILD.gn.sandboxpie chromium-55.0.2883.75/sandbox/linux/BUILD.gn
--- chromium-55.0.2883.75/sandbox/linux/BUILD.gn.sandboxpie 2016-12-01 18:02:17.000000000 -0500
+++ chromium-55.0.2883.75/sandbox/linux/BUILD.gn 2016-12-12 16:26:06.863426221 -0500
@@ -279,11 +279,17 @@ if (is_linux) {
# For ULLONG_MAX
"-std=gnu99",
+ "-fPIE",
+
# These files have a suspicious comparison.
# TODO fix this and re-enable this warning.
"-Wno-sign-compare",
]
+ ldflags = [
+ "-pie",
+ ]
+
import("//build/config/compiler/compiler.gni")
import("//build/config/sanitizers/sanitizers.gni")
if (is_component_build || using_sanitizer) {
@@ -293,7 +299,7 @@ if (is_linux) {
# other flags that executable_config might have.
configs -= [ "//build/config:executable_config" ]
if (!use_gold) {
- ldflags = [ "-Wl,--disable-new-dtags" ]
+ ldflags += [ "-Wl,--disable-new-dtags" ]
}
}

@ -1,13 +0,0 @@
diff -up chromium-56.0.2924.87/third_party/WebKit/Source/BUILD.gn.permissive chromium-56.0.2924.87/third_party/WebKit/Source/BUILD.gn
--- chromium-56.0.2924.87/third_party/WebKit/Source/BUILD.gn.permissive 2017-02-13 12:32:23.419665971 -0500
+++ chromium-56.0.2924.87/third_party/WebKit/Source/BUILD.gn 2017-02-13 12:33:16.146629190 -0500
@@ -54,6 +54,9 @@ config("config") {
cflags = []
defines = []
+ # error: there are no arguments to 'swapAnchor' that depend on a template parameter, so a declaration of 'swapAnchor' must be available [-fpermissive]
+ cflags += [ "-fpermissive" ]
+
if (is_win) {
cflags += [
"/wd4305", # Truncation from 'type1' to 'type2'.

@ -1,354 +0,0 @@
diff -up chromium-56.0.2924.87/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc.gcc5 chromium-56.0.2924.87/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc
--- chromium-56.0.2924.87/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc.gcc5 2017-02-01 21:03:47.000000000 -0500
+++ chromium-56.0.2924.87/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc 2017-02-09 10:38:38.319790897 -0500
@@ -165,8 +165,8 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
// state[16 + 2] 0x000000 Byte 2 of 3 (relative offsets)
X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__,
X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__,
--14,-14,-14,-14,-14,-14,-14,-14, -14,-14,-14,-14,-14,-14,-14,-14,
--14,-14,-14,-14,-14,-14,-14,-14, -14,-14,-14,-14,-14,-14,-14,-14,
+(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, (uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,
+(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, (uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,
// state[17 + 2] 0x0031c0 Byte 3 of 3 (property)
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -259,10 +259,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
229,229,229, 3,208, 0,229, 5, 233, 0,229,229,229,208,229,229,
// state[32 + 2] 0x002000 Byte 2 of 3 (relative offsets)
--30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,
--30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,
--30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,
--30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,
+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,
+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,
+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,
+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,
// state[33 + 2] 0x003780 Byte 3 of 3 (property)
229,208,229,229,208,229,229,229, 208,208,208,208,208, 4, 6,208,
@@ -355,10 +355,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
228,229,229,229,229,233,233, 6, 208,229, 3,229,233, 6, 6, 0,
// state[48 + 2] 0x001000 Byte 2 of 3 (relative offsets)
--46,-46,-46,-46,-42,-41,-40,-39, -46,-46,-46,-46,-46,-46,-46,-46,
--46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46,
--46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46,
--46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46,
+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-42,(uint8)-41,(uint8)-40,(uint8)-39, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,
+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,
+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,
+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,
// state[49 + 2] 0x003b40 Byte 3 of 3 (property)
6,227,208,233,208, 3, 3,208, 208,229, 0,229,233,219, 0, 6,
@@ -451,10 +451,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
229,208,208,208,217,208,229,229, 229,229,208,217,208,229,229,229,
// state[64 + 2] 0x003000 Byte 2 of 3 (relative offsets)
--54,-53,-52,-51,-50,-58,-49,-47, -62,-62,-62,-62,-62,-62,-62,-62,
--46,-45,-44,-43,-42,-41,-40,-39, -38,-37,-36,-35,-34,-33,-31,-30,
--29,-28,-27,-26,-25,-24,-23,-22, -21,-20,-19,-18,-17,-15,-14,-13,
--12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4,
+(uint8)-54,(uint8)-53,(uint8)-52,(uint8)-51,(uint8)-50,(uint8)-58,(uint8)-49,(uint8)-47, (uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,
+(uint8)-46,(uint8)-45,(uint8)-44,(uint8)-43,(uint8)-42,(uint8)-41,(uint8)-40,(uint8)-39, (uint8)-38,(uint8)-37,(uint8)-36,(uint8)-35,(uint8)-34,(uint8)-33,(uint8)-31,(uint8)-30,
+(uint8)-29,(uint8)-28,(uint8)-27,(uint8)-26,(uint8)-25,(uint8)-24,(uint8)-23,(uint8)-22, (uint8)-21,(uint8)-20,(uint8)-19,(uint8)-18,(uint8)-17,(uint8)-15,(uint8)-14,(uint8)-13,
+(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4,
// state[65 + 2] 0x003f00 Byte 3 of 3 (property)
217,217,208, 3,208,217,208,208, 6,229,208,228,229,229,208,229,
@@ -547,10 +547,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
229,208,229,229,208,229,233, 0, 208,208,229,208,227,229,229,229,
// state[80 + 2] 0x004000 Byte 2 of 3 (relative offsets)
--11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5,
+(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44,-78, 45, 46, 47, 48, 49, 50, 51, 52,
+ 38, 39, 40, 41, 42, 43, 44,(uint8)-78, 45, 46, 47, 48, 49, 50, 51, 52,
// state[81 + 2] 0x0042c0 Byte 3 of 3 (property)
229, 0,229,229,229, 3, 4, 4, 229,229,229,229,208,229, 0,208,
@@ -931,7 +931,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
0,142, 98, 28,117,206,212,212, 220, 15, 0,231,199,231,111, 28,
// state[144 + 2] 0x005000 Byte 2 of 3 (relative offsets)
--11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5,
+(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
@@ -1315,7 +1315,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
16, 15,211,118, 0,231, 68,231, 0, 99,161, 0,115,221,144,140,
// state[208 + 2] 0x006000 Byte 2 of 3 (relative offsets)
--10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6,
+(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
@@ -1699,7 +1699,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
119, 16, 51, 0, 0, 68,136, 72, 144,118, 87,201,191,136, 78,233,
// state[272 + 2] 0x007000 Byte 2 of 3 (relative offsets)
- -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7,
+ (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
@@ -2083,7 +2083,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
212,212, 0,126,140,220,220, 0, 0, 0,127,118,106, 0,199, 0,
// state[336 + 2] 0x008000 Byte 2 of 3 (relative offsets)
- -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8,
+ (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
@@ -2467,7 +2467,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
0,122, 0,231,100,232, 0, 0, 117, 0,206,231, 0, 0,231, 0,
// state[400 + 2] 0x009000 Byte 2 of 3 (relative offsets)
- -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
@@ -2851,10 +2851,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// state[464 + 2] 0x00a000 Byte 2 of 3 (relative offsets)
- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
- -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
+ (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6,
+ (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6,
+ (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6,
+ (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5,
// state[465 + 2] 0x000080 Byte 2 of 2 (property)
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2947,10 +2947,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
208,208,208,208, 5, 6,208, 2, 0, 6, 6, 5,208,208,208, 6,
// state[480 + 2] 0x00b000 Byte 2 of 3 (relative offsets)
--20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20,
--20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20,
--20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20,
--20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20,
+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,
+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,
+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,
+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,
// state[481 + 2] 0x020100 Byte 4 of 4 (property)
2, 6, 5, 6, 5,229, 5,208, 208,208,208,208,208,208,208,229,
@@ -3043,10 +3043,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
208,208, 5, 5, 5,208,208, 2, 229, 5, 5, 5, 5, 5, 6,208,
// state[496 + 2] 0x00d000 Byte 2 of 3 (relative offsets)
--35,-35,-35,-35,-35,-35,-35,-35, -35,-35,-35,-35,-35,-35,-35,-35,
--35,-35,-35,-35,-35,-35,-35,-35, -35,-35,-35,-35,-35,-35,-34,-33,
--33,-33,-33,-33,-33,-33,-33,-33, -33,-33,-33,-33,-33,-33,-33,-33,
--33,-33,-33,-33,-33,-33,-33,-33, -33,-33,-33,-33,-33,-33,-33,-33,
+(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35, (uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,
+(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35, (uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-34,(uint8)-33,
+(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33, (uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,
+(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33, (uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,
// state[497 + 2] 0x0204c0 Byte 4 of 4 (property)
2, 2, 5, 5, 5, 2,208, 2, 5, 5, 6,208,208, 5, 5, 5,
@@ -3139,10 +3139,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
208,208, 5, 5, 5, 5, 6, 6, 208,208, 2,208,208,208,208,208,
// state[512 + 2] 0x00f000 Byte 2 of 3 (relative offsets)
--47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-47,-47,-47,
--47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-47,-47,-47,
--47,-47,-47,-47,-46,-45,-44,-43, -42,-41,-44,-40,-47,-47,-47,-47,
--47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-39,-38,-37,
+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, (uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,
+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, (uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,
+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-46,(uint8)-45,(uint8)-44,(uint8)-43, (uint8)-42,(uint8)-41,(uint8)-44,(uint8)-40,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,
+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, (uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-39,(uint8)-38,(uint8)-37,
// state[513 + 2] 0x020880 Byte 4 of 4 (property)
5, 5, 5, 6,208,208,208,208, 208,208, 5, 5, 6, 6,208,208,
@@ -3235,10 +3235,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
5, 6,208,218,208,208,208,218, 208, 6,227,229, 6, 6, 6,208,
// state[528 + 2] 0x020000 Byte 3 of 4 (relative offsets)
--52,-51,-50,-49,-47,-46,-45,-44, -43,-42,-41,-40,-39,-38,-37,-36,
--35,-34,-33,-31,-30,-29,-28,-27, -26,-25,-24,-23,-22,-21,-20,-19,
--18,-17,-15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2,
- -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+(uint8)-52,(uint8)-51,(uint8)-50,(uint8)-49,(uint8)-47,(uint8)-46,(uint8)-45,(uint8)-44, (uint8)-43,(uint8)-42,(uint8)-41,(uint8)-40,(uint8)-39,(uint8)-38,(uint8)-37,(uint8)-36,
+(uint8)-35,(uint8)-34,(uint8)-33,(uint8)-31,(uint8)-30,(uint8)-29,(uint8)-28,(uint8)-27, (uint8)-26,(uint8)-25,(uint8)-24,(uint8)-23,(uint8)-22,(uint8)-21,(uint8)-20,(uint8)-19,
+(uint8)-18,(uint8)-17,(uint8)-15,(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2,
+ (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
// state[529 + 2] 0x020c40 Byte 4 of 4 (property)
227, 5, 5, 5, 2, 2, 2, 2, 213, 2, 2, 2, 2, 2,208, 6,
@@ -3427,7 +3427,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
208,208,208,208,208,208,208,208, 208, 6, 6, 6, 6, 2, 5, 5,
// state[560 + 2] 0x021000 Byte 3 of 4 (relative offsets)
--16,-15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1,
+(uint8)-16,(uint8)-15,(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
@@ -3811,7 +3811,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
5, 5, 5, 6, 6, 6, 5,208, 208,229,208,208, 5, 5, 5, 5,
// state[624 + 2] 0x022000 Byte 3 of 4 (relative offsets)
--15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1,
+(uint8)-15,(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
@@ -4195,7 +4195,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
6, 6, 4, 5,208,208,208,208, 208,208,229, 6, 5, 6, 6, 6,
// state[688 + 2] 0x023000 Byte 3 of 4 (relative offsets)
--14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2,
+(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
@@ -4579,7 +4579,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
5, 5, 5, 5, 5, 5, 5, 6, 208,208,208,208,208,208, 6, 6,
// state[752 + 2] 0x024000 Byte 3 of 4 (relative offsets)
--13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3,
+(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
@@ -4963,7 +4963,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
229, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 2, 2, 6,229,
// state[816 + 2] 0x025000 Byte 3 of 4 (relative offsets)
--12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4,
+(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
@@ -5347,7 +5347,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
6, 6, 6, 5, 5, 5, 5, 6, 6, 6, 3, 6,229,208,208,229,
// state[880 + 2] 0x026000 Byte 3 of 4 (relative offsets)
--11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5,
+(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
@@ -5731,7 +5731,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
208, 6, 6,208,208,208,208,208, 6, 6, 6,216, 5, 5, 5, 5,
// state[944 + 2] 0x027000 Byte 3 of 4 (relative offsets)
--10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6,
+(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
@@ -6115,7 +6115,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
5, 5, 5, 6,208,208, 6, 6, 208,229,208,208,208, 5, 5, 5,
// state[1008 + 2] 0x028000 Byte 3 of 4 (relative offsets)
- -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7,
+ (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
@@ -6499,7 +6499,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
208,208, 5, 5, 6,208,208, 5, 208,208,208, 6,208, 6,208,208,
// state[1072 + 2] 0x029000 Byte 3 of 4 (relative offsets)
- -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8,
+ (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
@@ -6883,7 +6883,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
229,229,229,229,208,208,208,229, 208,208,208,229, 0,229,208,208,
// state[1136 + 2] 0x02a000 Byte 3 of 4 (relative offsets)
- -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
@@ -7075,10 +7075,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
// state[1168 + 2] 0x02f000 Byte 3 of 4 (relative offsets)
- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
- -8, -7, -6, -5, -4, -3, -2, -1, 1, -9, -9, -9, -9, -9, -9, -9,
- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
+ (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9,
+ (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9,
+ (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9,
+ (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9,
// state[1169 + 2] 0x02fa00 Byte 4 of 4 (property)
217, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,217, 5, 5,
diff -up chromium-56.0.2924.87/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 chromium-56.0.2924.87/third_party/webgl/src/specs/latest/2.0/webgl2.idl
--- chromium-56.0.2924.87/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 2017-02-01 21:03:57.000000000 -0500
+++ chromium-56.0.2924.87/third_party/webgl/src/specs/latest/2.0/webgl2.idl 2017-02-09 10:38:38.380789675 -0500
@@ -265,7 +265,7 @@ interface WebGL2RenderingContextBase
const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
- const GLenum INVALID_INDEX = 0xFFFFFFFF;
+ const GLenum INVALID_INDEX = 256;
const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111;
diff -up chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.h
--- chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 2017-02-01 21:03:09.000000000 -0500
+++ chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.h 2017-02-09 10:38:38.387789535 -0500
@@ -49,7 +49,7 @@ class NodeFilter final : public GarbageC
* to the value of NodeType for the equivalent node type.
*/
enum {
- kShowAll = 0xFFFFFFFF,
+ kShowAll = 256 /* 0xFFFFFFFF */,
kShowElement = 0x00000001,
kShowAttribute = 0x00000002,
kShowText = 0x00000004,
diff -up chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.idl
--- chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 2017-02-01 21:03:09.000000000 -0500
+++ chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.idl 2017-02-09 10:38:38.394789395 -0500
@@ -30,7 +30,7 @@
const unsigned short FILTER_SKIP = 3;
// Constants for whatToShow
- const unsigned long SHOW_ALL = 0xFFFFFFFF;
+ const unsigned long SHOW_ALL = 256; // 0xFFFFFFFF
const unsigned long SHOW_ELEMENT = 0x1;
const unsigned long SHOW_ATTRIBUTE = 0x2; // historical
const unsigned long SHOW_TEXT = 0x4;
diff -up chromium-56.0.2924.87/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 chromium-56.0.2924.87/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl
--- chromium-56.0.2924.87/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 2017-02-01 21:03:09.000000000 -0500
+++ chromium-56.0.2924.87/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl 2017-02-09 11:07:32.828682863 -0500
@@ -239,7 +239,7 @@ typedef unsigned long long GLuint64;
const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
- const GLenum INVALID_INDEX = 0xFFFFFFFF;
+ const GLenum INVALID_INDEX = 256;
const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111;
@@ -269,7 +269,7 @@ typedef unsigned long long GLuint64;
const GLenum TEXTURE_IMMUTABLE_FORMAT = 0x912F;
const GLenum MAX_ELEMENT_INDEX = 0x8D6B;
const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF;
- const GLint TIMEOUT_IGNORED = -1;
+ const GLint TIMEOUT_IGNORED = 256;
/* WebGL-specific enums */
const GLenum MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247;

@ -1,214 +0,0 @@
diff -up chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
--- chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc.ucontextfix 2017-07-12 15:23:33.019591380 -0400
+++ chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc 2017-07-12 15:32:52.069197546 -0400
@@ -36,19 +36,19 @@ namespace google_breakpad {
// Minidump defines register structures which are different from the raw
// structures which we get from the kernel. These are platform specific
-// functions to juggle the ucontext and user structures into minidump format.
+// functions to juggle the ucontext_t and user structures into minidump format.
#if defined(__i386__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_ESP];
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_EIP];
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct _libc_fpstate* fp) {
const greg_t* regs = uc->uc_mcontext.gregs;
@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawC
#elif defined(__x86_64)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_RSP];
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_RIP];
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct _libc_fpstate* fpregs) {
const greg_t* regs = uc->uc_mcontext.gregs;
@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawC
#elif defined(__ARM_EABI__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.arm_sp;
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.arm_pc;
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
out->context_flags = MD_CONTEXT_ARM_FULL;
out->iregs[0] = uc->uc_mcontext.arm_r0;
@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawC
#elif defined(__aarch64__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.sp;
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.pc;
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct fpsimd_context* fpregs) {
out->context_flags = MD_CONTEXT_ARM64_FULL;
@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawC
#elif defined(__mips__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP];
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.pc;
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
#if _MIPS_SIM == _ABI64
out->context_flags = MD_CONTEXT_MIPS64_FULL;
#elif _MIPS_SIM == _ABIO32
diff -up chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
--- chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h.ucontextfix 2017-07-12 15:33:08.486806743 -0400
+++ chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h 2017-07-12 15:33:57.299644808 -0400
@@ -39,23 +39,23 @@
namespace google_breakpad {
-// Wraps platform-dependent implementations of accessors to ucontext structs.
+// Wraps platform-dependent implementations of accessors to ucontext_t structs.
struct UContextReader {
- static uintptr_t GetStackPointer(const struct ucontext* uc);
+ static uintptr_t GetStackPointer(const ucontext_t* uc);
- static uintptr_t GetInstructionPointer(const struct ucontext* uc);
+ static uintptr_t GetInstructionPointer(const ucontext_t* uc);
- // Juggle a arch-specific ucontext into a minidump format
+ // Juggle a arch-specific ucontext_t into a minidump format
// out: the minidump structure
// info: the collection of register structures.
#if defined(__i386__) || defined(__x86_64)
- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct _libc_fpstate* fp);
#elif defined(__aarch64__)
- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct fpsimd_context* fpregs);
#else
- static void FillCPUContext(RawContextCPU *out, const ucontext *uc);
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
#endif
};
diff -up chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.cc.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.cc
--- chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.cc.ucontextfix 2017-07-12 15:34:09.094364048 -0400
+++ chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.cc 2017-07-12 15:35:36.483283853 -0400
@@ -439,9 +439,9 @@ bool ExceptionHandler::HandleSignal(int
// Fill in all the holes in the struct to make Valgrind happy.
memset(&g_crash_context_, 0, sizeof(g_crash_context_));
memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t));
- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext));
+ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t));
#if defined(__aarch64__)
- struct ucontext* uc_ptr = (struct ucontext*)uc;
+ ucontext_t* uc_ptr = (ucontext_t*)uc;
struct fpsimd_context* fp_ptr =
(struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
if (fp_ptr->head.magic == FPSIMD_MAGIC) {
@@ -450,9 +450,9 @@ bool ExceptionHandler::HandleSignal(int
}
#elif !defined(__ARM_EABI__) && !defined(__mips__)
// FP state is not part of user ABI on ARM Linux.
- // In case of MIPS Linux FP state is already part of struct ucontext
+ // In case of MIPS Linux FP state is already part of ucontext_t
// and 'float_state' is not a member of CrashContext.
- struct ucontext* uc_ptr = (struct ucontext*)uc;
+ ucontext_t* uc_ptr = (ucontext_t*)uc;
if (uc_ptr->uc_mcontext.fpregs) {
memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs,
sizeof(g_crash_context_.float_state));
@@ -476,7 +476,7 @@ bool ExceptionHandler::SimulateSignalDel
// ExceptionHandler::HandleSignal().
siginfo.si_code = SI_USER;
siginfo.si_pid = getpid();
- struct ucontext context;
+ ucontext_t context;
getcontext(&context);
return HandleSignal(sig, &siginfo, &context);
}
diff -up chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.h.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.h
--- chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.h.ucontextfix 2017-07-12 15:35:48.559996380 -0400
+++ chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.h 2017-07-12 15:36:32.615948562 -0400
@@ -191,11 +191,11 @@ class ExceptionHandler {
struct CrashContext {
siginfo_t siginfo;
pid_t tid; // the crashing thread.
- struct ucontext context;
+ ucontext_t context;
#if !defined(__ARM_EABI__) && !defined(__mips__)
// #ifdef this out because FP state is not part of user ABI for Linux ARM.
// In case of MIPS Linux FP state is already part of struct
- // ucontext so 'float_state' is not required.
+ // ucontext_t so 'float_state' is not required.
fpstate_t float_state;
#endif
};
diff -up chromium-59.0.3071.115/breakpad/src/client/linux/microdump_writer/microdump_writer.cc.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
--- chromium-59.0.3071.115/breakpad/src/client/linux/microdump_writer/microdump_writer.cc.ucontextfix 2017-07-12 15:37:26.232674196 -0400
+++ chromium-59.0.3071.115/breakpad/src/client/linux/microdump_writer/microdump_writer.cc 2017-07-12 15:37:39.032369973 -0400
@@ -579,7 +579,7 @@ class MicrodumpWriter {
void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
- const struct ucontext* const ucontext_;
+ const ucontext_t* const ucontext_;
#if !defined(__ARM_EABI__) && !defined(__mips__)
const google_breakpad::fpstate_t* const float_state_;
#endif
diff -up chromium-59.0.3071.115/breakpad/src/client/linux/minidump_writer/minidump_writer.cc.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
--- chromium-59.0.3071.115/breakpad/src/client/linux/minidump_writer/minidump_writer.cc.ucontextfix 2017-07-12 15:37:54.041013246 -0400
+++ chromium-59.0.3071.115/breakpad/src/client/linux/minidump_writer/minidump_writer.cc 2017-07-12 15:38:19.600405748 -0400
@@ -1323,7 +1323,7 @@ class MinidumpWriter {
const int fd_; // File descriptor where the minidum should be written.
const char* path_; // Path to the file where the minidum should be written.
- const struct ucontext* const ucontext_; // also from the signal handler
+ const ucontext_t* const ucontext_; // also from the signal handler
#if !defined(__ARM_EABI__) && !defined(__mips__)
const google_breakpad::fpstate_t* const float_state_; // ditto
#endif

@ -1,17 +0,0 @@
diff -up chromium-59.0.3071.86/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic chromium-59.0.3071.86/third_party/ffmpeg/libavutil/cpu.c
--- chromium-59.0.3071.86/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic 2017-06-07 17:15:24.993945430 -0400
+++ chromium-59.0.3071.86/third_party/ffmpeg/libavutil/cpu.c 2017-06-07 17:18:41.625997601 -0400
@@ -17,7 +17,13 @@
*/
#include <stdint.h>
+// GCC 4.8 didn't have stdatomic, but was advertising it.
+// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58016
+#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ == 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ == 8)))
+#include <compat/atomics/gcc/stdatomic.h>
+#else
#include <stdatomic.h>
+#endif
#include "cpu.h"
#include "cpu_internal.h"

@ -1,43 +0,0 @@
diff -up chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn.nullfix chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn
--- chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn.nullfix 2017-06-05 15:03:01.000000000 -0400
+++ chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn 2017-06-07 15:32:43.531911624 -0400
@@ -31,6 +31,7 @@ gcc_toolchain("arm64") {
ld = cxx
readelf = "${toolprefix}readelf"
nm = "${toolprefix}nm"
+ extra_cppflags = "-fno-delete-null-pointer-checks"
toolchain_args = {
current_cpu = "arm64"
@@ -49,6 +50,7 @@ gcc_toolchain("arm") {
ld = cxx
readelf = "${toolprefix}readelf"
nm = "${toolprefix}nm"
+ extra_cppflags = "-fno-delete-null-pointer-checks"
toolchain_args = {
current_cpu = "arm"
@@ -91,6 +93,7 @@ gcc_toolchain("x86") {
nm = "nm"
ar = "ar"
ld = cxx
+ extra_cppflags = "-fno-delete-null-pointer-checks"
# Output linker map files for binary size analysis.
enable_linker_map = true
@@ -136,6 +139,7 @@ gcc_toolchain("x64") {
nm = "nm"
ar = "ar"
ld = cxx
+ extra_cppflags = "-fno-delete-null-pointer-checks"
# Output linker map files for binary size analysis.
enable_linker_map = true
@@ -161,6 +165,7 @@ gcc_toolchain("mipsel") {
ld = cxx
readelf = "mipsel-linux-gnu-readelf"
nm = "mipsel-linux-gnu-nm"
+ extra_cppflags = "-fno-delete-null-pointer-checks"
toolchain_args = {
cc_wrapper = ""

@ -1,10 +0,0 @@
diff -up chromium-59.0.3071.86/build/config/clang/clang.gni.system-clang chromium-59.0.3071.86/build/config/clang/clang.gni
--- chromium-59.0.3071.86/build/config/clang/clang.gni.system-clang 2017-06-11 20:57:07.327949687 -0400
+++ chromium-59.0.3071.86/build/config/clang/clang.gni 2017-06-11 20:57:24.085620826 -0400
@@ -9,5 +9,5 @@ declare_args() {
# coding guidelines, etc. Only used when compiling with Clang.
clang_use_chrome_plugins = is_clang && !is_nacl && !use_xcode_clang
- clang_base_path = "//third_party/llvm-build/Release+Asserts"
+ clang_base_path = "/usr"
}

@ -1,221 +0,0 @@
diff -up chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn
--- chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn.gnsystem 2017-07-25 15:04:48.000000000 -0400
+++ chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn 2017-07-31 10:38:25.879951641 -0400
@@ -16,6 +16,10 @@ source_set("libjpeg") {
libs = [ "jpeg" ]
}
+config("system_libjpeg") {
+ defines = [ "USE_SYSTEM_LIBJPEG=1" ]
+}
+
source_set("simd") {
}
diff -up chromium-60.0.3112.78/build/linux/unbundle/libusb.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/libusb.gn
--- chromium-60.0.3112.78/build/linux/unbundle/libusb.gn.gnsystem 2017-07-31 10:38:25.880951622 -0400
+++ chromium-60.0.3112.78/build/linux/unbundle/libusb.gn 2017-07-31 10:38:25.879951641 -0400
@@ -0,0 +1,24 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+
+pkg_config("system_libusb") {
+ packages = [ "libusb-1.0" ]
+}
+
+shim_headers("libusb_shim") {
+ root_path = "src/libusb"
+ headers = [
+ "libusb.h",
+ ]
+}
+
+source_set("libusb") {
+ deps = [
+ ":libusb_shim",
+ ]
+ public_configs = [ ":system_libusb" ]
+}
diff -up chromium-60.0.3112.78/build/linux/unbundle/opus.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/opus.gn
--- chromium-60.0.3112.78/build/linux/unbundle/opus.gn.gnsystem 2017-07-25 15:04:48.000000000 -0400
+++ chromium-60.0.3112.78/build/linux/unbundle/opus.gn 2017-07-31 10:38:25.880951622 -0400
@@ -1,3 +1,164 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+import("//testing/test.gni")
+
+pkg_config("system_opus") {
+ packages = [ "opus" ]
+}
+
+shim_headers("opus_shim") {
+ root_path = "src/include"
+ headers = [
+ "opus_custom.h",
+ "opus_defines.h",
+ "opus_multistream.h",
+ "opus_types.h",
+ "opus.h",
+ ]
+}
+
+source_set("opus") {
+ deps = [
+ ":opus_shim",
+ ]
+ public_configs = [ ":system_opus" ]
+}
+
+config("opus_test_config") {
+ include_dirs = [
+ "src/celt",
+ "src/silk",
+ ]
+
+ if (is_win) {
+ defines = [ "inline=__inline" ]
+ }
+ if (is_android) {
+ libs = [ "log" ]
+ }
+ if (is_clang) {
+ cflags = [ "-Wno-absolute-value" ]
+ }
+}
+
+executable("opus_compare") {
+ sources = [
+ "src/src/opus_compare.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ "//build/config/sanitizers:deps",
+ "//build/win:default_exe_manifest",
+ ]
+}
+
+executable("opus_demo") {
+ sources = [
+ "src/src/opus_demo.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ "//build/config/sanitizers:deps",
+ "//build/win:default_exe_manifest",
+ ]
+}
+
+test("test_opus_api") {
+ sources = [
+ "src/tests/test_opus_api.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ ]
+}
+
+test("test_opus_encode") {
+ sources = [
+ "src/tests/test_opus_encode.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ ]
+}
+
+# GN orders flags on a target before flags from configs. The default config
+# adds -Wall, and this flag have to be after -Wall -- so they need to
+# come from a config and can't be on the target directly.
+config("test_opus_decode_config") {
+ # test_opus_decode passes a null pointer to opus_decode() for an argument
+ # marked as requiring a non-null value by the nonnull function attribute,
+ # and expects opus_decode() to fail. Disable the -Wnonnull option to avoid
+ # a compilation error if -Werror is specified.
+ if (is_posix) {
+ cflags = [ "-Wno-nonnull" ]
+ }
+}
+
+test("test_opus_decode") {
+ sources = [
+ "src/tests/test_opus_decode.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ":test_opus_decode_config",
+ ]
+
+ deps = [
+ ":opus",
+ ]
+}
+
+test("test_opus_padding") {
+ sources = [
+ "src/tests/test_opus_padding.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ ]
+}
+
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
diff -up chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py
--- chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py.gnsystem 2017-07-31 10:38:25.880951622 -0400
+++ chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py 2017-07-31 10:39:58.067159914 -0400
@@ -26,6 +26,7 @@ REPLACEMENTS = {
'libevent': 'base/third_party/libevent/BUILD.gn',
'libjpeg': 'build/secondary/third_party/libjpeg_turbo/BUILD.gn',
'libpng': 'third_party/libpng/BUILD.gn',
+ 'libusb': 'third_party/libusb/BUILD.gn',
'libvpx': 'third_party/libvpx/BUILD.gn',
'libwebp': 'third_party/libwebp/BUILD.gn',
'libxml': 'third_party/libxml/BUILD.gn',

@ -1,28 +0,0 @@
diff -up chromium-60.0.3112.78/tools/gn/BUILD.gn.lastcommit chromium-60.0.3112.78/tools/gn/BUILD.gn
--- chromium-60.0.3112.78/tools/gn/BUILD.gn.lastcommit 2017-07-31 10:42:38.568041044 -0400
+++ chromium-60.0.3112.78/tools/gn/BUILD.gn 2017-07-31 10:47:50.760974587 -0400
@@ -268,7 +268,6 @@ executable("gn") {
deps = [
":gn_lib",
- ":last_commit_position",
"//base",
"//build/config:exe_and_shlib_deps",
"//build/win:default_exe_manifest",
diff -up chromium-60.0.3112.78/tools/gn/gn_main.cc.lastcommit chromium-60.0.3112.78/tools/gn/gn_main.cc
--- chromium-60.0.3112.78/tools/gn/gn_main.cc.lastcommit 2017-07-25 15:05:19.000000000 -0400
+++ chromium-60.0.3112.78/tools/gn/gn_main.cc 2017-07-31 10:42:38.568041044 -0400
@@ -12,13 +12,7 @@
#include "tools/gn/standard_out.h"
#include "tools/gn/switches.h"
-// Only the GN-generated build makes this header for now.
-// TODO(brettw) consider adding this if we need it in GYP.
-#if defined(GN_BUILD)
-#include "tools/gn/last_commit_position.h"
-#else
#define LAST_COMMIT_POSITION "UNKNOWN"
-#endif
namespace {

@ -1,13 +0,0 @@
diff -up chromium-60.0.3112.78/third_party/zlib/zconf.h.nozmangle chromium-60.0.3112.78/third_party/zlib/zconf.h
--- chromium-60.0.3112.78/third_party/zlib/zconf.h.nozmangle 2017-08-04 10:45:17.509152089 -0400
+++ chromium-60.0.3112.78/third_party/zlib/zconf.h 2017-08-04 10:45:30.451902380 -0400
@@ -8,9 +8,6 @@
#ifndef ZCONF_H
#define ZCONF_H
-/* This include does prefixing as below, but with an updated set of names */
-#include "names.h"
-
/*
* If you *really* need a unique prefix for all types and library functions,
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.

@ -1,11 +0,0 @@
diff -up chromium-60.0.3112.90/third_party/angle/src/vulkan_support/BUILD.gn.c99 chromium-60.0.3112.90/third_party/angle/src/vulkan_support/BUILD.gn
--- chromium-60.0.3112.90/third_party/angle/src/vulkan_support/BUILD.gn.c99 2017-08-14 10:40:48.028799820 -0400
+++ chromium-60.0.3112.90/third_party/angle/src/vulkan_support/BUILD.gn 2017-08-14 10:41:43.054734910 -0400
@@ -180,6 +180,7 @@ config("vulkan_internal_config") {
cflags += [ "-Wno-ignored-attributes" ]
}
if (is_linux) {
+ cflags += [ "-std=c99" ]
defines += [
"SYSCONFDIR=\"/etc\"",
"FALLBACK_CONFIG_DIRS=\"/etc/xdg\"",

@ -1,12 +0,0 @@
diff -up chromium-61.0.3163.79/breakpad/src/client/linux/handler/exception_handler.cc.aarch64glibc chromium-61.0.3163.79/breakpad/src/client/linux/handler/exception_handler.cc
--- chromium-61.0.3163.79/breakpad/src/client/linux/handler/exception_handler.cc.aarch64glibc 2017-09-12 10:12:25.375736650 -0400
+++ chromium-61.0.3163.79/breakpad/src/client/linux/handler/exception_handler.cc 2017-09-12 10:14:42.339638321 -0400
@@ -461,7 +461,7 @@ bool ExceptionHandler::HandleSignal(int
#if defined(__aarch64__)
ucontext_t* uc_ptr = (ucontext_t*)uc;
struct fpsimd_context* fp_ptr =
- (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
+ (struct fpsimd_context*)&uc_ptr->uc_mcontext.__glibc_reserved1;
if (fp_ptr->head.magic == FPSIMD_MAGIC) {
memcpy(&g_crash_context_.float_state, fp_ptr,
sizeof(g_crash_context_.float_state));

@ -1,12 +0,0 @@
diff -up chromium-61.0.3163.79/third_party/ffmpeg/ffmpeg_generated.gni.aarch64 chromium-61.0.3163.79/third_party/ffmpeg/ffmpeg_generated.gni
--- chromium-61.0.3163.79/third_party/ffmpeg/ffmpeg_generated.gni.aarch64 2017-09-06 14:34:36.247232957 -0400
+++ chromium-61.0.3163.79/third_party/ffmpeg/ffmpeg_generated.gni 2017-09-06 14:36:37.632892363 -0400
@@ -537,7 +537,7 @@ if (use_linux_config && current_cpu == "
]
}
-if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) {
+if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chromium")) {
ffmpeg_c_sources += [
"libavcodec/aarch64/mpegaudiodsp_init.c",
]

@ -1,12 +0,0 @@
diff -up chromium-61.0.3163.79/cc/blink/web_layer_impl.h.setopaque chromium-61.0.3163.79/cc/blink/web_layer_impl.h
--- chromium-61.0.3163.79/cc/blink/web_layer_impl.h.setopaque 2017-09-06 13:55:45.454175023 -0400
+++ chromium-61.0.3163.79/cc/blink/web_layer_impl.h 2017-09-06 13:58:02.395533936 -0400
@@ -71,7 +71,7 @@ class CC_BLINK_EXPORT WebLayerImpl : pub
bool IsRootForIsolatedGroup() override;
void SetShouldHitTest(bool should_hit_test) override;
bool ShouldHitTest() override;
- void SetOpaque(bool opaque) override;
+ CC_BLINK_EXPORT void SetOpaque(bool opaque) override;
bool Opaque() const override;
void SetPosition(const blink::WebFloatPoint& position) override;
blink::WebFloatPoint GetPosition() const override;

@ -1,20 +0,0 @@
diff -up chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h.fix-cplusplus-conditional chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h
--- chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h.fix-cplusplus-conditional 2017-10-17 15:12:35.000000000 -0400
+++ chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h 2017-10-19 11:41:45.860279576 -0400
@@ -38,6 +38,8 @@ inline uint32_t Crc32c(const std::string
// Visual Studio provides a <string_view> header even in C++11 mode. When
// included, the header issues an #error. (C1189)
#if !defined(_MSC_VER) || __cplusplus >= 201703L
+// GCC issues an #error if __cplusplus <= 201402L
+#if defined(__GNUC__) && __cplusplus > 201402L
#include <string_view>
// Comptues the CRC32C of the bytes in the string_view.
@@ -46,6 +48,7 @@ inline uint32_t Crc32c(const std::string
string_view.size());
}
+#endif // defined(__GNUC__) && __cplusplus > 201402L
#endif // !defined(_MSC_VER) || __cplusplus >= 201703L
#endif // __has_include(<string_view>)
#endif // defined(__has_include)

@ -1,13 +0,0 @@
diff -up chromium-62.0.3202.62/services/resource_coordinator/resource_coordinator_service.cc.dde535 chromium-62.0.3202.62/services/resource_coordinator/resource_coordinator_service.cc
--- chromium-62.0.3202.62/services/resource_coordinator/resource_coordinator_service.cc.dde535 2017-10-18 10:04:33.237966223 -0400
+++ chromium-62.0.3202.62/services/resource_coordinator/resource_coordinator_service.cc 2017-10-18 10:05:00.442438694 -0400
@@ -18,7 +18,8 @@ std::unique_ptr<service_manager::Service
auto resource_coordinator_service =
base::MakeUnique<ResourceCoordinatorService>();
- return resource_coordinator_service;
+ return std::unique_ptr<service_manager::Service>(
+ resource_coordinator_service.release());
}
ResourceCoordinatorService::ResourceCoordinatorService()

@ -1,484 +0,0 @@
diff -up chromium-62.0.3202.62/components/neterror/resources/sounds/button-press.mp3 chromium-62.0.3202.62/components/neterror/resources/sounds/button-press
diff -up chromium-62.0.3202.62/components/neterror/resources/sounds/hit.mp3 chromium-62.0.3202.62/components/neterror/resources/sounds/hit
diff -up chromium-62.0.3202.62/components/neterror/resources/sounds/score-reached.mp3 chromium-62.0.3202.62/components/neterror/resources/sounds/score-reached
diff -up chromium-62.0.3202.62/media/base/mime_util_internal.cc.mp3 chromium-62.0.3202.62/media/base/mime_util_internal.cc
--- chromium-62.0.3202.62/media/base/mime_util_internal.cc.mp3 2017-10-17 15:10:44.000000000 -0400
+++ chromium-62.0.3202.62/media/base/mime_util_internal.cc 2017-10-18 09:32:16.957562156 -0400
@@ -266,15 +266,19 @@ void MimeUtil::AddSupportedMediaFormats(
CodecSet webm_codecs(webm_audio_codecs);
webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end());
-#if BUILDFLAG(USE_PROPRIETARY_CODECS)
const CodecSet mp3_codecs{MP3};
+#if BUILDFLAG(USE_PROPRIETARY_CODECS)
const CodecSet aac{MPEG2_AAC, MPEG4_AAC};
+#else
+ const CodecSet aac{};
+#endif
+ CodecSet mp4_audio_codecs(aac);
+ mp4_audio_codecs.emplace(MP3);
+#if BUILDFLAG(USE_PROPRIETARY_CODECS)
CodecSet avc_and_aac(aac);
avc_and_aac.emplace(H264);
- CodecSet mp4_audio_codecs(aac);
- mp4_audio_codecs.emplace(MP3);
mp4_audio_codecs.emplace(FLAC);
#if BUILDFLAG(ENABLE_AC3_EAC3_AUDIO_DEMUXING)
mp4_audio_codecs.emplace(AC3);
@@ -311,10 +315,10 @@ void MimeUtil::AddSupportedMediaFormats(
AddContainerWithCodecs("application/ogg", ogg_codecs, false);
AddContainerWithCodecs("audio/flac", implicit_codec, false);
-#if BUILDFLAG(USE_PROPRIETARY_CODECS)
AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3".
AddContainerWithCodecs("audio/mp3", implicit_codec, true);
AddContainerWithCodecs("audio/x-mp3", implicit_codec, true);
+#if BUILDFLAG(USE_PROPRIETARY_CODECS)
AddContainerWithCodecs("audio/aac", implicit_codec, true); // AAC / ADTS.
AddContainerWithCodecs("audio/mp4", mp4_audio_codecs, true);
DCHECK(!mp4_video_codecs.empty());
@@ -920,7 +924,6 @@ bool MimeUtil::IsCodecProprietary(Codec
case INVALID_CODEC:
case AC3:
case EAC3:
- case MP3:
case MPEG2_AAC:
case MPEG4_AAC:
case H264:
@@ -928,6 +931,7 @@ bool MimeUtil::IsCodecProprietary(Codec
case DOLBY_VISION:
return true;
+ case MP3:
case PCM:
case VORBIS:
case OPUS:
diff -up chromium-62.0.3202.62/media/formats/BUILD.gn.mp3 chromium-62.0.3202.62/media/formats/BUILD.gn
--- chromium-62.0.3202.62/media/formats/BUILD.gn.mp3 2017-10-17 15:10:45.000000000 -0400
+++ chromium-62.0.3202.62/media/formats/BUILD.gn 2017-10-18 09:25:18.353676481 -0400
@@ -17,6 +17,14 @@ source_set("formats") {
"ac3/ac3_util.h",
"common/offset_byte_queue.cc",
"common/offset_byte_queue.h",
+ "mpeg/adts_constants.cc",
+ "mpeg/adts_constants.h",
+ "mpeg/adts_stream_parser.cc",
+ "mpeg/adts_stream_parser.h",
+ "mpeg/mpeg1_audio_stream_parser.cc",
+ "mpeg/mpeg1_audio_stream_parser.h",
+ "mpeg/mpeg_audio_stream_parser_base.cc",
+ "mpeg/mpeg_audio_stream_parser_base.h",
"webm/webm_audio_client.cc",
"webm/webm_audio_client.h",
"webm/webm_cluster_parser.cc",
@@ -78,14 +86,6 @@ source_set("formats") {
"mp4/sample_to_group_iterator.h",
"mp4/track_run_iterator.cc",
"mp4/track_run_iterator.h",
- "mpeg/adts_constants.cc",
- "mpeg/adts_constants.h",
- "mpeg/adts_stream_parser.cc",
- "mpeg/adts_stream_parser.h",
- "mpeg/mpeg1_audio_stream_parser.cc",
- "mpeg/mpeg1_audio_stream_parser.h",
- "mpeg/mpeg_audio_stream_parser_base.cc",
- "mpeg/mpeg_audio_stream_parser_base.h",
]
}
diff -up chromium-62.0.3202.62/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test.mp3 chromium-62.0.3202.62/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test
diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h
--- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 2017-10-18 09:05:31.000000000 -0400
+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h 2017-10-18 09:25:18.354676462 -0400
@@ -1,7 +1,7 @@
/* Automatically generated by configure - do not modify! */
#ifndef FFMPEG_CONFIG_H
#define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
#define CONFIG_THIS_YEAR 2017
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
@@ -542,7 +542,7 @@
#define CONFIG_FFPROBE 0
#define CONFIG_FFSERVER 0
#define CONFIG_FFMPEG 0
-#define CONFIG_DCT 0
+#define CONFIG_DCT 1
#define CONFIG_DWT 0
#define CONFIG_ERROR_RESILIENCE 0
#define CONFIG_FAAN 1
@@ -620,9 +620,9 @@
#define CONFIG_LZF 0
#define CONFIG_ME_CMP 0
#define CONFIG_MPEG_ER 0
-#define CONFIG_MPEGAUDIO 0
-#define CONFIG_MPEGAUDIODSP 0
-#define CONFIG_MPEGAUDIOHEADER 0
+#define CONFIG_MPEGAUDIO 1
+#define CONFIG_MPEGAUDIODSP 1
+#define CONFIG_MPEGAUDIOHEADER 1
#define CONFIG_MPEGVIDEO 0
#define CONFIG_MPEGVIDEOENC 0
#define CONFIG_MSS34DSP 0
@@ -968,7 +968,7 @@
#define CONFIG_MP1FLOAT_DECODER 0
#define CONFIG_MP2_DECODER 0
#define CONFIG_MP2FLOAT_DECODER 0
-#define CONFIG_MP3_DECODER 0
+#define CONFIG_MP3_DECODER 1
#define CONFIG_MP3FLOAT_DECODER 0
#define CONFIG_MP3ADU_DECODER 0
#define CONFIG_MP3ADUFLOAT_DECODER 0
@@ -1275,7 +1275,7 @@
#define CONFIG_MM_DEMUXER 0
#define CONFIG_MMF_DEMUXER 0
#define CONFIG_MOV_DEMUXER 0
-#define CONFIG_MP3_DEMUXER 0
+#define CONFIG_MP3_DEMUXER 1
#define CONFIG_MPC_DEMUXER 0
#define CONFIG_MPC8_DEMUXER 0
#define CONFIG_MPEGPS_DEMUXER 0
@@ -2217,7 +2217,7 @@
#define CONFIG_MJPEG_PARSER 0
#define CONFIG_MLP_PARSER 0
#define CONFIG_MPEG4VIDEO_PARSER 0
-#define CONFIG_MPEGAUDIO_PARSER 0
+#define CONFIG_MPEGAUDIO_PARSER 1
#define CONFIG_MPEGVIDEO_PARSER 0
#define CONFIG_OPUS_PARSER 1
#define CONFIG_PNG_PARSER 0
diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
--- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 2017-10-18 09:05:31.000000000 -0400
+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h 2017-10-18 09:25:18.355676443 -0400
@@ -1,7 +1,7 @@
/* Automatically generated by configure - do not modify! */
#ifndef FFMPEG_CONFIG_H
#define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/jrummell/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/jrummell/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
#define CONFIG_THIS_YEAR 2017
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
@@ -542,7 +542,7 @@
#define CONFIG_FFPROBE 0
#define CONFIG_FFSERVER 0
#define CONFIG_FFMPEG 0
-#define CONFIG_DCT 0
+#define CONFIG_DCT 1
#define CONFIG_DWT 0
#define CONFIG_ERROR_RESILIENCE 0
#define CONFIG_FAAN 1
@@ -620,9 +620,9 @@
#define CONFIG_LZF 0
#define CONFIG_ME_CMP 0
#define CONFIG_MPEG_ER 0
-#define CONFIG_MPEGAUDIO 0
-#define CONFIG_MPEGAUDIODSP 0
-#define CONFIG_MPEGAUDIOHEADER 0
+#define CONFIG_MPEGAUDIO 1
+#define CONFIG_MPEGAUDIODSP 1
+#define CONFIG_MPEGAUDIOHEADER 1
#define CONFIG_MPEGVIDEO 0
#define CONFIG_MPEGVIDEOENC 0
#define CONFIG_MSS34DSP 0
@@ -968,7 +968,7 @@
#define CONFIG_MP1FLOAT_DECODER 0
#define CONFIG_MP2_DECODER 0
#define CONFIG_MP2FLOAT_DECODER 0
-#define CONFIG_MP3_DECODER 0
+#define CONFIG_MP3_DECODER 1
#define CONFIG_MP3FLOAT_DECODER 0
#define CONFIG_MP3ADU_DECODER 0
#define CONFIG_MP3ADUFLOAT_DECODER 0
@@ -1275,7 +1275,7 @@
#define CONFIG_MM_DEMUXER 0
#define CONFIG_MMF_DEMUXER 0
#define CONFIG_MOV_DEMUXER 0
-#define CONFIG_MP3_DEMUXER 0
+#define CONFIG_MP3_DEMUXER 1
#define CONFIG_MPC_DEMUXER 0
#define CONFIG_MPC8_DEMUXER 0
#define CONFIG_MPEGPS_DEMUXER 0
@@ -2217,7 +2217,7 @@
#define CONFIG_MJPEG_PARSER 0
#define CONFIG_MLP_PARSER 0
#define CONFIG_MPEG4VIDEO_PARSER 0
-#define CONFIG_MPEGAUDIO_PARSER 0
+#define CONFIG_MPEGAUDIO_PARSER 1
#define CONFIG_MPEGVIDEO_PARSER 0
#define CONFIG_OPUS_PARSER 1
#define CONFIG_PNG_PARSER 0
diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h
--- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 2017-10-18 09:05:31.000000000 -0400
+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h 2017-10-18 09:25:18.360676348 -0400
@@ -1,7 +1,7 @@
/* Automatically generated by configure - do not modify! */
#ifndef FFMPEG_CONFIG_H
#define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/jrummell/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/jrummell/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
#define CONFIG_THIS_YEAR 2017
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
@@ -542,7 +542,7 @@
#define CONFIG_FFPROBE 0
#define CONFIG_FFSERVER 0
#define CONFIG_FFMPEG 0
-#define CONFIG_DCT 0
+#define CONFIG_DCT 1
#define CONFIG_DWT 0
#define CONFIG_ERROR_RESILIENCE 0
#define CONFIG_FAAN 1
@@ -620,9 +620,9 @@
#define CONFIG_LZF 0
#define CONFIG_ME_CMP 0
#define CONFIG_MPEG_ER 0
-#define CONFIG_MPEGAUDIO 0
-#define CONFIG_MPEGAUDIODSP 0
-#define CONFIG_MPEGAUDIOHEADER 0
+#define CONFIG_MPEGAUDIO 1
+#define CONFIG_MPEGAUDIODSP 1
+#define CONFIG_MPEGAUDIOHEADER 1
#define CONFIG_MPEGVIDEO 0
#define CONFIG_MPEGVIDEOENC 0
#define CONFIG_MSS34DSP 0
@@ -968,7 +968,7 @@
#define CONFIG_MP1FLOAT_DECODER 0
#define CONFIG_MP2_DECODER 0
#define CONFIG_MP2FLOAT_DECODER 0
-#define CONFIG_MP3_DECODER 0
+#define CONFIG_MP3_DECODER 1
#define CONFIG_MP3FLOAT_DECODER 0
#define CONFIG_MP3ADU_DECODER 0
#define CONFIG_MP3ADUFLOAT_DECODER 0
@@ -1275,7 +1275,7 @@
#define CONFIG_MM_DEMUXER 0
#define CONFIG_MMF_DEMUXER 0
#define CONFIG_MOV_DEMUXER 0
-#define CONFIG_MP3_DEMUXER 0
+#define CONFIG_MP3_DEMUXER 1
#define CONFIG_MPC_DEMUXER 0
#define CONFIG_MPC8_DEMUXER 0
#define CONFIG_MPEGPS_DEMUXER 0
@@ -2217,7 +2217,7 @@
#define CONFIG_MJPEG_PARSER 0
#define CONFIG_MLP_PARSER 0
#define CONFIG_MPEG4VIDEO_PARSER 0
-#define CONFIG_MPEGAUDIO_PARSER 0
+#define CONFIG_MPEGAUDIO_PARSER 1
#define CONFIG_MPEGVIDEO_PARSER 0
#define CONFIG_OPUS_PARSER 1
#define CONFIG_PNG_PARSER 0
diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h
--- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 2017-10-18 09:05:31.000000000 -0400
+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h 2017-10-18 09:25:18.360676348 -0400
@@ -1,7 +1,7 @@
/* Automatically generated by configure - do not modify! */
#ifndef FFMPEG_CONFIG_H
#define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
#define CONFIG_THIS_YEAR 2017
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
@@ -542,7 +542,7 @@
#define CONFIG_FFPROBE 0
#define CONFIG_FFSERVER 0
#define CONFIG_FFMPEG 0
-#define CONFIG_DCT 0
+#define CONFIG_DCT 1
#define CONFIG_DWT 0
#define CONFIG_ERROR_RESILIENCE 0
#define CONFIG_FAAN 1
@@ -620,9 +620,9 @@
#define CONFIG_LZF 0
#define CONFIG_ME_CMP 0
#define CONFIG_MPEG_ER 0
-#define CONFIG_MPEGAUDIO 0
-#define CONFIG_MPEGAUDIODSP 0
-#define CONFIG_MPEGAUDIOHEADER 0
+#define CONFIG_MPEGAUDIO 1
+#define CONFIG_MPEGAUDIODSP 1
+#define CONFIG_MPEGAUDIOHEADER 1
#define CONFIG_MPEGVIDEO 0
#define CONFIG_MPEGVIDEOENC 0
#define CONFIG_MSS34DSP 0
@@ -968,7 +968,7 @@
#define CONFIG_MP1FLOAT_DECODER 0
#define CONFIG_MP2_DECODER 0
#define CONFIG_MP2FLOAT_DECODER 0
-#define CONFIG_MP3_DECODER 0
+#define CONFIG_MP3_DECODER 1
#define CONFIG_MP3FLOAT_DECODER 0
#define CONFIG_MP3ADU_DECODER 0
#define CONFIG_MP3ADUFLOAT_DECODER 0
@@ -1275,7 +1275,7 @@
#define CONFIG_MM_DEMUXER 0
#define CONFIG_MMF_DEMUXER 0
#define CONFIG_MOV_DEMUXER 0
-#define CONFIG_MP3_DEMUXER 0
+#define CONFIG_MP3_DEMUXER 1
#define CONFIG_MPC_DEMUXER 0
#define CONFIG_MPC8_DEMUXER 0
#define CONFIG_MPEGPS_DEMUXER 0
@@ -2217,7 +2217,7 @@
#define CONFIG_MJPEG_PARSER 0
#define CONFIG_MLP_PARSER 0
#define CONFIG_MPEG4VIDEO_PARSER 0
-#define CONFIG_MPEGAUDIO_PARSER 0
+#define CONFIG_MPEGAUDIO_PARSER 1
#define CONFIG_MPEGVIDEO_PARSER 0
#define CONFIG_OPUS_PARSER 1
#define CONFIG_PNG_PARSER 0
diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h
--- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 2017-10-18 09:05:31.000000000 -0400
+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h 2017-10-18 09:25:18.361676329 -0400
@@ -1,7 +1,7 @@
/* Automatically generated by configure - do not modify! */
#ifndef FFMPEG_CONFIG_H
#define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
#define CONFIG_THIS_YEAR 2017
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
@@ -542,7 +542,7 @@
#define CONFIG_FFPROBE 0
#define CONFIG_FFSERVER 0
#define CONFIG_FFMPEG 0
-#define CONFIG_DCT 0
+#define CONFIG_DCT 1
#define CONFIG_DWT 0
#define CONFIG_ERROR_RESILIENCE 0
#define CONFIG_FAAN 1
@@ -620,9 +620,9 @@
#define CONFIG_LZF 0
#define CONFIG_ME_CMP 0
#define CONFIG_MPEG_ER 0
-#define CONFIG_MPEGAUDIO 0
-#define CONFIG_MPEGAUDIODSP 0
-#define CONFIG_MPEGAUDIOHEADER 0
+#define CONFIG_MPEGAUDIO 1
+#define CONFIG_MPEGAUDIODSP 1
+#define CONFIG_MPEGAUDIOHEADER 1
#define CONFIG_MPEGVIDEO 0
#define CONFIG_MPEGVIDEOENC 0
#define CONFIG_MSS34DSP 0
@@ -968,7 +968,7 @@
#define CONFIG_MP1FLOAT_DECODER 0
#define CONFIG_MP2_DECODER 0
#define CONFIG_MP2FLOAT_DECODER 0
-#define CONFIG_MP3_DECODER 0
+#define CONFIG_MP3_DECODER 1
#define CONFIG_MP3FLOAT_DECODER 0
#define CONFIG_MP3ADU_DECODER 0
#define CONFIG_MP3ADUFLOAT_DECODER 0
@@ -1275,7 +1275,7 @@
#define CONFIG_MM_DEMUXER 0
#define CONFIG_MMF_DEMUXER 0
#define CONFIG_MOV_DEMUXER 0
-#define CONFIG_MP3_DEMUXER 0
+#define CONFIG_MP3_DEMUXER 1
#define CONFIG_MPC_DEMUXER 0
#define CONFIG_MPC8_DEMUXER 0
#define CONFIG_MPEGPS_DEMUXER 0
@@ -2217,7 +2217,7 @@
#define CONFIG_MJPEG_PARSER 0
#define CONFIG_MLP_PARSER 0
#define CONFIG_MPEG4VIDEO_PARSER 0
-#define CONFIG_MPEGAUDIO_PARSER 0
+#define CONFIG_MPEGAUDIO_PARSER 1
#define CONFIG_MPEGVIDEO_PARSER 0
#define CONFIG_OPUS_PARSER 1
#define CONFIG_PNG_PARSER 0
diff -up chromium-62.0.3202.62/third_party/ffmpeg/ffmpeg_generated.gni.mp3 chromium-62.0.3202.62/third_party/ffmpeg/ffmpeg_generated.gni
--- chromium-62.0.3202.62/third_party/ffmpeg/ffmpeg_generated.gni.mp3 2017-10-18 09:05:28.000000000 -0400
+++ chromium-62.0.3202.62/third_party/ffmpeg/ffmpeg_generated.gni 2017-10-18 09:25:18.362676310 -0400
@@ -182,17 +182,9 @@ if ((is_mac) || (is_win) || (use_linux_c
]
}
-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
+if ((current_cpu == "x64") || (is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_android && current_cpu == "x86") || (is_win) || (use_linux_config && current_cpu == "arm" && arm_use_neon) || (use_linux_config && current_cpu == "arm" && arm_use_neon) || (use_linux_config && current_cpu == "arm") || (use_linux_config && current_cpu == "arm") || (use_linux_config && current_cpu == "arm64") || (use_linux_config && current_cpu == "mipsel") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) {
ffmpeg_c_sources += [
- "libavcodec/aac_ac3_parser.c",
- "libavcodec/aac_parser.c",
- "libavcodec/aacadtsdec.c",
- "libavcodec/aacps_float.c",
- "libavcodec/aacpsdsp_float.c",
- "libavcodec/aacsbr.c",
- "libavcodec/aactab.c",
"libavcodec/ac3tab.c",
- "libavcodec/autorename_libavcodec_aacdec.c",
"libavcodec/autorename_libavcodec_mpegaudiodsp.c",
"libavcodec/autorename_libavcodec_sbrdsp.c",
"libavcodec/cbrt_data.c",
@@ -210,7 +202,6 @@ if ((current_cpu == "x64" && ffmpeg_bran
"libavcodec/mpegaudiodsp_float.c",
"libavcodec/sinewin.c",
"libavcodec/sinewin_fixed.c",
- "libavformat/aacdec.c",
"libavformat/apetag.c",
"libavformat/img2.c",
"libavformat/mov.c",
@@ -219,6 +210,20 @@ if ((current_cpu == "x64" && ffmpeg_bran
]
}
+if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
+ ffmpeg_c_sources += [
+ "libavcodec/aac_ac3_parser.c",
+ "libavcodec/aac_parser.c",
+ "libavcodec/aacadtsdec.c",
+ "libavcodec/aacps_float.c",
+ "libavcodec/aacpsdsp_float.c",
+ "libavcodec/aacsbr.c",
+ "libavcodec/aactab.c",
+ "libavcodec/autorename_libavcodec_aacdec.c",
+ "libavformat/aacdec.c",
+ ]
+}
+
if ((is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_mac) || (is_win) || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) {
ffmpeg_c_sources += [
"libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c",
@@ -322,15 +327,19 @@ if ((is_mac) || (is_win) || (use_linux_c
if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
ffmpeg_c_sources += [
"libavcodec/x86/aacpsdsp_init.c",
+ ]
+ ffmpeg_yasm_sources += [
+ "libavcodec/x86/aacpsdsp.asm",
+ ]
+}
+
+if ((current_cpu == "x64") || (is_android && current_cpu == "x86") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86") || (is_win)) {
+ ffmpeg_c_sources += [
"libavcodec/x86/dct_init.c",
"libavcodec/x86/mpegaudiodsp.c",
"libavcodec/x86/sbrdsp_init.c",
]
-}
-
-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
ffmpeg_yasm_sources += [
- "libavcodec/x86/aacpsdsp.asm",
"libavcodec/x86/dct32.asm",
"libavcodec/x86/imdct36.asm",
"libavcodec/x86/sbrdsp.asm",
diff -up chromium-62.0.3202.62/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 chromium-62.0.3202.62/third_party/ffmpeg/libavcodec/sbrdsp.c
--- chromium-62.0.3202.62/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 2017-10-18 09:05:30.000000000 -0400
+++ chromium-62.0.3202.62/third_party/ffmpeg/libavcodec/sbrdsp.c 2017-10-18 09:25:18.362676310 -0400
@@ -23,6 +23,7 @@
#define USE_FIXED 0
#include "aac.h"
+#include "aacsbrdata.h"
#include "config.h"
#include "libavutil/attributes.h"
#include "libavutil/intfloat.h"
diff -up chromium-62.0.3202.62/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart.mp3 chromium-62.0.3202.62/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart
diff -up chromium-62.0.3202.62/tools/android/audio_focus_grabber/java/res/raw/ping.mp3 chromium-62.0.3202.62/tools/android/audio_focus_grabber/java/res/raw/ping

@ -1,12 +0,0 @@
diff -up chromium-62.0.3202.62/third_party/WebKit/Source/platform/blob/BlobData.cpp.nonullptr chromium-62.0.3202.62/third_party/WebKit/Source/platform/blob/BlobData.cpp
--- chromium-62.0.3202.62/third_party/WebKit/Source/platform/blob/BlobData.cpp.nonullptr 2017-10-18 10:10:14.216353575 -0400
+++ chromium-62.0.3202.62/third_party/WebKit/Source/platform/blob/BlobData.cpp 2017-10-18 10:10:23.657170980 -0400
@@ -295,7 +295,7 @@ BlobDataHandle::BlobDataHandle(std::uniq
size_t current_memory_population = 0;
Vector<DataElementPtr> elements;
- const DataElementPtr null_element = nullptr;
+ const DataElementPtr null_element;
BlobBytesProvider* last_bytes_provider = nullptr;
RefPtr<WebTaskRunner> file_runner = Platform::Current()->FileTaskRunner();

@ -1,11 +0,0 @@
diff -up chromium-62.0.3202.62/content/network/network_service_impl.cc.gcc-nc chromium-62.0.3202.62/content/network/network_service_impl.cc
--- chromium-62.0.3202.62/content/network/network_service_impl.cc.gcc-nc 2017-10-18 10:07:04.045041261 -0400
+++ chromium-62.0.3202.62/content/network/network_service_impl.cc 2017-10-18 10:07:53.175088528 -0400
@@ -90,6 +90,7 @@ NetworkServiceImpl::CreateNetworkContext
base::MakeUnique<NetworkContext>(this, std::move(request),
std::move(params), std::move(builder));
*url_request_context = network_context->url_request_context();
+ return std::unique_ptr<content::NetworkContext>(network_context.release());
return network_context;
}

@ -1,11 +0,0 @@
diff -up chromium-62.0.3202.62/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 chromium-62.0.3202.62/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h
--- chromium-62.0.3202.62/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 2017-10-18 09:20:04.072765163 -0400
+++ chromium-62.0.3202.62/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2017-10-18 09:21:40.156905187 -0400
@@ -9,6 +9,7 @@
#include "platform/graphics/WebGraphicsContext3DProviderWrapper.h"
#include "platform/wtf/ThreadSpecific.h"
+#include <functional>
#include <memory>
namespace blink {

@ -1,45 +0,0 @@
diff -up chromium-62.0.3202.62/chrome/browser/ui/webui/settings/on_startup_handler.cc.another-rvalue-fix chromium-62.0.3202.62/chrome/browser/ui/webui/settings/on_startup_handler.cc
--- chromium-62.0.3202.62/chrome/browser/ui/webui/settings/on_startup_handler.cc.another-rvalue-fix 2017-10-18 10:15:58.855675480 -0400
+++ chromium-62.0.3202.62/chrome/browser/ui/webui/settings/on_startup_handler.cc 2017-10-18 10:16:28.925093301 -0400
@@ -77,7 +77,7 @@ std::unique_ptr<base::Value> OnStartupHa
!extensions::ExtensionSystem::Get(profile_)
->management_policy()
->MustRemainEnabled(ntp_extension, nullptr));
- return dict;
+ return std::move(dict);
}
void OnStartupHandler::HandleGetNtpExtension(const base::ListValue* args) {
diff -up chromium-62.0.3202.62/ui/views/animation/ink_drop_host_view.cc.another-rvalue-fix chromium-62.0.3202.62/ui/views/animation/ink_drop_host_view.cc
--- chromium-62.0.3202.62/ui/views/animation/ink_drop_host_view.cc.another-rvalue-fix 2017-10-18 10:15:16.408497853 -0400
+++ chromium-62.0.3202.62/ui/views/animation/ink_drop_host_view.cc 2017-10-18 10:15:43.793967075 -0400
@@ -305,7 +305,7 @@ std::unique_ptr<InkDropImpl> InkDropHost
base::MakeUnique<InkDropImpl>(this, size());
ink_drop->SetAutoHighlightMode(
views::InkDropImpl::AutoHighlightMode::HIDE_ON_RIPPLE);
- return ink_drop;
+ return std:move(ink_drop);
}
std::unique_ptr<InkDropImpl>
@@ -314,7 +314,7 @@ InkDropHostView::CreateDefaultFloodFillI
InkDropHostView::CreateDefaultInkDropImpl();
ink_drop->SetAutoHighlightMode(
views::InkDropImpl::AutoHighlightMode::SHOW_ON_RIPPLE);
- return ink_drop;
+ return std:move(ink_drop);
}
} // namespace views
diff -up chromium-62.0.3202.62/ui/views/controls/button/checkbox.cc.another-rvalue-fix chromium-62.0.3202.62/ui/views/controls/button/checkbox.cc
--- chromium-62.0.3202.62/ui/views/controls/button/checkbox.cc.another-rvalue-fix 2017-10-18 10:14:18.054627919 -0400
+++ chromium-62.0.3202.62/ui/views/controls/button/checkbox.cc 2017-10-18 10:14:42.265159378 -0400
@@ -198,7 +198,7 @@ std::unique_ptr<InkDrop> Checkbox::Creat
std::unique_ptr<InkDropImpl> ink_drop = CreateDefaultInkDropImpl();
ink_drop->SetShowHighlightOnHover(false);
ink_drop->SetAutoHighlightMode(InkDropImpl::AutoHighlightMode::NONE);
- return ink_drop;
+ return std::move(ink_drop);
}
std::unique_ptr<InkDropRipple> Checkbox::CreateInkDropRipple() const {

@ -1,12 +0,0 @@
diff -up chromium-63.0.3239.84/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.aarch64glibc chromium-63.0.3239.84/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
--- chromium-63.0.3239.84/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.aarch64glibc 2017-12-12 09:56:24.469343868 -0500
+++ chromium-63.0.3239.84/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2017-12-12 09:56:38.468071095 -0500
@@ -461,7 +461,7 @@ bool ExceptionHandler::HandleSignal(int
#if defined(__aarch64__)
ucontext_t* uc_ptr = (ucontext_t*)uc;
struct fpsimd_context* fp_ptr =
- (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
+ (struct fpsimd_context*)&uc_ptr->uc_mcontext.__glibc_reserved1;
if (fp_ptr->head.magic == FPSIMD_MAGIC) {
memcpy(&g_crash_context_.float_state, fp_ptr,
sizeof(g_crash_context_.float_state));

@ -1,485 +0,0 @@
diff -up chromium-63.0.3239.84/components/neterror/resources/sounds/button-press.mp3 chromium-63.0.3239.84/components/neterror/resources/sounds/button-press
diff -up chromium-63.0.3239.84/components/neterror/resources/sounds/hit.mp3 chromium-63.0.3239.84/components/neterror/resources/sounds/hit
diff -up chromium-63.0.3239.84/components/neterror/resources/sounds/score-reached.mp3 chromium-63.0.3239.84/components/neterror/resources/sounds/score-reached
diff -up chromium-63.0.3239.84/media/base/mime_util_internal.cc.mp3 chromium-63.0.3239.84/media/base/mime_util_internal.cc
--- chromium-63.0.3239.84/media/base/mime_util_internal.cc.mp3 2017-12-06 15:05:29.000000000 -0500
+++ chromium-63.0.3239.84/media/base/mime_util_internal.cc 2017-12-07 10:52:02.472510232 -0500
@@ -266,15 +266,19 @@ void MimeUtil::AddSupportedMediaFormats(
CodecSet webm_codecs(webm_audio_codecs);
webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end());
-#if BUILDFLAG(USE_PROPRIETARY_CODECS)
const CodecSet mp3_codecs{MP3};
+#if BUILDFLAG(USE_PROPRIETARY_CODECS)
const CodecSet aac{MPEG2_AAC, MPEG4_AAC};
+#else
+ const CodecSet aac{};
+#endif
+ CodecSet mp4_audio_codecs(aac);
+ mp4_audio_codecs.emplace(MP3);
+#if BUILDFLAG(USE_PROPRIETARY_CODECS)
CodecSet avc_and_aac(aac);
avc_and_aac.emplace(H264);
- CodecSet mp4_audio_codecs(aac);
- mp4_audio_codecs.emplace(MP3);
mp4_audio_codecs.emplace(FLAC);
#if BUILDFLAG(ENABLE_AC3_EAC3_AUDIO_DEMUXING)
mp4_audio_codecs.emplace(AC3);
@@ -311,10 +315,10 @@ void MimeUtil::AddSupportedMediaFormats(
AddContainerWithCodecs("application/ogg", ogg_codecs, false);
AddContainerWithCodecs("audio/flac", implicit_codec, false);
-#if BUILDFLAG(USE_PROPRIETARY_CODECS)
AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3".
AddContainerWithCodecs("audio/mp3", implicit_codec, true);
AddContainerWithCodecs("audio/x-mp3", implicit_codec, true);
+#if BUILDFLAG(USE_PROPRIETARY_CODECS)
AddContainerWithCodecs("audio/aac", implicit_codec, true); // AAC / ADTS.
AddContainerWithCodecs("audio/mp4", mp4_audio_codecs, true);
DCHECK(!mp4_video_codecs.empty());
@@ -935,7 +939,6 @@ bool MimeUtil::IsCodecProprietary(Codec
case INVALID_CODEC:
case AC3:
case EAC3:
- case MP3:
case MPEG2_AAC:
case MPEG4_AAC:
case H264:
@@ -943,6 +946,7 @@ bool MimeUtil::IsCodecProprietary(Codec
case DOLBY_VISION:
return true;
+ case MP3:
case PCM:
case VORBIS:
case OPUS:
diff -up chromium-63.0.3239.84/media/formats/BUILD.gn.mp3 chromium-63.0.3239.84/media/formats/BUILD.gn
--- chromium-63.0.3239.84/media/formats/BUILD.gn.mp3 2017-12-06 15:05:29.000000000 -0500
+++ chromium-63.0.3239.84/media/formats/BUILD.gn 2017-12-07 10:52:02.473510212 -0500
@@ -20,6 +20,14 @@ source_set("formats") {
"ac3/ac3_util.h",
"common/offset_byte_queue.cc",
"common/offset_byte_queue.h",
+ "mpeg/adts_constants.cc",
+ "mpeg/adts_constants.h",
+ "mpeg/adts_stream_parser.cc",
+ "mpeg/adts_stream_parser.h",
+ "mpeg/mpeg1_audio_stream_parser.cc",
+ "mpeg/mpeg1_audio_stream_parser.h",
+ "mpeg/mpeg_audio_stream_parser_base.cc",
+ "mpeg/mpeg_audio_stream_parser_base.h",
"webm/webm_audio_client.cc",
"webm/webm_audio_client.h",
"webm/webm_cluster_parser.cc",
@@ -81,14 +89,6 @@ source_set("formats") {
"mp4/sample_to_group_iterator.h",
"mp4/track_run_iterator.cc",
"mp4/track_run_iterator.h",
- "mpeg/adts_constants.cc",
- "mpeg/adts_constants.h",
- "mpeg/adts_stream_parser.cc",
- "mpeg/adts_stream_parser.h",
- "mpeg/mpeg1_audio_stream_parser.cc",
- "mpeg/mpeg1_audio_stream_parser.h",
- "mpeg/mpeg_audio_stream_parser_base.cc",
- "mpeg/mpeg_audio_stream_parser_base.h",
]
}
diff -up chromium-63.0.3239.84/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test.mp3 chromium-63.0.3239.84/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test
diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h
--- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 2017-12-07 09:51:37.000000000 -0500
+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h 2017-12-07 11:08:41.116117073 -0500
@@ -1,7 +1,7 @@
/* Automatically generated by configure - do not modify! */
#ifndef FFMPEG_CONFIG_H
#define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
#define CONFIG_THIS_YEAR 2017
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
@@ -547,7 +547,7 @@
#define CONFIG_FFPROBE 0
#define CONFIG_FFSERVER 0
#define CONFIG_FFMPEG 0
-#define CONFIG_DCT 0
+#define CONFIG_DCT 1
#define CONFIG_DWT 0
#define CONFIG_ERROR_RESILIENCE 0
#define CONFIG_FAAN 1
@@ -626,9 +626,9 @@
#define CONFIG_LZF 0
#define CONFIG_ME_CMP 0
#define CONFIG_MPEG_ER 0
-#define CONFIG_MPEGAUDIO 0
-#define CONFIG_MPEGAUDIODSP 0
-#define CONFIG_MPEGAUDIOHEADER 0
+#define CONFIG_MPEGAUDIO 1
+#define CONFIG_MPEGAUDIODSP 1
+#define CONFIG_MPEGAUDIOHEADER 1
#define CONFIG_MPEGVIDEO 0
#define CONFIG_MPEGVIDEOENC 0
#define CONFIG_MSS34DSP 0
@@ -979,7 +979,7 @@
#define CONFIG_MP1FLOAT_DECODER 0
#define CONFIG_MP2_DECODER 0
#define CONFIG_MP2FLOAT_DECODER 0
-#define CONFIG_MP3_DECODER 0
+#define CONFIG_MP3_DECODER 1
#define CONFIG_MP3FLOAT_DECODER 0
#define CONFIG_MP3ADU_DECODER 0
#define CONFIG_MP3ADUFLOAT_DECODER 0
@@ -1292,7 +1292,7 @@
#define CONFIG_MM_DEMUXER 0
#define CONFIG_MMF_DEMUXER 0
#define CONFIG_MOV_DEMUXER 0
-#define CONFIG_MP3_DEMUXER 0
+#define CONFIG_MP3_DEMUXER 1
#define CONFIG_MPC_DEMUXER 0
#define CONFIG_MPC8_DEMUXER 0
#define CONFIG_MPEGPS_DEMUXER 0
@@ -2267,7 +2267,7 @@
#define CONFIG_MJPEG_PARSER 0
#define CONFIG_MLP_PARSER 0
#define CONFIG_MPEG4VIDEO_PARSER 0
-#define CONFIG_MPEGAUDIO_PARSER 0
+#define CONFIG_MPEGAUDIO_PARSER 1
#define CONFIG_MPEGVIDEO_PARSER 0
#define CONFIG_OPUS_PARSER 1
#define CONFIG_PNG_PARSER 0
diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
--- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 2017-12-07 09:51:37.000000000 -0500
+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h 2017-12-07 11:09:23.602291820 -0500
@@ -1,7 +1,7 @@
/* Automatically generated by configure - do not modify! */
#ifndef FFMPEG_CONFIG_H
#define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/chcunningham/chrome_root/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/chcunningham/chrome_root/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
#define CONFIG_THIS_YEAR 2017
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
@@ -547,7 +547,7 @@
#define CONFIG_FFPROBE 0
#define CONFIG_FFSERVER 0
#define CONFIG_FFMPEG 0
-#define CONFIG_DCT 0
+#define CONFIG_DCT 1
#define CONFIG_DWT 0
#define CONFIG_ERROR_RESILIENCE 0
#define CONFIG_FAAN 1
@@ -626,9 +626,9 @@
#define CONFIG_LZF 0
#define CONFIG_ME_CMP 0
#define CONFIG_MPEG_ER 0
-#define CONFIG_MPEGAUDIO 0
-#define CONFIG_MPEGAUDIODSP 0
-#define CONFIG_MPEGAUDIOHEADER 0
+#define CONFIG_MPEGAUDIO 1
+#define CONFIG_MPEGAUDIODSP 1
+#define CONFIG_MPEGAUDIOHEADER 1
#define CONFIG_MPEGVIDEO 0
#define CONFIG_MPEGVIDEOENC 0
#define CONFIG_MSS34DSP 0
@@ -979,7 +979,7 @@
#define CONFIG_MP1FLOAT_DECODER 0
#define CONFIG_MP2_DECODER 0
#define CONFIG_MP2FLOAT_DECODER 0
-#define CONFIG_MP3_DECODER 0
+#define CONFIG_MP3_DECODER 1
#define CONFIG_MP3FLOAT_DECODER 0
#define CONFIG_MP3ADU_DECODER 0
#define CONFIG_MP3ADUFLOAT_DECODER 0
@@ -1292,7 +1292,7 @@
#define CONFIG_MM_DEMUXER 0
#define CONFIG_MMF_DEMUXER 0
#define CONFIG_MOV_DEMUXER 0
-#define CONFIG_MP3_DEMUXER 0
+#define CONFIG_MP3_DEMUXER 1
#define CONFIG_MPC_DEMUXER 0
#define CONFIG_MPC8_DEMUXER 0
#define CONFIG_MPEGPS_DEMUXER 0
@@ -2267,7 +2267,7 @@
#define CONFIG_MJPEG_PARSER 0
#define CONFIG_MLP_PARSER 0
#define CONFIG_MPEG4VIDEO_PARSER 0
-#define CONFIG_MPEGAUDIO_PARSER 0
+#define CONFIG_MPEGAUDIO_PARSER 1
#define CONFIG_MPEGVIDEO_PARSER 0
#define CONFIG_OPUS_PARSER 1
#define CONFIG_PNG_PARSER 0
diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h
--- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 2017-12-07 09:51:37.000000000 -0500
+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h 2017-12-07 11:09:49.945779754 -0500
@@ -1,7 +1,7 @@
/* Automatically generated by configure - do not modify! */
#ifndef FFMPEG_CONFIG_H
#define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/chcunningham/chrome_root/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/chcunningham/chrome_root/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
#define CONFIG_THIS_YEAR 2017
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
@@ -547,7 +547,7 @@
#define CONFIG_FFPROBE 0
#define CONFIG_FFSERVER 0
#define CONFIG_FFMPEG 0
-#define CONFIG_DCT 0
+#define CONFIG_DCT 1
#define CONFIG_DWT 0
#define CONFIG_ERROR_RESILIENCE 0
#define CONFIG_FAAN 1
@@ -626,9 +626,9 @@
#define CONFIG_LZF 0
#define CONFIG_ME_CMP 0
#define CONFIG_MPEG_ER 0
-#define CONFIG_MPEGAUDIO 0
-#define CONFIG_MPEGAUDIODSP 0
-#define CONFIG_MPEGAUDIOHEADER 0
+#define CONFIG_MPEGAUDIO 1
+#define CONFIG_MPEGAUDIODSP 1
+#define CONFIG_MPEGAUDIOHEADER 1
#define CONFIG_MPEGVIDEO 0
#define CONFIG_MPEGVIDEOENC 0
#define CONFIG_MSS34DSP 0
@@ -979,7 +979,7 @@
#define CONFIG_MP1FLOAT_DECODER 0
#define CONFIG_MP2_DECODER 0
#define CONFIG_MP2FLOAT_DECODER 0
-#define CONFIG_MP3_DECODER 0
+#define CONFIG_MP3_DECODER 1
#define CONFIG_MP3FLOAT_DECODER 0
#define CONFIG_MP3ADU_DECODER 0
#define CONFIG_MP3ADUFLOAT_DECODER 0
@@ -1292,7 +1292,7 @@
#define CONFIG_MM_DEMUXER 0
#define CONFIG_MMF_DEMUXER 0
#define CONFIG_MOV_DEMUXER 0
-#define CONFIG_MP3_DEMUXER 0
+#define CONFIG_MP3_DEMUXER 1
#define CONFIG_MPC_DEMUXER 0
#define CONFIG_MPC8_DEMUXER 0
#define CONFIG_MPEGPS_DEMUXER 0
@@ -2267,7 +2267,7 @@
#define CONFIG_MJPEG_PARSER 0
#define CONFIG_MLP_PARSER 0
#define CONFIG_MPEG4VIDEO_PARSER 0
-#define CONFIG_MPEGAUDIO_PARSER 0
+#define CONFIG_MPEGAUDIO_PARSER 1
#define CONFIG_MPEGVIDEO_PARSER 0
#define CONFIG_OPUS_PARSER 1
#define CONFIG_PNG_PARSER 0
diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h
--- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 2017-12-07 09:51:37.000000000 -0500
+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h 2017-12-07 11:10:25.513089579 -0500
@@ -1,7 +1,7 @@
/* Automatically generated by configure - do not modify! */
#ifndef FFMPEG_CONFIG_H
#define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
#define CONFIG_THIS_YEAR 2017
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
@@ -547,7 +547,7 @@
#define CONFIG_FFPROBE 0
#define CONFIG_FFSERVER 0
#define CONFIG_FFMPEG 0
-#define CONFIG_DCT 0
+#define CONFIG_DCT 1
#define CONFIG_DWT 0
#define CONFIG_ERROR_RESILIENCE 0
#define CONFIG_FAAN 1
@@ -626,9 +626,9 @@
#define CONFIG_LZF 0
#define CONFIG_ME_CMP 0
#define CONFIG_MPEG_ER 0
-#define CONFIG_MPEGAUDIO 0
-#define CONFIG_MPEGAUDIODSP 0
-#define CONFIG_MPEGAUDIOHEADER 0
+#define CONFIG_MPEGAUDIO 1
+#define CONFIG_MPEGAUDIODSP 1
+#define CONFIG_MPEGAUDIOHEADER 1
#define CONFIG_MPEGVIDEO 0
#define CONFIG_MPEGVIDEOENC 0
#define CONFIG_MSS34DSP 0
@@ -979,7 +979,7 @@
#define CONFIG_MP1FLOAT_DECODER 0
#define CONFIG_MP2_DECODER 0
#define CONFIG_MP2FLOAT_DECODER 0
-#define CONFIG_MP3_DECODER 0
+#define CONFIG_MP3_DECODER 1
#define CONFIG_MP3FLOAT_DECODER 0
#define CONFIG_MP3ADU_DECODER 0
#define CONFIG_MP3ADUFLOAT_DECODER 0
@@ -1292,7 +1292,7 @@
#define CONFIG_MM_DEMUXER 0
#define CONFIG_MMF_DEMUXER 0
#define CONFIG_MOV_DEMUXER 0
-#define CONFIG_MP3_DEMUXER 0
+#define CONFIG_MP3_DEMUXER 1
#define CONFIG_MPC_DEMUXER 0
#define CONFIG_MPC8_DEMUXER 0
#define CONFIG_MPEGPS_DEMUXER 0
@@ -2267,7 +2267,7 @@
#define CONFIG_MJPEG_PARSER 0
#define CONFIG_MLP_PARSER 0
#define CONFIG_MPEG4VIDEO_PARSER 0
-#define CONFIG_MPEGAUDIO_PARSER 0
+#define CONFIG_MPEGAUDIO_PARSER 1
#define CONFIG_MPEGVIDEO_PARSER 0
#define CONFIG_OPUS_PARSER 1
#define CONFIG_PNG_PARSER 0
diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h
--- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 2017-12-07 09:51:37.000000000 -0500
+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h 2017-12-07 11:10:50.721599547 -0500
@@ -1,7 +1,7 @@
/* Automatically generated by configure - do not modify! */
#ifndef FFMPEG_CONFIG_H
#define FFMPEG_CONFIG_H
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic"
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
#define CONFIG_THIS_YEAR 2017
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
@@ -547,7 +547,7 @@
#define CONFIG_FFPROBE 0
#define CONFIG_FFSERVER 0
#define CONFIG_FFMPEG 0
-#define CONFIG_DCT 0
+#define CONFIG_DCT 1
#define CONFIG_DWT 0
#define CONFIG_ERROR_RESILIENCE 0
#define CONFIG_FAAN 1
@@ -626,9 +626,9 @@
#define CONFIG_LZF 0
#define CONFIG_ME_CMP 0
#define CONFIG_MPEG_ER 0
-#define CONFIG_MPEGAUDIO 0
-#define CONFIG_MPEGAUDIODSP 0
-#define CONFIG_MPEGAUDIOHEADER 0
+#define CONFIG_MPEGAUDIO 1
+#define CONFIG_MPEGAUDIODSP 1
+#define CONFIG_MPEGAUDIOHEADER 1
#define CONFIG_MPEGVIDEO 0
#define CONFIG_MPEGVIDEOENC 0
#define CONFIG_MSS34DSP 0
@@ -979,7 +979,7 @@
#define CONFIG_MP1FLOAT_DECODER 0
#define CONFIG_MP2_DECODER 0
#define CONFIG_MP2FLOAT_DECODER 0
-#define CONFIG_MP3_DECODER 0
+#define CONFIG_MP3_DECODER 1
#define CONFIG_MP3FLOAT_DECODER 0
#define CONFIG_MP3ADU_DECODER 0
#define CONFIG_MP3ADUFLOAT_DECODER 0
@@ -1292,7 +1292,7 @@
#define CONFIG_MM_DEMUXER 0
#define CONFIG_MMF_DEMUXER 0
#define CONFIG_MOV_DEMUXER 0
-#define CONFIG_MP3_DEMUXER 0
+#define CONFIG_MP3_DEMUXER 1
#define CONFIG_MPC_DEMUXER 0
#define CONFIG_MPC8_DEMUXER 0
#define CONFIG_MPEGPS_DEMUXER 0
@@ -2267,7 +2267,7 @@
#define CONFIG_MJPEG_PARSER 0
#define CONFIG_MLP_PARSER 0
#define CONFIG_MPEG4VIDEO_PARSER 0
-#define CONFIG_MPEGAUDIO_PARSER 0
+#define CONFIG_MPEGAUDIO_PARSER 1
#define CONFIG_MPEGVIDEO_PARSER 0
#define CONFIG_OPUS_PARSER 1
#define CONFIG_PNG_PARSER 0
diff -up chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni.mp3 chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni
--- chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni.mp3 2017-12-07 09:51:36.000000000 -0500
+++ chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni 2017-12-07 11:16:58.728447124 -0500
@@ -183,17 +183,9 @@ if ((is_mac) || (is_win) || (use_linux_c
]
}
-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
+if ((current_cpu == "x64") || (is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_android && current_cpu == "x86") || (is_win) || (use_linux_config && current_cpu == "arm" && arm_use_neon) || (use_linux_config && current_cpu == "arm") || (use_linux_config && current_cpu == "arm64") || (use_linux_config && current_cpu == "mipsel") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) {
ffmpeg_c_sources += [
- "libavcodec/aac_ac3_parser.c",
- "libavcodec/aac_parser.c",
- "libavcodec/aacadtsdec.c",
- "libavcodec/aacps_float.c",
- "libavcodec/aacpsdsp_float.c",
- "libavcodec/aacsbr.c",
- "libavcodec/aactab.c",
"libavcodec/ac3tab.c",
- "libavcodec/autorename_libavcodec_aacdec.c",
"libavcodec/autorename_libavcodec_mdct15.c",
"libavcodec/autorename_libavcodec_mpegaudiodsp.c",
"libavcodec/autorename_libavcodec_sbrdsp.c",
@@ -211,7 +203,6 @@ if ((current_cpu == "x64" && ffmpeg_bran
"libavcodec/mpegaudiodsp_float.c",
"libavcodec/sinewin.c",
"libavcodec/sinewin_fixed.c",
- "libavformat/aacdec.c",
"libavformat/apetag.c",
"libavformat/img2.c",
"libavformat/mov.c",
@@ -220,6 +211,20 @@ if ((current_cpu == "x64" && ffmpeg_bran
]
}
+if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
+ ffmpeg_c_sources += [
+ "libavcodec/aac_ac3_parser.c",
+ "libavcodec/aac_parser.c",
+ "libavcodec/aacadtsdec.c",
+ "libavcodec/aacps_float.c",
+ "libavcodec/aacpsdsp_float.c",
+ "libavcodec/aacsbr.c",
+ "libavcodec/aactab.c",
+ "libavcodec/autorename_libavcodec_aacdec.c",
+ "libavformat/aacdec.c",
+ ]
+}
+
if ((is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_mac) || (is_win) || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) {
ffmpeg_c_sources += [
"libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c",
@@ -323,16 +328,20 @@ if ((is_mac) || (is_win) || (use_linux_c
if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
ffmpeg_c_sources += [
"libavcodec/x86/aacpsdsp_init.c",
+ ]
+ ffmpeg_yasm_sources += [
+ "libavcodec/x86/aacpsdsp.asm",
+ ]
+}
+
+if ((current_cpu == "x64") || (is_android && current_cpu == "x86") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86") || (is_win)) {
+ ffmpeg_c_sources += [
"libavcodec/x86/dct_init.c",
"libavcodec/x86/mdct15_init.c",
"libavcodec/x86/mpegaudiodsp.c",
"libavcodec/x86/sbrdsp_init.c",
]
-}
-
-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
ffmpeg_yasm_sources += [
- "libavcodec/x86/aacpsdsp.asm",
"libavcodec/x86/dct32.asm",
"libavcodec/x86/imdct36.asm",
"libavcodec/x86/mdct15.asm",
diff -up chromium-63.0.3239.84/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 chromium-63.0.3239.84/third_party/ffmpeg/libavcodec/sbrdsp.c
--- chromium-63.0.3239.84/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 2017-12-07 09:51:37.000000000 -0500
+++ chromium-63.0.3239.84/third_party/ffmpeg/libavcodec/sbrdsp.c 2017-12-07 10:52:02.484509992 -0500
@@ -23,6 +23,7 @@
#define USE_FIXED 0
#include "aac.h"
+#include "aacsbrdata.h"
#include "config.h"
#include "libavutil/attributes.h"
#include "libavutil/intfloat.h"
diff -up chromium-63.0.3239.84/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart.mp3 chromium-63.0.3239.84/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart
diff -up chromium-63.0.3239.84/tools/android/audio_focus_grabber/java/res/raw/ping.mp3 chromium-63.0.3239.84/tools/android/audio_focus_grabber/java/res/raw/ping

@ -1,12 +0,0 @@
diff -up chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni.aarch64 chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni
--- chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni.aarch64 2017-12-07 11:23:07.077290535 -0500
+++ chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni 2017-12-07 11:27:30.354175021 -0500
@@ -541,7 +541,7 @@ if (use_linux_config && current_cpu == "
]
}
-if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) {
+if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64")) {
ffmpeg_c_sources += [
"libavcodec/aarch64/aacpsdsp_init_aarch64.c",
"libavcodec/aarch64/mpegaudiodsp_init.c",

@ -1,36 +0,0 @@
diff -up chromium-63.0.3239.84/build/linux/unbundle/freetype.gn.fixunbundle chromium-63.0.3239.84/build/linux/unbundle/freetype.gn
--- chromium-63.0.3239.84/build/linux/unbundle/freetype.gn.fixunbundle 2017-12-07 12:07:48.652161826 -0500
+++ chromium-63.0.3239.84/build/linux/unbundle/freetype.gn 2017-12-07 12:08:52.514919585 -0500
@@ -117,6 +117,14 @@ source_set("freetype") {
public_configs = [ ":freetype_config" ]
}
+source_set("freetype_source") {
+ visibility = [ "//third_party:freetype_harfbuzz" ]
+ deps = [
+ ":freetype_shim",
+ ]
+ public_configs = [ ":freetype_config" ]
+}
+
source_set("bootstrap_freetype_for_harfbuzz") {
deps = [
":freetype_shim",
diff -up chromium-63.0.3239.84/build/linux/unbundle/harfbuzz-ng.gn.fixunbundle chromium-63.0.3239.84/build/linux/unbundle/harfbuzz-ng.gn
--- chromium-63.0.3239.84/build/linux/unbundle/harfbuzz-ng.gn.fixunbundle 2017-12-07 12:09:57.057661738 -0500
+++ chromium-63.0.3239.84/build/linux/unbundle/harfbuzz-ng.gn 2017-12-07 12:10:03.225541404 -0500
@@ -24,6 +24,14 @@ group("harfbuzz-ng") {
]
}
+source_set("harfbuzz_source") {
+ visibility = [ "//third_party:freetype_harfbuzz" ]
+ deps = [
+ ":harfbuzz_shim",
+ ]
+ public_configs = [ ":system_harfbuzz" ]
+}
+
source_set("harfbuzz-ng-ft") {
deps = [
":harfbuzz_shim",

@ -1,11 +0,0 @@
diff -up chromium-63.0.3239.84/third_party/webrtc/p2p/base/port.cc.gcc-round-fix chromium-63.0.3239.84/third_party/webrtc/p2p/base/port.cc
--- chromium-63.0.3239.84/third_party/webrtc/p2p/base/port.cc.gcc-round-fix 2017-12-07 16:20:01.521717091 -0500
+++ chromium-63.0.3239.84/third_party/webrtc/p2p/base/port.cc 2017-12-07 16:20:13.025491739 -0500
@@ -11,6 +11,7 @@
#include "p2p/base/port.h"
#include <algorithm>
+#include <cmath>
#include <vector>
#include "p2p/base/common.h"

@ -1,104 +0,0 @@
diff -up chromium-63.0.3239.84/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-63.0.3239.84/gpu/ipc/common/mailbox_struct_traits.h
--- chromium-63.0.3239.84/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2017-12-06 15:05:28.000000000 -0500
+++ chromium-63.0.3239.84/gpu/ipc/common/mailbox_struct_traits.h 2017-12-07 11:32:15.416636125 -0500
@@ -15,7 +15,7 @@ namespace mojo {
template <>
struct StructTraits<gpu::mojom::MailboxDataView, gpu::Mailbox> {
static base::span<const int8_t> name(const gpu::Mailbox& mailbox) {
- return mailbox.name;
+ return base::make_span(mailbox.name);
}
static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out);
};
diff -up chromium-63.0.3239.84/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 chromium-63.0.3239.84/services/viz/public/cpp/compositing/filter_operation_struct_traits.h
--- chromium-63.0.3239.84/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 2017-12-06 15:05:31.000000000 -0500
+++ chromium-63.0.3239.84/services/viz/public/cpp/compositing/filter_operation_struct_traits.h 2017-12-07 11:32:15.422636011 -0500
@@ -134,7 +134,7 @@ struct StructTraits<viz::mojom::FilterOp
static base::span<const float> matrix(const cc::FilterOperation& operation) {
if (operation.type() != cc::FilterOperation::COLOR_MATRIX)
return base::span<const float>();
- return operation.matrix();
+ return base::make_span(operation.matrix());
}
static base::span<const gfx::Rect> shape(
diff -up chromium-63.0.3239.84/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-63.0.3239.84/services/viz/public/cpp/compositing/quads_struct_traits.h
--- chromium-63.0.3239.84/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2017-12-07 11:32:15.429635877 -0500
+++ chromium-63.0.3239.84/services/viz/public/cpp/compositing/quads_struct_traits.h 2017-12-07 11:34:00.081601880 -0500
@@ -309,7 +309,7 @@ struct StructTraits<viz::mojom::TextureQ
static base::span<const float> vertex_opacity(const viz::DrawQuad& input) {
const viz::TextureDrawQuad* quad =
viz::TextureDrawQuad::MaterialCast(&input);
- return quad->vertex_opacity;
+ return base::make_span(quad->vertex_opacity);
}
static bool y_flipped(const viz::DrawQuad& input) {
diff -up chromium-63.0.3239.84/third_party/WebKit/Source/platform/exported/WebCORS.cpp.gcc5-r3 chromium-63.0.3239.84/third_party/WebKit/Source/platform/exported/WebCORS.cpp
--- chromium-63.0.3239.84/third_party/WebKit/Source/platform/exported/WebCORS.cpp.gcc5-r3 2017-12-06 15:05:46.000000000 -0500
+++ chromium-63.0.3239.84/third_party/WebKit/Source/platform/exported/WebCORS.cpp 2017-12-07 11:32:15.430635859 -0500
@@ -480,7 +480,7 @@ WebString AccessControlErrorString(
}
default:
NOTREACHED();
- return "";
+ return WebString();
}
}
@@ -512,7 +512,7 @@ WebString PreflightErrorString(const Pre
}
default:
NOTREACHED();
- return "";
+ return WebString();
}
}
@@ -533,7 +533,7 @@ WebString RedirectErrorString(const Redi
}
default:
NOTREACHED();
- return "";
+ return WebString();
}
}
diff -up chromium-63.0.3239.84/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 chromium-63.0.3239.84/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
--- chromium-63.0.3239.84/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 2017-12-06 15:05:46.000000000 -0500
+++ chromium-63.0.3239.84/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h 2017-12-07 11:32:15.408636277 -0500
@@ -63,7 +63,7 @@ class WTF_EXPORT ArrayBufferContents {
allocation_length_(0),
data_(data),
data_length_(0),
- kind_(AllocationKind::kNormal),
+ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal),
deleter_(deleter) {}
DataHandle(void* allocation_base,
size_t allocation_length,
@@ -94,11 +94,11 @@ class WTF_EXPORT ArrayBufferContents {
reinterpret_cast<uintptr_t>(allocation_base_) +
allocation_length_);
switch (kind_) {
- case AllocationKind::kNormal:
+ case WTF::ArrayBufferContents::AllocationKind::kNormal:
DCHECK(deleter_);
deleter_(data_);
return;
- case AllocationKind::kReservation:
+ case WTF::ArrayBufferContents::AllocationKind::kReservation:
ReleaseReservedMemory(allocation_base_, allocation_length_);
return;
}
diff -up chromium-63.0.3239.84/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-63.0.3239.84/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc
--- chromium-63.0.3239.84/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2017-12-07 11:32:15.409636258 -0500
+++ chromium-63.0.3239.84/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2017-12-07 11:33:10.714561105 -0500
@@ -10,7 +10,7 @@
#include "modules/audio_processing/aec3/aec_state.h"
-#include <math.h>
+#include <cmath>
#include <numeric>
#include <vector>

@ -1,15 +0,0 @@
diff -up chromium-63.0.3239.84/remoting/host/linux/BUILD.gn.nolibc++ chromium-63.0.3239.84/remoting/host/linux/BUILD.gn
--- chromium-63.0.3239.84/remoting/host/linux/BUILD.gn.nolibc++ 2017-12-07 11:55:43.173273434 -0500
+++ chromium-63.0.3239.84/remoting/host/linux/BUILD.gn 2017-12-07 11:55:53.244077772 -0500
@@ -62,11 +62,9 @@ if (enable_me2me_host) {
if (is_component_build) {
sources += [
"$root_build_dir/libbase.so",
- "$root_build_dir/libc++.so",
]
deps += [
"//base:base",
- "//buildtools/third_party/libc++:libc++",
]
}
}

@ -1,12 +0,0 @@
diff -up chromium-63.0.3239.84/cc/blink/web_layer_impl.h.setopaque chromium-63.0.3239.84/cc/blink/web_layer_impl.h
--- chromium-63.0.3239.84/cc/blink/web_layer_impl.h.setopaque 2017-12-07 10:47:48.262446682 -0500
+++ chromium-63.0.3239.84/cc/blink/web_layer_impl.h 2017-12-07 10:48:47.437298948 -0500
@@ -67,7 +67,7 @@ class CC_BLINK_EXPORT WebLayerImpl : pub
void SetIsRootForIsolatedGroup(bool root) override;
bool IsRootForIsolatedGroup() override;
void SetHitTestableWithoutDrawsContent(bool should_hit_test) override;
- void SetOpaque(bool opaque) override;
+ CC_BLINK_EXPORT void SetOpaque(bool opaque) override;
bool Opaque() const override;
void SetPosition(const blink::WebFloatPoint& position) override;
blink::WebFloatPoint GetPosition() const override;

@ -1,54 +0,0 @@
diff -up chromium-64.0.3282.119/media/base/mime_util_internal.cc.mp3 chromium-64.0.3282.119/media/base/mime_util_internal.cc
--- chromium-64.0.3282.119/media/base/mime_util_internal.cc.mp3 2018-01-24 15:05:48.000000000 -0500
+++ chromium-64.0.3282.119/media/base/mime_util_internal.cc 2018-01-25 11:18:12.354147726 -0500
@@ -279,15 +279,19 @@ void MimeUtil::AddSupportedMediaFormats(
CodecSet webm_codecs(webm_audio_codecs);
webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end());
-#if BUILDFLAG(USE_PROPRIETARY_CODECS)
const CodecSet mp3_codecs{MP3};
+#if BUILDFLAG(USE_PROPRIETARY_CODECS)
const CodecSet aac{MPEG2_AAC, MPEG4_AAC};
+#else
+ const CodecSet aac{};
+#endif
+ CodecSet mp4_audio_codecs(aac);
+ mp4_audio_codecs.emplace(MP3);
+#if BUILDFLAG(USE_PROPRIETARY_CODECS)
CodecSet avc_and_aac(aac);
avc_and_aac.emplace(H264);
- CodecSet mp4_audio_codecs(aac);
- mp4_audio_codecs.emplace(MP3);
mp4_audio_codecs.emplace(FLAC);
#if BUILDFLAG(ENABLE_AC3_EAC3_AUDIO_DEMUXING)
mp4_audio_codecs.emplace(AC3);
@@ -329,10 +333,10 @@ void MimeUtil::AddSupportedMediaFormats(
AddContainerWithCodecs("application/ogg", ogg_codecs, false);
AddContainerWithCodecs("audio/flac", implicit_codec, false);
-#if BUILDFLAG(USE_PROPRIETARY_CODECS)
AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3".
AddContainerWithCodecs("audio/mp3", implicit_codec, true);
AddContainerWithCodecs("audio/x-mp3", implicit_codec, true);
+#if BUILDFLAG(USE_PROPRIETARY_CODECS)
AddContainerWithCodecs("audio/aac", implicit_codec, true); // AAC / ADTS.
AddContainerWithCodecs("audio/mp4", mp4_audio_codecs, true);
DCHECK(!mp4_video_codecs.empty());
@@ -970,7 +974,6 @@ bool MimeUtil::IsCodecProprietary(Codec
case INVALID_CODEC:
case AC3:
case EAC3:
- case MP3:
case MPEG2_AAC:
case MPEG4_AAC:
case H264:
@@ -978,6 +981,7 @@ bool MimeUtil::IsCodecProprietary(Codec
case DOLBY_VISION:
return true;
+ case MP3:
case PCM:
case VORBIS:
case OPUS:

@ -1,70 +0,0 @@
diff -up chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h.gcc-constexpr chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h
--- chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h.gcc-constexpr 2018-01-25 15:50:16.971171007 -0500
+++ chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h 2018-01-25 15:51:14.158053914 -0500
@@ -160,7 +160,7 @@ template <TBasicType basicType,
TPrecision precision,
TQualifier qualifier,
unsigned char secondarySize>
-const TType *GetForVecMatHelper(unsigned char primarySize)
+constexpr const TType *GetForVecMatHelper(unsigned char primarySize)
{
static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt ||
basicType == EbtBool,
@@ -186,7 +186,7 @@ const TType *GetForVecMatHelper(unsigned
template <TBasicType basicType,
TPrecision precision = EbpUndefined,
TQualifier qualifier = EvqGlobal>
-const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1)
+constexpr const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1)
{
static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt ||
basicType == EbtBool,
@@ -208,7 +208,7 @@ const TType *GetForVecMat(unsigned char
}
template <TBasicType basicType, TPrecision precision = EbpUndefined>
-const TType *GetForVec(TQualifier qualifier, unsigned char size)
+constexpr const TType *GetForVec(TQualifier qualifier, unsigned char size)
{
switch (qualifier)
{
diff -up chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp.gcc-constexpr chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp
--- chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp.gcc-constexpr 2018-01-25 15:51:27.670790008 -0500
+++ chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp 2018-01-25 15:52:04.117077652 -0500
@@ -189,7 +189,7 @@ TSymbolTable::~TSymbolTable()
pop();
}
-bool IsGenType(const TType *type)
+constexpr bool IsGenType(const TType *type)
{
if (type)
{
@@ -201,7 +201,7 @@ bool IsGenType(const TType *type)
return false;
}
-bool IsVecType(const TType *type)
+constexpr bool IsVecType(const TType *type)
{
if (type)
{
diff -up chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h.gcc-constexpr chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h
--- chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h.gcc-constexpr 2018-01-25 15:52:15.042864767 -0500
+++ chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h 2018-01-25 15:52:56.763049389 -0500
@@ -236,13 +236,13 @@ class TType
{
}
- TBasicType getBasicType() const { return type; }
+ constexpr TBasicType getBasicType() const { return type; }
void setBasicType(TBasicType t);
TPrecision getPrecision() const { return precision; }
void setPrecision(TPrecision p) { precision = p; }
- TQualifier getQualifier() const { return qualifier; }
+ constexpr TQualifier getQualifier() const { return qualifier; }
void setQualifier(TQualifier q) { qualifier = q; }
bool isInvariant() const { return invariant; }

@ -1,12 +0,0 @@
diff -up chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc.gcc-round-fix chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc
--- chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc.gcc-round-fix 2018-01-25 12:03:14.696443814 -0500
+++ chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc 2018-01-25 12:20:26.446448618 -0500
@@ -10,7 +10,7 @@
#include "p2p/base/port.h"
-#include <math.h>
+#include <cmath>
#include <algorithm>
#include <vector>

@ -1,75 +0,0 @@
diff -up chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h
--- chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2018-01-24 15:05:47.000000000 -0500
+++ chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h 2018-01-25 11:58:48.251623423 -0500
@@ -15,7 +15,7 @@ namespace mojo {
template <>
struct StructTraits<gpu::mojom::MailboxDataView, gpu::Mailbox> {
static base::span<const int8_t> name(const gpu::Mailbox& mailbox) {
- return mailbox.name;
+ return base::make_span(mailbox.name);
}
static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out);
};
diff -up chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h
--- chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 2018-01-24 15:05:51.000000000 -0500
+++ chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h 2018-01-25 11:58:48.252623400 -0500
@@ -137,7 +137,7 @@ struct StructTraits<viz::mojom::FilterOp
static base::span<const float> matrix(const cc::FilterOperation& operation) {
if (operation.type() != cc::FilterOperation::COLOR_MATRIX)
return base::span<const float>();
- return operation.matrix();
+ return base::make_span(operation.matrix());
}
static base::span<const gfx::Rect> shape(
diff -up chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h
--- chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2018-01-24 15:05:51.000000000 -0500
+++ chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h 2018-01-25 11:58:48.252623400 -0500
@@ -308,7 +308,7 @@ struct StructTraits<viz::mojom::TextureQ
static base::span<const float> vertex_opacity(const viz::DrawQuad& input) {
const viz::TextureDrawQuad* quad =
viz::TextureDrawQuad::MaterialCast(&input);
- return quad->vertex_opacity;
+ return base::make_span(quad->vertex_opacity);
}
static bool y_flipped(const viz::DrawQuad& input) {
diff -up chromium-64.0.3282.119/third_party/WebKit/Source/platform/exported/WebCORS.cpp.gcc5-r3 chromium-64.0.3282.119/third_party/WebKit/Source/platform/exported/WebCORS.cpp
diff -up chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
--- chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 2018-01-24 15:06:11.000000000 -0500
+++ chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h 2018-01-25 11:58:48.253623376 -0500
@@ -62,7 +62,7 @@ class WTF_EXPORT ArrayBufferContents {
allocation_length_(0),
data_(data),
data_length_(0),
- kind_(AllocationKind::kNormal),
+ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal),
deleter_(deleter) {}
DataHandle(void* allocation_base,
size_t allocation_length,
@@ -93,11 +93,11 @@ class WTF_EXPORT ArrayBufferContents {
reinterpret_cast<uintptr_t>(allocation_base_) +
allocation_length_);
switch (kind_) {
- case AllocationKind::kNormal:
+ case WTF::ArrayBufferContents::AllocationKind::kNormal:
DCHECK(deleter_);
deleter_(data_);
return;
- case AllocationKind::kReservation:
+ case WTF::ArrayBufferContents::AllocationKind::kReservation:
ReleaseReservedMemory(allocation_base_, allocation_length_);
return;
}
diff -up chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc
--- chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2018-01-25 11:58:48.253623376 -0500
+++ chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2018-01-25 12:01:28.769900550 -0500
@@ -10,7 +10,7 @@
#include "modules/audio_processing/aec3/aec_state.h"
-#include <math.h>
+#include <cmath>
#include <numeric>
#include <vector>

@ -1,57 +0,0 @@
diff -up chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl
--- chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 2018-01-25 11:07:27.179175007 -0500
+++ chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl 2018-01-25 11:07:38.037925336 -0500
@@ -263,7 +263,7 @@ interface WebGL2RenderingContextBase
const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
- const GLenum INVALID_INDEX = 0xFFFFFFFF;
+ const GLenum INVALID_INDEX = 256;
const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111;
diff -up chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h
--- chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 2018-01-25 11:11:08.581962228 -0500
+++ chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h 2018-01-25 11:11:24.062593478 -0500
@@ -49,7 +49,7 @@ class NodeFilter final {
* to the value of NodeType for the equivalent node type.
*/
enum {
- kShowAll = 0xFFFFFFFF,
+ kShowAll = 256 /* 0xFFFFFFFF */,
kShowElement = 0x00000001,
kShowAttribute = 0x00000002,
kShowText = 0x00000004,
diff -up chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl
--- chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 2018-01-25 11:11:34.816335412 -0500
+++ chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl 2018-01-25 11:12:23.380171262 -0500
@@ -27,7 +27,7 @@ callback interface NodeFilter {
const unsigned short FILTER_SKIP = 3;
// Constants for whatToShow
- const unsigned long SHOW_ALL = 0xFFFFFFFF;
+ const unsigned long SHOW_ALL = 256; // 0xFFFFFFFF
const unsigned long SHOW_ELEMENT = 0x1;
const unsigned long SHOW_ATTRIBUTE = 0x2; // historical
const unsigned long SHOW_TEXT = 0x4;
diff -up chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl
--- chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 2018-01-25 11:12:57.367363214 -0500
+++ chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl 2018-01-25 11:13:29.883590960 -0500
@@ -241,7 +241,7 @@ typedef unsigned long long GLuint64;
const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
- const GLenum INVALID_INDEX = 0xFFFFFFFF;
+ const GLenum INVALID_INDEX = 256;
const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111;
@@ -271,7 +271,7 @@ typedef unsigned long long GLuint64;
const GLenum TEXTURE_IMMUTABLE_FORMAT = 0x912F;
const GLenum MAX_ELEMENT_INDEX = 0x8D6B;
const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF;
- const GLint TIMEOUT_IGNORED = -1;
+ const GLint TIMEOUT_IGNORED = 256;
/* WebGL-specific enums */
const GLenum MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247;

@ -1,11 +0,0 @@
diff -up chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h
--- chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 2018-01-25 11:15:00.291466617 -0500
+++ chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2018-01-25 11:16:36.159320291 -0500
@@ -10,6 +10,7 @@
#include "platform/wtf/Functional.h"
#include "platform/wtf/ThreadSpecific.h"
+#include <functional>
#include <memory>
namespace blink {

@ -1,11 +0,0 @@
diff -up chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc
--- chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix 2018-01-26 15:04:44.708100850 -0500
+++ chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc 2018-01-26 15:04:54.234915081 -0500
@@ -3,6 +3,7 @@
// found in the LICENSE file.
#include "cc/paint/raw_memory_transfer_cache_entry.h"
+#include <memory.h>
namespace cc {

@ -1,15 +0,0 @@
diff -up chromium-64.0.3282.167/tools/gn/bootstrap/bootstrap.py.fabi11 chromium-64.0.3282.167/tools/gn/bootstrap/bootstrap.py
--- chromium-64.0.3282.167/tools/gn/bootstrap/bootstrap.py.fabi11 2018-02-19 11:39:15.807713662 -0500
+++ chromium-64.0.3282.167/tools/gn/bootstrap/bootstrap.py 2018-02-19 11:39:47.038070341 -0500
@@ -336,6 +336,11 @@ def write_gn_ninja(path, root_gen_dir, o
cflags = os.environ.get('CFLAGS', '').split()
cflags_cc = os.environ.get('CXXFLAGS', '').split()
ldflags = os.environ.get('LDFLAGS', '').split()
+
+ # Work around GCC8 bug gcc#84286
+ cflags.extend(['-fabi-version=11'])
+ cflags_cc.extend(['-fabi-version=11'])
+
include_dirs = [root_gen_dir, SRC_ROOT]
libs = []

@ -1,41 +0,0 @@
diff -up chromium-65.0.3325.146/base/optional.h.noncopyable chromium-65.0.3325.146/base/optional.h
--- chromium-65.0.3325.146/base/optional.h.noncopyable 2018-03-13 16:52:15.953729689 -0400
+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 16:53:55.365792522 -0400
@@ -45,6 +45,15 @@ struct OptionalStorageBase {
// When T is not trivially destructible we must call its
// destructor before deallocating its memory.
+ // Note that this hides the (implicitly declared) move constructor, which
+ // would be used for constexpr move constructor in OptionalStorage<T>.
+ // It is needed iff T is trivially move constructible. However, the current
+ // is_trivially_{copy,move}_constructible implementation requires
+ // is_trivially_destructible (which looks a bug, cf:
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452 and
+ // http://cplusplus.github.io/LWG/lwg-active.html#2116), so it is not
+ // necessary for this case at the moment. Please see also the destructor
+ // comment in "is_trivially_destructible = true" specialization below.
~OptionalStorageBase() {
if (!is_null_)
value_.~T();
@@ -78,9 +87,18 @@ struct OptionalStorageBase<T, true /* tr
: is_null_(false), value_(std::forward<Args>(args)...) {}
// When T is trivially destructible (i.e. its destructor does nothing) there
- // is no need to call it. Explicitly defaulting the destructor means it's not
- // user-provided. Those two together make this destructor trivial.
- ~OptionalStorageBase() = default;
+ // is no need to call it. Implicitly defined destructor is trivial, because
+ // both members (bool and union containing only variants which are trivially
+ // destructible) are trivially destructible.
+ // Explicitly-defaulted destructor is also trivial, but do not use it here,
+ // because it hides the implicit move constructor. It is needed to implement
+ // constexpr move constructor in OptionalStorage iff T is trivially move
+ // constructible. Note that, if T is trivially move constructible, the move
+ // constructor of OptionalStorageBase<T> is also implicitly defined and it is
+ // trivially move constructor. If T is not trivially move constructible,
+ // "not declaring move constructor without destructor declaration" here means
+ // "delete move constructor", which works because any move constructor of
+ // OptionalStorage will not refer to it in that case.
template <class... Args>
void Init(Args&&... args) {

@ -1,108 +0,0 @@
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp.GetString chromium-65.0.3325.146/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp
--- chromium-65.0.3325.146/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp.GetString 2018-03-13 22:54:27.262671113 -0400
+++ chromium-65.0.3325.146/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp 2018-03-13 22:55:47.722113713 -0400
@@ -68,7 +68,7 @@ v8::Local<v8::Value> ToV8(const IDBKeyPa
case IDBKeyPath::kNullType:
return v8::Null(isolate);
case IDBKeyPath::kStringType:
- return V8String(isolate, value.String());
+ return V8String(isolate, value.GetString());
case IDBKeyPath::kArrayType:
return ToV8(value.Array(), creation_context, isolate);
}
@@ -97,7 +97,7 @@ v8::Local<v8::Value> ToV8(const IDBKey*
case IDBKey::kNumberType:
return v8::Number::New(isolate, key->Number());
case IDBKey::kStringType:
- return V8String(isolate, key->String());
+ return V8String(isolate, key->GetString());
case IDBKey::kBinaryType:
// https://w3c.github.io/IndexedDB/#convert-a-value-to-a-key
return ToV8(DOMArrayBuffer::Create(key->Binary()), creation_context,
@@ -379,7 +379,7 @@ static std::unique_ptr<IDBKey> CreateIDB
}
DCHECK_EQ(key_path.GetType(), IDBKeyPath::kStringType);
- return CreateIDBKeyFromValueAndKeyPath(isolate, value, key_path.String(),
+ return CreateIDBKeyFromValueAndKeyPath(isolate, value, key_path.GetString(),
exception_state);
}
@@ -483,7 +483,7 @@ bool InjectV8KeyIntoV8Value(v8::Isolate*
DCHECK(isolate->InContext());
DCHECK_EQ(key_path.GetType(), IDBKeyPath::kStringType);
- Vector<String> key_path_elements = ParseKeyPath(key_path.String());
+ Vector<String> key_path_elements = ParseKeyPath(key_path.GetString());
// The conbination of a key generator and an empty key path is forbidden by
// spec.
@@ -569,7 +569,7 @@ bool CanInjectIDBKeyIntoScriptValue(v8::
const IDBKeyPath& key_path) {
IDB_TRACE("canInjectIDBKeyIntoScriptValue");
DCHECK_EQ(key_path.GetType(), IDBKeyPath::kStringType);
- Vector<String> key_path_elements = ParseKeyPath(key_path.String());
+ Vector<String> key_path_elements = ParseKeyPath(key_path.GetString());
if (!key_path_elements.size())
return false;
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp
--- chromium-65.0.3325.146/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp.GetString 2018-03-13 22:56:04.041798217 -0400
+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp 2018-03-13 22:56:22.481440993 -0400
@@ -56,7 +56,7 @@ WebData WebIDBKeyView::Binary() const {
}
WebString WebIDBKeyView::String() const {
- return private_->String();
+ return private_->GetString();
}
double WebIDBKeyView::Date() const {
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp
--- chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp.GetString 2018-03-13 22:56:36.028178758 -0400
+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp 2018-03-13 22:56:58.846736831 -0400
@@ -297,7 +297,7 @@ IDBObjectStore* IDBDatabase::createObjec
}
if (auto_increment && ((key_path.GetType() == IDBKeyPath::kStringType &&
- key_path.String().IsEmpty()) ||
+ key_path.GetString().IsEmpty()) ||
key_path.GetType() == IDBKeyPath::kArrayType)) {
exception_state.ThrowDOMException(
kInvalidAccessError,
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKey.h.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKey.h
--- chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKey.h.GetString 2018-03-13 22:57:13.229458842 -0400
+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKey.h 2018-03-13 22:57:38.633966776 -0400
@@ -106,7 +106,7 @@ class MODULES_EXPORT IDBKey {
return binary_;
}
- const String& String() const {
+ const String& GetString() const {
DCHECK_EQ(type_, kStringType);
return string_;
}
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h
--- chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h.GetString 2018-03-13 22:57:51.104725428 -0400
+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h 2018-03-13 22:58:09.459369906 -0400
@@ -65,7 +65,7 @@ class MODULES_EXPORT IDBKeyPath {
return array_;
}
- const String& String() const {
+ const String& GetString() const {
DCHECK_EQ(type_, kStringType);
return string_;
}
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp
--- chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp.GetString 2018-03-13 22:58:28.778995834 -0400
+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp 2018-03-13 22:58:45.044681364 -0400
@@ -399,7 +399,7 @@ static std::unique_ptr<KeyPath> KeyPathF
case IDBKeyPath::kStringType:
key_path = KeyPath::create()
.setType(KeyPath::TypeEnum::String)
- .setString(idb_key_path.String())
+ .setString(idb_key_path.GetString())
.build();
break;
case IDBKeyPath::kArrayType: {

@ -1,22 +0,0 @@
diff -up chromium-65.0.3325.146/cc/raster/playback_image_provider.cc.pipcc chromium-65.0.3325.146/cc/raster/playback_image_provider.cc
--- chromium-65.0.3325.146/cc/raster/playback_image_provider.cc.pipcc 2018-03-13 22:47:00.271322726 -0400
+++ chromium-65.0.3325.146/cc/raster/playback_image_provider.cc 2018-03-13 22:47:53.127300060 -0400
@@ -92,7 +92,6 @@ PlaybackImageProvider::GetDecodedDrawIma
}
PlaybackImageProvider::Settings::Settings() = default;
-PlaybackImageProvider::Settings::Settings(const Settings& other) = default;
PlaybackImageProvider::Settings::~Settings() = default;
} // namespace cc
diff -up chromium-65.0.3325.146/cc/raster/playback_image_provider.h.pipcc chromium-65.0.3325.146/cc/raster/playback_image_provider.h
--- chromium-65.0.3325.146/cc/raster/playback_image_provider.h.pipcc 2018-03-13 22:48:00.673153629 -0400
+++ chromium-65.0.3325.146/cc/raster/playback_image_provider.h 2018-03-13 22:48:12.726920597 -0400
@@ -20,7 +20,6 @@ class CC_EXPORT PlaybackImageProvider :
public:
struct CC_EXPORT Settings {
Settings();
- Settings(const Settings& other);
~Settings();
// The set of image ids to skip during raster.

@ -1,33 +0,0 @@
diff -up chromium-65.0.3325.146/services/preferences/tracked/pref_hash_filter.h.fulldecl chromium-65.0.3325.146/services/preferences/tracked/pref_hash_filter.h
--- chromium-65.0.3325.146/services/preferences/tracked/pref_hash_filter.h.fulldecl 2018-03-13 16:38:38.870652491 -0400
+++ chromium-65.0.3325.146/services/preferences/tracked/pref_hash_filter.h 2018-03-13 16:39:02.691186647 -0400
@@ -21,9 +21,9 @@
#include "services/preferences/public/interfaces/preferences.mojom.h"
#include "services/preferences/tracked/hash_store_contents.h"
#include "services/preferences/tracked/interceptable_pref_filter.h"
+#include "services/preferences/tracked/pref_hash_store.h"
#include "services/preferences/tracked/tracked_preference.h"
-class PrefHashStore;
class PrefService;
namespace base {
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.fulldecl chromium-65.0.3325.146/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h
--- chromium-65.0.3325.146/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.fulldecl 2018-03-13 16:39:13.787970233 -0400
+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h 2018-03-13 16:39:42.614407235 -0400
@@ -30,6 +30,7 @@
#include <memory>
#include "modules/webdatabase/DatabaseBasicTypes.h"
+#include "modules/webdatabase/SQLError.h"
#include "modules/webdatabase/SQLStatement.h"
#include "modules/webdatabase/SQLStatementBackend.h"
#include "modules/webdatabase/SQLTransactionStateMachine.h"
@@ -41,7 +42,6 @@
namespace blink {
class Database;
-class SQLErrorData;
class SQLiteTransaction;
class SQLTransaction;
class SQLTransactionBackend;

@ -1,24 +0,0 @@
diff -up chromium-65.0.3325.146/content/browser/appcache/appcache_request_handler.cc.explicit-std-move chromium-65.0.3325.146/content/browser/appcache/appcache_request_handler.cc
--- chromium-65.0.3325.146/content/browser/appcache/appcache_request_handler.cc.explicit-std-move 2018-03-13 22:50:41.346043716 -0400
+++ chromium-65.0.3325.146/content/browser/appcache/appcache_request_handler.cc 2018-03-13 22:51:21.428267583 -0400
@@ -639,7 +639,7 @@ AppCacheRequestHandler::MaybeCreateSubre
SubresourceLoaderParams params;
params.loader_factory_info = factory_ptr.PassInterface();
- return params;
+ return base::Optional<SubresourceLoaderParams>(std::move(params));
}
void AppCacheRequestHandler::MaybeCreateSubresourceLoader(
diff -up chromium-65.0.3325.146/content/browser/service_worker/service_worker_controllee_request_handler.cc.explicit-std-move chromium-65.0.3325.146/content/browser/service_worker/service_worker_controllee_request_handler.cc
--- chromium-65.0.3325.146/content/browser/service_worker/service_worker_controllee_request_handler.cc.explicit-std-move 2018-03-13 22:51:38.133943776 -0400
+++ chromium-65.0.3325.146/content/browser/service_worker/service_worker_controllee_request_handler.cc 2018-03-13 22:51:57.658566347 -0400
@@ -271,7 +271,7 @@ ServiceWorkerControlleeRequestHandler::M
controller_info->object_info = provider_host_->GetOrCreateServiceWorkerHandle(
provider_host_->controller());
params.controller_service_worker_info = std::move(controller_info);
- return params;
+ return base::Optional<SubresourceLoaderParams>(std::move(params));
}
void ServiceWorkerControlleeRequestHandler::PrepareForMainResource(

@ -1,18 +0,0 @@
diff -up chromium-65.0.3325.146/components/policy/core/browser/browser_policy_connector_base.h.fully-declare chromium-65.0.3325.146/components/policy/core/browser/browser_policy_connector_base.h
--- chromium-65.0.3325.146/components/policy/core/browser/browser_policy_connector_base.h.fully-declare 2018-03-13 23:02:13.989635567 -0400
+++ chromium-65.0.3325.146/components/policy/core/browser/browser_policy_connector_base.h 2018-03-13 23:02:44.318048625 -0400
@@ -12,13 +12,13 @@
#include "base/macros.h"
#include "base/optional.h"
#include "components/policy/core/browser/configuration_policy_handler_list.h"
+#include "components/policy/core/common/configuration_policy_provider.h"
#include "components/policy/core/common/schema.h"
#include "components/policy/core/common/schema_registry.h"
#include "components/policy/policy_export.h"
namespace policy {
-class ConfigurationPolicyProvider;
class PolicyService;
class PolicyServiceImpl;

@ -1,91 +0,0 @@
diff -up chromium-65.0.3325.146/base/optional.h.conditional chromium-65.0.3325.146/base/optional.h
--- chromium-65.0.3325.146/base/optional.h.conditional 2018-03-13 22:11:02.328058249 -0400
+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:12:43.622098296 -0400
@@ -266,6 +266,58 @@ class OptionalBase {
OptionalStorage<T> storage_;
};
+// The following {Copy,Move}{Constructible,Assignable} structs are helpers to
+// implement constructor/assign-operator overloading. Specifically, if T is
+// is not movable but copyable, Optional<T>'s move constructor should not
+// participate in overload resolution. This inheritance trick implements that.
+template <bool is_copy_constructible>
+struct CopyConstructible {};
+
+template <>
+struct CopyConstructible<false> {
+ constexpr CopyConstructible() = default;
+ constexpr CopyConstructible(const CopyConstructible&) = delete;
+ constexpr CopyConstructible(CopyConstructible&&) = default;
+ CopyConstructible& operator=(const CopyConstructible&) = default;
+ CopyConstructible& operator=(CopyConstructible&&) = default;
+};
+
+template <bool is_move_constructible>
+struct MoveConstructible {};
+
+template <>
+struct MoveConstructible<false> {
+ constexpr MoveConstructible() = default;
+ constexpr MoveConstructible(const MoveConstructible&) = default;
+ constexpr MoveConstructible(MoveConstructible&&) = delete;
+ MoveConstructible& operator=(const MoveConstructible&) = default;
+ MoveConstructible& operator=(MoveConstructible&&) = default;
+};
+
+template <bool is_copy_assignable>
+struct CopyAssignable {};
+
+template <>
+struct CopyAssignable<false> {
+ constexpr CopyAssignable() = default;
+ constexpr CopyAssignable(const CopyAssignable&) = default;
+ constexpr CopyAssignable(CopyAssignable&&) = default;
+ CopyAssignable& operator=(const CopyAssignable&) = delete;
+ CopyAssignable& operator=(CopyAssignable&&) = default;
+};
+
+template <bool is_move_assignable>
+struct MoveAssignable {};
+
+template <>
+struct MoveAssignable<false> {
+ constexpr MoveAssignable() = default;
+ constexpr MoveAssignable(const MoveAssignable&) = default;
+ constexpr MoveAssignable(MoveAssignable&&) = default;
+ MoveAssignable& operator=(const MoveAssignable&) = default;
+ MoveAssignable& operator=(MoveAssignable&&) = delete;
+};
+
} // namespace internal
// base::Optional is a Chromium version of the C++17 optional class:
@@ -280,12 +332,18 @@ class OptionalBase {
// - No exceptions are thrown, because they are banned from Chromium.
// - All the non-members are in the 'base' namespace instead of 'std'.
template <typename T>
-class Optional : public internal::OptionalBase<T> {
+class Optional
+ : public internal::OptionalBase<T>,
+ public internal::CopyConstructible<std::is_copy_constructible<T>::value>,
+ public internal::MoveConstructible<std::is_move_constructible<T>::value>,
+ public internal::CopyAssignable<std::is_copy_constructible<T>::value &&
+ std::is_copy_assignable<T>::value>,
+ public internal::MoveAssignable<std::is_move_constructible<T>::value &&
+ std::is_move_assignable<T>::value> {
public:
using value_type = T;
// Defer default/copy/move constructor implementation to OptionalBase.
- // TODO(hidehiko): Implement conditional enabling.
constexpr Optional() = default;
constexpr Optional(const Optional& other) = default;
constexpr Optional(Optional&& other) = default;
@@ -316,7 +374,6 @@ class Optional : public internal::Option
~Optional() = default;
// Defer copy-/move- assign operator implementation to OptionalBase.
- // TOOD(hidehiko): Implement conditional enabling.
Optional& operator=(const Optional& other) = default;
Optional& operator=(Optional&& other) = default;

@ -1,116 +0,0 @@
diff -up chromium-65.0.3325.146/base/optional.h.converting chromium-65.0.3325.146/base/optional.h
--- chromium-65.0.3325.146/base/optional.h.converting 2018-03-13 22:31:05.248797490 -0400
+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:33:10.826368771 -0400
@@ -31,6 +31,10 @@ constexpr in_place_t in_place = {};
// http://en.cppreference.com/w/cpp/utility/optional/nullopt
constexpr nullopt_t nullopt(0);
+// Forward declaration, which is refered by following helpers.
+template <typename T>
+class Optional;
+
namespace internal {
template <typename T, bool = std::is_trivially_destructible<T>::value>
@@ -220,6 +224,19 @@ class OptionalBase {
constexpr explicit OptionalBase(in_place_t, Args&&... args)
: storage_(in_place, std::forward<Args>(args)...) {}
+ // Implementation of converting constructors.
+ template <typename U>
+ explicit OptionalBase(const OptionalBase<U>& other) {
+ if (other.storage_.is_populated_)
+ storage_.Init(other.storage_.value_);
+ }
+
+ template <typename U>
+ explicit OptionalBase(OptionalBase<U>&& other) {
+ if (other.storage_.is_populated_)
+ storage_.Init(std::move(other.storage_.value_));
+ }
+
~OptionalBase() = default;
OptionalBase& operator=(const OptionalBase& other) {
@@ -263,6 +280,11 @@ class OptionalBase {
storage_.is_populated_ = false;
}
+ // For implementing conversion, allow access to other typed OptionalBase
+ // class.
+ template <typename U>
+ friend class OptionalBase;
+
OptionalStorage<T> storage_;
};
@@ -318,6 +340,20 @@ struct MoveAssignable<false> {
MoveAssignable& operator=(MoveAssignable&&) = delete;
};
+// Helper to conditionally enable converting constructors.
+template <typename T, typename U>
+struct IsConvertibleFromOptional
+ : std::integral_constant<
+ bool,
+ std::is_constructible<T, Optional<U>&>::value ||
+ std::is_constructible<T, const Optional<U>&>::value ||
+ std::is_constructible<T, Optional<U>&&>::value ||
+ std::is_constructible<T, const Optional<U>&&>::value ||
+ std::is_convertible<Optional<U>&, T>::value ||
+ std::is_convertible<const Optional<U>&, T>::value ||
+ std::is_convertible<Optional<U>&&, T>::value ||
+ std::is_convertible<const Optional<U>&&, T>::value> {};
+
} // namespace internal
// base::Optional is a Chromium version of the C++17 optional class:
@@ -348,7 +384,47 @@ class Optional
constexpr Optional(const Optional& other) = default;
constexpr Optional(Optional&& other) = default;
- constexpr Optional(nullopt_t) {}
+ constexpr Optional(nullopt_t) {} // NOLINT(runtime/explicit)
+
+ // Converting copy constructor. "explicit" only if
+ // std::is_convertible<const U&, T>::value is false. It is implemented by
+ // declaring two almost same constructors, but that condition in enable_if_t
+ // is different, so that either one is chosen, thanks to SFINAE.
+ template <
+ typename U,
+ std::enable_if_t<std::is_constructible<T, const U&>::value &&
+ !internal::IsConvertibleFromOptional<T, U>::value &&
+ std::is_convertible<const U&, T>::value,
+ bool> = false>
+ Optional(const Optional<U>& other) : internal::OptionalBase<T>(other) {}
+
+ template <
+ typename U,
+ std::enable_if_t<std::is_constructible<T, const U&>::value &&
+ !internal::IsConvertibleFromOptional<T, U>::value &&
+ !std::is_convertible<const U&, T>::value,
+ bool> = false>
+ explicit Optional(const Optional<U>& other)
+ : internal::OptionalBase<T>(other) {}
+
+ // Converting move constructor. Similar to converting copy constructor,
+ // declaring two (explicit and non-explicit) constructors.
+ template <
+ typename U,
+ std::enable_if_t<std::is_constructible<T, U&&>::value &&
+ !internal::IsConvertibleFromOptional<T, U>::value &&
+ std::is_convertible<U&&, T>::value,
+ bool> = false>
+ Optional(Optional<U>&& other) : internal::OptionalBase<T>(std::move(other)) {}
+
+ template <
+ typename U,
+ std::enable_if_t<std::is_constructible<T, U&&>::value &&
+ !internal::IsConvertibleFromOptional<T, U>::value &&
+ !std::is_convertible<U&&, T>::value,
+ bool> = false>
+ explicit Optional(Optional<U>&& other)
+ : internal::OptionalBase<T>(std::move(other)) {}
constexpr Optional(const T& value)
: internal::OptionalBase<T>(in_place, value) {}

@ -1,72 +0,0 @@
diff -up chromium-65.0.3325.146/base/optional.h.vforward chromium-65.0.3325.146/base/optional.h
--- chromium-65.0.3325.146/base/optional.h.vforward 2018-03-13 22:35:46.383359966 -0400
+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:37:48.724992995 -0400
@@ -354,6 +354,10 @@ struct IsConvertibleFromOptional
std::is_convertible<Optional<U>&&, T>::value ||
std::is_convertible<const Optional<U>&&, T>::value> {};
+// Forward compatibility for C++20.
+template <typename T>
+using RemoveCvRefT = std::remove_cv_t<std::remove_reference_t<T>>;
+
} // namespace internal
// base::Optional is a Chromium version of the C++17 optional class:
@@ -367,6 +371,13 @@ struct IsConvertibleFromOptional
// - 'constexpr' might be missing in some places for reasons specified locally.
// - No exceptions are thrown, because they are banned from Chromium.
// - All the non-members are in the 'base' namespace instead of 'std'.
+//
+// Note that T cannot have a constructor T(Optional<T>) etc. Optional<T> checks
+// T's constructor (specifically via IsConvertibleFromOptional), and in the
+// check whether T can be constructible from Optional<T>, which is recursive
+// so it does not work. As of Feb 2018, std::optional C++17 implementation in
+// both clang and gcc has same limitation. MSVC SFINAE looks to have different
+// behavior, but anyway it reports an error, too.
template <typename T>
class Optional
: public internal::OptionalBase<T>,
@@ -426,12 +437,6 @@ class Optional
explicit Optional(Optional<U>&& other)
: internal::OptionalBase<T>(std::move(other)) {}
- constexpr Optional(const T& value)
- : internal::OptionalBase<T>(in_place, value) {}
-
- constexpr Optional(T&& value)
- : internal::OptionalBase<T>(in_place, std::move(value)) {}
-
template <class... Args>
constexpr explicit Optional(in_place_t, Args&&... args)
: internal::OptionalBase<T>(in_place, std::forward<Args>(args)...) {}
@@ -447,6 +452,30 @@ class Optional
Args&&... args)
: internal::OptionalBase<T>(in_place, il, std::forward<Args>(args)...) {}
+ // Forward value constructor. Similar to converting constructors,
+ // conditionally explicit.
+ template <
+ typename U = value_type,
+ std::enable_if_t<
+ std::is_constructible<T, U&&>::value &&
+ !std::is_same<internal::RemoveCvRefT<U>, in_place_t>::value &&
+ !std::is_same<internal::RemoveCvRefT<U>, Optional<T>>::value &&
+ std::is_convertible<U&&, T>::value,
+ bool> = false>
+ constexpr Optional(U&& value)
+ : internal::OptionalBase<T>(in_place, std::forward<U>(value)) {}
+
+ template <
+ typename U = value_type,
+ std::enable_if_t<
+ std::is_constructible<T, U&&>::value &&
+ !std::is_same<internal::RemoveCvRefT<U>, in_place_t>::value &&
+ !std::is_same<internal::RemoveCvRefT<U>, Optional<T>>::value &&
+ !std::is_convertible<U&&, T>::value,
+ bool> = false>
+ constexpr explicit Optional(U&& value)
+ : internal::OptionalBase<T>(in_place, std::forward<U>(value)) {}
+
~Optional() = default;
// Defer copy-/move- assign operator implementation to OptionalBase.

@ -1,144 +0,0 @@
diff -up chromium-65.0.3325.146/base/optional.h.ncnm chromium-65.0.3325.146/base/optional.h
--- chromium-65.0.3325.146/base/optional.h.ncnm 2018-03-13 22:40:11.743226276 -0400
+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:44:30.948211358 -0400
@@ -240,37 +240,37 @@ class OptionalBase {
~OptionalBase() = default;
OptionalBase& operator=(const OptionalBase& other) {
- if (!other.storage_.is_populated_) {
- FreeIfNeeded();
- return *this;
- }
-
- InitOrAssign(other.storage_.value_);
+ CopyAssign(other);
return *this;
}
OptionalBase& operator=(OptionalBase&& other) {
- if (!other.storage_.is_populated_) {
- FreeIfNeeded();
- return *this;
- }
-
- InitOrAssign(std::move(other.storage_.value_));
+ MoveAssign(std::move(other));
return *this;
}
- void InitOrAssign(const T& value) {
- if (!storage_.is_populated_)
- storage_.Init(value);
+ template <typename U>
+ void CopyAssign(const OptionalBase<U>& other) {
+ if (other.storage_.is_populated_)
+ InitOrAssign(other.storage_.value_);
else
- storage_.value_ = value;
+ FreeIfNeeded();
}
- void InitOrAssign(T&& value) {
- if (!storage_.is_populated_)
- storage_.Init(std::move(value));
+ template <typename U>
+ void MoveAssign(OptionalBase<U>&& other) {
+ if (other.storage_.is_populated_)
+ InitOrAssign(std::move(other.storage_.value_));
+ else
+ FreeIfNeeded();
+ }
+
+ template <typename U>
+ void InitOrAssign(U&& value) {
+ if (storage_.is_populated_)
+ storage_.value_ = std::forward<U>(value);
else
- storage_.value_ = std::move(value);
+ storage_.Init(std::forward<U>(value));
}
void FreeIfNeeded() {
@@ -340,7 +340,7 @@ struct MoveAssignable<false> {
MoveAssignable& operator=(MoveAssignable&&) = delete;
};
-// Helper to conditionally enable converting constructors.
+// Helper to conditionally enable converting constructors and assign operators.
template <typename T, typename U>
struct IsConvertibleFromOptional
: std::integral_constant<
@@ -354,6 +354,16 @@ struct IsConvertibleFromOptional
std::is_convertible<Optional<U>&&, T>::value ||
std::is_convertible<const Optional<U>&&, T>::value> {};
+template <typename T, typename U>
+struct IsAssignableFromOptional
+ : std::integral_constant<
+ bool,
+ IsConvertibleFromOptional<T, U>::value ||
+ std::is_assignable<T&, Optional<U>&>::value ||
+ std::is_assignable<T&, const Optional<U>&>::value ||
+ std::is_assignable<T&, Optional<U>&&>::value ||
+ std::is_assignable<T&, const Optional<U>&&>::value> {};
+
// Forward compatibility for C++20.
template <typename T>
using RemoveCvRefT = std::remove_cv_t<std::remove_reference_t<T>>;
@@ -487,14 +497,42 @@ class Optional
return *this;
}
- template <class U>
- typename std::enable_if<std::is_same<std::decay_t<U>, T>::value,
- Optional&>::type
+ // Perfect-forwarded assignment.
+ template <typename U>
+ std::enable_if_t<
+ !std::is_same<internal::RemoveCvRefT<U>, Optional<T>>::value &&
+ std::is_constructible<T, U>::value &&
+ std::is_assignable<T&, U>::value &&
+ (!std::is_scalar<T>::value ||
+ !std::is_same<std::decay_t<U>, T>::value),
+ Optional&>
operator=(U&& value) {
InitOrAssign(std::forward<U>(value));
return *this;
}
+// Copy assign the state of other.
+ template <typename U>
+ std::enable_if_t<!internal::IsAssignableFromOptional<T, U>::value &&
+ std::is_constructible<T, const U&>::value &&
+ std::is_assignable<T&, const U&>::value,
+ Optional&>
+ operator=(const Optional<U>& other) {
+ CopyAssign(other);
+ return *this;
+ }
+
+ // Move assign the state of other.
+ template <typename U>
+ std::enable_if_t<!internal::IsAssignableFromOptional<T, U>::value &&
+ std::is_constructible<T, U>::value &&
+ std::is_assignable<T&, U>::value,
+ Optional&>
+ operator=(Optional<U>&& other) {
+ MoveAssign(std::move(other));
+ return *this;
+ }
+
constexpr const T* operator->() const {
DCHECK(storage_.is_populated_);
return &value();
@@ -606,8 +644,10 @@ class Optional
private:
// Accessing template base class's protected member needs explicit
// declaration to do so.
+ using internal::OptionalBase<T>::CopyAssign;
using internal::OptionalBase<T>::FreeIfNeeded;
using internal::OptionalBase<T>::InitOrAssign;
+ using internal::OptionalBase<T>::MoveAssign;
using internal::OptionalBase<T>::storage_;
};

@ -1,265 +0,0 @@
diff -up chromium-65.0.3325.146/base/optional.h.affirmative chromium-65.0.3325.146/base/optional.h
--- chromium-65.0.3325.146/base/optional.h.affirmative 2018-03-13 22:27:29.451969704 -0400
+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:27:57.031436045 -0400
@@ -41,7 +41,7 @@ struct OptionalStorageBase {
template <class... Args>
constexpr explicit OptionalStorageBase(in_place_t, Args&&... args)
- : is_null_(false), value_(std::forward<Args>(args)...) {}
+ : is_populated_(true), value_(std::forward<Args>(args)...) {}
// When T is not trivially destructible we must call its
// destructor before deallocating its memory.
@@ -55,18 +55,18 @@ struct OptionalStorageBase {
// necessary for this case at the moment. Please see also the destructor
// comment in "is_trivially_destructible = true" specialization below.
~OptionalStorageBase() {
- if (!is_null_)
+ if (is_populated_)
value_.~T();
}
template <class... Args>
void Init(Args&&... args) {
- DCHECK(is_null_);
+ DCHECK(!is_populated_);
::new (&value_) T(std::forward<Args>(args)...);
- is_null_ = false;
+ is_populated_ = true;
}
- bool is_null_ = true;
+ bool is_populated_ = false;
union {
// |empty_| exists so that the union will always be initialized, even when
// it doesn't contain a value. Union members must be initialized for the
@@ -84,7 +84,7 @@ struct OptionalStorageBase<T, true /* tr
template <class... Args>
constexpr explicit OptionalStorageBase(in_place_t, Args&&... args)
- : is_null_(false), value_(std::forward<Args>(args)...) {}
+ : is_populated_(true), value_(std::forward<Args>(args)...) {}
// When T is trivially destructible (i.e. its destructor does nothing) there
// is no need to call it. Implicitly defined destructor is trivial, because
@@ -102,12 +102,12 @@ struct OptionalStorageBase<T, true /* tr
template <class... Args>
void Init(Args&&... args) {
- DCHECK(is_null_);
+ DCHECK(!is_populated_);
::new (&value_) T(std::forward<Args>(args)...);
- is_null_ = false;
+ is_populated_ = true;
}
- bool is_null_ = true;
+ bool is_populated_ = false;
union {
// |empty_| exists so that the union will always be initialized, even when
// it doesn't contain a value. Union members must be initialized for the
@@ -133,7 +133,7 @@ struct OptionalStorage : OptionalStorage
// Accessing the members of template base class requires explicit
// declaration.
- using OptionalStorageBase<T>::is_null_;
+ using OptionalStorageBase<T>::is_populated_;
using OptionalStorageBase<T>::value_;
using OptionalStorageBase<T>::Init;
@@ -145,12 +145,12 @@ struct OptionalStorage : OptionalStorage
OptionalStorage() = default;
OptionalStorage(const OptionalStorage& other) {
- if (!other.is_null_)
+ if (other.is_populated_)
Init(other.value_);
}
OptionalStorage(OptionalStorage&& other) {
- if (!other.is_null_)
+ if (other.is_populated_)
Init(std::move(other.value_));
}
};
@@ -160,7 +160,7 @@ struct OptionalStorage<T,
true /* trivially copy constructible */,
false /* trivially move constructible */>
: OptionalStorageBase<T> {
- using OptionalStorageBase<T>::is_null_;
+ using OptionalStorageBase<T>::is_populated_;
using OptionalStorageBase<T>::value_;
using OptionalStorageBase<T>::Init;
using OptionalStorageBase<T>::OptionalStorageBase;
@@ -169,7 +169,7 @@ struct OptionalStorage<T,
OptionalStorage(const OptionalStorage& other) = default;
OptionalStorage(OptionalStorage&& other) {
- if (!other.is_null_)
+ if (other.is_populated_)
Init(std::move(other.value_));
}
};
@@ -179,7 +179,7 @@ struct OptionalStorage<T,
false /* trivially copy constructible */,
true /* trivially move constructible */>
: OptionalStorageBase<T> {
- using OptionalStorageBase<T>::is_null_;
+ using OptionalStorageBase<T>::is_populated_;
using OptionalStorageBase<T>::value_;
using OptionalStorageBase<T>::Init;
using OptionalStorageBase<T>::OptionalStorageBase;
@@ -188,7 +188,7 @@ struct OptionalStorage<T,
OptionalStorage(OptionalStorage&& other) = default;
OptionalStorage(const OptionalStorage& other) {
- if (!other.is_null_)
+ if (other.is_populated_)
Init(other.value_);
}
};
@@ -223,7 +223,7 @@ class OptionalBase {
~OptionalBase() = default;
OptionalBase& operator=(const OptionalBase& other) {
- if (other.storage_.is_null_) {
+ if (!other.storage_.is_populated_) {
FreeIfNeeded();
return *this;
}
@@ -233,7 +233,7 @@ class OptionalBase {
}
OptionalBase& operator=(OptionalBase&& other) {
- if (other.storage_.is_null_) {
+ if (!other.storage_.is_populated_) {
FreeIfNeeded();
return *this;
}
@@ -243,24 +243,24 @@ class OptionalBase {
}
void InitOrAssign(const T& value) {
- if (storage_.is_null_)
+ if (!storage_.is_populated_)
storage_.Init(value);
else
storage_.value_ = value;
}
void InitOrAssign(T&& value) {
- if (storage_.is_null_)
+ if (!storage_.is_populated_)
storage_.Init(std::move(value));
else
storage_.value_ = std::move(value);
}
void FreeIfNeeded() {
- if (storage_.is_null_)
+ if (!storage_.is_populated_)
return;
storage_.value_.~T();
- storage_.is_null_ = true;
+ storage_.is_populated_ = false;
}
OptionalStorage<T> storage_;
@@ -334,12 +334,12 @@ class Optional : public internal::Option
}
constexpr const T* operator->() const {
- DCHECK(!storage_.is_null_);
+ DCHECK(storage_.is_populated_);
return &value();
}
constexpr T* operator->() {
- DCHECK(!storage_.is_null_);
+ DCHECK(storage_.is_populated_);
return &value();
}
@@ -351,27 +351,27 @@ class Optional : public internal::Option
constexpr T&& operator*() && { return std::move(value()); }
- constexpr explicit operator bool() const { return !storage_.is_null_; }
+ constexpr explicit operator bool() const { return storage_.is_populated_; }
- constexpr bool has_value() const { return !storage_.is_null_; }
+ constexpr bool has_value() const { return storage_.is_populated_; }
constexpr T& value() & {
- DCHECK(!storage_.is_null_);
+ DCHECK(storage_.is_populated_);
return storage_.value_;
}
constexpr const T& value() const & {
- DCHECK(!storage_.is_null_);
+ DCHECK(storage_.is_populated_);
return storage_.value_;
}
constexpr T&& value() && {
- DCHECK(!storage_.is_null_);
+ DCHECK(storage_.is_populated_);
return std::move(storage_.value_);
}
constexpr const T&& value() const && {
- DCHECK(!storage_.is_null_);
+ DCHECK(storage_.is_populated_);
return std::move(storage_.value_);
}
@@ -382,8 +382,9 @@ class Optional : public internal::Option
// "T must be copy constructible");
static_assert(std::is_convertible<U, T>::value,
"U must be convertible to T");
- return storage_.is_null_ ? static_cast<T>(std::forward<U>(default_value))
- : value();
+ return storage_.is_populated_
+ ? value()
+ : static_cast<T>(std::forward<U>(default_value));
}
template <class U>
@@ -393,26 +394,27 @@ class Optional : public internal::Option
// "T must be move constructible");
static_assert(std::is_convertible<U, T>::value,
"U must be convertible to T");
- return storage_.is_null_ ? static_cast<T>(std::forward<U>(default_value))
- : std::move(value());
+ return storage_.is_populated_
+ ? std::move(value())
+ : static_cast<T>(std::forward<U>(default_value));
}
void swap(Optional& other) {
- if (storage_.is_null_ && other.storage_.is_null_)
+ if (!storage_.is_populated_ && !other.storage_.is_populated_)
return;
- if (storage_.is_null_ != other.storage_.is_null_) {
- if (storage_.is_null_) {
- storage_.Init(std::move(other.storage_.value_));
- other.FreeIfNeeded();
- } else {
+ if (storage_.is_populated_ != other.storage_.is_populated_) {
+ if (storage_.is_populated_) {
other.storage_.Init(std::move(storage_.value_));
FreeIfNeeded();
+ } else {
+ storage_.Init(std::move(other.storage_.value_));
+ other.FreeIfNeeded();
}
return;
}
- DCHECK(!storage_.is_null_ && !other.storage_.is_null_);
+ DCHECK(storage_.is_populated_ && other.storage_.is_populated_);
using std::swap;
swap(**this, *other);
}

@ -1,74 +0,0 @@
diff -up chromium-65.0.3325.146/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-65.0.3325.146/gpu/ipc/common/mailbox_struct_traits.h
--- chromium-65.0.3325.146/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2018-03-06 18:04:32.000000000 -0500
+++ chromium-65.0.3325.146/gpu/ipc/common/mailbox_struct_traits.h 2018-03-07 10:42:07.198179638 -0500
@@ -15,7 +15,7 @@ namespace mojo {
template <>
struct StructTraits<gpu::mojom::MailboxDataView, gpu::Mailbox> {
static base::span<const int8_t> name(const gpu::Mailbox& mailbox) {
- return mailbox.name;
+ return base::make_span(mailbox.name);
}
static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out);
};
diff -up chromium-65.0.3325.146/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 chromium-65.0.3325.146/services/viz/public/cpp/compositing/filter_operation_struct_traits.h
--- chromium-65.0.3325.146/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 2018-03-06 18:04:37.000000000 -0500
+++ chromium-65.0.3325.146/services/viz/public/cpp/compositing/filter_operation_struct_traits.h 2018-03-07 10:42:07.198179638 -0500
@@ -138,7 +138,7 @@ struct StructTraits<viz::mojom::FilterOp
static base::span<const float> matrix(const cc::FilterOperation& operation) {
if (operation.type() != cc::FilterOperation::COLOR_MATRIX)
return base::span<const float>();
- return operation.matrix();
+ return base::make_span(operation.matrix());
}
static base::span<const gfx::Rect> shape(
diff -up chromium-65.0.3325.146/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-65.0.3325.146/services/viz/public/cpp/compositing/quads_struct_traits.h
--- chromium-65.0.3325.146/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2018-03-06 18:04:37.000000000 -0500
+++ chromium-65.0.3325.146/services/viz/public/cpp/compositing/quads_struct_traits.h 2018-03-07 10:42:07.198179638 -0500
@@ -308,7 +308,7 @@ struct StructTraits<viz::mojom::TextureQ
static base::span<const float> vertex_opacity(const viz::DrawQuad& input) {
const viz::TextureDrawQuad* quad =
viz::TextureDrawQuad::MaterialCast(&input);
- return quad->vertex_opacity;
+ return base::make_span(quad->vertex_opacity);
}
static bool y_flipped(const viz::DrawQuad& input) {
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
--- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 2018-03-06 18:05:06.000000000 -0500
+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h 2018-03-07 10:48:53.996093882 -0500
@@ -62,7 +62,7 @@ class WTF_EXPORT ArrayBufferContents {
allocation_length_(length),
data_(data),
data_length_(length),
- kind_(AllocationKind::kNormal),
+ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal),
deleter_(deleter) {}
DataHandle(void* allocation_base,
size_t allocation_length,
@@ -93,11 +93,11 @@ class WTF_EXPORT ArrayBufferContents {
reinterpret_cast<uintptr_t>(allocation_base_) +
allocation_length_);
switch (kind_) {
- case AllocationKind::kNormal:
+ case WTF::ArrayBufferContents::AllocationKind::kNormal:
DCHECK(deleter_);
deleter_(data_);
return;
- case AllocationKind::kReservation:
+ case WTF::ArrayBufferContents::AllocationKind::kReservation:
ReleaseReservedMemory(allocation_base_, allocation_length_);
return;
}
diff -up chromium-65.0.3325.146/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-65.0.3325.146/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc
--- chromium-65.0.3325.146/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2018-03-06 18:06:09.000000000 -0500
+++ chromium-65.0.3325.146/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2018-03-07 10:42:07.199179616 -0500
@@ -10,7 +10,7 @@
#include "modules/audio_processing/aec3/aec_state.h"
-#include <math.h>
+#include <cmath>
#include <numeric>
#include <vector>

@ -1,11 +0,0 @@
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 chromium-65.0.3325.146/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h
--- chromium-65.0.3325.146/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 2018-03-07 10:34:48.783900894 -0500
+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2018-03-07 10:35:44.885638503 -0500
@@ -5,6 +5,7 @@
#ifndef SharedGpuContext_h
#define SharedGpuContext_h
+#include <functional>
#include <memory>
#include "base/callback.h"
#include "base/memory/weak_ptr.h"

@ -1,55 +0,0 @@
diff -up chromium-65.0.3325.146/base/optional.h.784732 chromium-65.0.3325.146/base/optional.h
--- chromium-65.0.3325.146/base/optional.h.784732 2018-03-07 13:40:00.103579631 -0500
+++ chromium-65.0.3325.146/base/optional.h 2018-03-07 13:41:08.950323996 -0500
@@ -9,6 +9,7 @@
#include <utility>
#include "base/logging.h"
+#include "base/template_util.h"
namespace base {
@@ -106,7 +107,7 @@ struct OptionalStorageBase<T, true /* tr
// compiler generated constexpr {copy,move} constructors). Note that
// placement-new is prohibited in constexpr.
template <typename T,
- bool = std::is_trivially_copy_constructible<T>::value,
+ bool = is_trivially_copy_constructible<T>::value,
bool = std::is_trivially_move_constructible<T>::value>
struct OptionalStorage : OptionalStorageBase<T> {
// This is no trivially {copy,move} constructible case. Other cases are
diff -up chromium-65.0.3325.146/base/template_util.h.784732 chromium-65.0.3325.146/base/template_util.h
--- chromium-65.0.3325.146/base/template_util.h.784732 2018-03-07 13:41:19.479131969 -0500
+++ chromium-65.0.3325.146/base/template_util.h 2018-03-07 13:42:41.308639551 -0500
@@ -10,6 +10,7 @@
#include <iterator>
#include <type_traits>
#include <utility>
+#include <vector>
#include "build/build_config.h"
@@ -127,6 +128,23 @@ template <class T>
using is_trivially_copyable = std::is_trivially_copyable<T>;
#endif
+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7
+// Workaround for g++7 and earlier family.
+// Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654, without this
+// Optional<std::vector<T>> where T is non-copyable causes a compile error.
+// As we know it is not trivially copy constructible, explicitly declare so.
+template <typename T>
+struct is_trivially_copy_constructible
+ : std::is_trivially_copy_constructible<T> {};
+
+template <typename... T>
+struct is_trivially_copy_constructible<std::vector<T...>> : std::false_type {};
+#else
+// Otherwise use std::is_trivially_copy_constructible as is.
+template <typename T>
+using is_trivially_copy_constructible = std::is_trivially_copy_constructible<T>;
+#endif
+
} // namespace base
#undef CR_USE_FALLBACKS_FOR_GCC_WITH_LIBCXX

@ -1,61 +0,0 @@
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/heap/TraceTraits.h.oilpan chromium-65.0.3325.146/third_party/WebKit/Source/platform/heap/TraceTraits.h
--- chromium-65.0.3325.146/third_party/WebKit/Source/platform/heap/TraceTraits.h.oilpan 2018-03-13 16:45:40.613426445 -0400
+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/heap/TraceTraits.h 2018-03-13 16:45:49.946244905 -0400
@@ -18,6 +18,7 @@
#include "platform/wtf/HashTable.h"
#include "platform/wtf/LinkedHashSet.h"
#include "platform/wtf/ListHashSet.h"
+#include "platform/wtf/Optional.h"
#include "platform/wtf/TypeTraits.h"
namespace blink {
@@ -325,6 +326,23 @@ class TraceTrait<std::pair<T, U>> {
}
};
+// While using Optional<T> with garbage-collected types is generally disallowed
+// by the OptionalGarbageCollected check in blink_gc_plugin, garbage-collected
+// containers such as HeapVector are allowed and need to be traced.
+template <typename T>
+class TraceTrait<WTF::Optional<T>> {
+ STATIC_ONLY(TraceTrait);
+
+ public:
+ template <typename VisitorDispatcher>
+ static void Trace(VisitorDispatcher visitor, WTF::Optional<T>* optional) {
+ if (*optional != WTF::nullopt) {
+ TraceIfEnabled<T, WTF::IsTraceable<T>::value>::Trace(visitor,
+ optional->value());
+ }
+ }
+};
+
// If eager tracing leads to excessively deep |trace()| call chains (and
// the system stack usage that this brings), the marker implementation will
// switch to using an explicit mark stack. Recursive and deep object graphs
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.oilpan chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h
--- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.oilpan 2018-03-13 16:46:01.683015951 -0400
+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h 2018-03-13 16:46:51.632043375 -0400
@@ -7,20 +7,15 @@
#include "base/optional.h"
#include "platform/wtf/TemplateUtil.h"
-#include "platform/wtf/TypeTraits.h"
namespace WTF {
// WTF::Optional is base::Optional. See base/optional.h for documentation.
//
// A clang plugin enforces that garbage collected types are not allocated
-// outside of the heap, similarly we enforce that one doesn't create garbage
-// collected types nested inside an Optional.
+// outside of the heap. GC containers such as HeapVector are allowed though.
template <typename T>
-using Optional =
- typename std::enable_if<!IsGarbageCollectedType<T>::value ||
- IsPersistentReferenceType<T>::value,
- base::Optional<T>>::type;
+using Optional = base::Optional<T>;
constexpr base::nullopt_t nullopt = base::nullopt;
constexpr base::in_place_t in_place = base::in_place;

@ -1,54 +0,0 @@
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS.jdp chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS
--- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS.jdp 2018-03-07 13:54:42.653286576 -0500
+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS 2018-03-07 13:55:00.973903591 -0500
@@ -16,6 +16,7 @@ include_rules = [
"+base/process/process_metrics.h",
"+base/rand_util.h",
"+base/strings",
+ "+base/template_util.h",
"+base/threading/thread_checker.h",
"+base/time/time.h",
"+base/tuple.h",
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.jdp chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h
--- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.jdp 2018-03-07 13:56:29.053062331 -0500
+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h 2018-03-07 13:56:36.595904651 -0500
@@ -6,6 +6,7 @@
#define Optional_h
#include "base/optional.h"
+#include "platform/wtf/TemplateUtil.h"
#include "platform/wtf/TypeTraits.h"
namespace WTF {
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.jdp chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h
--- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.jdp 2018-03-07 13:56:47.356679702 -0500
+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h 2018-03-07 13:57:41.769542223 -0500
@@ -0,0 +1,28 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef TemplateUtil_h
+#define TemplateUtil_h
+
+#include "base/template_util.h"
+#include "platform/wtf/Vector.h"
+
+namespace base {
+
+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7
+// Workaround for g++7 and earlier family.
+// Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654, without this
+// Optional<WTF::Vector<T>> where T is non-copyable causes a compile error.
+// As we know it is not trivially copy constructible, explicitly declare so.
+//
+// It completes the declaration in base/template_util.h that was provided
+// for std::vector
+template <typename T>
+struct is_trivially_copy_constructible<WTF::Vector<T>> : std::false_type {};
+#endif
+
+} // namespace base
+
+#endif // TemplateUtil_h
+

@ -1,36 +0,0 @@
diff -up chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h
--- chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2018-03-15 13:07:54.999428755 -0400
+++ chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2018-03-15 13:08:21.270794252 -0400
@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo {
bool is_valid() const { return handle_.is_valid(); }
- explicit operator bool() const { return handle_; }
+ explicit operator bool() const { return (bool) handle_; }
ScopedInterfaceEndpointHandle PassHandle() {
return std::move(handle_);
diff -up chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h
--- chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2018-03-15 13:07:09.680523296 -0400
+++ chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h 2018-03-15 13:07:44.429684037 -0400
@@ -50,7 +50,7 @@ class AssociatedInterfaceRequest {
// handle.
bool is_pending() const { return handle_.is_valid(); }
- explicit operator bool() const { return handle_; }
+ explicit operator bool() const { return (bool) handle_; }
ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); }
diff -up chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h.boolfix chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h
--- chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h.boolfix 2018-03-15 13:08:33.494499025 -0400
+++ chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h 2018-03-15 13:10:39.218462546 -0400
@@ -54,7 +54,7 @@ class InterfaceRequest {
// Indicates whether the request currently contains a valid message pipe.
bool is_pending() const { return handle_.is_valid(); }
- explicit operator bool() const { return handle_; }
+ explicit operator bool() const { return (bool) handle_; }
// Removes the message pipe from the request and returns it.
ScopedMessagePipeHandle PassMessagePipe() { return std::move(handle_); }

@ -1,12 +0,0 @@
diff -up chromium-65.0.3325.162/build/config/posix/BUILD.gn.epel7 chromium-65.0.3325.162/build/config/posix/BUILD.gn
--- chromium-65.0.3325.162/build/config/posix/BUILD.gn.epel7 2018-03-20 16:14:42.425926323 -0400
+++ chromium-65.0.3325.162/build/config/posix/BUILD.gn 2018-03-20 16:15:10.150152245 -0400
@@ -74,6 +74,8 @@ config("runtime_library") {
"rt",
]
}
+ } else {
+ libs += [ "stdc++" ]
}
if (!is_mac && !is_ios && sysroot != "") {

@ -1,21 +0,0 @@
diff -up chromium-65.0.3325.162/third_party/skia/src/jumper/SkJumper_stages.cpp.aarch64fix chromium-65.0.3325.162/third_party/skia/src/jumper/SkJumper_stages.cpp
--- chromium-65.0.3325.162/third_party/skia/src/jumper/SkJumper_stages.cpp.aarch64fix 2018-03-15 15:27:35.201345844 -0400
+++ chromium-65.0.3325.162/third_party/skia/src/jumper/SkJumper_stages.cpp 2018-03-15 15:31:30.471777400 -0400
@@ -666,7 +666,7 @@ SI F approx_powf(F x, F y) {
}
SI F from_half(U16 h) {
-#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !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)
@@ -686,7 +686,7 @@ SI F from_half(U16 h) {
}
SI U16 to_half(F f) {
-#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !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)

@ -1,33 +0,0 @@
diff -up chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h.gcc-full-decl chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h
--- chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h.gcc-full-decl 2018-04-25 16:29:52.372692179 -0400
+++ chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h 2018-04-25 16:31:15.698058409 -0400
@@ -21,9 +21,9 @@
#include "services/preferences/public/mojom/preferences.mojom.h"
#include "services/preferences/tracked/hash_store_contents.h"
#include "services/preferences/tracked/interceptable_pref_filter.h"
+#include "services/preferences/tracked/pref_hash_store.h"
#include "services/preferences/tracked/tracked_preference.h"
-class PrefHashStore;
class PrefService;
namespace base {
diff -up chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.gcc-full-decl chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h
--- chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.gcc-full-decl 2018-04-17 21:05:12.000000000 -0400
+++ chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h 2018-04-25 16:29:52.373692159 -0400
@@ -30,6 +30,7 @@
#include <memory>
#include "modules/webdatabase/DatabaseBasicTypes.h"
+#include "modules/webdatabase/SQLError.h"
#include "modules/webdatabase/SQLStatement.h"
#include "modules/webdatabase/SQLStatementBackend.h"
#include "modules/webdatabase/SQLTransactionStateMachine.h"
@@ -41,7 +42,6 @@
namespace blink {
class Database;
-class SQLErrorData;
class SQLiteTransaction;
class SQLTransaction;
class SQLTransactionBackend;

@ -1,12 +0,0 @@
diff -up chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc.flatsetfix chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc
--- chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc.flatsetfix 2018-04-30 14:22:23.997461566 -0400
+++ chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc 2018-04-30 14:22:51.867920383 -0400
@@ -368,7 +368,7 @@ SupervisedUserURLFilter::GetFilteringBeh
// Allow navigations to whitelisted origins (currently families.google.com).
static const base::NoDestructor<base::flat_set<GURL>> kWhitelistedOrigins(
- {GURL(kFamiliesUrl).GetOrigin()});
+ base::flat_set<GURL>({GURL(kFamiliesUrl).GetOrigin()}));
if (base::ContainsKey(*kWhitelistedOrigins, effective_url.GetOrigin()))
return ALLOW;

@ -1,49 +0,0 @@
diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider.cc.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider.cc
--- chromium-66.0.3359.117/cc/raster/playback_image_provider.cc.copycon 2018-04-23 13:22:43.109126071 -0400
+++ chromium-66.0.3359.117/cc/raster/playback_image_provider.cc 2018-04-23 13:23:55.761704938 -0400
@@ -20,7 +20,7 @@ void UnrefImageFromCache(DrawImage draw_
PlaybackImageProvider::PlaybackImageProvider(
ImageDecodeCache* cache,
const gfx::ColorSpace& target_color_space,
- base::Optional<Settings> settings)
+ base::Optional<Settings>&& settings)
: cache_(cache),
target_color_space_(target_color_space),
settings_(std::move(settings)) {
@@ -70,7 +70,10 @@ PlaybackImageProvider::GetDecodedDrawIma
}
PlaybackImageProvider::Settings::Settings() = default;
-PlaybackImageProvider::Settings::Settings(const Settings& other) = default;
+PlaybackImageProvider::Settings::Settings(PlaybackImageProvider::Settings&&) =
+ default;
PlaybackImageProvider::Settings::~Settings() = default;
+PlaybackImageProvider::Settings& PlaybackImageProvider::Settings::operator=(
+ PlaybackImageProvider::Settings&&) = default;
} // namespace cc
diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider.h.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider.h
--- chromium-66.0.3359.117/cc/raster/playback_image_provider.h.copycon 2018-04-23 13:24:07.699471148 -0400
+++ chromium-66.0.3359.117/cc/raster/playback_image_provider.h 2018-04-23 13:24:57.080506348 -0400
@@ -20,8 +20,10 @@ class CC_EXPORT PlaybackImageProvider :
public:
struct CC_EXPORT Settings {
Settings();
- Settings(const Settings& other);
+ Settings(const Settings&) = delete;
+ Settings(Settings&&);
~Settings();
+ Settings& operator=(Settings&&);
// The set of image ids to skip during raster.
PaintImageIdFlatSet images_to_skip;
@@ -34,7 +36,7 @@ class CC_EXPORT PlaybackImageProvider :
// If no settings are provided, all images are skipped during rasterization.
PlaybackImageProvider(ImageDecodeCache* cache,
const gfx::ColorSpace& target_color_space,
- base::Optional<Settings> settings);
+ base::Optional<Settings>&& settings);
~PlaybackImageProvider() override;
PlaybackImageProvider(PlaybackImageProvider&& other);
diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider_unittest.cc.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider_unittest.cc

@ -1,45 +0,0 @@
diff -up chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc.gccomove chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc
--- chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc.gccomove 2018-04-23 12:53:32.419477463 -0400
+++ chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc 2018-04-23 12:54:02.497887258 -0400
@@ -639,7 +639,7 @@ AppCacheRequestHandler::MaybeCreateSubre
SubresourceLoaderParams params;
params.loader_factory_info = factory_ptr.PassInterface();
- return params;
+ return base::Optional<SubresourceLoaderParams>(std::move(params));
}
void AppCacheRequestHandler::MaybeCreateSubresourceLoader(
diff -up chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc.gccomove chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc
--- chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc.gccomove 2018-04-23 12:54:16.614610083 -0400
+++ chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc 2018-04-23 12:54:38.401182827 -0400
@@ -271,7 +271,7 @@ ServiceWorkerControlleeRequestHandler::M
controller_info->object_info = provider_host_->GetOrCreateServiceWorkerHandle(
provider_host_->controller());
params.controller_service_worker_info = std::move(controller_info);
- return params;
+ return base::Optional<SubresourceLoaderParams>(std::move(params));
}
void ServiceWorkerControlleeRequestHandler::PrepareForMainResource(
diff -up chromium-66.0.3359.117/device/fido/device_response_converter.cc.gccomove chromium-66.0.3359.117/device/fido/device_response_converter.cc
--- chromium-66.0.3359.117/device/fido/device_response_converter.cc.gccomove 2018-04-23 12:54:51.452926482 -0400
+++ chromium-66.0.3359.117/device/fido/device_response_converter.cc 2018-04-23 12:55:24.248283058 -0400
@@ -121,7 +121,7 @@ base::Optional<AuthenticatorGetAssertion
response.SetNumCredentials(it->second.GetUnsigned());
}
- return response;
+ return base::Optional<AuthenticatorGetAssertionResponse>(std::move(response));
}
base::Optional<AuthenticatorGetInfoResponse> ReadCTAPGetInfoResponse(
@@ -241,7 +241,7 @@ base::Optional<AuthenticatorGetInfoRespo
response.SetPinProtocols(std::move(supported_pin_protocols));
}
- return response;
+ return base::Optional<AuthenticatorGetInfoResponse>(std::move(response));
}
} // namespace device

@ -1,53 +0,0 @@
diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS.944404 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS
--- chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS.944404 2018-04-23 14:18:43.702116916 -0400
+++ chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS 2018-04-23 14:19:05.854680223 -0400
@@ -16,6 +16,7 @@ include_rules = [
"+base/process/process_metrics.h",
"+base/rand_util.h",
"+base/strings",
+ "+base/template_util.h",
"+base/threading/thread_checker.h",
"+base/time/time.h",
"+base/tuple.h",
diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h.944404 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h
--- chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h.944404 2018-04-23 14:20:05.718499685 -0400
+++ chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h 2018-04-23 14:20:18.165253615 -0400
@@ -6,6 +6,7 @@
#define Optional_h
#include "base/optional.h"
+#include "platform/wtf/TemplateUtil.h"
namespace WTF {
diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.944404 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h
--- chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.944404 2018-04-23 14:20:31.660987877 -0400
+++ chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h 2018-04-23 14:21:40.276637297 -0400
@@ -0,0 +1,27 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef TemplateUtil_h
+#define TemplateUtil_h
+
+#include "base/template_util.h"
+#include "platform/wtf/Vector.h"
+
+namespace base {
+
+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7
+// Workaround for g++7 and earlier family.
+// Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654, without this
+// Optional<WTF::Vector<T>> where T is non-copyable causes a compile error.
+// As we know it is not trivially copy constructible, explicitly declare so.
+//
+// It completes the declaration in base/template_util.h that was provided
+// for std::vector
+template <typename T>
+struct is_trivially_copy_constructible<WTF::Vector<T>> : std::false_type {};
+#endif
+
+} // namespace base
+
+#endif // TemplateUtil_h

@ -1,38 +0,0 @@
diff -up chromium-66.0.3359.117/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-66.0.3359.117/gpu/ipc/common/mailbox_struct_traits.h
--- chromium-66.0.3359.117/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2018-04-17 21:04:33.000000000 -0400
+++ chromium-66.0.3359.117/gpu/ipc/common/mailbox_struct_traits.h 2018-04-18 12:12:40.065663210 -0400
@@ -15,7 +15,7 @@ namespace mojo {
template <>
struct StructTraits<gpu::mojom::MailboxDataView, gpu::Mailbox> {
static base::span<const int8_t> name(const gpu::Mailbox& mailbox) {
- return mailbox.name;
+ return base::make_span(mailbox.name);
}
static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out);
};
diff -up chromium-66.0.3359.117/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 chromium-66.0.3359.117/services/viz/public/cpp/compositing/filter_operation_struct_traits.h
diff -up chromium-66.0.3359.117/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-66.0.3359.117/services/viz/public/cpp/compositing/quads_struct_traits.h
--- chromium-66.0.3359.117/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2018-04-17 21:04:43.000000000 -0400
+++ chromium-66.0.3359.117/services/viz/public/cpp/compositing/quads_struct_traits.h 2018-04-18 12:12:40.067663160 -0400
@@ -308,7 +308,7 @@ struct StructTraits<viz::mojom::TextureQ
static base::span<const float> vertex_opacity(const viz::DrawQuad& input) {
const viz::TextureDrawQuad* quad =
viz::TextureDrawQuad::MaterialCast(&input);
- return quad->vertex_opacity;
+ return base::make_span(quad->vertex_opacity);
}
static bool y_flipped(const viz::DrawQuad& input) {
diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
diff -up chromium-66.0.3359.117/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-66.0.3359.117/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc
--- chromium-66.0.3359.117/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2018-04-17 21:06:20.000000000 -0400
+++ chromium-66.0.3359.117/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2018-04-18 12:12:40.068663134 -0400
@@ -10,7 +10,7 @@
#include "modules/audio_processing/aec3/aec_state.h"
-#include <math.h>
+#include <cmath>
#include <numeric>
#include <vector>

@ -1,16 +0,0 @@
diff -up chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn.nounrar chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn
--- chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn.nounrar 2018-04-25 12:17:13.858139109 -0400
+++ chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn 2018-04-25 12:19:53.639532053 -0400
@@ -27,9 +27,9 @@ source_set("cpp") {
}
#TODO(crbug/750327): This dependency is here temporarily.
- deps = [
- "//third_party/unrar:unrar",
- ]
+ # deps = [
+ # "//third_party/unrar:unrar",
+ # ]
public_deps += [ "//chrome/common/safe_browsing" ]
}

@ -1,12 +0,0 @@
diff -up chromium-66.0.3359.139/skia/ext/convolver_neon.cc.arm-init-fix chromium-66.0.3359.139/skia/ext/convolver_neon.cc
--- chromium-66.0.3359.139/skia/ext/convolver_neon.cc.arm-init-fix 2018-05-05 10:07:03.624424987 -0400
+++ chromium-66.0.3359.139/skia/ext/convolver_neon.cc 2018-05-05 10:07:45.417503001 -0400
@@ -23,7 +23,7 @@ AccumRemainder(const unsigned char* pixe
remainder[2] += coeff * pixels_left[i * 4 + 2];
remainder[3] += coeff * pixels_left[i * 4 + 3];
}
- return {remainder[0], remainder[1], remainder[2], remainder[3]};
+ return vld1q_s32(remainder);
}
// Convolves horizontally along a single row. The row data is given in

@ -1,18 +0,0 @@
diff -up chromium-66.0.3359.170/mojo/public/c/system/macros.h.gcc8-alignof chromium-66.0.3359.170/mojo/public/c/system/macros.h
--- chromium-66.0.3359.170/mojo/public/c/system/macros.h.gcc8-alignof 2018-05-15 14:58:46.448912634 -0400
+++ chromium-66.0.3359.170/mojo/public/c/system/macros.h 2018-05-15 14:58:52.041784613 -0400
@@ -18,7 +18,13 @@
#endif
// Like the C++11 |alignof| operator.
-#if __cplusplus >= 201103L
+#if defined(__GNUC__) && __GNUC__ >= 8
+// GCC 8 has changed the alignof operator to return the minimal alignment
+// required by the target ABI, instead of the preferred alignment.
+// This means that on 32-bit x86, it will return 4 instead of 8.
+// Use __alignof__ instead to avoid this.
+#define MOJO_ALIGNOF(type) __alignof__(type)
+#elif __cplusplus >= 201103L
#define MOJO_ALIGNOF(type) alignof(type)
#elif defined(__GNUC__)
#define MOJO_ALIGNOF(type) __alignof__(type)

@ -1,36 +0,0 @@
diff -up chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_ptr_info.h
--- chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2018-05-30 04:43:17.000000000 -0400
+++ chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2018-05-30 12:33:03.268912315 -0400
@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo {
bool is_valid() const { return handle_.is_valid(); }
- explicit operator bool() const { return handle_; }
+ explicit operator bool() const { return (bool) handle_; }
ScopedInterfaceEndpointHandle PassHandle() {
return std::move(handle_);
diff -up chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_request.h
--- chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2018-05-30 04:43:17.000000000 -0400
+++ chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_request.h 2018-05-30 12:33:03.269912294 -0400
@@ -50,7 +50,7 @@ class AssociatedInterfaceRequest {
// handle.
bool is_pending() const { return handle_.is_valid(); }
- explicit operator bool() const { return handle_; }
+ explicit operator bool() const { return (bool) handle_; }
ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); }
diff -up chromium-67.0.3396.62/mojo/public/cpp/bindings/interface_request.h.boolfix chromium-67.0.3396.62/mojo/public/cpp/bindings/interface_request.h
--- chromium-67.0.3396.62/mojo/public/cpp/bindings/interface_request.h.boolfix 2018-05-30 12:33:03.270912274 -0400
+++ chromium-67.0.3396.62/mojo/public/cpp/bindings/interface_request.h 2018-05-30 12:34:05.156637922 -0400
@@ -54,7 +54,7 @@ class InterfaceRequest {
// Indicates whether the request currently contains a valid message pipe.
bool is_pending() const { return handle_.is_valid(); }
- explicit operator bool() const { return handle_.is_valid(); }
+ explicit operator bool() const { return (bool) handle_.is_valid(); }
// Removes the message pipe from the request and returns it.
ScopedMessagePipeHandle PassMessagePipe() { return std::move(handle_); }

@ -1,13 +0,0 @@
diff -up chromium-67.0.3396.62/third_party/crashpad/crashpad/util/misc/capture_context_linux.S.aarch64fix chromium-67.0.3396.62/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
--- chromium-67.0.3396.62/third_party/crashpad/crashpad/util/misc/capture_context_linux.S.aarch64fix 2018-06-04 14:58:04.730083967 -0400
+++ chromium-67.0.3396.62/third_party/crashpad/crashpad/util/misc/capture_context_linux.S 2018-06-04 14:58:24.896572816 -0400
@@ -288,7 +288,7 @@ CAPTURECONTEXT_SYMBOL2:
#elif defined(__aarch64__)
// Zero out fault_address, which is unused.
- str x31, [x0, #0xb0] // context->uc_mcontext.fault_address
+ str xzr, [x0, #0xb0] // context->uc_mcontext.fault_address
// Save general purpose registers in context->uc_mcontext.regs[i].
// The original x0 can't be recovered.
diff -up chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h

@ -1,12 +0,0 @@
diff -up chromium-67.0.3396.62/tools/gn/bootstrap/bootstrap.py.oldexec chromium-67.0.3396.62/tools/gn/bootstrap/bootstrap.py
--- chromium-67.0.3396.62/tools/gn/bootstrap/bootstrap.py.oldexec 2018-06-06 10:13:40.862084284 -0400
+++ chromium-67.0.3396.62/tools/gn/bootstrap/bootstrap.py 2018-06-06 10:14:08.809490819 -0400
@@ -112,7 +112,7 @@ def windows_prepare_toolchain(tempdir):
_globals = {"__builtins__":None}
_locals = {}
- exec(response, _globals, _locals)
+ exec response in _globals, _locals
return _locals

@ -1,21 +0,0 @@
diff -up chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h
--- chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix 2018-05-30 12:38:06.131467092 -0400
+++ chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h 2018-05-30 12:38:39.861734819 -0400
@@ -653,7 +653,7 @@ SI F approx_powf(F x, F y) {
}
SI F from_half(U16 h) {
-#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !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)
@@ -673,7 +673,7 @@ SI F from_half(U16 h) {
}
SI U16 to_half(F f) {
-#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !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)

@ -1,12 +0,0 @@
diff -up chromium-67.0.3396.87/content/common/user_agent.cc.fedora-user-agent chromium-67.0.3396.87/content/common/user_agent.cc
--- chromium-67.0.3396.87/content/common/user_agent.cc.fedora-user-agent 2018-06-25 16:01:48.092188102 -0400
+++ chromium-67.0.3396.87/content/common/user_agent.cc 2018-06-25 16:02:42.634878954 -0400
@@ -141,7 +141,7 @@ std::string getUserAgentPlatform() {
#elif defined(OS_MACOSX)
"Macintosh; ";
#elif defined(USE_X11) || defined(USE_OZONE)
- "X11; "; // strange, but that's what Firefox uses
+ "X11; Fedora; "; // strange, but that's what Firefox uses
#elif defined(OS_ANDROID)
"Linux; ";
#else

@ -1,42 +0,0 @@
diff -up chromium-67.0.3396.99/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-67.0.3396.99/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
--- chromium-67.0.3396.99/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2018-07-25 14:14:02.004886479 -0400
+++ chromium-67.0.3396.99/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2018-07-25 14:15:30.167896461 -0400
@@ -58,7 +58,7 @@ def _MinifyJS(input_js):
with tempfile.NamedTemporaryFile() as _:
args = [
- 'python',
+ 'python2',
rjsmin_path
]
p = subprocess.Popen(args,
@@ -177,7 +177,7 @@ def _MinifyCSS(css_text):
os.path.join(py_vulcanize_path, 'third_party', 'rcssmin', 'rcssmin.py'))
with tempfile.NamedTemporaryFile() as _:
- rcssmin_args = ['python', rcssmin_path]
+ rcssmin_args = ['python2', rcssmin_path]
p = subprocess.Popen(rcssmin_args,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
diff -up chromium-67.0.3396.99/tools/gn/bootstrap/bootstrap.py.py2 chromium-67.0.3396.99/tools/gn/bootstrap/bootstrap.py
--- chromium-67.0.3396.99/tools/gn/bootstrap/bootstrap.py.py2 2018-07-24 16:58:53.372022183 -0400
+++ chromium-67.0.3396.99/tools/gn/bootstrap/bootstrap.py 2018-07-24 17:00:03.200279816 -0400
@@ -983,7 +983,7 @@ def build_gn_with_gn(temp_gn, build_dir,
gn_gen_args = options.gn_gen_args or ''
if not options.debug:
gn_gen_args += ' is_debug=false'
- cmd = [temp_gn, 'gen', build_dir, '--args=%s' % gn_gen_args,
+ cmd = [temp_gn, 'gen', '--script-executable=/usr/bin/python2', build_dir, '--args=%s' % gn_gen_args,
"--root="+SRC_ROOT
]
check_call(cmd)
@@ -997,7 +997,7 @@ def build_gn_with_gn(temp_gn, build_dir,
# build.ninja currently refers back to gn from the temporary directory.
# Regenerate the build files using the gn we just built so that the reference
# gets updated to "./gn".
- cmd = [os.path.join(build_dir, 'gn'), 'gen', build_dir,
+ cmd = [os.path.join(build_dir, 'gn'), 'gen', '--script-executable=/usr/bin/python2', build_dir,
'--args=%s' % gn_gen_args]
check_call(cmd)

@ -1,12 +0,0 @@
diff -up chromium-68.0.3440.106/content/common/user_agent.cc.fedora-user-agent chromium-68.0.3440.106/content/common/user_agent.cc
--- chromium-68.0.3440.106/content/common/user_agent.cc.fedora-user-agent 2018-08-09 03:27:45.965769824 -0400
+++ chromium-68.0.3440.106/content/common/user_agent.cc 2018-08-09 03:28:34.001586650 -0400
@@ -135,7 +135,7 @@ std::string getUserAgentPlatform() {
#elif defined(OS_MACOSX)
"Macintosh; ";
#elif defined(USE_X11) || defined(USE_OZONE)
- "X11; "; // strange, but that's what Firefox uses
+ "X11; Fedora; "; // strange, but that's what Firefox uses
#elif defined(OS_ANDROID)
"Linux; ";
#elif defined(OS_POSIX) || defined(OS_FUCHSIA)

@ -1,12 +0,0 @@
diff -up chromium-68.0.3440.106/extensions/browser/api/networking_private/BUILD.gn.fixb chromium-68.0.3440.106/extensions/browser/api/networking_private/BUILD.gn
--- chromium-68.0.3440.106/extensions/browser/api/networking_private/BUILD.gn.fixb 2018-08-09 03:56:36.091622243 -0400
+++ chromium-68.0.3440.106/extensions/browser/api/networking_private/BUILD.gn 2018-08-09 03:57:03.047001659 -0400
@@ -61,7 +61,7 @@ source_set("networking_private") {
]
deps += [ "//chromeos" ]
} else {
- not_needed(default_sources)
+ not_needed([ "default_sources" ])
sources = [
"networking_private_stubs.cc",
]

@ -1,11 +0,0 @@
diff -up chromium-68.0.3440.106/chrome/test/data/webui_test_resources.grd.notest chromium-68.0.3440.106/chrome/test/data/webui_test_resources.grd
--- chromium-68.0.3440.106/chrome/test/data/webui_test_resources.grd.notest 2018-08-09 03:08:33.953029806 -0400
+++ chromium-68.0.3440.106/chrome/test/data/webui_test_resources.grd 2018-08-09 03:09:40.264567818 -0400
@@ -8,7 +8,6 @@
</outputs>
<release seq="1">
<includes>
- <include name="IDR_WEBUI_TEST_I18N_PROCESS_CSS_TEST" file="webui/i18n_process_css_test.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" />
<include name="IDR_WEB_UI_TEST_MOJO_JS" file="${root_gen_dir}/chrome/test/data/webui/web_ui_test.mojom.js" use_base_dir="false" type="BINDATA"/>
</includes>
</release>

@ -1,51 +0,0 @@
From 01d891fa0790950549c7bedb34edf869827a372e Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jose.dapena@lge.com>
Date: Thu, 31 May 2018 17:03:37 +0000
Subject: [PATCH] CORS legacy: add missing string include
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The cors_legacy.h file includes declarations using std::string, but
it is not declared due to missing #include <string>.
Also drop unneeded declarations in .cpp file.
Change-Id: I00df799f84a6c3530c2f12f1e52d24c7d9bd6bfd
Reviewed-on: https://chromium-review.googlesource.com/1080707
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
Cr-Commit-Position: refs/heads/master@{#563282}
---
services/network/public/cpp/cors/cors_legacy.cc | 2 --
services/network/public/cpp/cors/cors_legacy.h | 1 +
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/services/network/public/cpp/cors/cors_legacy.cc b/services/network/public/cpp/cors/cors_legacy.cc
index 8f32ac3be64e..f01af63619b5 100644
--- a/services/network/public/cpp/cors/cors_legacy.cc
+++ b/services/network/public/cpp/cors/cors_legacy.cc
@@ -5,8 +5,6 @@
#include "services/network/public/cpp/cors/cors_legacy.h"
#include <algorithm>
-#include <string>
-#include <vector>
#include "url/gurl.h"
#include "url/url_util.h"
diff --git a/services/network/public/cpp/cors/cors_legacy.h b/services/network/public/cpp/cors/cors_legacy.h
index d2cdf026ca3a..dc9295a92c47 100644
--- a/services/network/public/cpp/cors/cors_legacy.h
+++ b/services/network/public/cpp/cors/cors_legacy.h
@@ -5,6 +5,7 @@
#ifndef SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_
#define SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_
+#include <string>
#include <vector>
#include "base/component_export.h"
--
2.17.1

@ -1,62 +0,0 @@
From c6b0194f7a4d9f494b2d51f46d2c332e2e5f4050 Mon Sep 17 00:00:00 2001
From: Daniel Bratell <bratell@opera.com>
Date: Mon, 28 May 2018 13:13:01 +0000
Subject: [PATCH] Use the same libjpeg in all of blink/platform
The normal libjpeg renames some symbols with macros so if its
headers are included together with libjpeg-turbo's headers
in the same translation unit, there will be an inconsistent
renaming of libjpeg symbols. This happened in some extreme
jumbo configuration and resulted in confising linker errors.
This patch changes an include so that jpeglib.h becomes included
the same way everywhere.
Change-Id: I7f122d0919d58371bb40dc0097a766b857b9815e
Reviewed-on: https://chromium-review.googlesource.com/1073423
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#562243}
---
.../renderer/platform/image-encoders/image_encoder.cc | 11 +++++++++++
.../renderer/platform/image-encoders/image_encoder.h | 2 --
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/third_party/blink/renderer/platform/image-encoders/image_encoder.cc b/third_party/blink/renderer/platform/image-encoders/image_encoder.cc
index 0c7f14c7c0e4..4c450f5d6783 100644
--- a/third_party/blink/renderer/platform/image-encoders/image_encoder.cc
+++ b/third_party/blink/renderer/platform/image-encoders/image_encoder.cc
@@ -4,6 +4,17 @@
#include "third_party/blink/renderer/platform/image-encoders/image_encoder.h"
+#include "build/build_config.h"
+
+#if defined(OS_WIN)
+#include <basetsd.h> // Included before jpeglib.h because of INT32 clash
+#endif // OS_WIN
+#include <stdio.h> // Needed by jpeglib.h
+
+#include "jpeglib.h" // for JPEG_MAX_DIMENSION
+
+#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION
+
namespace blink {
bool ImageEncoder::Encode(Vector<unsigned char>* dst,
diff --git a/third_party/blink/renderer/platform/image-encoders/image_encoder.h b/third_party/blink/renderer/platform/image-encoders/image_encoder.h
index 0d1460f34827..40306097d507 100644
--- a/third_party/blink/renderer/platform/image-encoders/image_encoder.h
+++ b/third_party/blink/renderer/platform/image-encoders/image_encoder.h
@@ -7,8 +7,6 @@
#include "third_party/blink/renderer/platform/platform_export.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
-#include "third_party/libjpeg/jpeglib.h" // for JPEG_MAX_DIMENSION
-#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION
#include "third_party/skia/include/core/SkStream.h"
#include "third_party/skia/include/encode/SkJpegEncoder.h"
#include "third_party/skia/include/encode/SkPngEncoder.h"
--
2.17.1

@ -1,43 +0,0 @@
diff --git a/build/linux/unbundle/libwebp.gn b/build/linux/unbundle/libwebp.gn
index ab92adecf400..12574d87be58 100644
--- a/build/linux/unbundle/libwebp.gn
+++ b/build/linux/unbundle/libwebp.gn
@@ -2,12 +2,34 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+
+pkg_config("system_libwebp") {
+ packages = [
+ "libwebp",
+ "libwebpdemux",
+ "libwebpmux",
+ ]
+}
+
+shim_headers("libwebp_shim") {
+ root_path = "src"
+ headers = [
+ "webp/decode.h",
+ "webp/demux.h",
+ "webp/encode.h",
+ "webp/mux.h",
+ "webp/mux_types.h",
+ "webp/types.h",
+ ]
+}
+
source_set("libwebp_webp") {
- libs = [
- "webp",
- "webpdemux",
- "webpmux",
+ deps = [
+ ":libwebp_shim",
]
+ public_configs = [ ":system_libwebp" ]
}
group("libwebp") {

@ -1,65 +0,0 @@
From 56cb5f7da1025f6db869e840ed34d3b98b9ab899 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jose.dapena@lge.com>
Date: Tue, 29 May 2018 16:04:14 +0000
Subject: [PATCH] GCC: do not std::move unique ptr of forward declared UrlIndex
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
GCC fails to resolve the size of UrlIndex, needed
for moving a std::unique_ptr of UrlIndex. This is because
moved is done on a forward-declared UrlIndex.
To avoid the problem, move the call to std::move to the .cc
file so the full declaration is available.
Build error:
../../buildtools/third_party/libc++/trunk/include/memory: In instantiation of void std::__1::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = bookmarks::UrlIndex]:
../../buildtools/third_party/libc++/trunk/include/memory:2634:22: required from void std::__1::unique_ptr<_Tp, _Dp>::reset(std::__1::unique_ptr<_Tp, _Dp>::pointer) [with _Tp = bookmarks::UrlIndex; _Dp = std::__1::default_delete<bookmarks::UrlIndex>; std::__1::unique_ptr<_Tp, _Dp>::pointer = bookmarks::UrlIndex*]
../../buildtools/third_party/libc++/trunk/include/memory:2588:24: required from std::__1::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = bookmarks::UrlIndex; _Dp = std::__1::default_delete<bookmarks::UrlIndex>]
../../components/bookmarks/browser/bookmark_storage.h:107:76: required from here
../../buildtools/third_party/libc++/trunk/include/memory:2317:25: error: invalid application of sizeof to incomplete type bookmarks::UrlIndex
static_assert(sizeof(_Tp) > 0,
Bug: 819294
Change-Id: I793a807c28e797aaa2e31d9c8b7e09fb6ca6b9e7
Reviewed-on: https://chromium-review.googlesource.com/1071648
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562446}
---
components/bookmarks/browser/bookmark_storage.cc | 4 ++++
components/bookmarks/browser/bookmark_storage.h | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/components/bookmarks/browser/bookmark_storage.cc b/components/bookmarks/browser/bookmark_storage.cc
index 1633ba1df2a4..3ae0c62292e7 100644
--- a/components/bookmarks/browser/bookmark_storage.cc
+++ b/components/bookmarks/browser/bookmark_storage.cc
@@ -158,6 +158,10 @@ void BookmarkLoadDetails::CreateUrlIndex() {
url_index_ = std::make_unique<UrlIndex>(std::move(root_node_));
}
+std::unique_ptr<UrlIndex> BookmarkLoadDetails::owned_url_index() {
+ return std::move(url_index_);
+}
+
BookmarkPermanentNode* BookmarkLoadDetails::CreatePermanentNode(
BookmarkClient* client,
BookmarkNode::Type type) {
diff --git a/components/bookmarks/browser/bookmark_storage.h b/components/bookmarks/browser/bookmark_storage.h
index 08df5bb65d83..0a1b1a1b65b9 100644
--- a/components/bookmarks/browser/bookmark_storage.h
+++ b/components/bookmarks/browser/bookmark_storage.h
@@ -104,7 +104,7 @@ class BookmarkLoadDetails {
bool ids_reassigned() const { return ids_reassigned_; }
void CreateUrlIndex();
- std::unique_ptr<UrlIndex> owned_url_index() { return std::move(url_index_); }
+ std::unique_ptr<UrlIndex> owned_url_index();
private:
// Creates one of the possible permanent nodes (bookmark bar node, other node
--
2.17.1

@ -1,18 +0,0 @@
diff -up chromium-69.0.3497.81/mojo/public/c/system/macros.h.gcc8-alignof chromium-69.0.3497.81/mojo/public/c/system/macros.h
--- chromium-69.0.3497.81/mojo/public/c/system/macros.h.gcc8-alignof 2018-09-06 10:11:54.336432699 -0400
+++ chromium-69.0.3497.81/mojo/public/c/system/macros.h 2018-09-06 10:13:56.555727572 -0400
@@ -27,7 +27,13 @@
(sizeof(void*) == 4 ? 32 : 0)
// Like the C++11 |alignof| operator.
-#if __cplusplus >= 201103L
+#if defined(__GNUC__) && __GNUC__ >= 8
+// GCC 8 has changed the alignof operator to return the minimal alignment
+// required by the target ABI, instead of the preferred alignment.
+// This means that on 32-bit x86, it will return 4 instead of 8.
+// Use __alignof__ instead to avoid this.
+#define MOJO_ALIGNOF(type) __alignof__(type)
+#elif __cplusplus >= 201103L
#define MOJO_ALIGNOF(type) alignof(type)
#elif defined(__GNUC__)
#define MOJO_ALIGNOF(type) __alignof__(type)

@ -1,79 +0,0 @@
diff -up chromium-69.0.3497.81/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-69.0.3497.81/chrome/common/safe_browsing/BUILD.gn
--- chromium-69.0.3497.81/chrome/common/safe_browsing/BUILD.gn.nounrar 2018-09-06 13:29:47.114511569 -0400
+++ chromium-69.0.3497.81/chrome/common/safe_browsing/BUILD.gn 2018-09-06 13:29:47.120511452 -0400
@@ -55,40 +55,6 @@ if (safe_browsing_mode == 1) {
"//components/safe_browsing:csd_proto",
]
}
-
- source_set("rar_analyzer") {
- sources = [
- "rar_analyzer.cc",
- "rar_analyzer.h",
- ]
-
- deps = [
- ":archive_analyzer_results",
- ":download_protection_util",
- ":file_type_policies",
- "//base",
- "//base:i18n",
- "//third_party/unrar:unrar",
- ]
-
- defines = [
- "_FILE_OFFSET_BITS=64",
- "LARGEFILE_SOURCE",
- "RAR_SMP",
- "SILENT",
-
- # The following is set to disable certain macro definitions in the unrar
- # source code.
- "CHROMIUM_UNRAR",
-
- # Disables exceptions in unrar, replaces them with process termination.
- "UNRAR_NO_EXCEPTIONS",
- ]
-
- public_deps = [
- "//components/safe_browsing:csd_proto",
- ]
- }
}
source_set("safe_browsing") {
@@ -121,7 +87,6 @@ source_set("safe_browsing") {
deps += [
":archive_analyzer_results",
":download_protection_util",
- ":rar_analyzer",
"//components/safe_browsing:features",
]
diff -up chromium-69.0.3497.81/chrome/common/safe_browsing/DEPS.nounrar chromium-69.0.3497.81/chrome/common/safe_browsing/DEPS
--- chromium-69.0.3497.81/chrome/common/safe_browsing/DEPS.nounrar 2018-09-06 13:29:47.119511472 -0400
+++ chromium-69.0.3497.81/chrome/common/safe_browsing/DEPS 2018-09-06 13:29:47.116511530 -0400
@@ -1,6 +1,5 @@
include_rules = [
"+components/safe_browsing",
"+third_party/protobuf",
- "+third_party/unrar",
"+third_party/zlib",
]
diff -up chromium-69.0.3497.81/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-69.0.3497.81/chrome/services/file_util/safe_archive_analyzer.cc
--- chromium-69.0.3497.81/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2018-09-07 10:10:42.286041744 -0400
+++ chromium-69.0.3497.81/chrome/services/file_util/safe_archive_analyzer.cc 2018-09-07 10:11:14.934308285 -0400
@@ -47,9 +47,13 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
AnalyzeRarFileCallback callback) {
+#if 0
DCHECK(rar_file.IsValid());
safe_browsing::ArchiveAnalyzerResults results;
safe_browsing::rar_analyzer::AnalyzeRarFile(std::move(rar_file), &results);
std::move(callback).Run(results);
+#else
+ NOTREACHED();
+#endif
}

@ -1,33 +0,0 @@
diff -up chromium-69.0.3497.81/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-69.0.3497.81/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
--- chromium-69.0.3497.81/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2018-09-06 10:45:17.919774145 -0400
+++ chromium-69.0.3497.81/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2018-09-06 10:45:17.914774254 -0400
@@ -58,7 +58,7 @@ def _MinifyJS(input_js):
with tempfile.NamedTemporaryFile() as _:
args = [
- 'python',
+ 'python2',
rjsmin_path
]
p = subprocess.Popen(args,
@@ -177,7 +177,7 @@ def _MinifyCSS(css_text):
os.path.join(py_vulcanize_path, 'third_party', 'rcssmin', 'rcssmin.py'))
with tempfile.NamedTemporaryFile() as _:
- rcssmin_args = ['python', rcssmin_path]
+ rcssmin_args = ['python2', rcssmin_path]
p = subprocess.Popen(rcssmin_args,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
diff -up chromium-69.0.3497.81/tools/gn/bootstrap/bootstrap.py.py2 chromium-69.0.3497.81/tools/gn/bootstrap/bootstrap.py
--- chromium-69.0.3497.81/tools/gn/bootstrap/bootstrap.py.py2 2018-09-06 10:44:42.225550561 -0400
+++ chromium-69.0.3497.81/tools/gn/bootstrap/bootstrap.py 2018-09-06 13:06:24.251636231 -0400
@@ -87,7 +87,7 @@ def main(argv):
if not options.debug:
gn_gen_args += ' is_debug=false'
subprocess.check_call([
- gn_path, 'gen', out_dir,
+ gn_path, 'gen', out_dir, ' --script-executable=/usr/bin/python2',
'--args=%s' % gn_gen_args, "--root=" + SRC_ROOT
])

@ -1,23 +0,0 @@
diff -up chromium-69.0.3497.81/third_party/widevine/cdm/BUILD.gn.wvhack chromium-69.0.3497.81/third_party/widevine/cdm/BUILD.gn
--- chromium-69.0.3497.81/third_party/widevine/cdm/BUILD.gn.wvhack 2018-09-06 13:28:22.655272555 -0400
+++ chromium-69.0.3497.81/third_party/widevine/cdm/BUILD.gn 2018-09-06 13:28:22.655272555 -0400
@@ -11,7 +11,7 @@ import("//third_party/widevine/cdm/widev
# Internal Cast builds set enable_widevine=true to bring in Widevine support.
# TODO(xhwang): Support component updated CDM on other platforms and remove this
# assert.
-assert(!enable_widevine || is_win || is_mac || is_chromecast,
+assert(!enable_widevine || is_win || is_mac || is_chromecast || is_linux,
"Component updated CDM only supported on Windows and Mac for now.")
widevine_arch = current_cpu
diff -up chromium-69.0.3497.81/third_party/widevine/cdm/stub/widevine_cdm_version.h.wvhack chromium-69.0.3497.81/third_party/widevine/cdm/stub/widevine_cdm_version.h
--- chromium-69.0.3497.81/third_party/widevine/cdm/stub/widevine_cdm_version.h.wvhack 2018-09-06 13:28:22.654272577 -0400
+++ chromium-69.0.3497.81/third_party/widevine/cdm/stub/widevine_cdm_version.h 2018-09-06 13:28:22.654272577 -0400
@@ -10,6 +10,7 @@
#include "third_party/widevine/cdm/widevine_cdm_common.h"
+#define WIDEVINE_CDM_VERSION_STRING "unknown"
#define WIDEVINE_CDM_AVAILABLE
#endif // WIDEVINE_CDM_VERSION_H_

@ -1,23 +0,0 @@
diff -up chromium-70.0.3538.110/tools/gn/bootstrap/bootstrap.py.sysrootfix chromium-70.0.3538.110/tools/gn/bootstrap/bootstrap.py
--- chromium-70.0.3538.110/tools/gn/bootstrap/bootstrap.py.sysrootfix 2018-11-26 13:40:19.324713204 -0500
+++ chromium-70.0.3538.110/tools/gn/bootstrap/bootstrap.py 2018-11-26 13:40:43.199180888 -0500
@@ -46,10 +46,6 @@ def main(argv):
'--build-path',
help='The directory in which to build gn, '
'relative to the src directory. (eg. out/Release)')
- parser.add_option(
- '--with-sysroot',
- action='store_true',
- help='Download and build with the Debian sysroot.')
parser.add_option('-v', '--verbose', help='ignored')
options, args = parser.parse_args(argv)
if args:
@@ -71,8 +67,6 @@ def main(argv):
'--no-last-commit-position',
'--out-path=' + gn_build_dir,
]
- if not options.with_sysroot:
- cmd.append('--no-sysroot')
if options.debug:
cmd.append('--debug')
subprocess.check_call(cmd)

@ -1,80 +0,0 @@
From 7ae38170a117e909bb28e1470842b68de3501197 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppymaster@gmail.com>
Date: Sun, 21 Oct 2018 10:06:53 -0400
Subject: [PATCH] blink: add 'const' modifier for harfbuzz hb_codepoint_t
pointers
This resolves a build failure against harfbuzz 2.0.
Based on a patch by Alexandre Fierreira.
Bug: https://bugs.gentoo.org/669034
---
.../renderer/platform/fonts/shaping/harfbuzz_face.cc | 2 +-
.../renderer/platform/fonts/skia/skia_text_metrics.cc | 9 +++++++--
.../renderer/platform/fonts/skia/skia_text_metrics.h | 2 +-
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
index 8e7d91ca371f..e279a5876cb3 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
@@ -139,7 +139,7 @@ static hb_position_t HarfBuzzGetGlyphHorizontalAdvance(hb_font_t* hb_font,
static void HarfBuzzGetGlyphHorizontalAdvances(hb_font_t* font,
void* font_data,
unsigned count,
- hb_codepoint_t* first_glyph,
+ const hb_codepoint_t* first_glyph,
unsigned int glyph_stride,
hb_position_t* first_advance,
unsigned int advance_stride,
diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc
index 77ec6209fab9..9f9070921448 100644
--- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc
+++ b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc
@@ -18,6 +18,11 @@ T* advance_by_byte_size(T* p, unsigned byte_size) {
return reinterpret_cast<T*>(reinterpret_cast<uint8_t*>(p) + byte_size);
}
+template <class T>
+T* advance_by_byte_size_const(T* p, unsigned byte_size) {
+ return reinterpret_cast<T*>(reinterpret_cast<const uint8_t*>(p) + byte_size);
+}
+
} // namespace
SkiaTextMetrics::SkiaTextMetrics(const SkPaint* paint) : paint_(paint) {
@@ -39,7 +44,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(hb_codepoint_t codepoint,
}
void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count,
- hb_codepoint_t* glyphs,
+ const hb_codepoint_t* glyphs,
unsigned glyph_stride,
hb_position_t* advances,
unsigned advance_stride) {
@@ -48,7 +53,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count,
// array that copy them to a regular array.
Vector<Glyph, 256> glyph_array(count);
for (unsigned i = 0; i < count;
- i++, glyphs = advance_by_byte_size(glyphs, glyph_stride)) {
+ i++, glyphs = advance_by_byte_size_const(glyphs, glyph_stride)) {
glyph_array[i] = *glyphs;
}
Vector<SkScalar, 256> sk_width_array(count);
diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h
index 787d8af0375a..3bc4407c641b 100644
--- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h
+++ b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h
@@ -19,7 +19,7 @@ class SkiaTextMetrics final {
void GetGlyphWidthForHarfBuzz(hb_codepoint_t, hb_position_t* width);
void GetGlyphWidthForHarfBuzz(unsigned count,
- hb_codepoint_t* first_glyph,
+ const hb_codepoint_t* first_glyph,
unsigned glyph_stride,
hb_position_t* first_advance,
unsigned advance_stride);
--
2.19.1

@ -1,57 +0,0 @@
From 65be571f6ac2f7942b4df9e50b24da517f829eec Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Mon, 15 Oct 2018 20:26:10 +0000
Subject: [PATCH] google_util: Explicitly use std::initializer_list with
base::NoDestructor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Follow-up to ac53c5c53 ("Remove CR_DEFINE_STATIC_LOCAL from /components").
Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having
base::NoDestructor<T<U>> and passing an initializer list of Us does not
work if this is not done explicitly, as GCC incorrectly fails to determine
which constructor overload to use:
../../components/google/core/common/google_util.cc: In function bool google_util::{anonymous}::IsCanonicalHostGoogleHostname(base::StringPiece, google_util::SubdomainPermission):
../../components/google/core/common/google_util.cc:120:24: error: call of overloaded NoDestructor(<brace-enclosed initializer list>) is ambiguous
{GOOGLE_TLD_LIST});
See also: https://chromium-review.googlesource.com/c/chromium/src/+/1170905
Bug: 819294
Change-Id: Ie1490b6646d7998d636c485769caabf56c1cf44c
Reviewed-on: https://chromium-review.googlesource.com/c/1275854
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Raphael Kubo da Costa (CET) <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#599733}
---
components/google/core/common/google_util.cc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/components/google/core/common/google_util.cc b/components/google/core/common/google_util.cc
index a44c84393820..7733848a0443 100644
--- a/components/google/core/common/google_util.cc
+++ b/components/google/core/common/google_util.cc
@@ -117,7 +117,7 @@ bool IsCanonicalHostGoogleHostname(base::StringPiece canonical_host,
StripTrailingDot(&tld);
static base::NoDestructor<std::set<std::string>> google_tlds(
- {GOOGLE_TLD_LIST});
+ std::initializer_list<std::string>({GOOGLE_TLD_LIST}));
return base::ContainsKey(*google_tlds, tld.as_string());
}
@@ -132,7 +132,8 @@ bool IsGoogleSearchSubdomainUrl(const GURL& url) {
StripTrailingDot(&host);
static base::NoDestructor<std::set<std::string>> google_subdomains(
- {"ipv4.google.com", "ipv6.google.com"});
+ std::initializer_list<std::string>(
+ {"ipv4.google.com", "ipv6.google.com"}));
return base::ContainsKey(*google_subdomains, host.as_string());
}
--
2.19.1

@ -1,48 +0,0 @@
diff -up chromium-71.0.3578.98/chrome/common/media_router/media_sink.cc.fix-noexcept chromium-71.0.3578.98/chrome/common/media_router/media_sink.cc
--- chromium-71.0.3578.98/chrome/common/media_router/media_sink.cc.fix-noexcept 2019-01-02 14:44:40.449801789 -0500
+++ chromium-71.0.3578.98/chrome/common/media_router/media_sink.cc 2019-01-02 14:44:54.167481936 -0500
@@ -24,7 +24,7 @@ MediaSink::MediaSink() = default;
MediaSink::~MediaSink() = default;
MediaSink& MediaSink::operator=(const MediaSink& other) = default;
-MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default;
+MediaSink& MediaSink::operator=(MediaSink&& other) = default;
bool MediaSink::Equals(const MediaSink& other) const {
return sink_id_ == other.sink_id_;
diff -up chromium-71.0.3578.98/components/policy/core/common/policy_map.cc.fix-noexcept chromium-71.0.3578.98/components/policy/core/common/policy_map.cc
--- chromium-71.0.3578.98/components/policy/core/common/policy_map.cc.fix-noexcept 2019-01-02 12:06:10.867313533 -0500
+++ chromium-71.0.3578.98/components/policy/core/common/policy_map.cc 2019-01-02 12:06:27.544980078 -0500
@@ -18,7 +18,7 @@ PolicyMap::Entry::Entry() = default;
PolicyMap::Entry::~Entry() = default;
PolicyMap::Entry::Entry(Entry&&) noexcept = default;
-PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default;
+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default;
PolicyMap::Entry PolicyMap::Entry::DeepCopy() const {
Entry copy;
diff -up chromium-71.0.3578.98/components/signin/core/browser/account_info.cc.fix-noexcept chromium-71.0.3578.98/components/signin/core/browser/account_info.cc
--- chromium-71.0.3578.98/components/signin/core/browser/account_info.cc.fix-noexcept 2019-01-02 10:57:29.194710662 -0500
+++ chromium-71.0.3578.98/components/signin/core/browser/account_info.cc 2019-01-02 10:58:57.829965474 -0500
@@ -32,7 +32,7 @@ AccountInfo::AccountInfo(AccountInfo&& o
AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default;
-AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default;
+AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default;
bool AccountInfo::IsEmpty() const {
return account_id.empty() && email.empty() && gaia.empty() &&
diff -up chromium-71.0.3578.98/gpu/config/gpu_info.cc.fix-noexcept chromium-71.0.3578.98/gpu/config/gpu_info.cc
--- chromium-71.0.3578.98/gpu/config/gpu_info.cc.fix-noexcept 2018-12-20 09:50:03.320449807 -0500
+++ chromium-71.0.3578.98/gpu/config/gpu_info.cc 2018-12-20 09:50:25.768849091 -0500
@@ -116,7 +116,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice::
const GPUInfo::GPUDevice& other) = default;
GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=(
- GPUInfo::GPUDevice&& other) noexcept = default;
+ GPUInfo::GPUDevice&& other) = default;
GPUInfo::GPUInfo()
: optimus(false),

@ -1,79 +0,0 @@
diff -up chromium-71.0.3578.98/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-71.0.3578.98/chrome/common/safe_browsing/BUILD.gn
--- chromium-71.0.3578.98/chrome/common/safe_browsing/BUILD.gn.nounrar 2018-12-12 16:56:04.000000000 -0500
+++ chromium-71.0.3578.98/chrome/common/safe_browsing/BUILD.gn 2018-12-14 11:44:52.172805635 -0500
@@ -56,40 +56,6 @@ if (safe_browsing_mode == 1) {
]
}
- source_set("rar_analyzer") {
- sources = [
- "rar_analyzer.cc",
- "rar_analyzer.h",
- ]
-
- deps = [
- ":archive_analyzer_results",
- ":download_protection_util",
- ":file_type_policies",
- "//base",
- "//base:i18n",
- "//third_party/unrar:unrar",
- ]
-
- defines = [
- "_FILE_OFFSET_BITS=64",
- "LARGEFILE_SOURCE",
- "RAR_SMP",
- "SILENT",
-
- # The following is set to disable certain macro definitions in the unrar
- # source code.
- "CHROMIUM_UNRAR",
-
- # Disables exceptions in unrar, replaces them with process termination.
- "UNRAR_NO_EXCEPTIONS",
- ]
-
- public_deps = [
- "//components/safe_browsing:csd_proto",
- ]
- }
-
source_set("disk_image_type_sniffer_mac") {
sources = [
"disk_image_type_sniffer_mac.cc",
@@ -136,7 +102,6 @@ source_set("safe_browsing") {
deps += [
":archive_analyzer_results",
":download_protection_util",
- ":rar_analyzer",
"//components/safe_browsing:features",
]
diff -up chromium-71.0.3578.98/chrome/common/safe_browsing/DEPS.nounrar chromium-71.0.3578.98/chrome/common/safe_browsing/DEPS
--- chromium-71.0.3578.98/chrome/common/safe_browsing/DEPS.nounrar 2018-12-12 16:56:04.000000000 -0500
+++ chromium-71.0.3578.98/chrome/common/safe_browsing/DEPS 2018-12-14 11:23:58.628142952 -0500
@@ -1,6 +1,5 @@
include_rules = [
"+components/safe_browsing",
"+third_party/protobuf",
- "+third_party/unrar",
"+third_party/zlib",
]
diff -up chromium-71.0.3578.98/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-71.0.3578.98/chrome/services/file_util/safe_archive_analyzer.cc
--- chromium-71.0.3578.98/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2018-12-12 16:56:04.000000000 -0500
+++ chromium-71.0.3578.98/chrome/services/file_util/safe_archive_analyzer.cc 2018-12-14 11:23:58.628142952 -0500
@@ -47,9 +47,13 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
AnalyzeRarFileCallback callback) {
+#if 0
DCHECK(rar_file.IsValid());
safe_browsing::ArchiveAnalyzerResults results;
safe_browsing::rar_analyzer::AnalyzeRarFile(std::move(rar_file), &results);
std::move(callback).Run(results);
+#else
+ NOTREACHED();
+#endif
}

@ -1,23 +0,0 @@
diff -up chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.sysrootfix chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py
--- chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.sysrootfix 2018-12-14 12:52:04.144860836 -0500
+++ chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py 2018-12-14 12:57:54.791539599 -0500
@@ -46,10 +46,6 @@ def main(argv):
'--build-path',
help='The directory in which to build gn, '
'relative to the src directory. (eg. out/Release)')
- parser.add_option(
- '--with-sysroot',
- action='store_true',
- help='Download and build with the Debian sysroot.')
parser.add_option('-v', '--verbose', help='ignored')
parser.add_option(
'--skip-generate-buildfiles',
@@ -76,8 +72,6 @@ def main(argv):
'--no-last-commit-position',
'--out-path=' + gn_build_dir,
]
- if not options.with_sysroot:
- cmd.append('--no-sysroot')
if options.debug:
cmd.append('--debug')
subprocess.check_call(cmd)

@ -1,14 +0,0 @@
diff -up chromium-71.0.3578.98/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc.va1compat chromium-71.0.3578.98/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc
--- chromium-71.0.3578.98/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc.va1compat 2018-12-17 15:07:48.158717055 -0500
+++ chromium-71.0.3578.98/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc 2018-12-17 15:09:49.780316983 -0500
@@ -38,6 +38,10 @@ enum VAJDADecoderFailure {
VAJDA_DECODER_FAILURES_MAX,
};
+#ifndef VA_FOURCC_I420
+#define VA_FOURCC_I420 VA_FOURCC('I', '4', '2', '0')
+#endif
+
static void ReportToUMA(VAJDADecoderFailure failure) {
UMA_HISTOGRAM_ENUMERATION("Media.VAJDA.DecoderFailure", failure,
VAJDA_DECODER_FAILURES_MAX + 1);

@ -1,29 +0,0 @@
diff -up chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc.fixvacheck chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc
--- chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc.fixvacheck 2019-03-10 14:54:38.744305074 -0400
+++ chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc 2019-03-10 14:55:34.383221574 -0400
@@ -334,15 +334,16 @@ bool VADisplayState::InitializeOnce() {
<< va_vendor_string_;
// The VAAPI version is determined from what is loaded on the system by
- // calling vaInitialize(). We want a runtime evaluation of libva version,
- // of what is loaded on the system, with, what browser is compiled with.
- // Also since the libva is now ABI-compatible, relax the version check
- // which helps in upgrading the libva, without breaking any existing
- // functionality.
- if (!VA_CHECK_VERSION(major_version, minor_version, 0)) {
- LOG(ERROR) << "This build of Chromium requires VA-API version "
- << VA_MAJOR_VERSION << "." << VA_MINOR_VERSION
- << ", system version: " << major_version << "." << minor_version;
+ // calling vaInitialize(). Since the libva is now ABI-compatible, relax the
+ // version check which helps in upgrading the libva, without breaking any
+ // existing functionality. Make sure the system version is not older than
+ // the version with which the chromium is built since libva is only
+ // guaranteed to be backward (and not forward) compatible.
+ if (VA_MAJOR_VERSION > major_version ||
+ (VA_MAJOR_VERSION == major_version && VA_MINOR_VERSION > minor_version)) {
+ LOG(ERROR) << "The system version " << major_version << "." << minor_version
+ << " should be greater than or equal to "
+ << VA_MAJOR_VERSION << "." << VA_MINOR_VERSION;
return false;
}
return true;

@ -1,79 +0,0 @@
diff -up chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn
--- chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn.nounrar 2019-03-10 14:15:47.187705953 -0400
+++ chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn 2019-03-10 14:16:47.154138649 -0400
@@ -56,40 +56,6 @@ if (safe_browsing_mode == 1) {
]
}
- source_set("rar_analyzer") {
- sources = [
- "rar_analyzer.cc",
- "rar_analyzer.h",
- ]
-
- deps = [
- ":archive_analyzer_results",
- ":download_type_util",
- ":file_type_policies",
- "//base",
- "//base:i18n",
- "//third_party/unrar:unrar",
- ]
-
- defines = [
- "_FILE_OFFSET_BITS=64",
- "LARGEFILE_SOURCE",
- "RAR_SMP",
- "SILENT",
-
- # The following is set to disable certain macro definitions in the unrar
- # source code.
- "CHROMIUM_UNRAR",
-
- # Disables exceptions in unrar, replaces them with process termination.
- "UNRAR_NO_EXCEPTIONS",
- ]
-
- public_deps = [
- "//components/safe_browsing:csd_proto",
- ]
- }
-
source_set("disk_image_type_sniffer_mac") {
sources = [
"disk_image_type_sniffer_mac.cc",
@@ -150,7 +116,6 @@ source_set("safe_browsing") {
deps += [
":archive_analyzer_results",
":download_type_util",
- ":rar_analyzer",
"//components/safe_browsing:features",
]
diff -up chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS.nounrar chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS
--- chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS.nounrar 2019-03-01 23:10:03.000000000 -0500
+++ chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS 2019-03-10 14:14:55.430058716 -0400
@@ -1,6 +1,5 @@
include_rules = [
"+components/safe_browsing",
"+third_party/protobuf",
- "+third_party/unrar",
"+third_party/zlib",
]
diff -up chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc
--- chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2019-03-01 23:10:04.000000000 -0500
+++ chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc 2019-03-10 14:14:55.433058638 -0400
@@ -47,9 +47,13 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
AnalyzeRarFileCallback callback) {
+#if 0
DCHECK(rar_file.IsValid());
safe_browsing::ArchiveAnalyzerResults results;
safe_browsing::rar_analyzer::AnalyzeRarFile(std::move(rar_file), &results);
std::move(callback).Run(results);
+#else
+ NOTREACHED();
+#endif
}

@ -1,108 +0,0 @@
From 2c3b57cafbbb38c13a519c9d2fda8b65691d9564 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Thu, 7 Feb 2019 22:55:37 +0000
Subject: [PATCH] allocator shim: Swap ALIGN_LINKAGE and SHIM_ALWAYS_EXPORT's
positions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This fixes the GCC build. GCC seems to be stricter with the position of the
linkage specification, so just swap the terms to prevent an error that looks
like:
In file included from ../../base/allocator/allocator_shim.cc:333:
../../base/allocator/allocator_shim_override_cpp_symbols.h:39:30: error: expected unqualified-id before string constant
#define ALIGN_LINKAGE extern "C"
^~~
../../base/allocator/allocator_shim_override_cpp_symbols.h:99:20: note: in expansion of macro ALIGN_LINKAGE
SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW(std::size_t size,
^~~~~~~~~~~~~
Bug: 819294
Change-Id: I0aa16ea88cead42e83796a1c86afad8b447ddc50
Reviewed-on: https://chromium-review.googlesource.com/c/1458256
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Primiano Tucci <primiano@chromium.org>
Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#630084}
---
.../allocator_shim_override_cpp_symbols.h | 20 +++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/base/allocator/allocator_shim_override_cpp_symbols.h b/base/allocator/allocator_shim_override_cpp_symbols.h
index 1228f5e33d28..01d25b7f6437 100644
--- a/base/allocator/allocator_shim_override_cpp_symbols.h
+++ b/base/allocator/allocator_shim_override_cpp_symbols.h
@@ -96,57 +96,57 @@ SHIM_ALWAYS_EXPORT void operator delete[](void* p, size_t) __THROW {
ShimCppDelete(p);
}
-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW(std::size_t size,
+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW(std::size_t size,
ALIGN_VAL_T alignment) {
return ShimCppAlignedNew(size, static_cast<size_t>(alignment));
}
-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_NOTHROW(
+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_NOTHROW(
std::size_t size,
ALIGN_VAL_T alignment,
const std::nothrow_t&) __THROW {
return ShimCppAlignedNew(size, static_cast<size_t>(alignment));
}
-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL(void* p, ALIGN_VAL_T) __THROW {
+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL(void* p, ALIGN_VAL_T) __THROW {
ShimCppDelete(p);
}
-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_SIZED(void* p,
+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_SIZED(void* p,
std::size_t size,
ALIGN_VAL_T) __THROW {
ShimCppDelete(p);
}
-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void
+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void
ALIGN_DEL_NOTHROW(void* p, ALIGN_VAL_T, const std::nothrow_t&) __THROW {
ShimCppDelete(p);
}
-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_ARR(std::size_t size,
+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_ARR(std::size_t size,
ALIGN_VAL_T alignment) {
return ShimCppAlignedNew(size, static_cast<size_t>(alignment));
}
-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_ARR_NOTHROW(
+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_ARR_NOTHROW(
std::size_t size,
ALIGN_VAL_T alignment,
const std::nothrow_t&) __THROW {
return ShimCppAlignedNew(size, static_cast<size_t>(alignment));
}
-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_ARR(void* p,
+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_ARR(void* p,
ALIGN_VAL_T) __THROW {
ShimCppDelete(p);
}
-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_ARR_SIZED(void* p,
+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_ARR_SIZED(void* p,
std::size_t size,
ALIGN_VAL_T) __THROW {
ShimCppDelete(p);
}
-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void
+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void
ALIGN_DEL_ARR_NOTHROW(void* p, ALIGN_VAL_T, const std::nothrow_t&) __THROW {
ShimCppDelete(p);
}
--
2.20.1

@ -1,99 +0,0 @@
From 130a5ae24a02daba8729ba2216bcaf3dbfacea69 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Fri, 8 Feb 2019 16:58:38 +0000
Subject: [PATCH] media::learning: Make LabelledExample's move assignment
operator noexcept
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The GCC build is currently broken with an error like this:
../../media/learning/common/labelled_example.cc:20:1: error: function media::learning::LabelledExample::LabelledExample(media::learning::LabelledExample&&) defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification
LabelledExample::LabelledExample(LabelledExample&& rhs) noexcept = default;
^~~~~~~~~~~~~~~
With GCC, having that noexcept marker requires all members to be marked with
noexcept themselves, and TargetValue was missing some assignment operators
and noexcept markers.
clang is fine because we pass -fno-exceptions and it disables the same error
there, while GCC continues to raise it (bug 843143 and its corresponding CL
have a longer discussion on this issue).
Bug: 819294
Change-Id: Ide30932fc466ccb52d6883a82777e703dae48798
Reviewed-on: https://chromium-review.googlesource.com/c/1458210
Commit-Queue: Frank Liberato <liberato@chromium.org>
Reviewed-by: Frank Liberato <liberato@chromium.org>
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#630355}
---
media/learning/common/labelled_example.cc | 3 ++-
media/learning/common/labelled_example.h | 2 +-
media/learning/common/value.cc | 6 ++++++
media/learning/common/value.h | 4 ++++
4 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/media/learning/common/labelled_example.cc b/media/learning/common/labelled_example.cc
index 76d08509298e..43e834f9f3cf 100644
--- a/media/learning/common/labelled_example.cc
+++ b/media/learning/common/labelled_example.cc
@@ -59,7 +59,8 @@ bool LabelledExample::operator<(const LabelledExample& rhs) const {
LabelledExample& LabelledExample::operator=(const LabelledExample& rhs) =
default;
-LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) = default;
+LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) noexcept =
+ default;
TrainingData::TrainingData() = default;
diff --git a/media/learning/common/labelled_example.h b/media/learning/common/labelled_example.h
index 4f43c54e7a76..365abc3c0ebf 100644
--- a/media/learning/common/labelled_example.h
+++ b/media/learning/common/labelled_example.h
@@ -40,7 +40,7 @@ struct COMPONENT_EXPORT(LEARNING_COMMON) LabelledExample {
bool operator<(const LabelledExample& rhs) const;
LabelledExample& operator=(const LabelledExample& rhs);
- LabelledExample& operator=(LabelledExample&& rhs);
+ LabelledExample& operator=(LabelledExample&& rhs) noexcept;
// Observed feature values.
// Note that to interpret these values, you probably need to have the
diff --git a/media/learning/common/value.cc b/media/learning/common/value.cc
index 9c9395c25d4e..12ea399d24c3 100644
--- a/media/learning/common/value.cc
+++ b/media/learning/common/value.cc
@@ -23,6 +23,12 @@ Value::Value(const std::string& x) : value_(base::PersistentHash(x)) {}
Value::Value(const Value& other) : value_(other.value_) {}
+Value::Value(Value&& rhs) noexcept = default;
+
+Value& Value::operator=(const Value& rhs) = default;
+
+Value& Value::operator=(Value&& rhs) noexcept = default;
+
bool Value::operator==(const Value& rhs) const {
return value_ == rhs.value_;
}
diff --git a/media/learning/common/value.h b/media/learning/common/value.h
index 0e64da961f34..62f4953f691c 100644
--- a/media/learning/common/value.h
+++ b/media/learning/common/value.h
@@ -38,6 +38,10 @@ class COMPONENT_EXPORT(LEARNING_COMMON) Value {
explicit Value(const std::string& x);
Value(const Value& other);
+ Value(Value&&) noexcept;
+
+ Value& operator=(const Value&);
+ Value& operator=(Value&&) noexcept;
bool operator==(const Value& rhs) const;
bool operator!=(const Value& rhs) const;
--
2.20.1

@ -1,51 +0,0 @@
From a5ba6f9bb7665040045dc0f8087407096630ad7b Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Fri, 8 Feb 2019 02:57:28 +0000
Subject: [PATCH] color_utils: Use std::sqrt() instead of std::sqrtf()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This fixes the build with libstdc++:
../../ui/gfx/color_utils.cc: In function SkColor color_utils::SetDarkestColorForTesting(SkColor):
../../ui/gfx/color_utils.cc:434:12: error: sqrtf is not a member of std
std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f;
^~~~~
../../ui/gfx/color_utils.cc:434:12: note: suggested alternative: sqrt
std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f;
^~~~~
sqrt
sqrtf() is not formally part of C++14 as far as I can see even though libc++
has it in <cmath>. Additionally, we're only dealing with floats in all parts
of the expression above, so using the float sqrt() overload should be
harmless anyway.
Bug: 819294
Change-Id: If6c7bf31819df97a761e6963def6d6506154c34d
Reviewed-on: https://chromium-review.googlesource.com/c/1458193
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#630140}
---
ui/gfx/color_utils.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ui/gfx/color_utils.cc b/ui/gfx/color_utils.cc
index c868cd54bac3..92ba1407d594 100644
--- a/ui/gfx/color_utils.cc
+++ b/ui/gfx/color_utils.cc
@@ -431,7 +431,7 @@ SkColor SetDarkestColorForTesting(SkColor color) {
// GetContrastRatio(kWhiteLuminance, g_luminance_midpoint). The formula below
// can be verified by plugging it into how GetContrastRatio() operates.
g_luminance_midpoint =
- std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f;
+ std::sqrt((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f;
return previous_darkest_color;
}
--
2.20.1

@ -1,69 +0,0 @@
From c33e832cc145c696d2157796c7640e659740dafa Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Fri, 8 Feb 2019 08:44:00 +0000
Subject: [PATCH] quic_flags_impl: Fix GCC build after #618558
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having
base::NoDestructor<T<U>> and passing an initializer list of Us does not
work if this is not done explicitly, as GCC incorrectly fails to determine
which constructor overload to use:
../../net/third_party/quic/platform/impl/quic_flags_impl.cc: In member function bool quic::TypedQuicFlagHelper<T>::SetFlag(const string&) const [with T = bool; std::__cxx11::string = std::__cxx11::basic_string<char>]:
../../net/third_party/quic/platform/impl/quic_flags_impl.cc:156:41: error: call of overloaded NoDestructor(<brace-enclosed initializer list>) is ambiguous
{"", "1", "t", "true", "y", "yes"});
^
In file included from ../../net/third_party/quic/platform/impl/quic_flags_impl.h:16,
from ../../net/third_party/quic/platform/impl/quic_flags_impl.cc:5:
../../base/no_destructor.h:62:3: note: candidate: base::NoDestructor<T>::NoDestructor(const base::NoDestructor<T>&) [with T = std::set<std::__cxx11::basic_string<char> >] <deleted>
NoDestructor(const NoDestructor&) = delete;
^~~~~~~~~~~~
../../base/no_destructor.h:60:12: note: candidate: base::NoDestructor<T>::NoDestructor(T&&) [with T = std::set<std::__cxx11::basic_string<char> >]
explicit NoDestructor(T&& x) { new (storage_) T(std::move(x)); }
^~~~~~~~~~~~
../../base/no_destructor.h:59:12: note: candidate: base::NoDestructor<T>::NoDestructor(const T&) [with T = std::set<std::__cxx11::basic_string<char> >]
explicit NoDestructor(const T& x) { new (storage_) T(x); }
^~~~~~~~~~~~
Explicitly use an std::initializer_list to make the build work everywhere.
Bug: 819294
Change-Id: I775be20e3766a88a656b58c94c40869cb1bee2a8
Reviewed-on: https://chromium-review.googlesource.com/c/1458214
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#630249}
---
net/third_party/quic/platform/impl/quic_flags_impl.cc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/net/third_party/quic/platform/impl/quic_flags_impl.cc b/net/third_party/quic/platform/impl/quic_flags_impl.cc
index 5e6962d1e770..3fa45fc6892d 100644
--- a/net/third_party/quic/platform/impl/quic_flags_impl.cc
+++ b/net/third_party/quic/platform/impl/quic_flags_impl.cc
@@ -5,6 +5,7 @@
#include "net/third_party/quic/platform/impl/quic_flags_impl.h"
#include <algorithm>
+#include <initializer_list>
#include <iostream>
#include <set>
@@ -153,9 +154,9 @@ std::string QuicFlagRegistry::GetHelp() const {
template <>
bool TypedQuicFlagHelper<bool>::SetFlag(const std::string& s) const {
static const base::NoDestructor<std::set<std::string>> kTrueValues(
- {"", "1", "t", "true", "y", "yes"});
+ std::initializer_list<std::string>({"", "1", "t", "true", "y", "yes"}));
static const base::NoDestructor<std::set<std::string>> kFalseValues(
- {"0", "f", "false", "n", "no"});
+ std::initializer_list<std::string>({"0", "f", "false", "n", "no"}));
if (kTrueValues->find(base::ToLowerASCII(s)) != kTrueValues->end()) {
*flag_ = true;
return true;
--
2.20.1

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save