chromium: update to 78.0.3904.70.

[ci skip]

- Built on x86_64, x86_64-musl, i686.
- Tested on x86_64.
This commit is contained in:
Peter Bui 2019-10-24 12:01:22 -04:00 committed by Helmut Pozimski
parent 9284c3a8f9
commit 96c951f2fa
11 changed files with 244 additions and 255 deletions

View file

@ -9,18 +9,16 @@
struct mallinfo info = mallinfo();
DCHECK_GE(info.arena + info.hblkhd, info.uordblks);
diff --git a/base/process/process_metrics_posix.cc b/base/process/process_metrics_posix.cc
index 0eb5c1f..8af7799 100644
--- base/process/process_metrics_posix.cc
+++ base/process/process_metrics_posix.cc
@@ -94,14 +94,14 @@ size_t ProcessMetrics::GetMallocUsage() {
--- base/process/process_metrics_posix.cc.orig 2019-10-24 11:10:48.553159245 -0400
+++ base/process/process_metrics_posix.cc 2019-10-24 11:14:29.025025854 -0400
@@ -110,14 +110,14 @@
malloc_statistics_t stats = {0};
malloc_zone_statistics(nullptr, &stats);
return stats.size_in_use;
-#elif defined(OS_LINUX) || defined(OS_ANDROID)
+#elif defined(__GLIBC__) || defined(OS_ANDROID)
struct mallinfo minfo = mallinfo();
#if defined(USE_TCMALLOC)
#if BUILDFLAG(USE_TCMALLOC)
return minfo.uordblks;
#else
return minfo.hblkhd + minfo.arena;

View file

@ -1,9 +1,9 @@
--- net/dns/host_resolver_manager.cc.orig 2019-07-03 11:19:00.047692874 -0400
+++ net/dns/host_resolver_manager.cc 2019-07-03 11:20:24.438679210 -0400
@@ -2266,8 +2266,7 @@
NetworkChangeNotifier::AddIPAddressObserver(this);
--- net/dns/host_resolver_manager.cc.orig 2019-10-24 11:20:16.353541895 -0400
+++ net/dns/host_resolver_manager.cc 2019-10-24 11:22:37.799381010 -0400
@@ -2386,8 +2386,7 @@
NetworkChangeNotifier::AddConnectionTypeObserver(this);
NetworkChangeNotifier::AddDNSObserver(this);
if (system_dns_config_notifier_)
system_dns_config_notifier_->AddObserver(this);
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
- !defined(OS_ANDROID)
+#if defined(__GLIBC__)

View file

@ -40,7 +40,7 @@ Index: dev/chrome/browser/about_flags.cc
===================================================================
--- chrome/browser/about_flags.cc
+++ chrome/browser/about_flags.cc
@@ -1527,7 +1527,7 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1772,7 +1772,7 @@ const FeatureEntry kFeatureEntries[] = {
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
flag_descriptions::kAcceleratedVideoDecodeDescription,
@ -49,7 +49,7 @@ Index: dev/chrome/browser/about_flags.cc
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
{
@@ -1993,10 +1993,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2245,10 +2245,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
#endif // !defined(OS_ANDROID)
#endif // ENABLE_VR
@ -66,7 +66,7 @@ Index: dev/chrome/browser/flag_descriptions.cc
===================================================================
--- chrome/browser/flag_descriptions.cc
+++ chrome/browser/flag_descriptions.cc
@@ -2880,9 +2880,7 @@ const char kMacSystemMediaPermissionsInf
@@ -3110,9 +3110,7 @@ const char kMacSystemMediaPermissionsInf
#endif
@ -77,7 +77,7 @@ Index: dev/chrome/browser/flag_descriptions.cc
const char kAcceleratedMjpegDecodeName[] =
"Hardware-accelerated mjpeg decode for captured frame";
@@ -2890,6 +2888,12 @@ const char kAcceleratedMjpegDecodeDescri
@@ -3120,6 +3118,12 @@ const char kAcceleratedMjpegDecodeDescri
"Enable hardware-accelerated mjpeg decode for captured frame where "
"available.";
@ -87,14 +87,14 @@ Index: dev/chrome/browser/flag_descriptions.cc
+
+#if defined(OS_CHROMEOS)
+
const char kAppServiceAshName[] = "App Service Ash";
const char kAppServiceAshDescription[] =
"Use the App Service to provide data to the Ash UI, such as the shelf and "
const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML.";
const char kAggregatedMlAppRankingDescription[] =
"Use the aggregated ML model to rank the suggested apps.";
Index: dev/chrome/browser/flag_descriptions.h
===================================================================
--- chrome/browser/flag_descriptions.h
+++ chrome/browser/flag_descriptions.h
@@ -1715,13 +1715,17 @@ extern const char kPermissionPromptPersi
@@ -1838,13 +1838,17 @@ extern const char kPermissionPromptPersi
#endif // defined(OS_MACOSX)
@ -112,8 +112,8 @@ Index: dev/chrome/browser/flag_descriptions.h
+
+#if defined(OS_CHROMEOS)
+
extern const char kAppServiceAshName[];
extern const char kAppServiceAshDescription[];
extern const char kAggregatedMlAppRankingName[];
extern const char kAggregatedMlAppRankingDescription[];
Index: dev/content/gpu/BUILD.gn
===================================================================
@ -140,7 +140,7 @@ Index: dev/gpu/config/software_rendering_list.json
===================================================================
--- gpu/config/software_rendering_list.json
+++ gpu/config/software_rendering_list.json
@@ -369,17 +369,6 @@
@@ -333,17 +333,6 @@
]
},
{
@ -162,7 +162,7 @@ Index: dev/media/base/media_switches.cc
===================================================================
--- media/base/media_switches.cc
+++ media/base/media_switches.cc
@@ -544,7 +544,7 @@ bool IsVideoCaptureAcceleratedJpegDecodi
@@ -619,7 +619,7 @@ bool IsVideoCaptureAcceleratedJpegDecodi
switches::kUseFakeMjpegDecodeAccelerator)) {
return true;
}
@ -171,32 +171,11 @@ Index: dev/media/base/media_switches.cc
return true;
#endif
return false;
Index: dev/media/filters/BUILD.gn
===================================================================
--- media/filters/BUILD.gn
+++ media/filters/BUILD.gn
@@ -5,6 +5,7 @@
import("//build/config/jumbo.gni")
import("//media/media_options.gni")
import("//third_party/libaom/options.gni")
+import("//media/gpu/args.gni")
jumbo_source_set("filters") {
# Do not expand the visibility here without double-checking with OWNERS, this
@@ -196,7 +197,7 @@ jumbo_source_set("filters") {
deps += [ "//media/base/android" ]
}
- if (current_cpu != "arm" && is_linux) {
+ if (use_vaapi) {
sources += [
"h264_bitstream_buffer.cc",
"h264_bitstream_buffer.h",
Index: dev/media/gpu/BUILD.gn
===================================================================
--- media/gpu/BUILD.gn
+++ media/gpu/BUILD.gn
@@ -531,6 +531,7 @@ if (use_v4l2_codec || use_vaapi || is_ma
@@ -541,6 +541,7 @@ if (use_v4l2_codec || use_vaapi || is_ma
if (use_ozone) {
deps += [ "//ui/ozone" ]
}
@ -208,7 +187,7 @@ Index: dev/media/gpu/gpu_video_decode_accelerator_factory.cc
===================================================================
--- media/gpu/gpu_video_decode_accelerator_factory.cc
+++ media/gpu/gpu_video_decode_accelerator_factory.cc
@@ -171,6 +171,8 @@ GpuVideoDecodeAcceleratorFactory::Create
@@ -185,6 +185,8 @@ GpuVideoDecodeAcceleratorFactory::Create
vda = (this->*create_vda_function)(workarounds, gpu_preferences, media_log);
if (vda && vda->Initialize(config, client))
return vda;
@ -217,7 +196,7 @@ Index: dev/media/gpu/gpu_video_decode_accelerator_factory.cc
}
return nullptr;
@@ -229,6 +231,7 @@ GpuVideoDecodeAcceleratorFactory::Create
@@ -243,6 +245,7 @@ GpuVideoDecodeAcceleratorFactory::Create
const gpu::GpuDriverBugWorkarounds& workarounds,
const gpu::GpuPreferences& gpu_preferences,
MediaLog* media_log) const {
@ -249,7 +228,7 @@ Index: dev/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
===================================================================
--- media/gpu/vaapi/vaapi_video_decode_accelerator.cc
+++ media/gpu/vaapi/vaapi_video_decode_accelerator.cc
@@ -64,6 +64,7 @@ void ReportToUMA(VAVDADecoderFailure fai
@@ -63,6 +63,7 @@ void ReportToUMA(VAVDADecoderFailure fai
VAVDA_DECODER_FAILURES_MAX + 1);
}
@ -257,7 +236,7 @@ Index: dev/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
// Returns true if the CPU is an Intel Gemini Lake or later (including Kaby
// Lake) Cpu platform id's are referenced from the following file in kernel
// source arch/x86/include/asm/intel-family.h
@@ -76,6 +77,7 @@ bool IsGeminiLakeOrLater() {
@@ -75,6 +76,7 @@ bool IsGeminiLakeOrLater() {
cpuid.model() >= kGeminiLakeModelId;
return is_geminilake_or_later;
}
@ -265,7 +244,7 @@ Index: dev/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
} // namespace
@@ -632,6 +634,10 @@ void VaapiVideoDecodeAccelerator::Assign
@@ -637,6 +639,10 @@ void VaapiVideoDecodeAccelerator::Assign
va_surface_format_ = GetVaFormatForVideoCodecProfile(profile_);
std::vector<VASurfaceID> va_surface_ids;
@ -276,7 +255,7 @@ Index: dev/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
// If we aren't in BufferAllocationMode::kNone, we have to allocate a
// |vpp_vaapi_wrapper_| for VaapiPicture to DownloadFromSurface() the VA's
// internal decoded frame.
@@ -645,15 +651,20 @@ void VaapiVideoDecodeAccelerator::Assign
@@ -650,6 +656,7 @@ void VaapiVideoDecodeAccelerator::Assign
NotifyError(PLATFORM_FAILURE);
}
}
@ -284,8 +263,9 @@ Index: dev/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
for (size_t i = 0; i < buffers.size(); ++i) {
// If we aren't in BufferAllocationMode::kNone, this |picture| is
// only used as a copy destination. Therefore, the VaapiWrapper used and
// owned by |picture| is |vpp_vaapi_wrapper_|.
@@ -661,9 +668,13 @@ void VaapiVideoDecodeAccelerator::Assign
PictureBuffer buffer = buffers[i];
buffer.set_size(requested_pic_size_);
std::unique_ptr<VaapiPicture> picture = vaapi_picture_factory_->Create(
+#if defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
+ vaapi_wrapper_,
@ -294,10 +274,10 @@ Index: dev/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
? vaapi_wrapper_
: vpp_vaapi_wrapper_,
+#endif
make_context_current_cb_, bind_image_cb_, buffers[i]);
make_context_current_cb_, bind_image_cb_, buffer);
RETURN_AND_NOTIFY_ON_FAILURE(picture, "Failed creating a VaapiPicture",
PLATFORM_FAILURE, );
@@ -1078,6 +1089,9 @@ VaapiVideoDecodeAccelerator::GetSupporte
@@ -1089,6 +1100,9 @@ VaapiVideoDecodeAccelerator::GetSupporte
VaapiVideoDecodeAccelerator::BufferAllocationMode
VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
@ -307,7 +287,7 @@ Index: dev/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
// TODO(crbug.com/912295): Enable a better BufferAllocationMode for IMPORT
// |output_mode_| as well.
if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
@@ -1113,6 +1127,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
@@ -1124,6 +1138,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
return BufferAllocationMode::kReduced;
return BufferAllocationMode::kSuperReduced;
@ -319,7 +299,7 @@ Index: dev/media/gpu/vaapi/vaapi_wrapper.cc
===================================================================
--- media/gpu/vaapi/vaapi_wrapper.cc
+++ media/gpu/vaapi/vaapi_wrapper.cc
@@ -324,6 +324,11 @@ void VADisplayState::PreSandboxInitializ
@@ -325,6 +325,11 @@ void VADisplayState::PreSandboxInitializ
base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE);
if (drm_file.IsValid())
VADisplayState::Get()->SetDrmFd(drm_file.GetPlatformFile());
@ -331,7 +311,7 @@ Index: dev/media/gpu/vaapi/vaapi_wrapper.cc
}
VADisplayState::VADisplayState()
@@ -351,10 +356,6 @@ bool VADisplayState::Initialize() {
@@ -352,10 +357,6 @@ bool VADisplayState::Initialize() {
}
bool VADisplayState::InitializeOnce() {
@ -342,7 +322,7 @@ Index: dev/media/gpu/vaapi/vaapi_wrapper.cc
switch (gl::GetGLImplementation()) {
case gl::kGLImplementationEGLGLES2:
va_display_ = vaGetDisplayDRM(drm_fd_.get());
@@ -362,10 +363,10 @@ bool VADisplayState::InitializeOnce() {
@@ -363,10 +364,10 @@ bool VADisplayState::InitializeOnce() {
case gl::kGLImplementationDesktopGL:
#if defined(USE_X11)
va_display_ = vaGetDisplay(gfx::GetXDisplay());
@ -356,7 +336,7 @@ Index: dev/media/gpu/vaapi/vaapi_wrapper.cc
break;
// Cannot infer platform from GL, try all available displays
case gl::kGLImplementationNone:
@@ -398,8 +399,19 @@ bool VADisplayState::InitializeOnce() {
@@ -399,8 +400,19 @@ bool VADisplayState::InitializeOnce() {
int major_version, minor_version;
VAStatus va_res = vaInitialize(va_display_, &major_version, &minor_version);
if (va_res != VA_STATUS_SUCCESS) {
@ -378,7 +358,7 @@ Index: dev/media/gpu/vaapi/vaapi_wrapper.cc
}
va_initialized_ = true;
@@ -407,7 +419,7 @@ bool VADisplayState::InitializeOnce() {
@@ -408,7 +420,7 @@ bool VADisplayState::InitializeOnce() {
va_vendor_string_ = vaQueryVendorString(va_display_);
DLOG_IF(WARNING, va_vendor_string_.empty())
<< "Vendor string empty or error reading.";
@ -387,7 +367,7 @@ Index: dev/media/gpu/vaapi/vaapi_wrapper.cc
<< va_vendor_string_;
// The VAAPI version is determined from what is loaded on the system by
@@ -742,7 +754,7 @@ bool VASupportedProfiles::AreAttribsSupp
@@ -740,7 +752,7 @@ bool VASupportedProfiles::AreAttribsSupp
if (attribs[i].type != required_attribs[i].type ||
(attribs[i].value & required_attribs[i].value) !=
required_attribs[i].value) {

View file

@ -1,49 +0,0 @@
From 27e25336b8316ff3ec4e464058682ed85801fd06 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Mon, 29 Jul 2019 10:54:28 +0000
Subject: [PATCH] Also link against libharfbuzz-subset when use_system_harfbuzz is true
When building HarfBuzz as part of Chromium, there is a single source set
with all the files we need in the build.
Upstream HarfBuzz, on the other hand, produces a few different libraries:
harfbuzz, harfbuzz-icu and harfbuzz-subset. When |use_system_harfbuzz| is
true, we were only looking for (and using) harfbuzz.pc with pkg-config even
though we also use symbols from libharfbuzz-subset.so. This resulted in
errors when linking:
ld: obj/skia/skia/SkPDFSubsetFont.o: in function `SkPDFSubsetFont(sk_sp<SkData>, SkPDFGlyphUse const&, SkPDF::Metadata::Subsetter, char const*, int)':
SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x48a): undefined reference to `hb_subset_input_create_or_fail'
ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x4af): undefined reference to `hb_subset_input_glyph_set'
ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5d7): undefined reference to `hb_subset_input_set_retain_gids'
ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5e4): undefined reference to `hb_subset_input_set_drop_hints'
ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5f3): undefined reference to `hb_subset'
ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x66f): undefined reference to `hb_subset_input_destroy'
as reported in
https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/UyJsVJ5QqWo/jSv5z7-rEQAJ
Change-Id: I997af075c7b7263cd7cc71a63db5b0f93bd1ab59
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715288
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Cr-Commit-Position: refs/heads/master@{#681760}
---
diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn
index 37d8e33..72013eb1d 100644
--- third_party/harfbuzz-ng/BUILD.gn
+++ third_party/harfbuzz-ng/BUILD.gn
@@ -16,7 +16,10 @@
"//third_party:freetype_harfbuzz",
"//third_party/freetype:freetype_source",
]
- packages = [ "harfbuzz" ]
+ packages = [
+ "harfbuzz",
+ "harfbuzz-subset",
+ ]
}
} else {
config("harfbuzz_config") {

View file

@ -1,130 +0,0 @@
From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001
From: Jeremy Roman <jbroman@chromium.org>
Date: Wed, 07 Aug 2019 13:26:48 +0000
Subject: [PATCH] WTF: Make LinkedHashSet understand values for which memset initialization would be bad.
Includes a unit test which fails before, and uses this to fix FontCacheKeyTraits.
Bug: 980025
Change-Id: If41f97444c7fd37b9b95d6dadaf3da5689079e9e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739948
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#684731}
---
diff --git a/third_party/blink/renderer/platform/fonts/font_cache_key.h b/third_party/blink/renderer/platform/fonts/font_cache_key.h
index 0efc8fb..90063cb 100644
--- third_party/blink/renderer/platform/fonts/font_cache_key.h
+++ third_party/blink/renderer/platform/fonts/font_cache_key.h
@@ -133,6 +133,10 @@
struct FontCacheKeyTraits : WTF::SimpleClassHashTraits<FontCacheKey> {
STATIC_ONLY(FontCacheKeyTraits);
+
+ // std::string's empty state need not be zero in all implementations,
+ // and it is held within FontFaceCreationParams.
+ static const bool kEmptyValueIsZero = false;
};
} // namespace blink
diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h b/third_party/blink/renderer/platform/wtf/linked_hash_set.h
index b35b6e9..77e524c 100644
--- third_party/blink/renderer/platform/wtf/linked_hash_set.h
+++ third_party/blink/renderer/platform/wtf/linked_hash_set.h
@@ -146,6 +146,11 @@
LinkedHashSetNodeBase* next)
: LinkedHashSetNodeBase(prev, next), value_(value) {}
+ LinkedHashSetNode(ValueArg&& value,
+ LinkedHashSetNodeBase* prev,
+ LinkedHashSetNodeBase* next)
+ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {}
+
LinkedHashSetNode(LinkedHashSetNode&& other)
: LinkedHashSetNodeBase(std::move(other)),
value_(std::move(other.value_)) {}
@@ -445,10 +450,13 @@
// The slot is empty when the next_ field is zero so it's safe to zero
// the backing.
- static const bool kEmptyValueIsZero = true;
+ static const bool kEmptyValueIsZero = ValueTraits::kEmptyValueIsZero;
static const bool kHasIsEmptyValueFunction = true;
static bool IsEmptyValue(const Node& node) { return !node.next_; }
+ static Node EmptyValue() {
+ return Node(ValueTraits::EmptyValue(), nullptr, nullptr);
+ }
static const int kDeletedValue = -1;
diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc
index 4c3f899..cd1be00 100644
--- third_party/blink/renderer/platform/wtf/list_hash_set_test.cc
+++ third_party/blink/renderer/platform/wtf/list_hash_set_test.cc
@@ -487,6 +487,7 @@
};
struct Complicated {
+ Complicated() : Complicated(0) {}
Complicated(int value) : simple_(value) { objects_constructed_++; }
Complicated(const Complicated& other) : simple_(other.simple_) {
@@ -495,9 +496,6 @@
Simple simple_;
static int objects_constructed_;
-
- private:
- Complicated() = delete;
};
int Complicated::objects_constructed_ = 0;
@@ -731,4 +729,45 @@
} // anonymous namespace
+// A unit type which objects to its state being initialized wrong.
+struct InvalidZeroValue {
+ InvalidZeroValue() = default;
+ InvalidZeroValue(WTF::HashTableDeletedValueType) : deleted_(true) {}
+ ~InvalidZeroValue() { CHECK(ok_); }
+ bool IsHashTableDeletedValue() const { return deleted_; }
+
+ bool ok_ = true;
+ bool deleted_ = false;
+};
+
+template <>
+struct HashTraits<InvalidZeroValue> : SimpleClassHashTraits<InvalidZeroValue> {
+ static const bool kEmptyValueIsZero = false;
+};
+
+template <>
+struct DefaultHash<InvalidZeroValue> {
+ struct Hash {
+ static unsigned GetHash(const InvalidZeroValue&) { return 0; }
+ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) {
+ return true;
+ }
+ };
+};
+
+template <typename Set>
+class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {};
+
+using InvalidZeroValueSetTypes =
+ testing::Types<ListHashSet<InvalidZeroValue>,
+ ListHashSet<InvalidZeroValue, 1>,
+ LinkedHashSet<InvalidZeroValue>>;
+TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes);
+
+TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) {
+ using Set = TypeParam;
+ Set set;
+ set.insert(InvalidZeroValue());
+}
+
} // namespace WTF

View file

@ -0,0 +1,40 @@
--- build/config/compiler/BUILD.gn 2019-10-24 11:01:40.459910040 -0400
+++ build/config/compiler/BUILD.gn 2019-10-24 11:04:19.690063743 -0400
@@ -1492,37 +1492,6 @@
# Currently goma can not handle case sensitiveness for windows well.
cflags += [ "-Wno-nonportable-include-path" ]
}
-
- if (current_toolchain == host_toolchain || !use_xcode_clang) {
- # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not
- # recognize.
- cflags += [
- # Ignore warnings about MSVC optimization pragmas.
- # TODO(thakis): Only for no_chromium_code? http://crbug.com/912662
- "-Wno-ignored-pragma-optimize",
-
- # TODO(https://crbug.com/989932): Evaluate and possibly enable.
- "-Wno-implicit-int-float-conversion",
-
- # TODO(https://crbug.com/995200): Clean up and enable.
- "-Wno-xor-used-as-pow",
-
- # TODO(https://crbug.com/999871): Decide if we want to clean up the
- # codebase or just disable this. Doesn't seem super useful, but
- # also fires in only 4 files.
- "-Wno-c99-designator",
-
- # This is a side effect of -Wc99-designator; easier to clean up.
- "-Wno-reorder-init-list",
-
- # TODO(https://crbug.com/999886): Clean up, enable.
- "-Wno-final-dtor-non-final-class",
- ]
- cflags_c += [
- # TODO(https://crbug.com/995993): Clean up and enable.
- "-Wno-implicit-fallthrough",
- ]
- }
}
}
}

View file

@ -1,11 +0,0 @@
--- third_party/one_euro_filter/src/one_euro_filter.h.orig 2019-09-29 21:21:03.958633609 -0400
+++ third_party/one_euro_filter/src/one_euro_filter.h 2019-09-29 21:21:54.128270940 -0400
@@ -3,6 +3,8 @@
#include "low_pass_filter.h"
+#include <memory>
+
namespace one_euro_filter {
namespace test {
class OneEuroFilterTest;

View file

@ -0,0 +1,30 @@
From bbfe2665923225b4a7c436ba2b6c7e5f695f2e52 Mon Sep 17 00:00:00 2001
From: David Landell <landell@vewd.com>
Date: Fri, 13 Sep 2019 12:24:13 +0000
Subject: [PATCH] Add missing include for unique_ptr
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Change-Id: I614d2f42868d563eb6a92dfb2aae08286e20d687
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1803137
Reviewed-by: Henrik Boström <hbos@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#696355}
---
third_party/blink/public/platform/web_rtc_rtp_source.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/third_party/blink/public/platform/web_rtc_rtp_source.h b/third_party/blink/public/platform/web_rtc_rtp_source.h
index 959440f7a5..c3fd5421aa 100644
--- third_party/blink/public/platform/web_rtc_rtp_source.h
+++ third_party/blink/public/platform/web_rtc_rtp_source.h
@@ -5,6 +5,8 @@
#ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_
#define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_
+#include <memory>
+
#include "base/optional.h"
#include "third_party/blink/public/platform/web_common.h"

View file

@ -0,0 +1,86 @@
From f4c3c329588b78af63aad8b401da767242b86709 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Mon, 16 Sep 2019 17:05:42 +0000
Subject: [PATCH] dns_util: Make DohUpgradeEntry non-const when used with
std::vector<>
This fixes the build with libstdc++ (with most other standard libraries
other than libc++, in fact) after commit f93a48e3 ("Allow upgrade to DoH
during automatic mode"):
../../../../../../usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/stl_vector.h:351:7: error: static_assert failed due to requirement 'is_same<typename remove_cv<const DohUpgradeEntry>::type, const DohUpgradeEntry>::value' "std::vector must have a non-const, non-volatile value_type"
static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../base/no_destructor.h:77:28: note: in instantiation of template class 'std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >' requested here
alignas(T) char storage_[sizeof(T)];
^
../../net/dns/dns_util.cc:147:7: note: in instantiation of template class 'base::NoDestructor<std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> > >' requested here
upgradable_servers({
^
../../net/dns/dns_util.cc:230:36: error: invalid range expression of type 'const std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >'; no viable 'begin' function available
for (const auto& upgrade_entry : upgradable_servers) {
^ ~~~~~~~~~~~~~~~~~~
The C++ standard forbids containers of const elements. Callers of
GetDohUpgradeList() use it in a safe way anyway, and most of
DohUpgradeEntry's members are const.
Bug: 957519
Change-Id: I826a51823edb1184c0fae27105101e2894efe568
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1805636
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Commit-Queue: Eric Orth <ericorth@chromium.org>
Reviewed-by: Eric Orth <ericorth@chromium.org>
Cr-Commit-Position: refs/heads/master@{#696834}
---
net/dns/dns_util.cc | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc
index d83ff7c150..14997c48b2 100644
--- net/dns/dns_util.cc
+++ net/dns/dns_util.cc
@@ -139,11 +139,11 @@ struct DohUpgradeEntry {
const DnsConfig::DnsOverHttpsServerConfig dns_over_https_config;
};
-const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() {
+const std::vector<DohUpgradeEntry>& GetDohUpgradeList() {
// The provider names in these entries should be kept in sync with the
// DohProviderId histogram suffix list in
// tools/metrics/histograms/histograms.xml.
- static const base::NoDestructor<std::vector<const DohUpgradeEntry>>
+ static const base::NoDestructor<std::vector<DohUpgradeEntry>>
upgradable_servers({
DohUpgradeEntry(
"CleanBrowsingAdult",
@@ -222,8 +222,7 @@ const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() {
std::vector<const DohUpgradeEntry*> GetDohUpgradeEntriesFromNameservers(
const std::vector<IPEndPoint>& dns_servers,
const std::vector<std::string>& excluded_providers) {
- const std::vector<const DohUpgradeEntry>& upgradable_servers =
- GetDohUpgradeList();
+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
std::vector<const DohUpgradeEntry*> entries;
for (const auto& server : dns_servers) {
@@ -417,8 +416,7 @@ std::vector<DnsConfig::DnsOverHttpsServerConfig>
GetDohUpgradeServersFromDotHostname(
const std::string& dot_server,
const std::vector<std::string>& excluded_providers) {
- const std::vector<const DohUpgradeEntry>& upgradable_servers =
- GetDohUpgradeList();
+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
std::vector<DnsConfig::DnsOverHttpsServerConfig> doh_servers;
if (dot_server.empty())
@@ -451,8 +449,7 @@ GetDohUpgradeServersFromNameservers(
std::string GetDohProviderIdForHistogramFromDohConfig(
const DnsConfig::DnsOverHttpsServerConfig& doh_server) {
- const std::vector<const DohUpgradeEntry>& upgradable_servers =
- GetDohUpgradeList();
+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
for (const auto& upgrade_entry : upgradable_servers) {
if (doh_server.server_template ==
upgrade_entry.dns_over_https_config.server_template) {

View file

@ -0,0 +1,45 @@
From e73aed9a5ef15102f29ac31b70290faf5c90f9fe Mon Sep 17 00:00:00 2001
From: Evan Stade <estade@chromium.org>
Date: Wed, 16 Oct 2019 16:01:32 +0000
Subject: [PATCH] Fix shutdown crash in ProfileManager.
OnProfileMarkedForPermanentDeletion should move from
ProfileManagerObserver to ProfileObserver, which would also
fix this bug. However, changing the order of members is the
quickest and most cherry-pick-able way to avoid the crash.
Bug: 1005244
Change-Id: If2db68c846dd418cd02864b57b9b543687fa1e03
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1863518
Auto-Submit: Evan Stade <estade@chromium.org>
Reviewed-by: David Roger <droger@chromium.org>
Commit-Queue: Evan Stade <estade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#706467}
---
chrome/browser/profiles/profile_manager.h | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles/profile_manager.h
index b60df76d59..7d02af7f8f 100644
--- chrome/browser/profiles/profile_manager.h
+++ chrome/browser/profiles/profile_manager.h
@@ -410,6 +410,10 @@ class ProfileManager : public content::NotificationObserver,
const base::FilePath& profile_dir);
#endif // !defined(OS_ANDROID)
+ // Destroy after |profile_info_cache_| since Profile destruction may trigger
+ // some observers to unregister themselves.
+ base::ObserverList<ProfileManagerObserver> observers_;
+
// Object to cache various information about profiles. Contains information
// about every profile which has been created for this instance of Chrome,
// if it has not been explicitly deleted. It must be destroyed after
@@ -451,8 +455,6 @@ class ProfileManager : public content::NotificationObserver,
// Controls whether to initialize some services. Only disabled for testing.
bool do_final_services_init_ = true;
- base::ObserverList<ProfileManagerObserver> observers_;
-
// TODO(chrome/browser/profiles/OWNERS): Usage of this in profile_manager.cc
// should likely be turned into DCHECK_CURRENTLY_ON(BrowserThread::UI) for
// consistency with surrounding code in the same file but that wasn't trivial

View file

@ -1,15 +1,15 @@
# Template file for 'chromium'
pkgname=chromium
# See http://www.chromium.org/developers/calendar for the latest version
version=77.0.3865.120
revision=2
version=78.0.3904.70
revision=1
archs="i686 x86_64*"
short_desc="Google's attempt at creating a safer, faster, and more stable browser"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="BSD-3-Clause"
homepage="https://www.chromium.org/"
distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz"
checksum=d792f9b09b1dcfd64e68f47a611c540dd1383dd9abd78ca1e06b2a7e2ff06af8
checksum=ddc5794097d65ba19c1ae359c2057b08921e7b38b7afe9d5ec45f5e8b9a87462
lib32disabled=yes
nodebug=yes