Compare commits
18 Commits
Author | SHA1 | Date |
---|---|---|
Tom Callaway | d04a819fff | |
Tom Callaway | 676620aaf4 | |
Tom Callaway | da85f2068e | |
Tom Callaway | 05d2cf0d34 | |
Tom Callaway | 5fc8858d96 | |
Tom Callaway | c0fb212e0b | |
Tom Callaway | e5a2fe6bf9 | |
Tom Callaway | 221955b503 | |
Tom Callaway | 898f03e29c | |
Tom Callaway | 24713a7d83 | |
Tom Callaway | f31cfdf366 | |
Tom Callaway | d0fbb12446 | |
Tom Callaway | f58fe84a22 | |
Tom Callaway | ba5e1533ef | |
Tom Callaway | 962f432818 | |
Tom Callaway | 9b9e3f1757 | |
Tom Callaway | f00f09bba7 | |
Tom Callaway | 74d7a05332 |
|
@ -21,13 +21,3 @@
|
|||
/Ahem.ttf
|
||||
/node-v8.9.1-linux-x64.tar.gz
|
||||
/node-v10.15.3-linux-x64.tar.gz
|
||||
/xcb-proto-1.14.tar.xz
|
||||
/NotoSansSymbols2-Regular.ttf
|
||||
/NotoSansTibetan-Regular.ttf
|
||||
/node-v12.22.6-linux-arm64.tar.xz
|
||||
/node-v12.22.6-linux-x64.tar.xz
|
||||
/node-v16.17.0-linux-x64.tar.xz
|
||||
/node-v16.17.0-linux-arm64.tar.xz
|
||||
/testupload
|
||||
/node-v19.8.1-linux-arm64.tar.xz
|
||||
/node-v19.8.1-linux-x64.tar.xz
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,9 +0,0 @@
|
|||
- Widevine is not a free library and cannot be shipped in fedora.
|
||||
You have to get it from Google first and install it under
|
||||
/usr/lib64/chromium-browser or /opt/google/chrome if you want
|
||||
Chromium to use widevine.
|
||||
|
||||
- Chromium uses the system ffmpeg-free library which is included in
|
||||
fedora >= 36 and centos-stream 9. This library contains free video
|
||||
codecs. If you want Chromium to use non-free video codecs, you need
|
||||
to install libavcodec-freeworld from rpmfusion-free.
|
|
@ -1,12 +0,0 @@
|
|||
diff -up chromium-101.0.4951.41/content/common/user_agent.cc.fedora-user-agent chromium-101.0.4951.41/content/common/user_agent.cc
|
||||
--- chromium-101.0.4951.41/content/common/user_agent.cc.fedora-user-agent 2022-04-27 20:03:36.913767022 +0000
|
||||
+++ chromium-101.0.4951.41/content/common/user_agent.cc 2022-04-27 20:04:30.591942420 +0000
|
||||
@@ -34,7 +34,7 @@ std::string GetUserAgentPlatform() {
|
||||
#elif BUILDFLAG(IS_MAC)
|
||||
return "Macintosh; ";
|
||||
#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
||||
- return "X11; "; // strange, but that's what Firefox uses
|
||||
+ return "X11; Fedora; "; // strange, but that's what Firefox uses
|
||||
#elif BUILDFLAG(IS_ANDROID)
|
||||
return "Linux; ";
|
||||
#elif BUILDFLAG(IS_FUCHSIA)
|
File diff suppressed because it is too large
Load Diff
|
@ -1,134 +0,0 @@
|
|||
diff -up chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py
|
||||
--- chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 2022-07-05 13:31:29.434673638 +0000
|
||||
+++ chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py 2022-07-05 21:52:01.884578748 +0000
|
||||
@@ -29,7 +29,7 @@ import sys
|
||||
import types
|
||||
|
||||
__author__ = "Benjamin Peterson <benjamin@python.org>"
|
||||
-__version__ = "1.15.0"
|
||||
+__version__ = "1.16.0"
|
||||
|
||||
|
||||
# Useful for very coarse version differentiation.
|
||||
@@ -71,6 +71,11 @@ else:
|
||||
MAXSIZE = int((1 << 63) - 1)
|
||||
del X
|
||||
|
||||
+if PY34:
|
||||
+ from importlib.util import spec_from_loader
|
||||
+else:
|
||||
+ spec_from_loader = None
|
||||
+
|
||||
|
||||
def _add_doc(func, doc):
|
||||
"""Add documentation to a function."""
|
||||
@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object):
|
||||
return self
|
||||
return None
|
||||
|
||||
+ def find_spec(self, fullname, path, target=None):
|
||||
+ if fullname in self.known_modules:
|
||||
+ return spec_from_loader(fullname, self)
|
||||
+ return None
|
||||
+
|
||||
def __get_module(self, fullname):
|
||||
try:
|
||||
return self.known_modules[fullname]
|
||||
@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object):
|
||||
return None
|
||||
get_source = get_code # same as get_code
|
||||
|
||||
+ def create_module(self, spec):
|
||||
+ return self.load_module(spec.name)
|
||||
+
|
||||
+ def exec_module(self, module):
|
||||
+ pass
|
||||
+
|
||||
_importer = _SixMetaPathImporter(__name__)
|
||||
|
||||
|
||||
diff -up chromium-103.0.5060.53/third_party/six/src/six.py.116 chromium-103.0.5060.53/third_party/six/src/six.py
|
||||
--- chromium-103.0.5060.53/third_party/six/src/six.py.116 2022-07-05 13:32:28.916687658 +0000
|
||||
+++ chromium-103.0.5060.53/third_party/six/src/six.py 2022-07-05 21:59:42.561240407 +0000
|
||||
@@ -29,7 +29,7 @@ import sys
|
||||
import types
|
||||
|
||||
__author__ = "Benjamin Peterson <benjamin@python.org>"
|
||||
-__version__ = "1.14.0"
|
||||
+__version__ = "1.16.0"
|
||||
|
||||
|
||||
# Useful for very coarse version differentiation.
|
||||
@@ -71,6 +71,11 @@ else:
|
||||
MAXSIZE = int((1 << 63) - 1)
|
||||
del X
|
||||
|
||||
+if PY34:
|
||||
+ from importlib.util import spec_from_loader
|
||||
+else:
|
||||
+ spec_from_loader = None
|
||||
+
|
||||
|
||||
def _add_doc(func, doc):
|
||||
"""Add documentation to a function."""
|
||||
@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object):
|
||||
return self
|
||||
return None
|
||||
|
||||
+ def find_spec(self, fullname, path, target=None):
|
||||
+ if fullname in self.known_modules:
|
||||
+ return spec_from_loader(fullname, self)
|
||||
+ return None
|
||||
+
|
||||
def __get_module(self, fullname):
|
||||
try:
|
||||
return self.known_modules[fullname]
|
||||
@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object):
|
||||
return None
|
||||
get_source = get_code # same as get_code
|
||||
|
||||
+ def create_module(self, spec):
|
||||
+ return self.load_module(spec.name)
|
||||
+
|
||||
+ def exec_module(self, module):
|
||||
+ pass
|
||||
+
|
||||
_importer = _SixMetaPathImporter(__name__)
|
||||
|
||||
|
||||
@@ -890,12 +906,11 @@ def ensure_binary(s, encoding='utf-8', e
|
||||
- `str` -> encoded to `bytes`
|
||||
- `bytes` -> `bytes`
|
||||
"""
|
||||
+ if isinstance(s, binary_type):
|
||||
+ return s
|
||||
if isinstance(s, text_type):
|
||||
return s.encode(encoding, errors)
|
||||
- elif isinstance(s, binary_type):
|
||||
- return s
|
||||
- else:
|
||||
- raise TypeError("not expecting type '%s'" % type(s))
|
||||
+ raise TypeError("not expecting type '%s'" % type(s))
|
||||
|
||||
|
||||
def ensure_str(s, encoding='utf-8', errors='strict'):
|
||||
@@ -909,12 +924,15 @@ def ensure_str(s, encoding='utf-8', erro
|
||||
- `str` -> `str`
|
||||
- `bytes` -> decoded to `str`
|
||||
"""
|
||||
- if not isinstance(s, (text_type, binary_type)):
|
||||
- raise TypeError("not expecting type '%s'" % type(s))
|
||||
+ # Optimization: Fast return for the common case.
|
||||
+ if type(s) is str:
|
||||
+ return s
|
||||
if PY2 and isinstance(s, text_type):
|
||||
- s = s.encode(encoding, errors)
|
||||
+ return s.encode(encoding, errors)
|
||||
elif PY3 and isinstance(s, binary_type):
|
||||
- s = s.decode(encoding, errors)
|
||||
+ return s.decode(encoding, errors)
|
||||
+ elif not isinstance(s, (text_type, binary_type)):
|
||||
+ raise TypeError("not expecting type '%s'" % type(s))
|
||||
return s
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
diff -up chromium-107.0.5304.121/media/filters/audio_file_reader.cc.me chromium-107.0.5304.121/media/filters/audio_file_reader.cc
|
||||
--- chromium-107.0.5304.121/media/filters/audio_file_reader.cc.me 2022-12-17 08:27:12.204753071 +0100
|
||||
+++ chromium-107.0.5304.121/media/filters/audio_file_reader.cc 2022-12-17 08:28:40.908211808 +0100
|
||||
@@ -243,10 +243,10 @@ bool AudioFileReader::OnNewFrame(
|
||||
// silence from being output. In the case where we are also discarding some
|
||||
// portion of the packet (as indicated by a negative pts), we further want to
|
||||
// adjust the duration downward by however much exists before zero.
|
||||
- if (audio_codec_ == AudioCodec::kAAC && frame->duration) {
|
||||
+ if (audio_codec_ == AudioCodec::kAAC && frame->pkt_duration) {
|
||||
const base::TimeDelta pkt_duration = ConvertFromTimeBase(
|
||||
glue_->format_context()->streams[stream_index_]->time_base,
|
||||
- frame->duration + std::min(static_cast<int64_t>(0), frame->pts));
|
||||
+ frame->pkt_duration + std::min(static_cast<int64_t>(0), frame->pts));
|
||||
const base::TimeDelta frame_duration =
|
||||
base::Seconds(frames_read / static_cast<double>(sample_rate_));
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
diff -up chromium-107.0.5304.121/media/BUILD.gn.me chromium-107.0.5304.121/media/BUILD.gn
|
||||
--- chromium-107.0.5304.121/media/BUILD.gn.me 2022-12-17 12:35:44.546779129 +0100
|
||||
+++ chromium-107.0.5304.121/media/BUILD.gn 2022-12-17 12:35:59.296047028 +0100
|
||||
@@ -64,12 +64,6 @@ buildflag_header("media_buildflags") {
|
||||
}
|
||||
}
|
||||
|
||||
-if (proprietary_codecs && media_use_ffmpeg) {
|
||||
- assert(
|
||||
- ffmpeg_branding != "Chromium",
|
||||
- "proprietary codecs and ffmpeg_branding set to Chromium are incompatible")
|
||||
-}
|
||||
-
|
||||
# Common configuration for targets in the media directory; these must not be
|
||||
# exported since things like USE_NEON and USE_CRAS have different meanings
|
||||
# elsewhere in the code base.
|
|
@ -1,39 +0,0 @@
|
|||
diff -up chromium-105.0.5195.52/build/linux/unbundle/libusb.gn.gnsystem chromium-105.0.5195.52/build/linux/unbundle/libusb.gn
|
||||
--- chromium-105.0.5195.52/build/linux/unbundle/libusb.gn.gnsystem 2022-09-01 12:23:27.557313611 +0000
|
||||
+++ chromium-105.0.5195.52/build/linux/unbundle/libusb.gn 2022-09-01 12:23:27.557313611 +0000
|
||||
@@ -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-105.0.5195.52/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py
|
||||
--- chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py.gnsystem 2022-09-01 12:23:27.558313577 +0000
|
||||
+++ chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py 2022-09-01 12:36:01.870847125 +0000
|
||||
@@ -52,6 +52,7 @@ REPLACEMENTS = {
|
||||
'libjpeg': 'third_party/libjpeg.gni',
|
||||
'libjxl' : 'third_party/libjxl/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,36 +0,0 @@
|
|||
diff -up chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c.me chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c
|
||||
--- chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c.me 2022-12-24 11:08:03.212333476 +0100
|
||||
+++ chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c 2022-12-24 11:08:18.316606155 +0100
|
||||
@@ -44,7 +44,7 @@
|
||||
#include <signal.h>
|
||||
#include <pthread.h>
|
||||
#include <errno.h>
|
||||
-#include <fcntl.h>
|
||||
+#include <linux/fcntl.h>
|
||||
|
||||
#include "wayland-os.h"
|
||||
#include "wayland-util.h"
|
||||
diff -up chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc
|
||||
--- chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include 2022-06-15 10:52:49.553817031 -0400
|
||||
+++ chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc 2022-06-15 10:56:15.775173013 -0400
|
||||
@@ -56,6 +56,7 @@
|
||||
|
||||
#if V8_OS_LINUX
|
||||
#include <sys/prctl.h> // for prctl
|
||||
+#include <linux/memfd.h> // for MFD_CLOEXEC
|
||||
#endif
|
||||
|
||||
#if defined(V8_OS_FUCHSIA)
|
||||
diff -up iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c.me iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c
|
||||
--- iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c.me 2022-12-08 21:59:43.502200984 +0100
|
||||
+++ iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c 2022-12-08 22:13:53.375653343 +0100
|
||||
@@ -29,7 +29,8 @@
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
-#include <fcntl.h>
|
||||
+#include <linux/fcntl.h> // for F_SEAL_SHRINK, F_ADD_SEALS, F_SEAL_SEAL
|
||||
+#include <linux/memfd.h> // for MFD_CLOEXEC
|
||||
#include <errno.h>
|
||||
#include <signal.h>
|
||||
#include <string.h>
|
|
@ -1,11 +0,0 @@
|
|||
diff -up chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c.me chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c
|
||||
--- chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c.me 2022-12-27 16:14:22.507496575 +0100
|
||||
+++ chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c 2022-12-27 16:35:17.617573610 +0100
|
||||
@@ -26,6 +26,7 @@
|
||||
*/
|
||||
|
||||
#include "wayland-version.h"
|
||||
+#include "config.h" // HAVE_STRNDUP
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
|
@ -1,294 +0,0 @@
|
|||
diff -up chromium-108.0.5359.124/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc.revert-new-channel-layout-api chromium-108.0.5359.124/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc
|
||||
--- chromium-108.0.5359.124/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc.revert-new-channel-layout-api 2022-12-14 01:39:52.000000000 +0100
|
||||
+++ chromium-108.0.5359.124/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc 2023-01-04 21:44:23.098276796 +0100
|
||||
@@ -74,7 +74,7 @@ void CdmAudioDecoderConfigToAVCodecConte
|
||||
codec_context->sample_fmt = AV_SAMPLE_FMT_NONE;
|
||||
}
|
||||
|
||||
- codec_context->ch_layout.nb_channels = config.channel_count;
|
||||
+ codec_context->channels = config.channel_count;
|
||||
codec_context->sample_rate = config.samples_per_second;
|
||||
|
||||
if (config.extra_data) {
|
||||
@@ -124,8 +124,8 @@ void CopySamples(cdm::AudioFormat cdm_fo
|
||||
case cdm::kAudioFormatPlanarS16:
|
||||
case cdm::kAudioFormatPlanarF32: {
|
||||
const int decoded_size_per_channel =
|
||||
- decoded_audio_size / av_frame.ch_layout.nb_channels;
|
||||
- for (int i = 0; i < av_frame.ch_layout.nb_channels; ++i) {
|
||||
+ decoded_audio_size / av_frame.channels;
|
||||
+ for (int i = 0; i < av_frame.channels; ++i) {
|
||||
memcpy(output_buffer, av_frame.extended_data[i],
|
||||
decoded_size_per_channel);
|
||||
output_buffer += decoded_size_per_channel;
|
||||
@@ -185,14 +185,13 @@ bool FFmpegCdmAudioDecoder::Initialize(
|
||||
// Success!
|
||||
decoding_loop_ = std::make_unique<FFmpegDecodingLoop>(codec_context_.get());
|
||||
samples_per_second_ = config.samples_per_second;
|
||||
- bytes_per_frame_ =
|
||||
- codec_context_->ch_layout.nb_channels * config.bits_per_channel / 8;
|
||||
+ bytes_per_frame_ = codec_context_->channels * config.bits_per_channel / 8;
|
||||
output_timestamp_helper_ =
|
||||
std::make_unique<AudioTimestampHelper>(config.samples_per_second);
|
||||
is_initialized_ = true;
|
||||
|
||||
// Store initial values to guard against midstream configuration changes.
|
||||
- channels_ = codec_context_->ch_layout.nb_channels;
|
||||
+ channels_ = codec_context_->channels;
|
||||
av_sample_format_ = codec_context_->sample_fmt;
|
||||
|
||||
return true;
|
||||
@@ -292,19 +291,17 @@ cdm::Status FFmpegCdmAudioDecoder::Decod
|
||||
for (auto& frame : audio_frames) {
|
||||
int decoded_audio_size = 0;
|
||||
if (frame->sample_rate != samples_per_second_ ||
|
||||
- frame->ch_layout.nb_channels != channels_ ||
|
||||
- frame->format != av_sample_format_) {
|
||||
+ frame->channels != channels_ || frame->format != av_sample_format_) {
|
||||
DLOG(ERROR) << "Unsupported midstream configuration change!"
|
||||
<< " Sample Rate: " << frame->sample_rate << " vs "
|
||||
- << samples_per_second_
|
||||
- << ", Channels: " << frame->ch_layout.nb_channels << " vs "
|
||||
- << channels_ << ", Sample Format: " << frame->format << " vs "
|
||||
- << av_sample_format_;
|
||||
+ << samples_per_second_ << ", Channels: " << frame->channels
|
||||
+ << " vs " << channels_ << ", Sample Format: " << frame->format
|
||||
+ << " vs " << av_sample_format_;
|
||||
return cdm::kDecodeError;
|
||||
}
|
||||
|
||||
decoded_audio_size = av_samples_get_buffer_size(
|
||||
- nullptr, codec_context_->ch_layout.nb_channels, frame->nb_samples,
|
||||
+ nullptr, codec_context_->channels, frame->nb_samples,
|
||||
codec_context_->sample_fmt, 1);
|
||||
if (!decoded_audio_size)
|
||||
continue;
|
||||
@@ -323,9 +320,9 @@ bool FFmpegCdmAudioDecoder::OnNewFrame(
|
||||
size_t* total_size,
|
||||
std::vector<std::unique_ptr<AVFrame, ScopedPtrAVFreeFrame>>* audio_frames,
|
||||
AVFrame* frame) {
|
||||
- *total_size += av_samples_get_buffer_size(
|
||||
- nullptr, codec_context_->ch_layout.nb_channels, frame->nb_samples,
|
||||
- codec_context_->sample_fmt, 1);
|
||||
+ *total_size += av_samples_get_buffer_size(nullptr, codec_context_->channels,
|
||||
+ frame->nb_samples,
|
||||
+ codec_context_->sample_fmt, 1);
|
||||
audio_frames->emplace_back(av_frame_clone(frame));
|
||||
return true;
|
||||
}
|
||||
diff -up chromium-108.0.5359.124/media/ffmpeg/ffmpeg_common.cc.revert-new-channel-layout-api chromium-108.0.5359.124/media/ffmpeg/ffmpeg_common.cc
|
||||
--- chromium-108.0.5359.124/media/ffmpeg/ffmpeg_common.cc.revert-new-channel-layout-api 2022-12-14 01:39:52.000000000 +0100
|
||||
+++ chromium-108.0.5359.124/media/ffmpeg/ffmpeg_common.cc 2023-01-04 21:52:59.674165082 +0100
|
||||
@@ -353,11 +353,9 @@ bool AVCodecContextToAudioDecoderConfig(
|
||||
codec_context->sample_fmt, codec_context->codec_id);
|
||||
|
||||
ChannelLayout channel_layout =
|
||||
- codec_context->ch_layout.nb_channels > 8
|
||||
+ codec_context->channels > 8
|
||||
? CHANNEL_LAYOUT_DISCRETE
|
||||
- : ChannelLayoutToChromeChannelLayout(
|
||||
- codec_context->ch_layout.u.mask,
|
||||
- codec_context->ch_layout.nb_channels);
|
||||
+ : ChannelLayoutToChromeChannelLayout(codec_context->channel_layout, codec_context->channels);
|
||||
|
||||
switch (codec) {
|
||||
// For AC3/EAC3 we enable only demuxing, but not decoding, so FFmpeg does
|
||||
@@ -409,7 +407,7 @@ bool AVCodecContextToAudioDecoderConfig(
|
||||
extra_data, encryption_scheme, seek_preroll,
|
||||
codec_context->delay);
|
||||
if (channel_layout == CHANNEL_LAYOUT_DISCRETE)
|
||||
- config->SetChannelsForDiscrete(codec_context->ch_layout.nb_channels);
|
||||
+ config->SetChannelsForDiscrete(codec_context->channels);
|
||||
|
||||
#if BUILDFLAG(ENABLE_PLATFORM_AC3_EAC3_AUDIO)
|
||||
// These are bitstream formats unknown to ffmpeg, so they don't have
|
||||
@@ -478,7 +476,7 @@ void AudioDecoderConfigToAVCodecContext(
|
||||
|
||||
// TODO(scherkus): should we set |channel_layout|? I'm not sure if FFmpeg uses
|
||||
// said information to decode.
|
||||
- codec_context->ch_layout.nb_channels = config.channels();
|
||||
+ codec_context->channels = config.channels();
|
||||
codec_context->sample_rate = config.samples_per_second();
|
||||
|
||||
if (config.extra_data().empty()) {
|
||||
diff -up chromium-108.0.5359.124/media/filters/audio_file_reader.cc.revert-new-channel-layout-api chromium-108.0.5359.124/media/filters/audio_file_reader.cc
|
||||
--- chromium-108.0.5359.124/media/filters/audio_file_reader.cc.revert-new-channel-layout-api 2023-01-04 21:44:23.095276762 +0100
|
||||
+++ chromium-108.0.5359.124/media/filters/audio_file_reader.cc 2023-01-04 21:44:23.098276796 +0100
|
||||
@@ -113,15 +113,14 @@ bool AudioFileReader::OpenDecoder() {
|
||||
|
||||
// Verify the channel layout is supported by Chrome. Acts as a sanity check
|
||||
// against invalid files. See http://crbug.com/171962
|
||||
- if (ChannelLayoutToChromeChannelLayout(
|
||||
- codec_context_->ch_layout.u.mask,
|
||||
- codec_context_->ch_layout.nb_channels) ==
|
||||
+ if (ChannelLayoutToChromeChannelLayout(codec_context_->channel_layout,
|
||||
+ codec_context_->channels) ==
|
||||
CHANNEL_LAYOUT_UNSUPPORTED) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Store initial values to guard against midstream configuration changes.
|
||||
- channels_ = codec_context_->ch_layout.nb_channels;
|
||||
+ channels_ = codec_context_->channels;
|
||||
audio_codec_ = CodecIDToAudioCodec(codec_context_->codec_id);
|
||||
sample_rate_ = codec_context_->sample_rate;
|
||||
av_sample_format_ = codec_context_->sample_fmt;
|
||||
@@ -224,7 +223,7 @@ bool AudioFileReader::OnNewFrame(
|
||||
if (frames_read < 0)
|
||||
return false;
|
||||
|
||||
- const int channels = frame->ch_layout.nb_channels;
|
||||
+ const int channels = frame->channels;
|
||||
if (frame->sample_rate != sample_rate_ || channels != channels_ ||
|
||||
frame->format != av_sample_format_) {
|
||||
DLOG(ERROR) << "Unsupported midstream configuration change!"
|
||||
diff -up chromium-108.0.5359.124/media/filters/audio_file_reader_unittest.cc.revert-new-channel-layout-api chromium-108.0.5359.124/media/filters/audio_file_reader_unittest.cc
|
||||
--- chromium-108.0.5359.124/media/filters/audio_file_reader_unittest.cc.revert-new-channel-layout-api 2022-12-14 01:39:52.000000000 +0100
|
||||
+++ chromium-108.0.5359.124/media/filters/audio_file_reader_unittest.cc 2023-01-04 21:44:23.098276796 +0100
|
||||
@@ -121,11 +121,11 @@ class AudioFileReaderTest : public testi
|
||||
EXPECT_FALSE(reader_->Open());
|
||||
}
|
||||
|
||||
- void RunTestFailingDecode(const char* fn, int expect_read = 0) {
|
||||
+ void RunTestFailingDecode(const char* fn) {
|
||||
Initialize(fn);
|
||||
EXPECT_TRUE(reader_->Open());
|
||||
std::vector<std::unique_ptr<AudioBus>> decoded_audio_packets;
|
||||
- EXPECT_EQ(reader_->Read(&decoded_audio_packets), expect_read);
|
||||
+ EXPECT_EQ(reader_->Read(&decoded_audio_packets), 0);
|
||||
}
|
||||
|
||||
void RunTestPartialDecode(const char* fn) {
|
||||
@@ -219,7 +219,7 @@ TEST_F(AudioFileReaderTest, AAC_ADTS) {
|
||||
}
|
||||
|
||||
TEST_F(AudioFileReaderTest, MidStreamConfigChangesFail) {
|
||||
- RunTestFailingDecode("midstream_config_change.mp3", 42624);
|
||||
+ RunTestFailingDecode("midstream_config_change.mp3");
|
||||
}
|
||||
#endif
|
||||
|
||||
diff -up chromium-108.0.5359.124/media/filters/audio_video_metadata_extractor.cc.revert-new-channel-layout-api chromium-108.0.5359.124/media/filters/audio_video_metadata_extractor.cc
|
||||
--- chromium-108.0.5359.124/media/filters/audio_video_metadata_extractor.cc.revert-new-channel-layout-api 2022-12-14 01:39:52.000000000 +0100
|
||||
+++ chromium-108.0.5359.124/media/filters/audio_video_metadata_extractor.cc 2023-01-04 21:44:23.098276796 +0100
|
||||
@@ -113,15 +113,6 @@ bool AudioVideoMetadataExtractor::Extrac
|
||||
if (!stream)
|
||||
continue;
|
||||
|
||||
- void* display_matrix =
|
||||
- av_stream_get_side_data(stream, AV_PKT_DATA_DISPLAYMATRIX, nullptr);
|
||||
- if (display_matrix) {
|
||||
- rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(
|
||||
- static_cast<int32_t*>(display_matrix))
|
||||
- .rotation;
|
||||
- info.tags["rotate"] = base::NumberToString(rotation_);
|
||||
- }
|
||||
-
|
||||
// Extract dictionary from streams also. Needed for containers that attach
|
||||
// metadata to contained streams instead the container itself, like OGG.
|
||||
ExtractDictionary(stream->metadata, &info.tags);
|
||||
@@ -264,6 +255,8 @@ void AudioVideoMetadataExtractor::Extrac
|
||||
if (raw_tags->find(tag->key) == raw_tags->end())
|
||||
(*raw_tags)[tag->key] = tag->value;
|
||||
|
||||
+ if (ExtractInt(tag, "rotate", &rotation_))
|
||||
+ continue;
|
||||
if (ExtractString(tag, "album", &album_))
|
||||
continue;
|
||||
if (ExtractString(tag, "artist", &artist_))
|
||||
diff -up chromium-108.0.5359.124/media/filters/ffmpeg_aac_bitstream_converter.cc.revert-new-channel-layout-api chromium-108.0.5359.124/media/filters/ffmpeg_aac_bitstream_converter.cc
|
||||
--- chromium-108.0.5359.124/media/filters/ffmpeg_aac_bitstream_converter.cc.revert-new-channel-layout-api 2022-12-14 01:39:52.000000000 +0100
|
||||
+++ chromium-108.0.5359.124/media/filters/ffmpeg_aac_bitstream_converter.cc 2023-01-04 21:44:23.099276807 +0100
|
||||
@@ -195,15 +195,14 @@ bool FFmpegAACBitstreamConverter::Conver
|
||||
if (!header_generated_ || codec_ != stream_codec_parameters_->codec_id ||
|
||||
audio_profile_ != stream_codec_parameters_->profile ||
|
||||
sample_rate_index_ != sample_rate_index ||
|
||||
- channel_configuration_ !=
|
||||
- stream_codec_parameters_->ch_layout.nb_channels ||
|
||||
+ channel_configuration_ != stream_codec_parameters_->channels ||
|
||||
frame_length_ != header_plus_packet_size) {
|
||||
header_generated_ =
|
||||
GenerateAdtsHeader(stream_codec_parameters_->codec_id,
|
||||
0, // layer
|
||||
stream_codec_parameters_->profile, sample_rate_index,
|
||||
0, // private stream
|
||||
- stream_codec_parameters_->ch_layout.nb_channels,
|
||||
+ stream_codec_parameters_->channels,
|
||||
0, // originality
|
||||
0, // home
|
||||
0, // copyrighted_stream
|
||||
@@ -215,7 +214,7 @@ bool FFmpegAACBitstreamConverter::Conver
|
||||
codec_ = stream_codec_parameters_->codec_id;
|
||||
audio_profile_ = stream_codec_parameters_->profile;
|
||||
sample_rate_index_ = sample_rate_index;
|
||||
- channel_configuration_ = stream_codec_parameters_->ch_layout.nb_channels;
|
||||
+ channel_configuration_ = stream_codec_parameters_->channels;
|
||||
frame_length_ = header_plus_packet_size;
|
||||
}
|
||||
|
||||
diff -up chromium-108.0.5359.124/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc.revert-new-channel-layout-api chromium-108.0.5359.124/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
|
||||
--- chromium-108.0.5359.124/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc.revert-new-channel-layout-api 2022-12-14 01:39:52.000000000 +0100
|
||||
+++ chromium-108.0.5359.124/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc 2023-01-04 21:44:23.099276807 +0100
|
||||
@@ -34,7 +34,7 @@ class FFmpegAACBitstreamConverterTest :
|
||||
memset(&test_parameters_, 0, sizeof(AVCodecParameters));
|
||||
test_parameters_.codec_id = AV_CODEC_ID_AAC;
|
||||
test_parameters_.profile = FF_PROFILE_AAC_MAIN;
|
||||
- test_parameters_.ch_layout.nb_channels = 2;
|
||||
+ test_parameters_.channels = 2;
|
||||
test_parameters_.extradata = extradata_header_;
|
||||
test_parameters_.extradata_size = sizeof(extradata_header_);
|
||||
}
|
||||
diff -up chromium-108.0.5359.124/media/filters/ffmpeg_audio_decoder.cc.revert-new-channel-layout-api chromium-108.0.5359.124/media/filters/ffmpeg_audio_decoder.cc
|
||||
--- chromium-108.0.5359.124/media/filters/ffmpeg_audio_decoder.cc.revert-new-channel-layout-api 2022-12-14 01:39:52.000000000 +0100
|
||||
+++ chromium-108.0.5359.124/media/filters/ffmpeg_audio_decoder.cc 2023-01-04 21:44:23.099276807 +0100
|
||||
@@ -28,7 +28,7 @@ namespace media {
|
||||
|
||||
// Return the number of channels from the data in |frame|.
|
||||
static inline int DetermineChannels(AVFrame* frame) {
|
||||
- return frame->ch_layout.nb_channels;
|
||||
+ return frame->channels;
|
||||
}
|
||||
|
||||
// Called by FFmpeg's allocation routine to allocate a buffer. Uses
|
||||
@@ -233,7 +233,7 @@ bool FFmpegAudioDecoder::OnNewFrame(cons
|
||||
// Translate unsupported into discrete layouts for discrete configurations;
|
||||
// ffmpeg does not have a labeled discrete configuration internally.
|
||||
ChannelLayout channel_layout = ChannelLayoutToChromeChannelLayout(
|
||||
- codec_context_->ch_layout.u.mask, codec_context_->ch_layout.nb_channels);
|
||||
+ codec_context_->channel_layout, codec_context_->channels);
|
||||
if (channel_layout == CHANNEL_LAYOUT_UNSUPPORTED &&
|
||||
config_.channel_layout() == CHANNEL_LAYOUT_DISCRETE) {
|
||||
channel_layout = CHANNEL_LAYOUT_DISCRETE;
|
||||
@@ -350,11 +350,11 @@ bool FFmpegAudioDecoder::ConfigureDecode
|
||||
// Success!
|
||||
av_sample_format_ = codec_context_->sample_fmt;
|
||||
|
||||
- if (codec_context_->ch_layout.nb_channels != config.channels()) {
|
||||
+ if (codec_context_->channels != config.channels()) {
|
||||
MEDIA_LOG(ERROR, media_log_)
|
||||
<< "Audio configuration specified " << config.channels()
|
||||
<< " channels, but FFmpeg thinks the file contains "
|
||||
- << codec_context_->ch_layout.nb_channels << " channels";
|
||||
+ << codec_context_->channels << " channels";
|
||||
ReleaseFFmpegResources();
|
||||
state_ = DecoderState::kUninitialized;
|
||||
return false;
|
||||
@@ -405,7 +405,7 @@ int FFmpegAudioDecoder::GetAudioBuffer(s
|
||||
if (frame->nb_samples <= 0)
|
||||
return AVERROR(EINVAL);
|
||||
|
||||
- if (s->ch_layout.nb_channels != channels) {
|
||||
+ if (s->channels != channels) {
|
||||
DLOG(ERROR) << "AVCodecContext and AVFrame disagree on channel count.";
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
@@ -438,8 +438,7 @@ int FFmpegAudioDecoder::GetAudioBuffer(s
|
||||
ChannelLayout channel_layout =
|
||||
config_.channel_layout() == CHANNEL_LAYOUT_DISCRETE
|
||||
? CHANNEL_LAYOUT_DISCRETE
|
||||
- : ChannelLayoutToChromeChannelLayout(s->ch_layout.u.mask,
|
||||
- s->ch_layout.nb_channels);
|
||||
+ : ChannelLayoutToChromeChannelLayout(s->channel_layout, s->channels);
|
||||
|
||||
if (channel_layout == CHANNEL_LAYOUT_UNSUPPORTED) {
|
||||
DLOG(ERROR) << "Unsupported channel layout.";
|
|
@ -1,36 +0,0 @@
|
|||
diff -up chromium-108.0.5359.124/net/filter/brotli_source_stream.cc.me chromium-108.0.5359.124/net/filter/brotli_source_stream.cc
|
||||
--- chromium-108.0.5359.124/net/filter/brotli_source_stream.cc.me 2022-12-30 16:00:58.320318310 +0100
|
||||
+++ chromium-108.0.5359.124/net/filter/brotli_source_stream.cc 2022-12-30 16:01:24.928581631 +0100
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "base/memory/raw_ptr.h"
|
||||
#include "base/metrics/histogram_macros.h"
|
||||
#include "net/base/io_buffer.h"
|
||||
-#include "third_party/brotli/include/brotli/decode.h"
|
||||
+#include <brotli/decode.h>
|
||||
|
||||
namespace net {
|
||||
|
||||
diff -up chromium-108.0.5359.124/net/ssl/cert_compression.cc.me chromium-108.0.5359.124/net/ssl/cert_compression.cc
|
||||
--- chromium-108.0.5359.124/net/ssl/cert_compression.cc.me 2022-12-30 15:57:59.859543993 +0100
|
||||
+++ chromium-108.0.5359.124/net/ssl/cert_compression.cc 2022-12-30 16:00:48.560221723 +0100
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "third_party/boringssl/src/include/openssl/ssl.h"
|
||||
|
||||
#if !defined(NET_DISABLE_BROTLI)
|
||||
-#include "third_party/brotli/include/brotli/decode.h"
|
||||
+#include <brotli/decode.h>
|
||||
#endif
|
||||
|
||||
namespace net {
|
||||
diff -up chromium-108.0.5359.124/ui/base/resource/resource_bundle.cc.me chromium-108.0.5359.124/ui/base/resource/resource_bundle.cc
|
||||
--- chromium-108.0.5359.124/ui/base/resource/resource_bundle.cc.me 2022-12-30 21:12:27.058346797 +0100
|
||||
+++ chromium-108.0.5359.124/ui/base/resource/resource_bundle.cc 2022-12-30 21:13:58.363183795 +0100
|
||||
@@ -31,7 +31,7 @@
|
||||
#include "build/build_config.h"
|
||||
#include "net/filter/gzip_header.h"
|
||||
#include "skia/ext/image_operations.h"
|
||||
-#include "third_party/brotli/include/brotli/decode.h"
|
||||
+#include <brotli/decode.h>
|
||||
#include "third_party/skia/include/core/SkBitmap.h"
|
||||
#include "third_party/skia/include/core/SkColor.h"
|
||||
#include "third_party/zlib/google/compression_utils.h"
|
|
@ -1,12 +0,0 @@
|
|||
diff -up chromium-108.0.5359.124/media/audio/audio_opus_encoder.h.me chromium-108.0.5359.124/media/audio/audio_opus_encoder.h
|
||||
--- chromium-108.0.5359.124/media/audio/audio_opus_encoder.h.me 2022-12-31 09:49:17.100277502 +0100
|
||||
+++ chromium-108.0.5359.124/media/audio/audio_opus_encoder.h 2022-12-31 09:49:57.101016710 +0100
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "media/base/audio_converter.h"
|
||||
#include "media/base/audio_encoder.h"
|
||||
#include "media/base/audio_timestamp_helper.h"
|
||||
-#include "third_party/opus/src/include/opus.h"
|
||||
+#include <opus/opus.h>
|
||||
|
||||
namespace media {
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
diff -up chromium-108.0.5359.124/chrome/common/chrome_paths.cc.widevine-other-locations chromium-108.0.5359.124/chrome/common/chrome_paths.cc
|
||||
--- chromium-108.0.5359.124/chrome/common/chrome_paths.cc.widevine-other-locations 2023-01-02 11:10:03.951330305 +0100
|
||||
+++ chromium-108.0.5359.124/chrome/common/chrome_paths.cc 2023-01-02 13:42:26.781022150 +0100
|
||||
@@ -319,6 +319,16 @@ bool PathProvider(int key, base::FilePat
|
||||
|
||||
#if BUILDFLAG(ENABLE_WIDEVINE)
|
||||
case chrome::DIR_BUNDLED_WIDEVINE_CDM:
|
||||
+ base::PathService::Get(base::DIR_HOME, &cur);
|
||||
+ cur = cur.Append(FILE_PATH_LITERAL(".config/chromium/WidevineCdm"));
|
||||
+ if (base::PathExists(cur)) {
|
||||
+ break;
|
||||
+ }
|
||||
+ // Yes, this has an arch hardcoded in the path, but at this time, it is the only place to find libwidevinecdm.so
|
||||
+ if (base::PathExists(base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")))) {
|
||||
+ cur = base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm"));
|
||||
+ break;
|
||||
+ }
|
||||
if (!GetComponentDirectory(&cur))
|
||||
return false;
|
||||
cur = cur.AppendASCII(kWidevineCdmBaseDirectory);
|
||||
diff -up chromium-108.0.5359.124/third_party/widevine/cdm/BUILD.gn.widevine-other-locations chromium-108.0.5359.124/third_party/widevine/cdm/BUILD.gn
|
||||
--- chromium-108.0.5359.124/third_party/widevine/cdm/BUILD.gn.widevine-other-locations 2023-01-02 11:10:45.953114153 +0100
|
||||
+++ chromium-108.0.5359.124/third_party/widevine/cdm/BUILD.gn 2023-01-02 11:10:45.953114153 +0100
|
||||
@@ -22,7 +22,7 @@ buildflag_header("buildflags") {
|
||||
|
||||
flags = [
|
||||
"ENABLE_WIDEVINE=$enable_widevine",
|
||||
- "BUNDLE_WIDEVINE_CDM=$bundle_widevine_cdm",
|
||||
+ "BUNDLE_WIDEVINE_CDM=true",
|
||||
"ENABLE_WIDEVINE_CDM_COMPONENT=$enable_widevine_cdm_component",
|
||||
"ENABLE_MEDIA_FOUNDATION_WIDEVINE_CDM=$enable_media_foundation_widevine_cdm",
|
||||
]
|
|
@ -1,64 +0,0 @@
|
|||
diff -up chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc
|
||||
--- chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip 2023-01-04 20:20:37.000000000 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc 2023-01-08 15:48:08.654793086 +0100
|
||||
@@ -27,8 +27,8 @@ limitations under the License.
|
||||
#include "tensorflow_lite_support/cc/port/status_macros.h"
|
||||
#include "tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h"
|
||||
#include "tensorflow_lite_support/metadata/metadata_schema_generated.h"
|
||||
-#include "third_party/zlib/contrib/minizip/ioapi.h"
|
||||
-#include "third_party/zlib/contrib/minizip/unzip.h"
|
||||
+#include <minizip/ioapi.h>
|
||||
+#include <minizip/unzip.h>
|
||||
|
||||
namespace tflite {
|
||||
namespace metadata {
|
||||
diff -up chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc
|
||||
--- chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip 2023-01-04 20:20:37.000000000 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc 2023-01-08 15:48:08.655793097 +0100
|
||||
@@ -26,8 +26,8 @@ limitations under the License.
|
||||
#include "tensorflow_lite_support/cc/port/statusor.h"
|
||||
#include "tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h"
|
||||
#include "tensorflow_lite_support/metadata/metadata_schema_generated.h"
|
||||
-#include "third_party/zlib/contrib/minizip/ioapi.h"
|
||||
-#include "third_party/zlib/contrib/minizip/unzip.h"
|
||||
+#include <minizip/ioapi.h>
|
||||
+#include <minizip/zip.h>
|
||||
|
||||
namespace tflite {
|
||||
namespace metadata {
|
||||
diff -up chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
|
||||
--- chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip 2023-01-08 15:48:08.655793097 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc 2023-01-08 15:53:17.498329640 +0100
|
||||
@@ -19,7 +19,7 @@ limitations under the License.
|
||||
#include <cstdio>
|
||||
|
||||
#include "absl/strings/string_view.h" // from @com_google_absl
|
||||
-#include "third_party/zlib/contrib/minizip/ioapi.h"
|
||||
+#include <minizip/ioapi.h>
|
||||
|
||||
namespace tflite {
|
||||
namespace metadata {
|
||||
diff -up chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc
|
||||
--- chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip 2023-01-04 20:20:37.000000000 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc 2023-01-08 15:48:08.655793097 +0100
|
||||
@@ -19,7 +19,7 @@ limitations under the License.
|
||||
#include <cstdio>
|
||||
|
||||
#include "absl/strings/string_view.h" // from @com_google_absl
|
||||
-#include "third_party/zlib/contrib/minizip/ioapi.h"
|
||||
+#include <minizip/ioapi.h>
|
||||
|
||||
namespace tflite {
|
||||
namespace metadata {
|
||||
diff -up chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h
|
||||
--- chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip 2023-01-04 20:20:37.000000000 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h 2023-01-08 15:48:08.655793097 +0100
|
||||
@@ -19,7 +19,7 @@ limitations under the License.
|
||||
#include <cstdlib>
|
||||
|
||||
#include "absl/strings/string_view.h" // from @com_google_absl
|
||||
-#include "third_party/zlib/contrib/minizip/ioapi.h"
|
||||
+#include <minizip/ioapi.h>
|
||||
|
||||
namespace tflite {
|
||||
namespace metadata {
|
|
@ -1,141 +0,0 @@
|
|||
diff -up chromium-110.0.5481.77/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc.me chromium-110.0.5481.77/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc
|
||||
--- chromium-110.0.5481.77/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc.me 2023-02-08 20:34:02.700010846 +0100
|
||||
+++ chromium-110.0.5481.77/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc 2023-02-08 20:35:30.455580670 +0100
|
||||
@@ -4,7 +4,9 @@
|
||||
|
||||
#include "sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.h"
|
||||
|
||||
-#include <linux/kcmp.h>
|
||||
+#ifndef KCMP_FILE
|
||||
+#define KCMP_FILE 0
|
||||
+#endif
|
||||
|
||||
#include "media/gpu/buildflags.h"
|
||||
#include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
|
||||
diff -up chromium-99.0.4844.51/mojo/core/channel_linux.cc.epel7-header-workarounds chromium-99.0.4844.51/mojo/core/channel_linux.cc
|
||||
--- chromium-99.0.4844.51/mojo/core/channel_linux.cc.epel7-header-workarounds 2022-02-28 19:05:54.000000000 -0500
|
||||
+++ chromium-99.0.4844.51/mojo/core/channel_linux.cc 2022-03-05 14:50:49.876812909 -0500
|
||||
@@ -44,6 +44,25 @@
|
||||
#include "base/android/build_info.h"
|
||||
#endif
|
||||
|
||||
+#ifndef F_LINUX_SPECIFIC_BASE
|
||||
+#define F_LINUX_SPECIFIC_BASE 1024
|
||||
+#endif
|
||||
+#ifndef F_SEAL_SEAL
|
||||
+#define F_SEAL_SEAL 0x0001
|
||||
+#endif
|
||||
+#ifndef F_SEAL_SHRINK
|
||||
+#define F_SEAL_SHRINK 0x0002
|
||||
+#endif
|
||||
+#ifndef F_SEAL_GROW
|
||||
+#define F_SEAL_GROW 0x0004
|
||||
+#endif
|
||||
+#ifndef F_ADD_SEALS
|
||||
+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
|
||||
+#endif
|
||||
+#ifndef F_GET_SEALS
|
||||
+#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
|
||||
+#endif
|
||||
+
|
||||
#ifndef EFD_ZERO_ON_WAKE
|
||||
#define EFD_ZERO_ON_WAKE O_NOFOLLOW
|
||||
#endif
|
||||
diff -up chromium-99.0.4844.51/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.epel7-header-workarounds chromium-99.0.4844.51/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
|
||||
--- chromium-99.0.4844.51/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.epel7-header-workarounds 2022-03-05 14:50:49.877812915 -0500
|
||||
+++ chromium-99.0.4844.51/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2022-03-05 15:15:02.536867009 -0500
|
||||
@@ -53,6 +53,25 @@
|
||||
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
+#ifndef F_LINUX_SPECIFIC_BASE
|
||||
+#define F_LINUX_SPECIFIC_BASE 1024
|
||||
+#endif
|
||||
+#ifndef F_SEAL_SEAL
|
||||
+#define F_SEAL_SEAL 0x0001
|
||||
+#endif
|
||||
+#ifndef F_SEAL_SHRINK
|
||||
+#define F_SEAL_SHRINK 0x0002
|
||||
+#endif
|
||||
+#ifndef F_SEAL_GROW
|
||||
+#define F_SEAL_GROW 0x0004
|
||||
+#endif
|
||||
+#ifndef F_ADD_SEALS
|
||||
+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
|
||||
+#endif
|
||||
+#ifndef F_GET_SEALS
|
||||
+#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
|
||||
+#endif
|
||||
+
|
||||
#if defined(__arm__) && !defined(MAP_STACK)
|
||||
#define MAP_STACK 0x20000 // Daisy build environment has old headers.
|
||||
#endif
|
||||
diff -up chromium-99.0.4844.51/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc.epel7-header-workarounds chromium-99.0.4844.51/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
|
||||
--- chromium-99.0.4844.51/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc.epel7-header-workarounds 2022-02-28 19:05:55.000000000 -0500
|
||||
+++ chromium-99.0.4844.51/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc 2022-03-05 14:50:49.877812915 -0500
|
||||
@@ -6,7 +6,24 @@
|
||||
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
-#include <linux/kcmp.h>
|
||||
+#ifndef KCMP_FILE
|
||||
+#define KCMP_FILE 0
|
||||
+#endif
|
||||
+#ifndef F_LINUX_SPECIFIC_BASE
|
||||
+#define F_LINUX_SPECIFIC_BASE 1024
|
||||
+#endif
|
||||
+#ifndef F_SEAL_SEAL
|
||||
+#define F_SEAL_SEAL 0x0001
|
||||
+#endif
|
||||
+#ifndef F_SEAL_SHRINK
|
||||
+#define F_SEAL_SHRINK 0x0002
|
||||
+#endif
|
||||
+#ifndef F_SEAL_GROW
|
||||
+#define F_SEAL_GROW 0x0004
|
||||
+#endif
|
||||
+#ifndef F_ADD_SEALS
|
||||
+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
|
||||
+#endif
|
||||
#include <sys/socket.h>
|
||||
|
||||
// Some arch's (arm64 for instance) unistd.h don't pull in symbols used here
|
||||
diff -up chromium-99.0.4844.51/sandbox/policy/linux/bpf_gpu_policy_linux.cc.epel7-header-workarounds chromium-99.0.4844.51/sandbox/policy/linux/bpf_gpu_policy_linux.cc
|
||||
--- chromium-99.0.4844.51/sandbox/policy/linux/bpf_gpu_policy_linux.cc.epel7-header-workarounds 2022-02-28 19:05:55.000000000 -0500
|
||||
+++ chromium-99.0.4844.51/sandbox/policy/linux/bpf_gpu_policy_linux.cc 2022-03-05 14:50:49.877812915 -0500
|
||||
@@ -22,6 +22,22 @@
|
||||
#include "sandbox/policy/linux/sandbox_linux.h"
|
||||
#include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h"
|
||||
|
||||
+#ifndef F_LINUX_SPECIFIC_BASE
|
||||
+#define F_LINUX_SPECIFIC_BASE 1024
|
||||
+#endif
|
||||
+#ifndef F_SEAL_SEAL
|
||||
+#define F_SEAL_SEAL 0x0001
|
||||
+#endif
|
||||
+#ifndef F_SEAL_SHRINK
|
||||
+#define F_SEAL_SHRINK 0x0002
|
||||
+#endif
|
||||
+#ifndef F_SEAL_GROW
|
||||
+#define F_SEAL_GROW 0x0004
|
||||
+#endif
|
||||
+#ifndef F_ADD_SEALS
|
||||
+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
|
||||
+#endif
|
||||
+
|
||||
using sandbox::bpf_dsl::AllOf;
|
||||
using sandbox::bpf_dsl::Allow;
|
||||
using sandbox::bpf_dsl::Arg;
|
||||
diff -up chromium-99.0.4844.51/ui/events/ozone/evdev/event_converter_evdev_impl.cc.epel7-header-workarounds chromium-99.0.4844.51/ui/events/ozone/evdev/event_converter_evdev_impl.cc
|
||||
--- chromium-99.0.4844.51/ui/events/ozone/evdev/event_converter_evdev_impl.cc.epel7-header-workarounds 2022-02-28 19:06:49.000000000 -0500
|
||||
+++ chromium-99.0.4844.51/ui/events/ozone/evdev/event_converter_evdev_impl.cc 2022-03-05 14:50:49.877812915 -0500
|
||||
@@ -23,6 +23,10 @@
|
||||
#include "ui/events/ozone/evdev/numberpad_metrics.h"
|
||||
#endif
|
||||
|
||||
+#ifndef SW_PEN_INSERTED
|
||||
+#define SW_PEN_INSERTED 0x0f /* set = pen inserted */
|
||||
+#endif
|
||||
+
|
||||
namespace ui {
|
||||
|
||||
namespace {
|
|
@ -1,11 +0,0 @@
|
|||
diff -up chromium-110.0.5481.177/base/memory/ref_counted.h.me chromium-110.0.5481.177/base/memory/ref_counted.h
|
||||
--- chromium-110.0.5481.177/base/memory/ref_counted.h.me 2023-02-23 13:34:33.174817255 -0500
|
||||
+++ chromium-110.0.5481.177/base/memory/ref_counted.h 2023-02-23 13:42:28.646052469 -0500
|
||||
@@ -6,6 +6,7 @@
|
||||
#define BASE_MEMORY_REF_COUNTED_H_
|
||||
|
||||
#include <stddef.h>
|
||||
+#include <limits>
|
||||
|
||||
#include <utility>
|
||||
|
|
@ -1,120 +0,0 @@
|
|||
From 2aef9000a1c8d76d3072365ffcb471ebffa20d3d Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Schneider <asn@cryptomilk.org>
|
||||
Date: Tue, 15 Mar 2022 14:26:16 +0100
|
||||
Subject: [PATCH] Track first_dts instead of using non-upstream functions
|
||||
|
||||
The function av_stream_get_first_dts() is not an upstream ffmpeg function and
|
||||
is not available if you build with system ffmpeg. We can easily track the
|
||||
first_dts on our own.
|
||||
|
||||
See also
|
||||
https://ffmpeg.org/pipermail/ffmpeg-devel/2021-September/285401.html
|
||||
|
||||
Bug: 1306560
|
||||
|
||||
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
|
||||
Change-Id: I90ba3cf2f2e16f56a0b405f26c67f911349fb71d
|
||||
---
|
||||
media/filters/ffmpeg_demuxer.cc | 18 ++++++++++++------
|
||||
media/filters/ffmpeg_demuxer.h | 3 +++
|
||||
3 files changed, 16 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
|
||||
index 111899b661..799fc6e941 100644
|
||||
--- a/media/filters/ffmpeg_demuxer.cc
|
||||
+++ b/media/filters/ffmpeg_demuxer.cc
|
||||
@@ -97,7 +97,7 @@ static base::TimeDelta FramesToTimeDelta(int frames, double sample_rate) {
|
||||
sample_rate);
|
||||
}
|
||||
|
||||
-static base::TimeDelta ExtractStartTime(AVStream* stream) {
|
||||
+static base::TimeDelta ExtractStartTime(AVStream* stream, int64_t first_dts) {
|
||||
// The default start time is zero.
|
||||
base::TimeDelta start_time;
|
||||
|
||||
@@ -107,12 +107,12 @@ static base::TimeDelta ExtractStartTime(AVStream* stream) {
|
||||
|
||||
// Next try to use the first DTS value, for codecs where we know PTS == DTS
|
||||
// (excludes all H26x codecs). The start time must be returned in PTS.
|
||||
- if (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp &&
|
||||
+ if (first_dts != AV_NOPTS_VALUE &&
|
||||
stream->codecpar->codec_id != AV_CODEC_ID_HEVC &&
|
||||
stream->codecpar->codec_id != AV_CODEC_ID_H264 &&
|
||||
stream->codecpar->codec_id != AV_CODEC_ID_MPEG4) {
|
||||
const base::TimeDelta first_pts =
|
||||
- ConvertFromTimeBase(stream->time_base, av_stream_get_first_dts(stream));
|
||||
+ ConvertFromTimeBase(stream->time_base, first_dts);
|
||||
if (first_pts < start_time)
|
||||
start_time = first_pts;
|
||||
}
|
||||
@@ -283,6 +283,7 @@ FFmpegDemuxerStream::FFmpegDemuxerStream(
|
||||
fixup_negative_timestamps_(false),
|
||||
fixup_chained_ogg_(false),
|
||||
num_discarded_packet_warnings_(0),
|
||||
+ first_dts_(AV_NOPTS_VALUE),
|
||||
last_packet_pos_(AV_NOPTS_VALUE),
|
||||
last_packet_dts_(AV_NOPTS_VALUE) {
|
||||
DCHECK(demuxer_);
|
||||
@@ -349,6 +350,10 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
|
||||
int64_t packet_dts =
|
||||
packet->dts == AV_NOPTS_VALUE ? packet->pts : packet->dts;
|
||||
|
||||
+ if (first_dts_ == AV_NOPTS_VALUE) {
|
||||
+ first_dts_ = packet_dts;
|
||||
+ }
|
||||
+
|
||||
// Chained ogg files have non-monotonically increasing position and time stamp
|
||||
// values, which prevents us from using them to determine if a packet should
|
||||
// be dropped. Since chained ogg is only allowed on single track audio only
|
||||
@@ -1442,7 +1447,8 @@ void FFmpegDemuxer::OnFindStreamInfoDone(int result) {
|
||||
|
||||
max_duration = std::max(max_duration, streams_[i]->duration());
|
||||
|
||||
- base::TimeDelta start_time = ExtractStartTime(stream);
|
||||
+ base::TimeDelta start_time =
|
||||
+ ExtractStartTime(stream, streams_[i]->first_dts());
|
||||
|
||||
// Note: This value is used for seeking, so we must take the true value and
|
||||
// not the one possibly clamped to zero below.
|
||||
@@ -1599,7 +1605,7 @@ FFmpegDemuxerStream* FFmpegDemuxer::FindStreamWithLowestStartTimestamp(
|
||||
for (const auto& stream : streams_) {
|
||||
if (!stream || stream->IsEnabled() != enabled)
|
||||
continue;
|
||||
- if (av_stream_get_first_dts(stream->av_stream()) == kInvalidPTSMarker)
|
||||
+ if (stream->first_dts() == AV_NOPTS_VALUE)
|
||||
continue;
|
||||
if (!lowest_start_time_stream ||
|
||||
stream->start_time() < lowest_start_time_stream->start_time()) {
|
||||
@@ -1620,7 +1626,7 @@ FFmpegDemuxerStream* FFmpegDemuxer::FindPreferredStreamForSeeking(
|
||||
if (stream->type() != DemuxerStream::VIDEO)
|
||||
continue;
|
||||
|
||||
- if (av_stream_get_first_dts(stream->av_stream()) == kInvalidPTSMarker)
|
||||
+ if (stream->first_dts() == AV_NOPTS_VALUE)
|
||||
continue;
|
||||
|
||||
if (!stream->IsEnabled())
|
||||
diff --git a/media/filters/ffmpeg_demuxer.h b/media/filters/ffmpeg_demuxer.h
|
||||
index c147309d6f..48a8f6ad8c 100644
|
||||
--- a/media/filters/ffmpeg_demuxer.h
|
||||
+++ b/media/filters/ffmpeg_demuxer.h
|
||||
@@ -151,6 +151,8 @@ class MEDIA_EXPORT FFmpegDemuxerStream : public DemuxerStream {
|
||||
base::TimeDelta start_time() const { return start_time_; }
|
||||
void set_start_time(base::TimeDelta time) { start_time_ = time; }
|
||||
|
||||
+ int64_t first_dts() const { return first_dts_; }
|
||||
+
|
||||
private:
|
||||
friend class FFmpegDemuxerTest;
|
||||
|
||||
@@ -208,6 +210,7 @@ class MEDIA_EXPORT FFmpegDemuxerStream : public DemuxerStream {
|
||||
bool fixup_chained_ogg_;
|
||||
|
||||
int num_discarded_packet_warnings_;
|
||||
+ int64_t first_dts_;
|
||||
int64_t last_packet_pos_;
|
||||
int64_t last_packet_dts_;
|
||||
};
|
||||
--
|
||||
2.35.1
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
diff -up chromium-113.0.5672.24/chrome/browser/media/router/media_router_feature.cc.disable-GlobalMediaControlsCastStartStop chromium-113.0.5672.24/chrome/browser/media/router/media_router_feature.cc
|
||||
--- chromium-113.0.5672.24/chrome/browser/media/router/media_router_feature.cc.disable-GlobalMediaControlsCastStartStop 2023-04-07 13:54:52.562292026 +0200
|
||||
+++ chromium-113.0.5672.24/chrome/browser/media/router/media_router_feature.cc 2023-04-07 13:57:41.470414086 +0200
|
||||
@@ -68,7 +68,7 @@ BASE_FEATURE(kGlobalMediaControlsCastSta
|
||||
#else
|
||||
BASE_FEATURE(kGlobalMediaControlsCastStartStop,
|
||||
"GlobalMediaControlsCastStartStop",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
diff -up chromium-113.0.5672.24/components/os_crypt/sync/features.gni.disblegnomekeyring chromium-113.0.5672.24/components/os_crypt/sync/features.gni
|
||||
--- chromium-113.0.5672.24/components/os_crypt/sync/features.gni.disblegnomekeyring 2023-04-07 14:23:11.083985460 +0200
|
||||
+++ chromium-113.0.5672.24/components/os_crypt/sync/features.gni 2023-04-07 14:23:44.276599353 +0200
|
||||
@@ -8,7 +8,7 @@ import("//build/config/ui.gni")
|
||||
declare_args() {
|
||||
# Whether to use libgnome-keyring (deprecated by libsecret).
|
||||
# See http://crbug.com/466975 and http://crbug.com/355223.
|
||||
- use_gnome_keyring = is_linux && use_glib
|
||||
+ use_gnome_keyring = false
|
||||
|
||||
# Whether to make account and service names for the crypto key storage
|
||||
# configurable at runtime for embedders.
|
|
@ -1,545 +0,0 @@
|
|||
commit 75f4b48eb71d4872ba3ac6c9fc3662a60eb4175d
|
||||
Author: Tom Anderson <thomasanderson@chromium.org>
|
||||
Date: Thu Apr 27 02:21:34 2023 +0000
|
||||
|
||||
Add QT6 LinuxUi backend
|
||||
|
||||
- Enable QT6 by default on KDE6
|
||||
- If QT6 load fails, fallback to QT5 (and vice versa)
|
||||
- Add use_qt6 build flag for packager control
|
||||
- Add --qt-version runtime flag for user control
|
||||
|
||||
R=thestig
|
||||
|
||||
Change-Id: Ib1d9f6183663ecf7b9ddfe9d7f3e3442e534ccda
|
||||
Fixed: 1434754
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4475369
|
||||
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
|
||||
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1136295}
|
||||
|
||||
diff --git a/chrome/installer/linux/BUILD.gn b/chrome/installer/linux/BUILD.gn
|
||||
index 5639b9ffc996e..3bacd3398d4a2 100644
|
||||
--- a/chrome/installer/linux/BUILD.gn
|
||||
+++ b/chrome/installer/linux/BUILD.gn
|
||||
@@ -109,6 +109,9 @@ if (use_qt) {
|
||||
# to prevent a hard dependency on QT for the package.
|
||||
packaging_files += [ "$root_out_dir/libqt5_shim.so" ]
|
||||
}
|
||||
+if (use_qt6) {
|
||||
+ packaging_files += [ "$root_out_dir/libqt6_shim.so" ]
|
||||
+}
|
||||
|
||||
action_foreach("calculate_deb_dependencies") {
|
||||
deps = [ ":installer_deps" ]
|
||||
@@ -249,6 +252,12 @@ if (use_qt) {
|
||||
deps = [ "//ui/qt:qt5_shim" ]
|
||||
}
|
||||
}
|
||||
+if (use_qt6) {
|
||||
+ strip_binary("strip_qt6_shim") {
|
||||
+ binary_input = "$root_out_dir/libqt6_shim.so"
|
||||
+ deps = [ "//ui/qt:qt6_shim" ]
|
||||
+ }
|
||||
+}
|
||||
|
||||
# This target builds all "normal" Linux installers. You must set
|
||||
# is_component_build=false before building this target.
|
||||
@@ -447,6 +456,12 @@ group("installer_deps") {
|
||||
"//ui/qt:qt5_shim",
|
||||
]
|
||||
}
|
||||
+ if (use_qt6) {
|
||||
+ public_deps += [
|
||||
+ ":strip_qt6_shim",
|
||||
+ "//ui/qt:qt6_shim",
|
||||
+ ]
|
||||
+ }
|
||||
}
|
||||
|
||||
# Creates .deb and .rpm (RPM for non-ChromeOS only) installer packages.
|
||||
diff --git a/chrome/installer/linux/common/installer.include b/chrome/installer/linux/common/installer.include
|
||||
index 8d76f1f280b01..439ef5ccb0f52 100644
|
||||
--- a/chrome/installer/linux/common/installer.include
|
||||
+++ b/chrome/installer/linux/common/installer.include
|
||||
@@ -254,6 +254,11 @@ stage_install_common() {
|
||||
strippedfile="${OUTPUTDIR}/${file}.stripped"
|
||||
install -m ${SHLIB_PERMS} "${strippedfile}" "${STAGEDIR}/${INSTALLDIR}/${file}"
|
||||
fi
|
||||
+ if [ -f "${OUTPUTDIR}/libqt6_shim.so" ]; then
|
||||
+ file="libqt6_shim.so"
|
||||
+ strippedfile="${OUTPUTDIR}/${file}.stripped"
|
||||
+ install -m ${SHLIB_PERMS} "${strippedfile}" "${STAGEDIR}/${INSTALLDIR}/${file}"
|
||||
+ fi
|
||||
|
||||
# libc++
|
||||
if [ -f "${OUTPUTDIR}/lib/libc++.so" ]; then
|
||||
diff --git a/ui/qt/BUILD.gn b/ui/qt/BUILD.gn
|
||||
index bbede00daa4d0..6a67961edc2f7 100644
|
||||
--- a/ui/qt/BUILD.gn
|
||||
+++ b/ui/qt/BUILD.gn
|
||||
@@ -11,13 +11,6 @@ assert(use_qt)
|
||||
assert(is_linux)
|
||||
assert(!is_castos)
|
||||
|
||||
-pkg_config("qt5_config") {
|
||||
- packages = [
|
||||
- "Qt5Core",
|
||||
- "Qt5Widgets",
|
||||
- ]
|
||||
-}
|
||||
-
|
||||
config("qt_internal_config") {
|
||||
if (is_clang) {
|
||||
# libstdc++ headers are incompatible with -fcomplete-member-pointers.
|
||||
@@ -56,40 +49,57 @@ if (!use_sysroot) {
|
||||
}
|
||||
}
|
||||
|
||||
-shared_library("qt5_shim") {
|
||||
- visibility = [
|
||||
- ":qt",
|
||||
- "//chrome/installer/linux:*",
|
||||
- ]
|
||||
-
|
||||
- # Since qt_shim is a shared library even in non-component builds, it shouldn't
|
||||
- # depend on any other targets since that would duplicate code between binaries
|
||||
- # leading to increased size and potential issues from duplicated global state.
|
||||
- no_default_deps = true
|
||||
- assert_no_deps = [
|
||||
- "//base",
|
||||
- "//buildtools/third_party/libc++",
|
||||
- ]
|
||||
- deps = [ ":qt_interface" ]
|
||||
-
|
||||
- configs -= [ "//build/config/compiler:runtime_library" ]
|
||||
- configs += [
|
||||
- ":qt_internal_config",
|
||||
- ":qt5_config",
|
||||
- ]
|
||||
+template("qt_shim") {
|
||||
+ pkg_config("qt" + invoker.qt_version + "_config") {
|
||||
+ packages = [
|
||||
+ "Qt" + invoker.qt_version + "Core",
|
||||
+ "Qt" + invoker.qt_version + "Widgets",
|
||||
+ ]
|
||||
+ }
|
||||
|
||||
- public = []
|
||||
- sources = [
|
||||
- "qt_shim.cc",
|
||||
- "qt_shim.h",
|
||||
- ]
|
||||
- if (use_sysroot) {
|
||||
- # This file is generated with gen_qt_shim_moc.sh on an amd64 system to
|
||||
- # avoid a build-time dependency on `moc` when using the sysroot.
|
||||
- sources += [ "qt_shim_moc.cc" ]
|
||||
- } else {
|
||||
- sources += get_target_outputs(":generate_moc")
|
||||
- deps += [ ":generate_moc" ]
|
||||
+ shared_library(target_name) {
|
||||
+ visibility = [
|
||||
+ ":qt",
|
||||
+ "//chrome/installer/linux:*",
|
||||
+ ]
|
||||
+
|
||||
+ # Since qt_shim is a shared library even in non-component builds, it shouldn't
|
||||
+ # depend on any other targets since that would duplicate code between binaries
|
||||
+ # leading to increased size and potential issues from duplicated global state.
|
||||
+ no_default_deps = true
|
||||
+ assert_no_deps = [
|
||||
+ "//base",
|
||||
+ "//buildtools/third_party/libc++",
|
||||
+ ]
|
||||
+ deps = [ ":qt_interface" ]
|
||||
+
|
||||
+ configs -= [ "//build/config/compiler:runtime_library" ]
|
||||
+ configs += [
|
||||
+ ":qt_internal_config",
|
||||
+ ":qt" + invoker.qt_version + "_config",
|
||||
+ ]
|
||||
+
|
||||
+ public = []
|
||||
+ sources = [
|
||||
+ "qt_shim.cc",
|
||||
+ "qt_shim.h",
|
||||
+ ]
|
||||
+ if (use_sysroot) {
|
||||
+ # This file is generated with gen_qt_shim_moc.sh on an amd64 system to
|
||||
+ # avoid a build-time dependency on `moc` when using the sysroot.
|
||||
+ sources += [ "qt" + invoker.qt_version + "_shim_moc.cc" ]
|
||||
+ } else {
|
||||
+ sources += get_target_outputs(":generate_moc")
|
||||
+ deps += [ ":generate_moc" ]
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+qt_shim("qt5_shim") {
|
||||
+ qt_version = "5"
|
||||
+}
|
||||
+if (use_qt6) {
|
||||
+ qt_shim("qt6_shim") {
|
||||
+ qt_version = "6"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,6 +110,9 @@ component("qt") {
|
||||
|
||||
# qt_shim is in data_deps since we want to load it manually.
|
||||
data_deps = [ ":qt5_shim" ]
|
||||
+ if (use_qt6) {
|
||||
+ data_deps += [ ":qt6_shim" ]
|
||||
+ }
|
||||
deps = [
|
||||
":qt_interface",
|
||||
"//base",
|
||||
diff --git a/ui/qt/gen_qt_shim_moc.sh b/ui/qt/gen_qt_shim_moc.sh
|
||||
index 74272d5611dab..9d02c2dfcb12f 100755
|
||||
--- a/ui/qt/gen_qt_shim_moc.sh
|
||||
+++ b/ui/qt/gen_qt_shim_moc.sh
|
||||
@@ -6,11 +6,15 @@
|
||||
set -o nounset
|
||||
set -o errexit
|
||||
|
||||
-URL="http://archive.debian.org/debian/pool/main/q/qtbase-opensource-src"
|
||||
-PACKAGE="qtbase5-dev-tools_5.3.2+dfsg-4+deb8u2_amd64.deb"
|
||||
-SHA256="7703754f2c230ce6b8b6030b6c1e7e030899aa9f45a415498df04bd5ec061a76"
|
||||
-SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
+URL5="http://archive.debian.org/debian/pool/main/q/qtbase-opensource-src"
|
||||
+PACKAGE5="qtbase5-dev-tools_5.3.2+dfsg-4+deb8u2_amd64.deb"
|
||||
+SHA256_5="7703754f2c230ce6b8b6030b6c1e7e030899aa9f45a415498df04bd5ec061a76"
|
||||
+
|
||||
+URL6="http://archive.ubuntu.com/ubuntu/pool/universe/q/qt6-base"
|
||||
+PACKAGE6="qt6-base-dev-tools_6.2.4+dfsg-2ubuntu1_amd64.deb"
|
||||
+SHA256_6="8dddfc79e7743185b07c478ca0f96a4ccc13d48ecccc42f44d2578c33c7d9b8b"
|
||||
|
||||
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
TMP_DIR=$(mktemp -d -p "$SCRIPT_DIR")
|
||||
function cleanup {
|
||||
rm -rf "$TMP_DIR"
|
||||
@@ -18,16 +22,22 @@ function cleanup {
|
||||
trap cleanup EXIT
|
||||
|
||||
cd "$TMP_DIR"
|
||||
-wget "$URL/$PACKAGE"
|
||||
-echo "$SHA256 $PACKAGE" | shasum -a 256 -c
|
||||
-dpkg -x "$PACKAGE" .
|
||||
-cat > ../qt_shim_moc.cc <<EOF
|
||||
-// Copyright 2022 The Chromium Authors
|
||||
+wget "$URL5/$PACKAGE5"
|
||||
+echo "$SHA256_5 $PACKAGE5" | shasum -a 256 -c
|
||||
+dpkg -x "$PACKAGE5" .
|
||||
+wget "$URL6/$PACKAGE6"
|
||||
+echo "$SHA256_6 $PACKAGE6" | shasum -a 256 -c
|
||||
+dpkg -x "$PACKAGE6" .
|
||||
+cat > ../qt5_shim_moc.cc <<EOF
|
||||
+// Copyright 2023 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
EOF
|
||||
cd "$SCRIPT_DIR/../.."
|
||||
+cp ui/qt/qt5_shim_moc.cc ui/qt/qt6_shim_moc.cc
|
||||
"$TMP_DIR/usr/lib/x86_64-linux-gnu/qt5/bin/moc" ui/qt/qt_shim.h \
|
||||
- >> ui/qt/qt_shim_moc.cc
|
||||
-git cl format ui/qt/qt_shim_moc.cc
|
||||
+ >> ui/qt/qt5_shim_moc.cc
|
||||
+"$TMP_DIR//usr/lib/qt6/libexec/moc" ui/qt/qt_shim.h \
|
||||
+ >> ui/qt/qt6_shim_moc.cc
|
||||
+git cl format ui/qt/qt5_shim_moc.cc ui/qt/qt6_shim_moc.cc
|
||||
diff --git a/ui/qt/qt.gni b/ui/qt/qt.gni
|
||||
index 27bb6375880b7..f45823270cb91 100644
|
||||
--- a/ui/qt/qt.gni
|
||||
+++ b/ui/qt/qt.gni
|
||||
@@ -4,9 +4,17 @@
|
||||
|
||||
import("//build/config/chromecast_build.gni")
|
||||
import("//build/config/sanitizers/sanitizers.gni")
|
||||
+import("//build/config/sysroot.gni")
|
||||
|
||||
declare_args() {
|
||||
# TODO(https://crbug.com/1424435): Allow QT in MSAN builds once QT is
|
||||
# added to the instrumented libraries.
|
||||
use_qt = is_linux && !is_castos && !is_msan
|
||||
}
|
||||
+
|
||||
+declare_args() {
|
||||
+ use_qt6 = use_qt && use_sysroot
|
||||
+}
|
||||
+
|
||||
+# use_qt6 => use_qt
|
||||
+assert(!use_qt6 || use_qt)
|
||||
diff --git a/ui/qt/qt_shim_moc.cc b/ui/qt/qt5_shim_moc.cc
|
||||
similarity index 95%
|
||||
rename from ui/qt/qt_shim_moc.cc
|
||||
rename to ui/qt/qt5_shim_moc.cc
|
||||
index dafbfadce56ba..8f8b6b57784a8 100644
|
||||
--- a/ui/qt/qt_shim_moc.cc
|
||||
+++ b/ui/qt/qt5_shim_moc.cc
|
||||
@@ -1,4 +1,4 @@
|
||||
-// Copyright 2022 The Chromium Authors
|
||||
+// Copyright 2023 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
@@ -89,26 +89,32 @@ const QMetaObject* qt::QtShim::metaObject() const {
|
||||
}
|
||||
|
||||
void* qt::QtShim::qt_metacast(const char* _clname) {
|
||||
- if (!_clname)
|
||||
+ if (!_clname) {
|
||||
return 0;
|
||||
- if (!strcmp(_clname, qt_meta_stringdata_qt__QtShim.stringdata))
|
||||
+ }
|
||||
+ if (!strcmp(_clname, qt_meta_stringdata_qt__QtShim.stringdata)) {
|
||||
return static_cast<void*>(const_cast<QtShim*>(this));
|
||||
- if (!strcmp(_clname, "QtInterface"))
|
||||
+ }
|
||||
+ if (!strcmp(_clname, "QtInterface")) {
|
||||
return static_cast<QtInterface*>(const_cast<QtShim*>(this));
|
||||
+ }
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int qt::QtShim::qt_metacall(QMetaObject::Call _c, int _id, void** _a) {
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
- if (_id < 0)
|
||||
+ if (_id < 0) {
|
||||
return _id;
|
||||
+ }
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
- if (_id < 2)
|
||||
+ if (_id < 2) {
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
+ }
|
||||
_id -= 2;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
- if (_id < 2)
|
||||
+ if (_id < 2) {
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
+ }
|
||||
_id -= 2;
|
||||
}
|
||||
return _id;
|
||||
diff --git a/ui/qt/qt6_shim_moc.cc b/ui/qt/qt6_shim_moc.cc
|
||||
new file mode 100644
|
||||
index 0000000000000..6d02ca317b65d
|
||||
--- /dev/null
|
||||
+++ b/ui/qt/qt6_shim_moc.cc
|
||||
@@ -0,0 +1,143 @@
|
||||
+// Copyright 2023 The Chromium Authors
|
||||
+// Use of this source code is governed by a BSD-style license that can be
|
||||
+// found in the LICENSE file.
|
||||
+
|
||||
+/****************************************************************************
|
||||
+** Meta object code from reading C++ file 'qt_shim.h'
|
||||
+**
|
||||
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.2.4)
|
||||
+**
|
||||
+** WARNING! All changes made in this file will be lost!
|
||||
+*****************************************************************************/
|
||||
+
|
||||
+#include <QtCore/qbytearray.h>
|
||||
+#include <QtCore/qmetatype.h>
|
||||
+#include <memory>
|
||||
+#include "ui/qt/qt_shim.h"
|
||||
+#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
+#error "The header file 'qt_shim.h' doesn't include <QObject>."
|
||||
+#elif Q_MOC_OUTPUT_REVISION != 68
|
||||
+#error "This file was generated using the moc from 6.2.4. It"
|
||||
+#error "cannot be used with the include files from this version of Qt."
|
||||
+#error "(The moc has changed too much.)"
|
||||
+#endif
|
||||
+
|
||||
+QT_BEGIN_MOC_NAMESPACE
|
||||
+QT_WARNING_PUSH
|
||||
+QT_WARNING_DISABLE_DEPRECATED
|
||||
+struct qt_meta_stringdata_qt__QtShim_t {
|
||||
+ const uint offsetsAndSize[12];
|
||||
+ char stringdata0[52];
|
||||
+};
|
||||
+#define QT_MOC_LITERAL(ofs, len) \
|
||||
+ uint(offsetof(qt_meta_stringdata_qt__QtShim_t, stringdata0) + ofs), len
|
||||
+static const qt_meta_stringdata_qt__QtShim_t qt_meta_stringdata_qt__QtShim = {
|
||||
+ {
|
||||
+ QT_MOC_LITERAL(0, 10), // "qt::QtShim"
|
||||
+ QT_MOC_LITERAL(11, 11), // "FontChanged"
|
||||
+ QT_MOC_LITERAL(23, 0), // ""
|
||||
+ QT_MOC_LITERAL(24, 4), // "font"
|
||||
+ QT_MOC_LITERAL(29, 14), // "PaletteChanged"
|
||||
+ QT_MOC_LITERAL(44, 7) // "palette"
|
||||
+
|
||||
+ },
|
||||
+ "qt::QtShim\0FontChanged\0\0font\0"
|
||||
+ "PaletteChanged\0palette"};
|
||||
+#undef QT_MOC_LITERAL
|
||||
+
|
||||
+static const uint qt_meta_data_qt__QtShim[] = {
|
||||
+
|
||||
+ // content:
|
||||
+ 10, // revision
|
||||
+ 0, // classname
|
||||
+ 0, 0, // classinfo
|
||||
+ 2, 14, // methods
|
||||
+ 0, 0, // properties
|
||||
+ 0, 0, // enums/sets
|
||||
+ 0, 0, // constructors
|
||||
+ 0, // flags
|
||||
+ 0, // signalCount
|
||||
+
|
||||
+ // slots: name, argc, parameters, tag, flags, initial metatype offsets
|
||||
+ 1, 1, 26, 2, 0x08, 1 /* Private */, 4, 1, 29, 2, 0x08, 3 /* Private */,
|
||||
+
|
||||
+ // slots: parameters
|
||||
+ QMetaType::Void, QMetaType::QFont, 3, QMetaType::Void, QMetaType::QPalette,
|
||||
+ 5,
|
||||
+
|
||||
+ 0 // eod
|
||||
+};
|
||||
+
|
||||
+void qt::QtShim::qt_static_metacall(QObject* _o,
|
||||
+ QMetaObject::Call _c,
|
||||
+ int _id,
|
||||
+ void** _a) {
|
||||
+ if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
+ auto* _t = static_cast<QtShim*>(_o);
|
||||
+ (void)_t;
|
||||
+ switch (_id) {
|
||||
+ case 0:
|
||||
+ _t->FontChanged((*reinterpret_cast<std::add_pointer_t<QFont>>(_a[1])));
|
||||
+ break;
|
||||
+ case 1:
|
||||
+ _t->PaletteChanged(
|
||||
+ (*reinterpret_cast<std::add_pointer_t<QPalette>>(_a[1])));
|
||||
+ break;
|
||||
+ default:;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+const QMetaObject qt::QtShim::staticMetaObject = {
|
||||
+ {QMetaObject::SuperData::link<QObject::staticMetaObject>(),
|
||||
+ qt_meta_stringdata_qt__QtShim.offsetsAndSize, qt_meta_data_qt__QtShim,
|
||||
+ qt_static_metacall, nullptr,
|
||||
+ qt_incomplete_metaTypeArray<
|
||||
+ qt_meta_stringdata_qt__QtShim_t,
|
||||
+ QtPrivate::TypeAndForceComplete<QtShim, std::true_type>,
|
||||
+ QtPrivate::TypeAndForceComplete<void, std::false_type>,
|
||||
+ QtPrivate::TypeAndForceComplete<const QFont&, std::false_type>,
|
||||
+ QtPrivate::TypeAndForceComplete<void, std::false_type>,
|
||||
+ QtPrivate::TypeAndForceComplete<const QPalette&, std::false_type>
|
||||
+
|
||||
+ >,
|
||||
+ nullptr}};
|
||||
+
|
||||
+const QMetaObject* qt::QtShim::metaObject() const {
|
||||
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject()
|
||||
+ : &staticMetaObject;
|
||||
+}
|
||||
+
|
||||
+void* qt::QtShim::qt_metacast(const char* _clname) {
|
||||
+ if (!_clname) {
|
||||
+ return nullptr;
|
||||
+ }
|
||||
+ if (!strcmp(_clname, qt_meta_stringdata_qt__QtShim.stringdata0)) {
|
||||
+ return static_cast<void*>(this);
|
||||
+ }
|
||||
+ if (!strcmp(_clname, "QtInterface")) {
|
||||
+ return static_cast<QtInterface*>(this);
|
||||
+ }
|
||||
+ return QObject::qt_metacast(_clname);
|
||||
+}
|
||||
+
|
||||
+int qt::QtShim::qt_metacall(QMetaObject::Call _c, int _id, void** _a) {
|
||||
+ _id = QObject::qt_metacall(_c, _id, _a);
|
||||
+ if (_id < 0) {
|
||||
+ return _id;
|
||||
+ }
|
||||
+ if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
+ if (_id < 2) {
|
||||
+ qt_static_metacall(this, _c, _id, _a);
|
||||
+ }
|
||||
+ _id -= 2;
|
||||
+ } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
+ if (_id < 2) {
|
||||
+ *reinterpret_cast<QMetaType*>(_a[0]) = QMetaType();
|
||||
+ }
|
||||
+ _id -= 2;
|
||||
+ }
|
||||
+ return _id;
|
||||
+}
|
||||
+QT_WARNING_POP
|
||||
+QT_END_MOC_NAMESPACE
|
||||
diff --git a/ui/qt/qt_ui.cc b/ui/qt/qt_ui.cc
|
||||
index d4052b7e8bc3d..6a3b58e9f930b 100644
|
||||
--- a/ui/qt/qt_ui.cc
|
||||
+++ b/ui/qt/qt_ui.cc
|
||||
@@ -14,7 +14,9 @@
|
||||
#include "base/check.h"
|
||||
#include "base/command_line.h"
|
||||
#include "base/compiler_specific.h"
|
||||
+#include "base/environment.h"
|
||||
#include "base/memory/raw_ptr.h"
|
||||
+#include "base/nix/xdg_util.h"
|
||||
#include "base/notreached.h"
|
||||
#include "base/path_service.h"
|
||||
#include "base/time/time.h"
|
||||
@@ -47,6 +49,45 @@ namespace qt {
|
||||
|
||||
namespace {
|
||||
|
||||
+const char kQtVersionFlag[] = "qt-version";
|
||||
+
|
||||
+void* LoadLibrary(const base::FilePath& path) {
|
||||
+ return dlopen(path.value().c_str(), RTLD_NOW | RTLD_GLOBAL);
|
||||
+}
|
||||
+
|
||||
+void* LoadLibraryOrFallback(const base::FilePath& path,
|
||||
+ const char* preferred,
|
||||
+ const char* fallback) {
|
||||
+ if (void* library = LoadLibrary(path.Append(preferred))) {
|
||||
+ return library;
|
||||
+ }
|
||||
+ return LoadLibrary(path.Append(fallback));
|
||||
+}
|
||||
+
|
||||
+bool PreferQt6() {
|
||||
+ auto* cmd = base::CommandLine::ForCurrentProcess();
|
||||
+ if (cmd->HasSwitch(kQtVersionFlag)) {
|
||||
+ std::string qt_version_string = cmd->GetSwitchValueASCII(kQtVersionFlag);
|
||||
+ unsigned int qt_version = 0;
|
||||
+ if (base::StringToUint(qt_version_string, &qt_version)) {
|
||||
+ switch (qt_version) {
|
||||
+ case 5:
|
||||
+ return false;
|
||||
+ case 6:
|
||||
+ return true;
|
||||
+ default:
|
||||
+ LOG(ERROR) << "Unsupported QT version " << qt_version;
|
||||
+ }
|
||||
+ } else {
|
||||
+ LOG(ERROR) << "Unable to parse QT version " << qt_version_string;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ auto env = base::Environment::Create();
|
||||
+ auto desktop = base::nix::GetDesktopEnvironment(env.get());
|
||||
+ return desktop == base::nix::DESKTOP_ENVIRONMENT_KDE6;
|
||||
+}
|
||||
+
|
||||
int QtWeightToCssWeight(int weight) {
|
||||
struct {
|
||||
int qt_weight;
|
||||
@@ -179,8 +220,10 @@ bool QtUi::Initialize() {
|
||||
base::FilePath path;
|
||||
if (!base::PathService::Get(base::DIR_MODULE, &path))
|
||||
return false;
|
||||
- path = path.Append("libqt5_shim.so");
|
||||
- void* libqt_shim = dlopen(path.value().c_str(), RTLD_NOW | RTLD_GLOBAL);
|
||||
+ void* libqt_shim =
|
||||
+ PreferQt6()
|
||||
+ ? LoadLibraryOrFallback(path, "libqt6_shim.so", "libqt5_shim.so")
|
||||
+ : LoadLibraryOrFallback(path, "libqt5_shim.so", "libqt6_shim.so");
|
||||
if (!libqt_shim)
|
||||
return false;
|
||||
void* create_qt_interface = dlsym(libqt_shim, "CreateQtInterface");
|
|
@ -1,21 +0,0 @@
|
|||
diff -up chromium-114.0.5735.26/components/omnibox/browser/omnibox_edit_model.cc.me chromium-114.0.5735.26/components/omnibox/browser/omnibox_edit_model.cc
|
||||
--- chromium-114.0.5735.26/components/omnibox/browser/omnibox_edit_model.cc.me 2023-05-14 09:14:10.886314480 +0200
|
||||
+++ chromium-114.0.5735.26/components/omnibox/browser/omnibox_edit_model.cc 2023-05-14 09:16:59.380054720 +0200
|
||||
@@ -79,7 +79,7 @@
|
||||
#include "ui/gfx/vector_icon_types.h"
|
||||
#endif
|
||||
|
||||
-#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||
+#ifdef GOOGLE_CHROME_BRANDING
|
||||
#include "components/vector_icons/vector_icons.h" // nogncheck
|
||||
#endif
|
||||
|
||||
@@ -628,7 +628,7 @@ bool OmniboxEditModel::ShouldShowCurrent
|
||||
}
|
||||
|
||||
ui::ImageModel OmniboxEditModel::GetSuperGIcon(int image_size, bool dark_mode) {
|
||||
-#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||
+#ifdef GOOGLE_CHROME_BRANDING
|
||||
if (dark_mode) {
|
||||
return ui::ImageModel::FromVectorIcon(
|
||||
vector_icons::kGoogleGLogoMonochromeIcon, ui::kColorRefPrimary100,
|
|
@ -1,62 +0,0 @@
|
|||
diff -up chromium-114.0.5735.26/components/version_info/version_info.cc.constexpr-el7 chromium-114.0.5735.26/components/version_info/version_info.cc
|
||||
diff -up chromium-114.0.5735.26/components/version_info/version_info.h.constexpr-el7 chromium-114.0.5735.26/components/version_info/version_info.h
|
||||
--- chromium-114.0.5735.26/components/version_info/version_info.h.constexpr-el7 2023-05-11 03:36:19.000000000 +0200
|
||||
+++ chromium-114.0.5735.26/components/version_info/version_info.h 2023-05-14 10:59:19.921578645 +0200
|
||||
@@ -27,18 +27,18 @@ const std::string GetProductNameAndVersi
|
||||
const std::string& build_version);
|
||||
|
||||
// Returns the product name, e.g. "Chromium" or "Google Chrome".
|
||||
-constexpr std::string GetProductName() {
|
||||
+static const std::string GetProductName() {
|
||||
return PRODUCT_NAME;
|
||||
}
|
||||
|
||||
// Returns the version number, e.g. "6.0.490.1".
|
||||
-constexpr std::string GetVersionNumber() {
|
||||
+static const std::string GetVersionNumber() {
|
||||
return PRODUCT_VERSION;
|
||||
}
|
||||
|
||||
// Returns the product name and version information for the User-Agent header,
|
||||
// in the format: Chrome/<major_version>.<minor_version>.<build>.<patch>.
|
||||
-constexpr std::string GetProductNameAndVersionForUserAgent() {
|
||||
+static const std::string GetProductNameAndVersionForUserAgent() {
|
||||
return "Chrome/" + GetVersionNumber();
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ std::string GetMajorVersionNumber();
|
||||
const base::Version& GetVersion();
|
||||
|
||||
// Returns a version control specific identifier of this release.
|
||||
-constexpr std::string GetLastChange() {
|
||||
+static const std::string GetLastChange() {
|
||||
return LAST_CHANGE;
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ constexpr bool IsOfficialBuild() {
|
||||
}
|
||||
|
||||
// Returns the OS type, e.g. "Windows", "Linux", "FreeBSD", ...
|
||||
-constexpr std::string GetOSType() {
|
||||
+static const std::string GetOSType() {
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
return "Windows";
|
||||
#elif BUILDFLAG(IS_IOS)
|
||||
@@ -97,7 +97,7 @@ constexpr std::string GetOSType() {
|
||||
|
||||
// Returns a string equivalent of |channel|, independent of whether the build
|
||||
// is branded or not and without any additional modifiers.
|
||||
-constexpr std::string GetChannelString(Channel channel) {
|
||||
+static const std::string GetChannelString(Channel channel) {
|
||||
switch (channel) {
|
||||
case Channel::STABLE:
|
||||
return "stable";
|
||||
@@ -114,7 +114,7 @@ constexpr std::string GetChannelString(C
|
||||
}
|
||||
|
||||
// Returns a list of sanitizers enabled in this build.
|
||||
-constexpr std::string GetSanitizerList() {
|
||||
+static const std::string GetSanitizerList() {
|
||||
return ""
|
||||
#if defined(ADDRESS_SANITIZER)
|
||||
"address "
|
|
@ -1,389 +0,0 @@
|
|||
diff -up chromium-109.0.5414.74/base/check_op.h.me chromium-109.0.5414.74/base/check_op.h
|
||||
--- chromium-109.0.5414.74/base/check_op.h.me 2023-01-17 17:39:27.620875883 +0100
|
||||
+++ chromium-109.0.5414.74/base/check_op.h 2023-01-17 17:39:42.546060957 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef BASE_CHECK_OP_H_
|
||||
#define BASE_CHECK_OP_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include <string>
|
||||
#include <type_traits>
|
||||
diff -up chromium-109.0.5414.74/base/debug/profiler.h.me chromium-109.0.5414.74/base/debug/profiler.h
|
||||
--- chromium-109.0.5414.74/base/debug/profiler.h.me 2023-01-17 16:29:26.368090073 +0100
|
||||
+++ chromium-109.0.5414.74/base/debug/profiler.h 2023-01-17 16:59:41.190628679 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include "base/base_export.h"
|
||||
diff -up chromium-109.0.5414.74/components/viz/common/view_transition_element_resource_id.h.me chromium-109.0.5414.74/components/viz/common/view_transition_element_resource_id.h
|
||||
--- chromium-109.0.5414.74/components/viz/common/view_transition_element_resource_id.h.me 2023-01-17 19:03:10.920014806 +0100
|
||||
+++ chromium-109.0.5414.74/components/viz/common/view_transition_element_resource_id.h 2023-01-17 19:03:48.736395274 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_VIZ_COMMON_VIEW_TRANSITION_ELEMENT_RESOURCE_ID_H_
|
||||
#define COMPONENTS_VIZ_COMMON_VIEW_TRANSITION_ELEMENT_RESOURCE_ID_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff -up chromium-109.0.5414.74/gpu/config/gpu_feature_info.h.me chromium-109.0.5414.74/gpu/config/gpu_feature_info.h
|
||||
--- chromium-109.0.5414.74/gpu/config/gpu_feature_info.h.me 2023-01-17 19:06:53.530675129 +0100
|
||||
+++ chromium-109.0.5414.74/gpu/config/gpu_feature_info.h 2023-01-17 19:07:08.874849879 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_
|
||||
#define GPU_CONFIG_GPU_FEATURE_INFO_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff -up chromium-109.0.5414.74/net/base/net_export.h.me chromium-109.0.5414.74/net/base/net_export.h
|
||||
--- chromium-109.0.5414.74/net/base/net_export.h.me 2023-01-17 18:16:34.133854615 +0100
|
||||
+++ chromium-109.0.5414.74/net/base/net_export.h 2023-01-17 18:16:15.945623153 +0100
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef NET_BASE_NET_EXPORT_H_
|
||||
#define NET_BASE_NET_EXPORT_H_
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
// Defines NET_EXPORT so that functionality implemented by the net module can
|
||||
// be exported to consumers, and NET_EXPORT_PRIVATE that allows unit tests to
|
||||
// access features not intended to be used directly by real consumers.
|
||||
diff -up chromium-109.0.5414.74/sandbox/linux/syscall_broker/broker_file_permission.h.me chromium-109.0.5414.74/sandbox/linux/syscall_broker/broker_file_permission.h
|
||||
--- chromium-109.0.5414.74/sandbox/linux/syscall_broker/broker_file_permission.h.me 2023-01-17 17:12:34.184686515 +0100
|
||||
+++ chromium-109.0.5414.74/sandbox/linux/syscall_broker/broker_file_permission.h 2023-01-17 17:13:16.537162420 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
|
||||
#define SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <bitset>
|
||||
#include <string>
|
||||
|
||||
diff -up chromium-109.0.5414.74/third_party/abseil-cpp/absl/strings/string_view.h.me chromium-109.0.5414.74/third_party/abseil-cpp/absl/strings/string_view.h
|
||||
--- chromium-109.0.5414.74/third_party/abseil-cpp/absl/strings/string_view.h.me 2023-01-17 17:33:20.895717307 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/abseil-cpp/absl/strings/string_view.h 2023-01-17 17:34:03.456185365 +0100
|
||||
@@ -27,6 +27,7 @@
|
||||
#ifndef ABSL_STRINGS_STRING_VIEW_H_
|
||||
#define ABSL_STRINGS_STRING_VIEW_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
#include <cstddef>
|
||||
diff -up chromium-109.0.5414.74/third_party/angle/include/GLSLANG/ShaderVars.h.me chromium-109.0.5414.74/third_party/angle/include/GLSLANG/ShaderVars.h
|
||||
--- chromium-109.0.5414.74/third_party/angle/include/GLSLANG/ShaderVars.h.me 2023-01-17 17:36:15.017616250 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/angle/include/GLSLANG/ShaderVars.h 2023-01-17 17:36:48.960982195 +0100
|
||||
@@ -10,6 +10,7 @@
|
||||
#ifndef GLSLANG_SHADERVARS_H_
|
||||
#define GLSLANG_SHADERVARS_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
#include <string>
|
||||
diff -up chromium-109.0.5414.74/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h.me chromium-109.0.5414.74/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h
|
||||
--- chromium-109.0.5414.74/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h.me 2023-01-17 19:17:40.480876171 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h 2023-01-17 19:17:46.803958320 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_BLUETOOTH_WEB_BLUETOOTH_DEVICE_ID_H_
|
||||
#define THIRD_PARTY_BLINK_PUBLIC_COMMON_BLUETOOTH_WEB_BLUETOOTH_DEVICE_ID_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <array>
|
||||
#include <string>
|
||||
|
||||
diff -up chromium-109.0.5414.74/third_party/dawn/src/tint/reader/spirv/namer.h.me chromium-109.0.5414.74/third_party/dawn/src/tint/reader/spirv/namer.h
|
||||
--- chromium-109.0.5414.74/third_party/dawn/src/tint/reader/spirv/namer.h.me 2023-01-17 18:02:44.681538107 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/dawn/src/tint/reader/spirv/namer.h 2023-01-17 18:02:57.208679140 +0100
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef SRC_TINT_READER_SPIRV_NAMER_H_
|
||||
#define SRC_TINT_READER_SPIRV_NAMER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
diff -up chromium-109.0.5414.74/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h.me chromium-109.0.5414.74/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h
|
||||
--- chromium-109.0.5414.74/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h.me 2023-01-18 15:22:38.472940648 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h 2023-01-18 15:23:09.380255101 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef DISCOVERY_DNSSD_PUBLIC_DNS_SD_TXT_RECORD_H_
|
||||
#define DISCOVERY_DNSSD_PUBLIC_DNS_SD_TXT_RECORD_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <functional>
|
||||
#include <map>
|
||||
#include <set>
|
||||
diff -up chromium-109.0.5414.74/third_party/swiftshader/src/System/LRUCache.hpp.me chromium-109.0.5414.74/third_party/swiftshader/src/System/LRUCache.hpp
|
||||
--- chromium-109.0.5414.74/third_party/swiftshader/src/System/LRUCache.hpp.me 2023-01-17 15:37:48.530626516 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/swiftshader/src/System/LRUCache.hpp 2023-01-17 16:57:46.025548092 +0100
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
#include "System/Debug.hpp"
|
||||
|
||||
+#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include <functional>
|
||||
#include <unordered_set>
|
||||
diff -up chromium-109.0.5414.74/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.me chromium-109.0.5414.74/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
|
||||
--- chromium-109.0.5414.74/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.me 2023-01-17 15:40:23.854386206 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h 2023-01-17 16:58:19.397862885 +0100
|
||||
@@ -2388,6 +2388,7 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeV
|
||||
#ifdef VMA_IMPLEMENTATION
|
||||
#undef VMA_IMPLEMENTATION
|
||||
|
||||
+#include <cstdio>
|
||||
#include <cstdint>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
diff -up chromium-109.0.5414.74/ui/gfx/geometry/linear_gradient.h.me chromium-109.0.5414.74/ui/gfx/geometry/linear_gradient.h
|
||||
--- chromium-109.0.5414.74/ui/gfx/geometry/linear_gradient.h.me 2023-01-17 18:08:25.745491353 +0100
|
||||
+++ chromium-109.0.5414.74/ui/gfx/geometry/linear_gradient.h 2023-01-17 18:08:35.777667632 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef UI_GFX_LINEAR_GRADIENT_H_
|
||||
#define UI_GFX_LINEAR_GRADIENT_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <array>
|
||||
#include <string>
|
||||
|
||||
diff -up chromium-109.0.5414.74/third_party/ruy/src/ruy/profiler/instrumentation.h.me chromium-109.0.5414.74/third_party/ruy/src/ruy/profiler/instrumentation.h
|
||||
--- chromium-109.0.5414.74/third_party/ruy/src/ruy/profiler/instrumentation.h.me 2023-01-19 10:10:21.287876736 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/ruy/src/ruy/profiler/instrumentation.h 2023-01-19 10:11:21.714778896 +0100
|
||||
@@ -17,6 +17,7 @@ limitations under the License.
|
||||
#define RUY_RUY_PROFILER_INSTRUMENTATION_H_
|
||||
|
||||
#ifdef RUY_PROFILER
|
||||
+#include <string>
|
||||
#include <cstdio>
|
||||
#include <mutex>
|
||||
#include <vector>
|
||||
diff -up chromium-109.0.5414.74/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h.me chromium-109.0.5414.74/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h
|
||||
--- chromium-109.0.5414.74/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h.me 2023-01-19 10:30:27.533861985 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h 2023-01-19 10:31:12.585554183 +0100
|
||||
@@ -31,6 +31,7 @@ limitations under the License.
|
||||
#ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_SPECTROGRAM_H_
|
||||
#define TENSORFLOW_LITE_KERNELS_INTERNAL_SPECTROGRAM_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <complex>
|
||||
#include <deque>
|
||||
#include <vector>
|
||||
diff -up chromium-109.0.5414.74/base/containers/flat_map.h.mee chromium-109.0.5414.74/base/containers/flat_map.h
|
||||
--- chromium-109.0.5414.74/base/containers/flat_map.h.mee 2023-01-19 10:59:52.214957773 +0100
|
||||
+++ chromium-109.0.5414.74/base/containers/flat_map.h 2023-01-19 11:00:06.415215309 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef BASE_CONTAINERS_FLAT_MAP_H_
|
||||
#define BASE_CONTAINERS_FLAT_MAP_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <functional>
|
||||
#include <tuple>
|
||||
#include <utility>
|
||||
diff -up chromium-109.0.5414.74/components/crash/core/app/crash_reporter_client.h.mee chromium-109.0.5414.74/components/crash/core/app/crash_reporter_client.h
|
||||
--- chromium-109.0.5414.74/components/crash/core/app/crash_reporter_client.h.mee 2023-01-19 10:36:40.571422826 +0100
|
||||
+++ chromium-109.0.5414.74/components/crash/core/app/crash_reporter_client.h 2023-01-19 10:36:49.343565294 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_CRASH_CORE_APP_CRASH_REPORTER_CLIENT_H_
|
||||
#define COMPONENTS_CRASH_CORE_APP_CRASH_REPORTER_CLIENT_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include "build/build_config.h"
|
||||
diff -up chromium-109.0.5414.74/ui/base/prediction/kalman_filter.h.mee chromium-109.0.5414.74/ui/base/prediction/kalman_filter.h
|
||||
--- chromium-109.0.5414.74/ui/base/prediction/kalman_filter.h.mee 2023-01-19 11:45:15.953159755 +0100
|
||||
+++ chromium-109.0.5414.74/ui/base/prediction/kalman_filter.h 2023-01-19 11:45:22.320246241 +0100
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef UI_BASE_PREDICTION_KALMAN_FILTER_H_
|
||||
#define UI_BASE_PREDICTION_KALMAN_FILTER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
#include "base/component_export.h"
|
||||
#include "ui/gfx/geometry/matrix3_f.h"
|
||||
|
||||
diff -up chromium-109.0.5414.74/components/password_manager/core/browser/generation/password_generator.h.me chromium-109.0.5414.74/components/password_manager/core/browser/generation/password_generator.h
|
||||
--- chromium-109.0.5414.74/components/password_manager/core/browser/generation/password_generator.h.me 2023-01-19 15:20:07.620987949 +0100
|
||||
+++ chromium-109.0.5414.74/components/password_manager/core/browser/generation/password_generator.h 2023-01-19 15:20:18.324173702 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_GENERATION_PASSWORD_GENERATOR_H_
|
||||
#define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_GENERATION_PASSWORD_GENERATOR_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
|
||||
diff -up chromium-109.0.5414.74/components/feature_engagement/internal/event_storage_validator.h.me chromium-109.0.5414.74/components/feature_engagement/internal/event_storage_validator.h
|
||||
--- chromium-109.0.5414.74/components/feature_engagement/internal/event_storage_validator.h.me 2023-01-19 16:00:14.350186515 +0100
|
||||
+++ chromium-109.0.5414.74/components/feature_engagement/internal/event_storage_validator.h 2023-01-19 16:00:21.643307993 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_EVENT_STORAGE_VALIDATOR_H_
|
||||
#define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_EVENT_STORAGE_VALIDATOR_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
namespace feature_engagement {
|
||||
diff -up chromium-109.0.5414.74/components/feature_engagement/internal/never_event_storage_validator.h.me chromium-109.0.5414.74/components/feature_engagement/internal/never_event_storage_validator.h
|
||||
--- chromium-109.0.5414.74/components/feature_engagement/internal/never_event_storage_validator.h.me 2023-01-19 15:59:18.210239416 +0100
|
||||
+++ chromium-109.0.5414.74/components/feature_engagement/internal/never_event_storage_validator.h 2023-01-19 15:59:34.513515030 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_EVENT_STORAGE_VALIDATOR_H_
|
||||
#define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_EVENT_STORAGE_VALIDATOR_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include "components/feature_engagement/internal/event_storage_validator.h"
|
||||
diff -up chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Support/Signals.h.me chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Support/Signals.h
|
||||
--- chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Support/Signals.h.me 2023-01-19 16:06:17.548272878 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Support/Signals.h 2023-01-19 16:06:25.685410592 +0100
|
||||
@@ -14,6 +14,7 @@
|
||||
#ifndef LLVM_SUPPORT_SIGNALS_H
|
||||
#define LLVM_SUPPORT_SIGNALS_H
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
namespace llvm {
|
||||
diff -up chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc.me chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc
|
||||
--- chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc.me 2023-01-19 16:09:29.216477182 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc 2023-01-19 16:10:05.657089208 +0100
|
||||
@@ -45,6 +45,7 @@
|
||||
#include "llvm/Support/SaveAndRestore.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include <algorithm>
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <sysexits.h>
|
||||
#ifdef HAVE_BACKTRACE
|
||||
diff -up chromium-109.0.5414.74/chrome/browser/privacy_budget/encountered_surface_tracker.h.me chromium-109.0.5414.74/chrome/browser/privacy_budget/encountered_surface_tracker.h
|
||||
--- chromium-109.0.5414.74/chrome/browser/privacy_budget/encountered_surface_tracker.h.me 2023-01-19 16:32:05.338160131 +0100
|
||||
+++ chromium-109.0.5414.74/chrome/browser/privacy_budget/encountered_surface_tracker.h 2023-01-19 16:32:16.213326798 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef CHROME_BROWSER_PRIVACY_BUDGET_ENCOUNTERED_SURFACE_TRACKER_H_
|
||||
#define CHROME_BROWSER_PRIVACY_BUDGET_ENCOUNTERED_SURFACE_TRACKER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <map>
|
||||
|
||||
#include "base/containers/flat_set.h"
|
||||
diff -up chromium-109.0.5414.74/components/autofill/core/browser/autofill_ablation_study.h.me chromium-109.0.5414.74/components/autofill/core/browser/autofill_ablation_study.h
|
||||
--- chromium-109.0.5414.74/components/autofill/core/browser/autofill_ablation_study.h.me 2023-01-19 16:47:55.548571102 +0100
|
||||
+++ chromium-109.0.5414.74/components/autofill/core/browser/autofill_ablation_study.h 2023-01-19 16:48:29.214146529 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_ABLATION_STUDY_H_
|
||||
#define COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_ABLATION_STUDY_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
class GURL;
|
||||
diff -up chromium-109.0.5414.74/components/omnibox/browser/on_device_head_model.h.me chromium-109.0.5414.74/components/omnibox/browser/on_device_head_model.h
|
||||
--- chromium-109.0.5414.74/components/omnibox/browser/on_device_head_model.h.me 2023-01-19 16:57:29.525372814 +0100
|
||||
+++ chromium-109.0.5414.74/components/omnibox/browser/on_device_head_model.h 2023-01-19 16:58:02.667979288 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_OMNIBOX_BROWSER_ON_DEVICE_HEAD_MODEL_H_
|
||||
#define COMPONENTS_OMNIBOX_BROWSER_ON_DEVICE_HEAD_MODEL_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
diff -up chromium-109.0.5414.74/components/payments/content/utility/fingerprint_parser.h.me chromium-109.0.5414.74/components/payments/content/utility/fingerprint_parser.h
|
||||
--- chromium-109.0.5414.74/components/payments/content/utility/fingerprint_parser.h.me 2023-01-19 17:02:45.258544665 +0100
|
||||
+++ chromium-109.0.5414.74/components/payments/content/utility/fingerprint_parser.h 2023-01-19 17:02:52.577611757 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_PAYMENTS_CONTENT_UTILITY_FINGERPRINT_PARSER_H_
|
||||
#define COMPONENTS_PAYMENTS_CONTENT_UTILITY_FINGERPRINT_PARSER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <stddef.h>
|
||||
|
||||
#include <string>
|
||||
diff -up chromium-109.0.5414.74/pdf/document_attachment_info.h.me chromium-109.0.5414.74/pdf/document_attachment_info.h
|
||||
--- chromium-109.0.5414.74/pdf/document_attachment_info.h.me 2023-01-19 17:28:28.552063534 +0100
|
||||
+++ chromium-109.0.5414.74/pdf/document_attachment_info.h 2023-01-19 17:28:48.072379953 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef PDF_DOCUMENT_ATTACHMENT_INFO_H_
|
||||
#define PDF_DOCUMENT_ATTACHMENT_INFO_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
|
||||
diff -up chromium-109.0.5414.74/third_party/pdfium/constants/annotation_flags.h.me chromium-109.0.5414.74/third_party/pdfium/constants/annotation_flags.h
|
||||
--- chromium-109.0.5414.74/third_party/pdfium/constants/annotation_flags.h.me 2023-01-19 18:25:47.648193710 +0100
|
||||
+++ chromium-109.0.5414.74/third_party/pdfium/constants/annotation_flags.h 2023-01-19 18:26:11.488593556 +0100
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef CONSTANTS_ANNOTATION_FLAGS_H_
|
||||
#define CONSTANTS_ANNOTATION_FLAGS_H_
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace pdfium {
|
||||
namespace annotation_flags {
|
||||
|
||||
diff -up chromium-109.0.5414.74/base/cpu.h.me chromium-109.0.5414.74/base/cpu.h
|
||||
--- chromium-109.0.5414.74/base/cpu.h.me 2023-01-19 21:31:02.905062987 +0100
|
||||
+++ chromium-109.0.5414.74/base/cpu.h 2023-01-19 21:31:32.298573267 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef BASE_CPU_H_
|
||||
#define BASE_CPU_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include "base/base_export.h"
|
||||
diff -up chromium-113.0.5672.24/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.me chromium-113.0.5672.24/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h
|
||||
--- chromium-113.0.5672.24/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.me 2023-04-15 16:44:55.344305412 +0200
|
||||
+++ chromium-113.0.5672.24/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h 2023-04-15 16:47:09.028666995 +0200
|
||||
@@ -2854,6 +2854,7 @@ static void vma_aligned_free(void* VMA_N
|
||||
|
||||
// Define this macro to 1 to enable functions: vmaBuildStatsString, vmaFreeStatsString.
|
||||
#if VMA_STATS_STRING_ENABLED
|
||||
+#include <stdio.h>
|
||||
static inline void VmaUint32ToStr(char* VMA_NOT_NULL outStr, size_t strLen, uint32_t num)
|
||||
{
|
||||
snprintf(outStr, strLen, "%u", static_cast<unsigned int>(num));
|
||||
diff -up chromium-113.0.5672.37/chrome/browser/webauthn/authenticator_request_dialog_model.h.me chromium-113.0.5672.37/chrome/browser/webauthn/authenticator_request_dialog_model.h
|
||||
--- chromium-113.0.5672.37/chrome/browser/webauthn/authenticator_request_dialog_model.h.me 2023-04-18 15:55:44.774916319 +0200
|
||||
+++ chromium-113.0.5672.37/chrome/browser/webauthn/authenticator_request_dialog_model.h 2023-04-18 15:55:54.441085882 +0200
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
+#include <variant>
|
||||
|
||||
#include "base/containers/span.h"
|
||||
#include "base/functional/callback_forward.h"
|
||||
diff -up chromium-113.0.5672.37/gin/time_clamper.h.me chromium-113.0.5672.37/gin/time_clamper.h
|
||||
--- chromium-113.0.5672.37/gin/time_clamper.h.me 2023-04-18 16:38:41.180437467 +0200
|
||||
+++ chromium-113.0.5672.37/gin/time_clamper.h 2023-04-18 16:39:43.857049432 +0200
|
||||
@@ -48,7 +48,7 @@ class GIN_EXPORT TimeClamper {
|
||||
const int64_t micros = now_micros % 1000;
|
||||
// abs() is necessary for devices with times before unix-epoch (most likely
|
||||
// configured incorrectly).
|
||||
- if (abs(micros) + kResolutionMicros < 1000) {
|
||||
+ if (std::abs(micros) + kResolutionMicros < 1000) {
|
||||
return now_micros / 1000;
|
||||
}
|
||||
return ClampTimeResolution(now_micros) / 1000;
|
||||
diff -up chromium-113.0.5672.53/chrome/test/chromedriver/chrome/web_view_impl.cc.me chromium-113.0.5672.53/chrome/test/chromedriver/chrome/web_view_impl.cc
|
||||
--- chromium-113.0.5672.53/chrome/test/chromedriver/chrome/web_view_impl.cc.me 2023-04-21 08:07:55.362714544 +0200
|
||||
+++ chromium-113.0.5672.53/chrome/test/chromedriver/chrome/web_view_impl.cc 2023-04-21 08:14:35.424158693 +0200
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <queue>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
+#include <cstring>
|
||||
|
||||
#include "base/check.h"
|
||||
#include "base/files/file_path.h"
|
|
@ -1,105 +0,0 @@
|
|||
diff -up chromium-114.0.5735.35/chrome/browser/safe_browsing/download_protection/file_analyzer.cc.nounrar chromium-114.0.5735.35/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
|
||||
--- chromium-114.0.5735.35/chrome/browser/safe_browsing/download_protection/file_analyzer.cc.nounrar 2023-05-18 00:37:47.000000000 +0200
|
||||
+++ chromium-114.0.5735.35/chrome/browser/safe_browsing/download_protection/file_analyzer.cc 2023-05-21 18:12:30.368425080 +0200
|
||||
@@ -77,8 +77,6 @@ void FileAnalyzer::Start(const base::Fil
|
||||
|
||||
if (inspection_type == DownloadFileType::ZIP) {
|
||||
StartExtractZipFeatures();
|
||||
- } else if (inspection_type == DownloadFileType::RAR) {
|
||||
- StartExtractRarFeatures();
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
} else if (inspection_type == DownloadFileType::DMG) {
|
||||
StartExtractDmgFeatures();
|
||||
diff -up chromium-114.0.5735.35/chrome/common/safe_browsing/archive_analyzer.cc.nounrar chromium-114.0.5735.35/chrome/common/safe_browsing/archive_analyzer.cc
|
||||
--- chromium-114.0.5735.35/chrome/common/safe_browsing/archive_analyzer.cc.nounrar 2023-05-18 00:37:48.000000000 +0200
|
||||
+++ chromium-114.0.5735.35/chrome/common/safe_browsing/archive_analyzer.cc 2023-05-21 18:11:14.870058635 +0200
|
||||
@@ -8,7 +8,6 @@
|
||||
#include "build/build_config.h"
|
||||
#include "build/buildflag.h"
|
||||
#include "chrome/common/safe_browsing/archive_analyzer_results.h"
|
||||
-#include "chrome/common/safe_browsing/rar_analyzer.h"
|
||||
#include "chrome/common/safe_browsing/seven_zip_analyzer.h"
|
||||
#include "chrome/common/safe_browsing/zip_analyzer.h"
|
||||
#include "components/safe_browsing/content/common/proto/download_file_types.pb.h"
|
||||
@@ -23,9 +22,7 @@ namespace safe_browsing {
|
||||
// static
|
||||
std::unique_ptr<ArchiveAnalyzer> ArchiveAnalyzer::CreateForArchiveType(
|
||||
DownloadFileType_InspectionType file_type) {
|
||||
- if (file_type == DownloadFileType::RAR) {
|
||||
- return std::make_unique<RarAnalyzer>();
|
||||
- } else if (file_type == DownloadFileType::ZIP) {
|
||||
+ if (file_type == DownloadFileType::ZIP) {
|
||||
return std::make_unique<ZipAnalyzer>();
|
||||
} else if (file_type == DownloadFileType::SEVEN_ZIP) {
|
||||
return std::make_unique<SevenZipAnalyzer>();
|
||||
diff -up chromium-114.0.5735.35/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-114.0.5735.35/chrome/common/safe_browsing/BUILD.gn
|
||||
--- chromium-114.0.5735.35/chrome/common/safe_browsing/BUILD.gn.nounrar 2023-05-18 00:37:48.000000000 +0200
|
||||
+++ chromium-114.0.5735.35/chrome/common/safe_browsing/BUILD.gn 2023-05-21 18:11:14.869058617 +0200
|
||||
@@ -145,8 +145,6 @@ source_set("safe_browsing") {
|
||||
"protobuf_message_log_macros.h",
|
||||
"protobuf_message_read_macros.h",
|
||||
"protobuf_message_write_macros.h",
|
||||
- "rar_analyzer.cc",
|
||||
- "rar_analyzer.h",
|
||||
"seven_zip_analyzer.cc",
|
||||
"seven_zip_analyzer.h",
|
||||
"zip_analyzer.cc",
|
||||
@@ -162,7 +160,6 @@ source_set("safe_browsing") {
|
||||
"//components/safe_browsing/content/common:file_type_policies",
|
||||
"//components/safe_browsing/core/common",
|
||||
"//third_party/lzma_sdk/google:seven_zip_reader",
|
||||
- "//third_party/unrar:unrar",
|
||||
]
|
||||
|
||||
if (is_linux) {
|
||||
diff -up chromium-114.0.5735.35/chrome/common/safe_browsing/zip_analyzer.cc.nounrar chromium-114.0.5735.35/chrome/common/safe_browsing/zip_analyzer.cc
|
||||
--- chromium-114.0.5735.35/chrome/common/safe_browsing/zip_analyzer.cc.nounrar 2023-05-18 00:37:48.000000000 +0200
|
||||
+++ chromium-114.0.5735.35/chrome/common/safe_browsing/zip_analyzer.cc 2023-05-21 18:11:14.869058617 +0200
|
||||
@@ -18,7 +18,6 @@
|
||||
#include "base/time/time.h"
|
||||
#include "build/build_config.h"
|
||||
#include "chrome/common/safe_browsing/archive_analyzer_results.h"
|
||||
-#include "chrome/common/safe_browsing/rar_analyzer.h"
|
||||
#include "components/safe_browsing/content/common/file_type_policies.h"
|
||||
#include "components/safe_browsing/core/common/features.h"
|
||||
#include "components/safe_browsing/core/common/proto/csd.pb.h"
|
||||
diff -up chromium-114.0.5735.35/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-114.0.5735.35/chrome/services/file_util/safe_archive_analyzer.cc
|
||||
--- chromium-114.0.5735.35/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2023-05-18 00:37:48.000000000 +0200
|
||||
+++ chromium-114.0.5735.35/chrome/services/file_util/safe_archive_analyzer.cc 2023-05-21 18:11:14.870058635 +0200
|
||||
@@ -71,6 +71,7 @@ void SafeArchiveAnalyzer::AnalyzeRarFile
|
||||
base::File rar_file,
|
||||
mojo::PendingRemote<chrome::mojom::TemporaryFileGetter> temp_file_getter,
|
||||
AnalyzeRarFileCallback callback) {
|
||||
+#if 0
|
||||
DCHECK(rar_file.IsValid());
|
||||
temp_file_getter_.Bind(std::move(temp_file_getter));
|
||||
callback_ = std::move(callback);
|
||||
@@ -86,6 +87,9 @@ void SafeArchiveAnalyzer::AnalyzeRarFile
|
||||
rar_analyzer_.Analyze(std::move(rar_file), base::FilePath(),
|
||||
std::move(analysis_finished_callback),
|
||||
std::move(temp_file_getter_callback), &results_);
|
||||
+#else
|
||||
+ NOTREACHED();
|
||||
+#endif
|
||||
}
|
||||
|
||||
void SafeArchiveAnalyzer::AnalyzeSevenZipFile(
|
||||
diff -up chromium-114.0.5735.35/chrome/services/file_util/safe_archive_analyzer.h.nounrar chromium-114.0.5735.35/chrome/services/file_util/safe_archive_analyzer.h
|
||||
--- chromium-114.0.5735.35/chrome/services/file_util/safe_archive_analyzer.h.nounrar 2023-05-18 00:37:48.000000000 +0200
|
||||
+++ chromium-114.0.5735.35/chrome/services/file_util/safe_archive_analyzer.h 2023-05-21 18:11:14.870058635 +0200
|
||||
@@ -6,7 +6,6 @@
|
||||
#define CHROME_SERVICES_FILE_UTIL_SAFE_ARCHIVE_ANALYZER_H_
|
||||
|
||||
#include "chrome/common/safe_browsing/archive_analyzer_results.h"
|
||||
-#include "chrome/common/safe_browsing/rar_analyzer.h"
|
||||
#include "chrome/common/safe_browsing/seven_zip_analyzer.h"
|
||||
#include "chrome/common/safe_browsing/zip_analyzer.h"
|
||||
#include "chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom.h"
|
||||
@@ -63,7 +62,6 @@ class SafeArchiveAnalyzer : public chrom
|
||||
void Timeout();
|
||||
|
||||
safe_browsing::ZipAnalyzer zip_analyzer_;
|
||||
- safe_browsing::RarAnalyzer rar_analyzer_;
|
||||
safe_browsing::SevenZipAnalyzer seven_zip_analyzer_;
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
safe_browsing::dmg::DMGAnalyzer dmg_analyzer_;
|
|
@ -1,21 +0,0 @@
|
|||
diff --git a/ui/qt/qt_ui.cc b/ui/qt/qt_ui.cc
|
||||
index bac5245a..a97fa8b 100644
|
||||
--- a/ui/qt/qt_ui.cc
|
||||
+++ b/ui/qt/qt_ui.cc
|
||||
@@ -422,12 +422,14 @@
|
||||
auto desc = shim_->GetFontDescription();
|
||||
|
||||
font_family_ = desc.family.c_str();
|
||||
+ // Points are defined at 72 DPI and pixels are 96 DPI by default.
|
||||
+ constexpr double kPointToPixelRatio = 96.0 / 72.0;
|
||||
if (desc.size_pixels > 0) {
|
||||
font_size_pixels_ = desc.size_pixels;
|
||||
- font_size_points_ = font_size_pixels_ / GetDeviceScaleFactor();
|
||||
+ font_size_points_ = std::round(font_size_pixels_ / kPointToPixelRatio);
|
||||
} else {
|
||||
font_size_points_ = desc.size_points;
|
||||
- font_size_pixels_ = font_size_points_ * GetDeviceScaleFactor();
|
||||
+ font_size_pixels_ = std::round(font_size_points_ * kPointToPixelRatio);
|
||||
}
|
||||
font_style_ = desc.is_italic ? gfx::Font::ITALIC : gfx::Font::NORMAL;
|
||||
font_weight_ = QtWeightToCssWeight(desc.weight);
|
|
@ -1,574 +0,0 @@
|
|||
commit c51d6447fd0d124903d16bf5952efccbf9e1ca92
|
||||
Author: Tom Anderson <thomasanderson@chromium.org>
|
||||
Date: Wed May 24 22:53:20 2023 +0000
|
||||
|
||||
[Qt] Handle scale factor changes
|
||||
|
||||
This is a speculative fix for https://crbug.com/1439149. I suspect
|
||||
the scale factor is not set immediately on QT initialization, but
|
||||
is set asynchronously shortly after. This CL adds a listener for
|
||||
QT scale changes.
|
||||
|
||||
R=thestig
|
||||
|
||||
Low-Coverage-Reason: No QT tests currently
|
||||
Change-Id: I7dea23e16a6bb26237564af2dc4e43480f6aea9f
|
||||
Bug: 1439149
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4559732
|
||||
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
||||
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
|
||||
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1148805}
|
||||
|
||||
diff --git a/ui/qt/qt5_shim_moc.cc b/ui/qt/qt5_shim_moc.cc
|
||||
index 8f8b6b57784a8..6e504f23c603a 100644
|
||||
--- a/ui/qt/qt5_shim_moc.cc
|
||||
+++ b/ui/qt/qt5_shim_moc.cc
|
||||
@@ -23,8 +23,8 @@
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
struct qt_meta_stringdata_qt__QtShim_t {
|
||||
- QByteArrayData data[6];
|
||||
- char stringdata[52];
|
||||
+ QByteArrayData data[13];
|
||||
+ char stringdata[151];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET( \
|
||||
@@ -33,9 +33,16 @@ struct qt_meta_stringdata_qt__QtShim_t {
|
||||
static const qt_meta_stringdata_qt__QtShim_t qt_meta_stringdata_qt__QtShim = {
|
||||
{QT_MOC_LITERAL(0, 0, 10), QT_MOC_LITERAL(1, 11, 11),
|
||||
QT_MOC_LITERAL(2, 23, 0), QT_MOC_LITERAL(3, 24, 4),
|
||||
- QT_MOC_LITERAL(4, 29, 14), QT_MOC_LITERAL(5, 44, 7)},
|
||||
+ QT_MOC_LITERAL(4, 29, 14), QT_MOC_LITERAL(5, 44, 7),
|
||||
+ QT_MOC_LITERAL(6, 52, 11), QT_MOC_LITERAL(7, 64, 8),
|
||||
+ QT_MOC_LITERAL(8, 73, 6), QT_MOC_LITERAL(9, 80, 13),
|
||||
+ QT_MOC_LITERAL(10, 94, 25), QT_MOC_LITERAL(11, 120, 3),
|
||||
+ QT_MOC_LITERAL(12, 124, 26)},
|
||||
"qt::QtShim\0FontChanged\0\0font\0"
|
||||
- "PaletteChanged\0palette"};
|
||||
+ "PaletteChanged\0palette\0ScreenAdded\0"
|
||||
+ "QScreen*\0screen\0ScreenRemoved\0"
|
||||
+ "LogicalDotsPerInchChanged\0dpi\0"
|
||||
+ "PhysicalDotsPerInchChanged"};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_qt__QtShim[] = {
|
||||
@@ -44,7 +51,7 @@ static const uint qt_meta_data_qt__QtShim[] = {
|
||||
7, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
- 2, 14, // methods
|
||||
+ 6, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
@@ -52,11 +59,15 @@ static const uint qt_meta_data_qt__QtShim[] = {
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
- 1, 1, 24, 2, 0x08 /* Private */, 4, 1, 27, 2, 0x08 /* Private */,
|
||||
+ 1, 1, 44, 2, 0x08 /* Private */, 4, 1, 47, 2, 0x08 /* Private */, 6, 1, 50,
|
||||
+ 2, 0x08 /* Private */, 9, 1, 53, 2, 0x08 /* Private */, 10, 1, 56, 2,
|
||||
+ 0x08 /* Private */, 12, 1, 59, 2, 0x08 /* Private */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void, QMetaType::QFont, 3, QMetaType::Void, QMetaType::QPalette,
|
||||
- 5,
|
||||
+ 5, QMetaType::Void, 0x80000000 | 7, 8, QMetaType::Void, 0x80000000 | 7, 8,
|
||||
+ QMetaType::Void, QMetaType::QReal, 11, QMetaType::Void, QMetaType::QReal,
|
||||
+ 11,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
@@ -74,6 +85,18 @@ void qt::QtShim::qt_static_metacall(QObject* _o,
|
||||
case 1:
|
||||
_t->PaletteChanged((*reinterpret_cast<const QPalette(*)>(_a[1])));
|
||||
break;
|
||||
+ case 2:
|
||||
+ _t->ScreenAdded((*reinterpret_cast<QScreen*(*)>(_a[1])));
|
||||
+ break;
|
||||
+ case 3:
|
||||
+ _t->ScreenRemoved((*reinterpret_cast<QScreen*(*)>(_a[1])));
|
||||
+ break;
|
||||
+ case 4:
|
||||
+ _t->LogicalDotsPerInchChanged((*reinterpret_cast<qreal(*)>(_a[1])));
|
||||
+ break;
|
||||
+ case 5:
|
||||
+ _t->PhysicalDotsPerInchChanged((*reinterpret_cast<qreal(*)>(_a[1])));
|
||||
+ break;
|
||||
default:;
|
||||
}
|
||||
}
|
||||
@@ -107,15 +130,15 @@ int qt::QtShim::qt_metacall(QMetaObject::Call _c, int _id, void** _a) {
|
||||
return _id;
|
||||
}
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
- if (_id < 2) {
|
||||
+ if (_id < 6) {
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
}
|
||||
- _id -= 2;
|
||||
+ _id -= 6;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
- if (_id < 2) {
|
||||
+ if (_id < 6) {
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
}
|
||||
- _id -= 2;
|
||||
+ _id -= 6;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
diff --git a/ui/qt/qt6_shim_moc.cc b/ui/qt/qt6_shim_moc.cc
|
||||
index 6d02ca317b65d..a16515008d892 100644
|
||||
--- a/ui/qt/qt6_shim_moc.cc
|
||||
+++ b/ui/qt/qt6_shim_moc.cc
|
||||
@@ -26,8 +26,8 @@ QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_qt__QtShim_t {
|
||||
- const uint offsetsAndSize[12];
|
||||
- char stringdata0[52];
|
||||
+ const uint offsetsAndSize[26];
|
||||
+ char stringdata0[151];
|
||||
};
|
||||
#define QT_MOC_LITERAL(ofs, len) \
|
||||
uint(offsetof(qt_meta_stringdata_qt__QtShim_t, stringdata0) + ofs), len
|
||||
@@ -38,11 +38,21 @@ static const qt_meta_stringdata_qt__QtShim_t qt_meta_stringdata_qt__QtShim = {
|
||||
QT_MOC_LITERAL(23, 0), // ""
|
||||
QT_MOC_LITERAL(24, 4), // "font"
|
||||
QT_MOC_LITERAL(29, 14), // "PaletteChanged"
|
||||
- QT_MOC_LITERAL(44, 7) // "palette"
|
||||
+ QT_MOC_LITERAL(44, 7), // "palette"
|
||||
+ QT_MOC_LITERAL(52, 11), // "ScreenAdded"
|
||||
+ QT_MOC_LITERAL(64, 8), // "QScreen*"
|
||||
+ QT_MOC_LITERAL(73, 6), // "screen"
|
||||
+ QT_MOC_LITERAL(80, 13), // "ScreenRemoved"
|
||||
+ QT_MOC_LITERAL(94, 25), // "LogicalDotsPerInchChanged"
|
||||
+ QT_MOC_LITERAL(120, 3), // "dpi"
|
||||
+ QT_MOC_LITERAL(124, 26) // "PhysicalDotsPerInchChanged"
|
||||
|
||||
},
|
||||
"qt::QtShim\0FontChanged\0\0font\0"
|
||||
- "PaletteChanged\0palette"};
|
||||
+ "PaletteChanged\0palette\0ScreenAdded\0"
|
||||
+ "QScreen*\0screen\0ScreenRemoved\0"
|
||||
+ "LogicalDotsPerInchChanged\0dpi\0"
|
||||
+ "PhysicalDotsPerInchChanged"};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_qt__QtShim[] = {
|
||||
@@ -51,7 +61,7 @@ static const uint qt_meta_data_qt__QtShim[] = {
|
||||
10, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
- 2, 14, // methods
|
||||
+ 6, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
@@ -59,11 +69,15 @@ static const uint qt_meta_data_qt__QtShim[] = {
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags, initial metatype offsets
|
||||
- 1, 1, 26, 2, 0x08, 1 /* Private */, 4, 1, 29, 2, 0x08, 3 /* Private */,
|
||||
+ 1, 1, 50, 2, 0x08, 1 /* Private */, 4, 1, 53, 2, 0x08, 3 /* Private */, 6,
|
||||
+ 1, 56, 2, 0x08, 5 /* Private */, 9, 1, 59, 2, 0x08, 7 /* Private */, 10, 1,
|
||||
+ 62, 2, 0x08, 9 /* Private */, 12, 1, 65, 2, 0x08, 11 /* Private */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void, QMetaType::QFont, 3, QMetaType::Void, QMetaType::QPalette,
|
||||
- 5,
|
||||
+ 5, QMetaType::Void, 0x80000000 | 7, 8, QMetaType::Void, 0x80000000 | 7, 8,
|
||||
+ QMetaType::Void, QMetaType::QReal, 11, QMetaType::Void, QMetaType::QReal,
|
||||
+ 11,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
@@ -83,6 +97,22 @@ void qt::QtShim::qt_static_metacall(QObject* _o,
|
||||
_t->PaletteChanged(
|
||||
(*reinterpret_cast<std::add_pointer_t<QPalette>>(_a[1])));
|
||||
break;
|
||||
+ case 2:
|
||||
+ _t->ScreenAdded(
|
||||
+ (*reinterpret_cast<std::add_pointer_t<QScreen*>>(_a[1])));
|
||||
+ break;
|
||||
+ case 3:
|
||||
+ _t->ScreenRemoved(
|
||||
+ (*reinterpret_cast<std::add_pointer_t<QScreen*>>(_a[1])));
|
||||
+ break;
|
||||
+ case 4:
|
||||
+ _t->LogicalDotsPerInchChanged(
|
||||
+ (*reinterpret_cast<std::add_pointer_t<qreal>>(_a[1])));
|
||||
+ break;
|
||||
+ case 5:
|
||||
+ _t->PhysicalDotsPerInchChanged(
|
||||
+ (*reinterpret_cast<std::add_pointer_t<qreal>>(_a[1])));
|
||||
+ break;
|
||||
default:;
|
||||
}
|
||||
}
|
||||
@@ -98,7 +128,15 @@ const QMetaObject qt::QtShim::staticMetaObject = {
|
||||
QtPrivate::TypeAndForceComplete<void, std::false_type>,
|
||||
QtPrivate::TypeAndForceComplete<const QFont&, std::false_type>,
|
||||
QtPrivate::TypeAndForceComplete<void, std::false_type>,
|
||||
- QtPrivate::TypeAndForceComplete<const QPalette&, std::false_type>
|
||||
+ QtPrivate::TypeAndForceComplete<const QPalette&, std::false_type>,
|
||||
+ QtPrivate::TypeAndForceComplete<void, std::false_type>,
|
||||
+ QtPrivate::TypeAndForceComplete<QScreen*, std::false_type>,
|
||||
+ QtPrivate::TypeAndForceComplete<void, std::false_type>,
|
||||
+ QtPrivate::TypeAndForceComplete<QScreen*, std::false_type>,
|
||||
+ QtPrivate::TypeAndForceComplete<void, std::false_type>,
|
||||
+ QtPrivate::TypeAndForceComplete<qreal, std::false_type>,
|
||||
+ QtPrivate::TypeAndForceComplete<void, std::false_type>,
|
||||
+ QtPrivate::TypeAndForceComplete<qreal, std::false_type>
|
||||
|
||||
>,
|
||||
nullptr}};
|
||||
@@ -127,15 +165,15 @@ int qt::QtShim::qt_metacall(QMetaObject::Call _c, int _id, void** _a) {
|
||||
return _id;
|
||||
}
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
- if (_id < 2) {
|
||||
+ if (_id < 6) {
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
}
|
||||
- _id -= 2;
|
||||
+ _id -= 6;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
- if (_id < 2) {
|
||||
+ if (_id < 6) {
|
||||
*reinterpret_cast<QMetaType*>(_a[0]) = QMetaType();
|
||||
}
|
||||
- _id -= 2;
|
||||
+ _id -= 6;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
diff --git a/ui/qt/qt_interface.h b/ui/qt/qt_interface.h
|
||||
index 6a362bc66c0e3..28dfc6603544f 100644
|
||||
--- a/ui/qt/qt_interface.h
|
||||
+++ b/ui/qt/qt_interface.h
|
||||
@@ -118,6 +118,7 @@ class QtInterface {
|
||||
|
||||
virtual void FontChanged() = 0;
|
||||
virtual void ThemeChanged() = 0;
|
||||
+ virtual void ScaleFactorMaybeChanged() = 0;
|
||||
};
|
||||
|
||||
QtInterface() = default;
|
||||
diff --git a/ui/qt/qt_shim.cc b/ui/qt/qt_shim.cc
|
||||
index 74d34ad196f18..0aec9c3aed4ad 100644
|
||||
--- a/ui/qt/qt_shim.cc
|
||||
+++ b/ui/qt/qt_shim.cc
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <QMimeType>
|
||||
#include <QPainter>
|
||||
#include <QPalette>
|
||||
+#include <QScreen>
|
||||
#include <QStyle>
|
||||
#include <QStyleOptionTitleBar>
|
||||
|
||||
@@ -52,8 +53,9 @@ FontHinting QtHintingToFontHinting(QFont::HintingPreference hinting) {
|
||||
// Obtain the average color of a gradient.
|
||||
SkColor GradientColor(const QGradient& gradient) {
|
||||
QGradientStops stops = gradient.stops();
|
||||
- if (stops.empty())
|
||||
+ if (stops.empty()) {
|
||||
return qRgba(0, 0, 0, 0);
|
||||
+ }
|
||||
|
||||
float a = 0;
|
||||
float r = 0;
|
||||
@@ -86,11 +88,13 @@ SkColor GradientColor(const QGradient& gradient) {
|
||||
// Obtain the average color of a texture.
|
||||
SkColor TextureColor(QImage image) {
|
||||
size_t size = image.width() * image.height();
|
||||
- if (!size)
|
||||
+ if (!size) {
|
||||
return qRgba(0, 0, 0, 0);
|
||||
+ }
|
||||
|
||||
- if (image.format() != QImage::Format_ARGB32_Premultiplied)
|
||||
+ if (image.format() != QImage::Format_ARGB32_Premultiplied) {
|
||||
image = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
|
||||
+ }
|
||||
|
||||
size_t a = 0;
|
||||
size_t r = 0;
|
||||
@@ -203,6 +207,13 @@ QtShim::QtShim(QtInterface::Delegate* delegate, int* argc, char** argv)
|
||||
SLOT(FontChanged(const QFont&)));
|
||||
connect(&app_, SIGNAL(paletteChanged(const QPalette&)), this,
|
||||
SLOT(PaletteChanged(const QPalette&)));
|
||||
+ connect(&app_, SIGNAL(screenAdded(QScreen*)), this,
|
||||
+ SLOT(ScreenAdded(QScreen*)));
|
||||
+ connect(&app_, SIGNAL(screenRemoved(QScreen*)), this,
|
||||
+ SLOT(ScreenRemoved(QScreen*)));
|
||||
+ for (QScreen* screen : app_.screens()) {
|
||||
+ ScreenAdded(screen);
|
||||
+ }
|
||||
}
|
||||
|
||||
QtShim::~QtShim() = default;
|
||||
@@ -241,8 +252,9 @@ Image QtShim::GetIconForContentType(const String& content_type,
|
||||
auto icon = QIcon::fromTheme(name);
|
||||
auto pixmap = icon.pixmap(size);
|
||||
auto image = pixmap.toImage();
|
||||
- if (image.format() != QImage::Format_ARGB32_Premultiplied)
|
||||
+ if (image.format() != QImage::Format_ARGB32_Premultiplied) {
|
||||
image = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
|
||||
+ }
|
||||
if (auto bytes = image.sizeInBytes()) {
|
||||
return {image.width(), image.height(),
|
||||
static_cast<float>(image.devicePixelRatio()),
|
||||
@@ -283,6 +295,30 @@ void QtShim::PaletteChanged(const QPalette& palette) {
|
||||
delegate_->ThemeChanged();
|
||||
}
|
||||
|
||||
+DISABLE_CFI_VCALL
|
||||
+void QtShim::ScreenAdded(QScreen* screen) {
|
||||
+ connect(screen, SIGNAL(logicalDotsPerInchChanged(qreal)), this,
|
||||
+ SLOT(LogicalDotsPerInchChanged(qreal)));
|
||||
+ connect(screen, SIGNAL(physicalDotsPerInchChanged(qreal)), this,
|
||||
+ SLOT(PhysicalDotsPerInchChanged(qreal)));
|
||||
+ delegate_->ScaleFactorMaybeChanged();
|
||||
+}
|
||||
+
|
||||
+DISABLE_CFI_VCALL
|
||||
+void QtShim::ScreenRemoved(QScreen* screen) {
|
||||
+ delegate_->ScaleFactorMaybeChanged();
|
||||
+}
|
||||
+
|
||||
+DISABLE_CFI_VCALL
|
||||
+void QtShim::LogicalDotsPerInchChanged(qreal dpi) {
|
||||
+ delegate_->ScaleFactorMaybeChanged();
|
||||
+}
|
||||
+
|
||||
+DISABLE_CFI_VCALL
|
||||
+void QtShim::PhysicalDotsPerInchChanged(qreal dpi) {
|
||||
+ delegate_->ScaleFactorMaybeChanged();
|
||||
+}
|
||||
+
|
||||
Image QtShim::DrawHeader(int width,
|
||||
int height,
|
||||
SkColor default_color,
|
||||
@@ -309,8 +345,9 @@ QImage QtShim::DrawHeaderImpl(int width,
|
||||
QStyleOptionTitleBar opt;
|
||||
opt.rect = QRect(-kBorderWidth, -kBorderWidth, width + 2 * kBorderWidth,
|
||||
height + 2 * kBorderWidth);
|
||||
- if (state == ColorState::kNormal)
|
||||
+ if (state == ColorState::kNormal) {
|
||||
opt.titleBarState = QStyle::State_Active;
|
||||
+ }
|
||||
app_.style()->drawComplexControl(QStyle::CC_TitleBar, &opt, &painter,
|
||||
nullptr);
|
||||
} else {
|
||||
diff --git a/ui/qt/qt_shim.h b/ui/qt/qt_shim.h
|
||||
index 607e6fe22dfc0..d979c47d589d4 100644
|
||||
--- a/ui/qt/qt_shim.h
|
||||
+++ b/ui/qt/qt_shim.h
|
||||
@@ -42,6 +42,10 @@ class QtShim : public QObject, public QtInterface {
|
||||
private slots:
|
||||
void FontChanged(const QFont& font);
|
||||
void PaletteChanged(const QPalette& palette);
|
||||
+ void ScreenAdded(QScreen* screen);
|
||||
+ void ScreenRemoved(QScreen* screen);
|
||||
+ void LogicalDotsPerInchChanged(qreal dpi);
|
||||
+ void PhysicalDotsPerInchChanged(qreal dpi);
|
||||
|
||||
private:
|
||||
QImage DrawHeaderImpl(int width,
|
||||
diff --git a/ui/qt/qt_ui.cc b/ui/qt/qt_ui.cc
|
||||
index 6a3b58e9f930b..bac5245a069f9 100644
|
||||
--- a/ui/qt/qt_ui.cc
|
||||
+++ b/ui/qt/qt_ui.cc
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "base/nix/xdg_util.h"
|
||||
#include "base/notreached.h"
|
||||
#include "base/path_service.h"
|
||||
+#include "base/task/single_thread_task_runner.h"
|
||||
#include "base/time/time.h"
|
||||
#include "cc/paint/paint_canvas.h"
|
||||
#include "chrome/browser/themes/theme_properties.h" // nogncheck
|
||||
@@ -36,6 +37,7 @@
|
||||
#include "ui/gfx/image/image.h"
|
||||
#include "ui/gfx/image/image_skia_rep.h"
|
||||
#include "ui/gfx/image/image_skia_source.h"
|
||||
+#include "ui/linux/device_scale_factor_observer.h"
|
||||
#include "ui/linux/linux_ui.h"
|
||||
#include "ui/linux/nav_button_provider.h"
|
||||
#include "ui/native_theme/native_theme_aura.h"
|
||||
@@ -194,16 +196,21 @@ void QtUi::GetDefaultFontDescription(std::string* family_out,
|
||||
int* style_out,
|
||||
int* weight_out,
|
||||
gfx::FontRenderParams* params_out) const {
|
||||
- if (family_out)
|
||||
+ if (family_out) {
|
||||
*family_out = font_family_;
|
||||
- if (size_pixels_out)
|
||||
+ }
|
||||
+ if (size_pixels_out) {
|
||||
*size_pixels_out = font_size_pixels_;
|
||||
- if (style_out)
|
||||
+ }
|
||||
+ if (style_out) {
|
||||
*style_out = font_style_;
|
||||
- if (weight_out)
|
||||
+ }
|
||||
+ if (weight_out) {
|
||||
*weight_out = font_weight_;
|
||||
- if (params_out)
|
||||
+ }
|
||||
+ if (params_out) {
|
||||
*params_out = font_params_;
|
||||
+ }
|
||||
}
|
||||
|
||||
ui::SelectFileDialog* QtUi::CreateSelectFileDialog(
|
||||
@@ -236,6 +245,7 @@ bool QtUi::Initialize() {
|
||||
ui::ColorProviderManager::Get().AppendColorProviderInitializer(
|
||||
base::BindRepeating(&QtUi::AddNativeColorMixer, base::Unretained(this)));
|
||||
FontChanged();
|
||||
+ scale_factor_ = shim_->GetScaleFactor();
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -246,8 +256,9 @@ ui::NativeTheme* QtUi::GetNativeTheme() const {
|
||||
|
||||
bool QtUi::GetColor(int id, SkColor* color, bool use_custom_frame) const {
|
||||
auto value = GetColor(id, use_custom_frame);
|
||||
- if (value)
|
||||
+ if (value) {
|
||||
*color = *value;
|
||||
+ }
|
||||
return value.has_value();
|
||||
}
|
||||
|
||||
@@ -297,8 +308,9 @@ gfx::Image QtUi::GetIconForContentType(const std::string& content_type,
|
||||
float scale) const {
|
||||
Image image =
|
||||
shim_->GetIconForContentType(String(content_type.c_str()), size * scale);
|
||||
- if (!image.data_argb.size())
|
||||
+ if (!image.data_argb.size()) {
|
||||
return {};
|
||||
+ }
|
||||
|
||||
SkImageInfo image_info = SkImageInfo::Make(
|
||||
image.width, image.height, kBGRA_8888_SkColorType, kPremul_SkAlphaType);
|
||||
@@ -345,14 +357,16 @@ bool QtUi::AnimationsEnabled() const {
|
||||
|
||||
void QtUi::AddWindowButtonOrderObserver(
|
||||
ui::WindowButtonOrderObserver* observer) {
|
||||
- if (fallback_linux_ui_)
|
||||
+ if (fallback_linux_ui_) {
|
||||
fallback_linux_ui_->AddWindowButtonOrderObserver(observer);
|
||||
+ }
|
||||
}
|
||||
|
||||
void QtUi::RemoveWindowButtonOrderObserver(
|
||||
ui::WindowButtonOrderObserver* observer) {
|
||||
- if (fallback_linux_ui_)
|
||||
+ if (fallback_linux_ui_) {
|
||||
fallback_linux_ui_->RemoveWindowButtonOrderObserver(observer);
|
||||
+ }
|
||||
}
|
||||
|
||||
std::unique_ptr<ui::NavButtonProvider> QtUi::CreateNavButtonProvider() {
|
||||
@@ -441,11 +455,24 @@ void QtUi::ThemeChanged() {
|
||||
native_theme_->ThemeChanged(PreferDarkTheme());
|
||||
}
|
||||
|
||||
+void QtUi::ScaleFactorMaybeChanged() {
|
||||
+ // This gets called whenever the monitor configuration changes. Handle the
|
||||
+ // scale change asynchronously to allow the change to propagate to QT's scale
|
||||
+ // factor. This also coalesces scale change events together.
|
||||
+ if (!scale_factor_task_active_) {
|
||||
+ scale_factor_task_active_ = true;
|
||||
+ base::SingleThreadTaskRunner::GetCurrentDefault()->PostTask(
|
||||
+ FROM_HERE, base::BindOnce(&QtUi::ScaleFactorMaybeChangedImpl,
|
||||
+ weak_factory_.GetWeakPtr()));
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
DISABLE_CFI_VCALL
|
||||
void QtUi::AddNativeColorMixer(ui::ColorProvider* provider,
|
||||
const ui::ColorProviderManager::Key& key) {
|
||||
- if (key.system_theme != ui::SystemTheme::kQt)
|
||||
+ if (key.system_theme != ui::SystemTheme::kQt) {
|
||||
return;
|
||||
+ }
|
||||
|
||||
ui::ColorMixer& mixer = provider->AddMixer();
|
||||
// These color constants are required by native_chrome_color_mixer_linux.cc
|
||||
@@ -494,8 +521,9 @@ void QtUi::AddNativeColorMixer(ui::ColorProvider* provider,
|
||||
ColorState::kInactive},
|
||||
{ui::kColorNativeToolbarBackground, ColorType::kButtonBg},
|
||||
};
|
||||
- for (const auto& map : kMaps)
|
||||
+ for (const auto& map : kMaps) {
|
||||
mixer[map.id] = {shim_->GetColor(map.role, map.state)};
|
||||
+ }
|
||||
|
||||
const bool use_custom_frame =
|
||||
key.frame_type == ui::ColorProviderManager::FrameType::kChromium;
|
||||
@@ -578,6 +606,20 @@ absl::optional<SkColor> QtUi::GetColor(int id, bool use_custom_frame) const {
|
||||
}
|
||||
}
|
||||
|
||||
+DISABLE_CFI_VCALL
|
||||
+void QtUi::ScaleFactorMaybeChangedImpl() {
|
||||
+ scale_factor_task_active_ = false;
|
||||
+ double scale = shim_->GetScaleFactor();
|
||||
+ if (scale == scale_factor_) {
|
||||
+ return;
|
||||
+ }
|
||||
+ scale_factor_ = scale;
|
||||
+ for (ui::DeviceScaleFactorObserver& observer :
|
||||
+ device_scale_factor_observer_list()) {
|
||||
+ observer.OnDeviceScaleFactorChanged();
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
std::unique_ptr<ui::LinuxUiAndTheme> CreateQtUi(
|
||||
ui::LinuxUi* fallback_linux_ui) {
|
||||
return std::make_unique<QtUi>(fallback_linux_ui);
|
||||
diff --git a/ui/qt/qt_ui.h b/ui/qt/qt_ui.h
|
||||
index b53ed93240708..3319edf1ea9bc 100644
|
||||
--- a/ui/qt/qt_ui.h
|
||||
+++ b/ui/qt/qt_ui.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <memory>
|
||||
|
||||
#include "base/component_export.h"
|
||||
+#include "base/memory/weak_ptr.h"
|
||||
#include "printing/buildflags/buildflags.h"
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
#include "ui/color/color_provider.h"
|
||||
@@ -88,11 +89,14 @@ class QtUi : public ui::LinuxUiAndTheme, QtInterface::Delegate {
|
||||
// QtInterface::Delegate:
|
||||
void FontChanged() override;
|
||||
void ThemeChanged() override;
|
||||
+ void ScaleFactorMaybeChanged() override;
|
||||
|
||||
private:
|
||||
void AddNativeColorMixer(ui::ColorProvider* provider,
|
||||
const ui::ColorProviderManager::Key& key);
|
||||
|
||||
+ void ScaleFactorMaybeChangedImpl();
|
||||
+
|
||||
absl::optional<SkColor> GetColor(int id, bool use_custom_frame) const;
|
||||
|
||||
// TODO(https://crbug.com/1317782): This is a fallback for any unimplemented
|
||||
@@ -114,6 +118,11 @@ class QtUi : public ui::LinuxUiAndTheme, QtInterface::Delegate {
|
||||
std::unique_ptr<QtInterface> shim_;
|
||||
|
||||
std::unique_ptr<QtNativeTheme> native_theme_;
|
||||
+
|
||||
+ bool scale_factor_task_active_ = false;
|
||||
+ double scale_factor_ = 1.0;
|
||||
+
|
||||
+ base::WeakPtrFactory<QtUi> weak_factory_{this};
|
||||
};
|
||||
|
||||
// This should be the only symbol exported from this component.
|
|
@ -1,46 +0,0 @@
|
|||
commit 7b1d747a599a752e493e34e7bbf841d8b4c7882f
|
||||
Author: Tomasz Śniatowski <tomasz.sniatowski@xperi.com>
|
||||
Date: Thu May 25 16:09:27 2023 +0000
|
||||
|
||||
Dep on //printing in //ui/qt if printing is enabled
|
||||
|
||||
qt_ui.h can use printing/printing_context_linux.h, and needs to dep
|
||||
on //printing if it does, to avoid a missing dependency build break.
|
||||
|
||||
Without this fix, a clean build can fail on obj/ui/qt/qt/qt_ui.o with
|
||||
In file included from ../../ui/qt/qt_ui.cc:8:
|
||||
In file included from ../../ui/qt/qt_ui.h:21:
|
||||
../../printing/printing_context_linux.h:12:10: fatal error:
|
||||
'printing/mojom/print.mojom.h' file not found
|
||||
|
||||
(the #include is a // NOGNCHECK one, which is how this came to be)
|
||||
|
||||
Change-Id: I70af37071e232ffbf462a05e026051efae044b69
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4566944
|
||||
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
|
||||
Auto-Submit: Tomasz Śniatowski <tomasz.sniatowski@xperi.com>
|
||||
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1149138}
|
||||
|
||||
diff --git a/ui/qt/BUILD.gn b/ui/qt/BUILD.gn
|
||||
index 6a67961edc2f7..89fffcf3089f9 100644
|
||||
--- a/ui/qt/BUILD.gn
|
||||
+++ b/ui/qt/BUILD.gn
|
||||
@@ -5,6 +5,7 @@
|
||||
import("//build/config/chromecast_build.gni")
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/config/sysroot.gni")
|
||||
+import("//printing/buildflags/buildflags.gni")
|
||||
import("//ui/qt/qt.gni")
|
||||
|
||||
assert(use_qt)
|
||||
@@ -127,6 +128,9 @@ component("qt") {
|
||||
"//ui/views",
|
||||
]
|
||||
public_deps = [ "//skia" ]
|
||||
+ if (enable_printing) {
|
||||
+ public_deps += [ "//printing" ]
|
||||
+ }
|
||||
|
||||
sources = [
|
||||
"qt_ui.cc",
|
|
@ -1,12 +0,0 @@
|
|||
diff -up chromium-114.0.5735.106/ui/linux/linux_ui_factory.cc.me chromium-114.0.5735.106/ui/linux/linux_ui_factory.cc
|
||||
--- chromium-114.0.5735.106/ui/linux/linux_ui_factory.cc.me 2023-06-11 18:47:09.742886578 +0200
|
||||
+++ chromium-114.0.5735.106/ui/linux/linux_ui_factory.cc 2023-06-11 18:48:42.231584886 +0200
|
||||
@@ -127,7 +127,7 @@ LinuxUiAndTheme* GetDefaultLinuxUiAndThe
|
||||
|
||||
} // namespace
|
||||
|
||||
-BASE_FEATURE(kAllowQt, "AllowQt", base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+BASE_FEATURE(kAllowQt, "AllowQt", base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
LinuxUi* GetDefaultLinuxUi() {
|
||||
auto* linux_ui = GetDefaultLinuxUiAndTheme();
|
|
@ -1,59 +0,0 @@
|
|||
commit ff39a278ddccf61716a7dbcb575415801bbf8ded
|
||||
Author: Tom Anderson <thomasanderson@chromium.org>
|
||||
Date: Wed May 31 18:31:09 2023 +0000
|
||||
|
||||
[QT] Account for logical scale factor
|
||||
|
||||
Previously we were only using the device pixel ratio. But QT UI
|
||||
scales with both the device pixel ratio and the logical DPI. This CL
|
||||
sets Chrome's scale factor to be the product of these two.
|
||||
|
||||
R=thestig
|
||||
CC=jkummerow
|
||||
|
||||
Change-Id: I9bd414046058e741450fabae4913d47a16ca48c3
|
||||
Bug: 1439149
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4575572
|
||||
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
||||
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1151380}
|
||||
|
||||
diff --git a/ui/qt/qt_shim.cc b/ui/qt/qt_shim.cc
|
||||
index 0aec9c3aed4ad..3780f8c3988b4 100644
|
||||
--- a/ui/qt/qt_shim.cc
|
||||
+++ b/ui/qt/qt_shim.cc
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
#include "ui/qt/qt_shim.h"
|
||||
|
||||
-#include <stdio.h>
|
||||
+#include <cmath>
|
||||
|
||||
#include <QApplication>
|
||||
#include <QFont>
|
||||
@@ -219,7 +219,24 @@ QtShim::QtShim(QtInterface::Delegate* delegate, int* argc, char** argv)
|
||||
QtShim::~QtShim() = default;
|
||||
|
||||
double QtShim::GetScaleFactor() const {
|
||||
- return app_.devicePixelRatio();
|
||||
+ constexpr double kDefaultPixelDpi = 96.0;
|
||||
+ // Use the largest scale factor across all displays as the global scale
|
||||
+ // factor. This matches the behavior of `app_.devicePixelRatio()`, except
|
||||
+ // this also takes into account the logical DPI.
|
||||
+ // TODO(https://crbug.com/1450301): Unlike GTK, QT supports per-display
|
||||
+ // scaling. Use this instead of the max scale factor.
|
||||
+ double scale = 0.0;
|
||||
+ for (QScreen* screen : app_.screens()) {
|
||||
+ scale =
|
||||
+ std::max(scale, screen->devicePixelRatio() *
|
||||
+ screen->logicalDotsPerInch() / kDefaultPixelDpi);
|
||||
+ }
|
||||
+ // Round to the nearest 16th so that UI can losslessly multiply and divide
|
||||
+ // by the scale factor using floating point arithmetic. GtkUi also rounds
|
||||
+ // in this way, but to 1/64th. 1/16th is chosen here since that's what
|
||||
+ // KDE settings uses.
|
||||
+ scale = std::round(scale * 16) / 16;
|
||||
+ return scale > 0 ? scale : 1.0;
|
||||
}
|
||||
|
||||
FontRenderParams QtShim::GetFontRenderParams() const {
|
|
@ -1,87 +0,0 @@
|
|||
diff -up chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc.me chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc
|
||||
--- chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc.me 2023-05-21 10:05:00.357860329 +0200
|
||||
+++ chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc 2023-05-21 10:18:09.665432735 +0200
|
||||
@@ -41,7 +41,6 @@
|
||||
#include "media/gpu/gpu_video_encode_accelerator_helpers.h"
|
||||
#include "media/gpu/h264_dpb.h"
|
||||
#include "media/gpu/macros.h"
|
||||
-#include "media/gpu/vaapi/av1_vaapi_video_encoder_delegate.h"
|
||||
#include "media/gpu/vaapi/h264_vaapi_video_encoder_delegate.h"
|
||||
#include "media/gpu/vaapi/va_surface.h"
|
||||
#include "media/gpu/vaapi/vaapi_common.h"
|
||||
@@ -200,7 +199,7 @@ bool VaapiVideoEncodeAccelerator::Initia
|
||||
|
||||
const VideoCodec codec = VideoCodecProfileToVideoCodec(config.output_profile);
|
||||
if (codec != VideoCodec::kH264 && codec != VideoCodec::kVP8 &&
|
||||
- codec != VideoCodec::kVP9 && codec != VideoCodec::kAV1) {
|
||||
+ codec != VideoCodec::kVP9) {
|
||||
MEDIA_LOG(ERROR, media_log.get())
|
||||
<< "Unsupported profile: " << GetProfileName(config.output_profile);
|
||||
return false;
|
||||
@@ -293,7 +292,6 @@ void VaapiVideoEncodeAccelerator::Initia
|
||||
break;
|
||||
case VideoCodec::kVP8:
|
||||
case VideoCodec::kVP9:
|
||||
- case VideoCodec::kAV1:
|
||||
mode = VaapiWrapper::kEncodeConstantQuantizationParameter;
|
||||
break;
|
||||
default:
|
||||
@@ -356,12 +354,6 @@ void VaapiVideoEncodeAccelerator::Initia
|
||||
vaapi_wrapper_, error_cb);
|
||||
}
|
||||
break;
|
||||
- case VideoCodec::kAV1:
|
||||
- if (!IsConfiguredForTesting()) {
|
||||
- encoder_ = std::make_unique<AV1VaapiVideoEncoderDelegate>(
|
||||
- vaapi_wrapper_, error_cb);
|
||||
- }
|
||||
- break;
|
||||
default:
|
||||
NOTREACHED() << "Unsupported codec type " << GetCodecName(output_codec_);
|
||||
return;
|
||||
@@ -835,10 +827,6 @@ VaapiVideoEncodeAccelerator::CreateEncod
|
||||
case VideoCodec::kVP9:
|
||||
picture = new VaapiVP9Picture(std::move(reconstructed_surface));
|
||||
break;
|
||||
- case VideoCodec::kAV1:
|
||||
- picture = new VaapiAV1Picture(/*display_va_surface=*/nullptr,
|
||||
- std::move(reconstructed_surface));
|
||||
- break;
|
||||
default:
|
||||
return nullptr;
|
||||
}
|
||||
diff -up chromium-114.0.5735.35/media/gpu/BUILD.gn.revert-av1enc chromium-114.0.5735.35/media/gpu/BUILD.gn
|
||||
--- chromium-114.0.5735.35/media/gpu/BUILD.gn.revert-av1enc 2023-05-18 00:37:57.000000000 +0200
|
||||
+++ chromium-114.0.5735.35/media/gpu/BUILD.gn 2023-05-20 13:14:10.755183630 +0200
|
||||
@@ -373,10 +373,7 @@ source_set("common") {
|
||||
"vp9_svc_layers.h",
|
||||
]
|
||||
configs += [ "//third_party/libvpx:libvpx_config" ]
|
||||
- deps += [
|
||||
- "//third_party/libaom:libaomrc",
|
||||
- "//third_party/libvpx:libvpxrc",
|
||||
- ]
|
||||
+ deps += [ "//third_party/libvpx:libvpxrc" ]
|
||||
}
|
||||
if (use_libgav1_parser) {
|
||||
sources += [
|
||||
diff -up chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn.revert-av1enc chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn
|
||||
--- chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn.revert-av1enc 2023-05-18 00:37:57.000000000 +0200
|
||||
+++ chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn 2023-05-20 13:14:10.756183626 +0200
|
||||
@@ -38,8 +38,6 @@ source_set("vaapi") {
|
||||
sources = [
|
||||
"av1_vaapi_video_decoder_delegate.cc",
|
||||
"av1_vaapi_video_decoder_delegate.h",
|
||||
- "av1_vaapi_video_encoder_delegate.cc",
|
||||
- "av1_vaapi_video_encoder_delegate.h",
|
||||
"h264_vaapi_video_decoder_delegate.cc",
|
||||
"h264_vaapi_video_decoder_delegate.h",
|
||||
"h264_vaapi_video_encoder_delegate.cc",
|
||||
@@ -107,7 +105,6 @@ source_set("vaapi") {
|
||||
"//media/gpu/chromeos:common",
|
||||
"//media/parsers",
|
||||
"//mojo/public/cpp/bindings",
|
||||
- "//third_party/libaom:libaomrc",
|
||||
"//third_party/libvpx:libvpxrc",
|
||||
"//third_party/libyuv",
|
||||
"//ui/gfx",
|
|
@ -1,62 +0,0 @@
|
|||
diff -up chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.cc.me chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.cc
|
||||
--- chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.cc.me 2023-05-03 17:46:37.194000834 +0200
|
||||
+++ chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.cc 2023-05-03 17:48:05.170317575 +0200
|
||||
@@ -87,7 +87,7 @@ ItemSortKey GetSortKey(const Item& item)
|
||||
// Helper to get an iterator to the last element in the cache. The cache
|
||||
// must not be empty.
|
||||
template <typename Item>
|
||||
-SortedItems<Item>::iterator GetLastIter(SortedItems<Item>& cache) {
|
||||
+typename SortedItems<Item>::iterator GetLastIter(SortedItems<Item>& cache) {
|
||||
CHECK(!cache.empty());
|
||||
auto it = cache.end();
|
||||
return std::prev(it);
|
||||
@@ -789,9 +789,9 @@ bool DownloadBubbleUpdateService::Remove
|
||||
}
|
||||
|
||||
template <typename Id, typename Item>
|
||||
-SortedItems<Item>::iterator
|
||||
+typename SortedItems<Item>::iterator
|
||||
DownloadBubbleUpdateService::RemoveItemFromCacheByIter(
|
||||
- SortedItems<Item>::iterator iter,
|
||||
+ typename SortedItems<Item>::iterator iter,
|
||||
SortedItems<Item>& cache,
|
||||
IterMap<Id, Item>& iter_map) {
|
||||
CHECK(iter != cache.end());
|
||||
diff -up chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.h.me chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.h
|
||||
--- chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.h.me 2023-05-03 17:48:14.079551820 +0200
|
||||
+++ chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.h 2023-05-03 17:49:24.702387180 +0200
|
||||
@@ -208,8 +208,8 @@ class DownloadBubbleUpdateService
|
||||
|
||||
// Removes item if we already have the iterator to it. Returns next iterator.
|
||||
template <typename Id, typename Item>
|
||||
- SortedItems<Item>::iterator RemoveItemFromCacheByIter(
|
||||
- SortedItems<Item>::iterator iter,
|
||||
+ typename SortedItems<Item>::iterator RemoveItemFromCacheByIter(
|
||||
+ typename SortedItems<Item>::iterator iter,
|
||||
SortedItems<Item>& cache,
|
||||
IterMap<Id, Item>& iter_map);
|
||||
|
||||
diff -up chromium-114.0.5735.26/chrome/browser/printing/print_backend_service_manager.h.me chromium-114.0.5735.26/chrome/browser/printing/print_backend_service_manager.h
|
||||
--- chromium-114.0.5735.26/chrome/browser/printing/print_backend_service_manager.h.me 2023-05-14 00:03:48.455961696 +0200
|
||||
+++ chromium-114.0.5735.26/chrome/browser/printing/print_backend_service_manager.h 2023-05-14 00:04:24.776589164 +0200
|
||||
@@ -587,7 +587,7 @@ class PrintBackendServiceManager {
|
||||
template <class... T>
|
||||
void RunSavedCallbacks(RemoteSavedCallbacks<T...>& saved_callbacks,
|
||||
const RemoteId& remote_id,
|
||||
- std::remove_reference<T>::type... result);
|
||||
+ typename std::remove_reference<T>::type... result);
|
||||
|
||||
// Test support for client ID management.
|
||||
static void SetClientsForTesting(
|
||||
diff -up chromium-114.0.5735.26/chrome/browser/printing/print_backend_service_manager.cc.me chromium-114.0.5735.26/chrome/browser/printing/print_backend_service_manager.cc
|
||||
--- chromium-114.0.5735.26/chrome/browser/printing/print_backend_service_manager.cc.me 2023-05-14 12:40:29.555926646 +0200
|
||||
+++ chromium-114.0.5735.26/chrome/browser/printing/print_backend_service_manager.cc 2023-05-14 12:41:12.150471791 +0200
|
||||
@@ -1477,7 +1477,7 @@ template <class... T>
|
||||
void PrintBackendServiceManager::RunSavedCallbacks(
|
||||
RemoteSavedCallbacks<T...>& saved_callbacks,
|
||||
const RemoteId& remote_id,
|
||||
- std::remove_reference<T>::type... result) {
|
||||
+ typename std::remove_reference<T>::type... result) {
|
||||
auto found_callbacks_map = saved_callbacks.find(remote_id);
|
||||
if (found_callbacks_map == saved_callbacks.end())
|
||||
return; // No callbacks to run.
|
|
@ -1,22 +0,0 @@
|
|||
diff -up chromium-114.0.5735.26/sandbox/policy/linux/bpf_network_policy_linux.cc.me chromium-114.0.5735.26/sandbox/policy/linux/bpf_network_policy_linux.cc
|
||||
--- chromium-114.0.5735.26/sandbox/policy/linux/bpf_network_policy_linux.cc.me 2023-05-13 12:09:44.423727385 +0200
|
||||
+++ chromium-114.0.5735.26/sandbox/policy/linux/bpf_network_policy_linux.cc 2023-05-13 17:52:19.934347246 +0200
|
||||
@@ -11,7 +11,6 @@
|
||||
#include <linux/net.h>
|
||||
#include <linux/netlink.h>
|
||||
#include <linux/sockios.h>
|
||||
-#include <linux/wireless.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/tcp.h>
|
||||
#include <sys/inotify.h>
|
||||
@@ -48,6 +47,10 @@ using sandbox::syscall_broker::BrokerPro
|
||||
#define F2FS_IOC_GET_FEATURES _IOR(0xf5, 12, uint32_t)
|
||||
#endif
|
||||
|
||||
+#if !defined(SIOCGIWNAME)
|
||||
+#define SIOCGIWNAME 0x8B01
|
||||
+#endif
|
||||
+
|
||||
namespace sandbox::policy {
|
||||
|
||||
namespace {
|
|
@ -1,81 +0,0 @@
|
|||
diff -up chromium-114.0.5735.26/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.workaround_clang_bug-structured_binding chromium-114.0.5735.26/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc
|
||||
--- chromium-114.0.5735.26/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.workaround_clang_bug-structured_binding 2023-05-11 03:36:27.000000000 +0200
|
||||
+++ chromium-114.0.5735.26/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc 2023-05-14 11:49:42.558129164 +0200
|
||||
@@ -238,7 +238,10 @@ const NGLayoutResult* NGGridLayoutAlgori
|
||||
: BuildGridSizingTree(&oof_children);
|
||||
|
||||
LayoutUnit intrinsic_block_size;
|
||||
- auto& [grid_items, layout_data, tree_size] = grid_sizing_tree.TreeRootData();
|
||||
+ auto& [g_i, l_d, t_s] = grid_sizing_tree.TreeRootData();
|
||||
+ auto& grid_items = g_i;
|
||||
+ auto& layout_data = l_d;
|
||||
+ auto& tree_size = t_s;
|
||||
|
||||
if (IsBreakInside(BreakToken())) {
|
||||
// TODO(layout-dev): When we support variable inline-size fragments we'll
|
||||
@@ -520,8 +523,10 @@ wtf_size_t NGGridLayoutAlgorithm::BuildG
|
||||
row_auto_repetitions);
|
||||
|
||||
bool has_nested_subgrid = false;
|
||||
- auto& [grid_items, layout_data, subtree_size] =
|
||||
- sizing_tree->CreateSizingData(opt_subgrid_data);
|
||||
+ auto& [g_i, l_d, s_s] = sizing_tree->CreateSizingData(opt_subgrid_data);
|
||||
+ auto& grid_items = g_i;
|
||||
+ auto& layout_data = l_d;
|
||||
+ auto& subtree_size = s_s;
|
||||
|
||||
if (!must_ignore_children) {
|
||||
// Construct grid items that are not subgridded.
|
||||
@@ -650,8 +655,10 @@ NGGridSizingTree NGGridLayoutAlgorithm::
|
||||
NGGridSizingTree sizing_tree;
|
||||
|
||||
if (const auto* layout_subtree = ConstraintSpace().GridLayoutSubtree()) {
|
||||
- auto& [grid_items, layout_data, subtree_size] =
|
||||
- sizing_tree.CreateSizingData();
|
||||
+ auto& [g_i, l_d, s_s] = sizing_tree.CreateSizingData();
|
||||
+ auto& grid_items = g_i;
|
||||
+ auto& layout_data = l_d;
|
||||
+ auto& subtree_size = s_s;
|
||||
|
||||
const auto& node = Node();
|
||||
grid_items =
|
||||
@@ -1640,8 +1647,10 @@ void NGGridLayoutAlgorithm::InitializeTr
|
||||
const absl::optional<GridTrackSizingDirection>& opt_track_direction) const {
|
||||
DCHECK(sizing_subtree);
|
||||
|
||||
- auto& [grid_items, layout_data, subtree_size] =
|
||||
- sizing_subtree.SubtreeRootData();
|
||||
+ auto& [g_i, l_d, s_s] = sizing_subtree.SubtreeRootData();
|
||||
+ auto& grid_items = g_i;
|
||||
+ auto& layout_data = l_d;
|
||||
+ auto& subtree_size = s_s;
|
||||
|
||||
auto InitAndCacheTrackSizes = [&](GridTrackSizingDirection track_direction) {
|
||||
InitializeTrackCollection(opt_subgrid_data, track_direction, &layout_data);
|
||||
@@ -1825,8 +1834,10 @@ void NGGridLayoutAlgorithm::CompleteTrac
|
||||
bool* opt_needs_additional_pass) const {
|
||||
DCHECK(sizing_subtree);
|
||||
|
||||
- auto& [grid_items, layout_data, subtree_size] =
|
||||
- sizing_subtree.SubtreeRootData();
|
||||
+ auto& [g_i, l_d, s_s] = sizing_subtree.SubtreeRootData();
|
||||
+ auto& grid_items = g_i;
|
||||
+ auto& layout_data = l_d;
|
||||
+ auto& subtree_size = s_s;
|
||||
|
||||
const bool is_for_columns = track_direction == kForColumns;
|
||||
const bool has_non_definite_track =
|
||||
diff -up chromium-114.0.5735.26/media/base/cdm_promise_adapter.cc.me chromium-114.0.5735.26/media/base/cdm_promise_adapter.cc
|
||||
--- chromium-114.0.5735.26/media/base/cdm_promise_adapter.cc.me 2023-05-14 17:35:00.446844465 +0200
|
||||
+++ chromium-114.0.5735.26/media/base/cdm_promise_adapter.cc 2023-05-14 17:39:22.991733926 +0200
|
||||
@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui
|
||||
void CdmPromiseAdapter::Clear(ClearReason reason) {
|
||||
// Reject all outstanding promises.
|
||||
DCHECK(thread_checker_.CalledOnValidThread());
|
||||
- for (auto& [promise_id, promise] : promises_) {
|
||||
+ for (auto& [p_i, p_e] : promises_) {
|
||||
+ auto& promise_id = p_i;
|
||||
+ auto& promise = p_e;
|
||||
TRACE_EVENT_NESTABLE_ASYNC_END1(
|
||||
"media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id),
|
||||
"status", "cleared");
|
|
@ -0,0 +1,22 @@
|
|||
--- chromium-60.0.3112.40/build/linux/unbundle/ffmpeg.gn.ffmpeg-deprecation 2017-06-25 13:24:47.390218631 +0200
|
||||
+++ chromium-60.0.3112.40/build/linux/unbundle/ffmpeg.gn 2017-06-25 13:32:48.528583949 +0200
|
||||
@@ -19,6 +19,12 @@
|
||||
flags = [ "USE_SYSTEM_FFMPEG=true" ]
|
||||
}
|
||||
|
||||
+config("ffmpeg_deprecations") {
|
||||
+ if (is_linux) {
|
||||
+ cflags = [ "-Wno-error=deprecated-declarations" ]
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
shim_headers("ffmpeg_shim") {
|
||||
root_path = "."
|
||||
headers = [
|
||||
@@ -33,5 +39,5 @@
|
||||
":ffmpeg_features",
|
||||
":ffmpeg_shim",
|
||||
]
|
||||
- public_configs = [ ":system_ffmpeg" ]
|
||||
+ public_configs = [ ":system_ffmpeg", ":ffmpeg_deprecations" ]
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
diff -up chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc.revert chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc
|
||||
--- chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc.revert 2017-05-08 14:58:11.767482431 -0400
|
||||
+++ chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc 2017-05-08 14:58:37.722960109 -0400
|
||||
@@ -790,15 +790,6 @@ void DeviceDataManagerX11::UpdateScrollC
|
||||
DCHECK(deviceid >= 0 && deviceid < kMaxDeviceNum);
|
||||
ScrollInfo& info = scroll_data_[deviceid];
|
||||
|
||||
- bool legacy_scroll_available =
|
||||
- (scroll_class_info->flags & XIScrollFlagNoEmulation) == 0;
|
||||
- // If the device's highest resolution is lower than the resolution of xinput1
|
||||
- // then use xinput1's events instead (ie. don't configure smooth scrolling).
|
||||
- if (legacy_scroll_available &&
|
||||
- std::abs(scroll_class_info->increment) <= 1.0) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
switch (scroll_class_info->scroll_type) {
|
||||
case XIScrollTypeVertical:
|
||||
info.vertical.number = scroll_class_info->number;
|
|
@ -0,0 +1,14 @@
|
|||
diff -up chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h.nomangle chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h
|
||||
--- chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h.nomangle 2017-08-01 15:29:00.870759406 -0400
|
||||
+++ chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h 2017-08-01 15:29:09.326593414 -0400
|
||||
@@ -18,10 +18,6 @@
|
||||
#ifndef JPEGLIB_H
|
||||
#define JPEGLIB_H
|
||||
|
||||
-/* Begin chromium edits */
|
||||
-#include "jpeglibmangler.h"
|
||||
-/* End chromium edits */
|
||||
-
|
||||
/*
|
||||
* First we include the configuration files that record how this
|
||||
* installation of the JPEG library is set up. jconfig.h can be
|
|
@ -0,0 +1,17 @@
|
|||
diff -up chromium-60.0.3112.78/third_party/libpng/pnglibconf.h.noprefix chromium-60.0.3112.78/third_party/libpng/pnglibconf.h
|
||||
--- chromium-60.0.3112.78/third_party/libpng/pnglibconf.h.noprefix 2017-08-01 14:42:54.321986758 -0400
|
||||
+++ chromium-60.0.3112.78/third_party/libpng/pnglibconf.h 2017-08-01 14:43:01.493845832 -0400
|
||||
@@ -225,13 +225,4 @@
|
||||
#define PNG_USER_CHUNK_MALLOC_MAX 4000000L
|
||||
/* end of chromium settings */
|
||||
|
||||
-/* chromium prefixing */
|
||||
-/*
|
||||
- * This is necessary to build multiple copies of libpng. We need this while pdfium builds
|
||||
- * its own copy of libpng.
|
||||
- */
|
||||
-#define PNG_PREFIX
|
||||
-#include "pngprefix.h"
|
||||
-/* end of chromium prefixing */
|
||||
-
|
||||
#endif /* PNGLCONF_H */
|
|
@ -0,0 +1,208 @@
|
|||
diff -up chromium-67.0.3396.62/build/linux/unbundle/libjpeg.gn.gnsystem chromium-67.0.3396.62/build/linux/unbundle/libjpeg.gn
|
||||
diff -up chromium-67.0.3396.62/build/linux/unbundle/libusb.gn.gnsystem chromium-67.0.3396.62/build/linux/unbundle/libusb.gn
|
||||
--- chromium-67.0.3396.62/build/linux/unbundle/libusb.gn.gnsystem 2018-05-30 12:18:36.949488683 -0400
|
||||
+++ chromium-67.0.3396.62/build/linux/unbundle/libusb.gn 2018-05-30 12:18:36.949488683 -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-67.0.3396.62/build/linux/unbundle/opus.gn.gnsystem chromium-67.0.3396.62/build/linux/unbundle/opus.gn
|
||||
--- chromium-67.0.3396.62/build/linux/unbundle/opus.gn.gnsystem 2018-05-30 04:43:03.000000000 -0400
|
||||
+++ chromium-67.0.3396.62/build/linux/unbundle/opus.gn 2018-05-30 12:18:36.950488661 -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-67.0.3396.62/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py
|
||||
--- chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py.gnsystem 2018-05-30 12:18:36.951488638 -0400
|
||||
+++ chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py 2018-05-30 12:20:02.542534270 -0400
|
||||
@@ -27,6 +27,7 @@ REPLACEMENTS = {
|
||||
'libevent': 'base/third_party/libevent/BUILD.gn',
|
||||
'libjpeg': 'third_party/libjpeg.gni',
|
||||
'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',
|
|
@ -0,0 +1,15 @@
|
|||
diff -up chromium-68.0.3440.106/chrome/browser/first_run/first_run_internal_linux.cc.etc chromium-68.0.3440.106/chrome/browser/first_run/first_run_internal_linux.cc
|
||||
--- chromium-68.0.3440.106/chrome/browser/first_run/first_run_internal_linux.cc.etc 2018-08-09 03:12:33.444705798 -0400
|
||||
+++ chromium-68.0.3440.106/chrome/browser/first_run/first_run_internal_linux.cc 2018-08-09 03:14:46.275754910 -0400
|
||||
@@ -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 (!base::PathService::Get(base::DIR_EXE, &master_prefs))
|
||||
- return base::FilePath();
|
||||
+ master_prefs = base::FilePath("/etc/chromium");
|
||||
return master_prefs.AppendASCII(installer::kDefaultMasterPrefs);
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
diff -up chromium-70.0.3538.67/base/test/BUILD.gn.nofc chromium-70.0.3538.67/base/test/BUILD.gn
|
||||
--- chromium-70.0.3538.67/base/test/BUILD.gn.nofc 2018-10-29 11:29:01.356812567 -0400
|
||||
+++ chromium-70.0.3538.67/base/test/BUILD.gn 2018-10-29 11:29:12.631584916 -0400
|
||||
@@ -209,9 +209,6 @@ static_library("test_support") {
|
||||
data_deps = [
|
||||
"//third_party/test_fonts",
|
||||
]
|
||||
- if (current_toolchain == host_toolchain) {
|
||||
- data_deps += [ ":do_generate_fontconfig_caches" ]
|
||||
- }
|
||||
}
|
||||
|
||||
if (is_ios) {
|
|
@ -0,0 +1,33 @@
|
|||
diff -up chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
|
||||
--- chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2018-12-12 17:02:58.000000000 -0500
|
||||
+++ chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2018-12-14 11:48:22.150229631 -0500
|
||||
@@ -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-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.py2 chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py
|
||||
--- chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.py2 2018-12-14 11:48:22.155229522 -0500
|
||||
+++ chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py 2018-12-14 11:49:31.043728244 -0500
|
||||
@@ -93,7 +93,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
|
||||
])
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
diff -upr chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h
|
||||
--- chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-21 20:18:01.000000000 +0000
|
||||
+++ chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-21 21:37:45.635374949 +0000
|
||||
@@ -12,4 +12,6 @@
|
||||
// - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available
|
||||
// as a string, e.g., "1.0.123.456").
|
||||
|
||||
+#define WIDEVINE_CDM_VERSION_STRING "unknown"
|
||||
+
|
||||
#endif // WIDEVINE_CDM_VERSION_H_
|
|
@ -0,0 +1,81 @@
|
|||
diff -up chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn
|
||||
--- chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn.nounrar 2019-03-13 08:59:45.988801102 -0400
|
||||
+++ chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn 2019-03-13 09:00:20.244977448 -0400
|
||||
@@ -64,41 +64,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",
|
||||
- "//components/safe_browsing:features",
|
||||
- "//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",
|
||||
@@ -167,7 +132,6 @@ source_set("safe_browsing") {
|
||||
":archive_analyzer_results",
|
||||
":binary_feature_extractor",
|
||||
":download_type_util",
|
||||
- ":rar_analyzer",
|
||||
"//components/safe_browsing:features",
|
||||
]
|
||||
|
||||
diff -up chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS.nounrar chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS
|
||||
--- chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS.nounrar 2019-03-11 18:00:54.000000000 -0400
|
||||
+++ chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS 2019-03-13 08:59:26.513282690 -0400
|
||||
@@ -1,6 +1,5 @@
|
||||
include_rules = [
|
||||
"+components/safe_browsing",
|
||||
"+third_party/protobuf",
|
||||
- "+third_party/unrar",
|
||||
"+third_party/zlib",
|
||||
]
|
||||
diff -up chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc
|
||||
--- chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2019-03-13 08:59:26.518282566 -0400
|
||||
+++ chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc 2019-03-13 09:01:03.885935483 -0400
|
||||
@@ -48,10 +48,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
|
||||
void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
|
||||
base::File temporary_file,
|
||||
AnalyzeRarFileCallback callback) {
|
||||
+#if 0
|
||||
DCHECK(rar_file.IsValid());
|
||||
|
||||
safe_browsing::ArchiveAnalyzerResults results;
|
||||
safe_browsing::rar_analyzer::AnalyzeRarFile(
|
||||
std::move(rar_file), std::move(temporary_file), &results);
|
||||
std::move(callback).Run(results);
|
||||
+#else
|
||||
+ NOTREACHED();
|
||||
+#endif
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
diff -up chromium-75.0.3770.100/build/config/BUILD.gn.epel7 chromium-75.0.3770.100/build/config/BUILD.gn
|
||||
--- chromium-75.0.3770.100/build/config/BUILD.gn.epel7 2019-06-20 10:10:03.099549006 -0400
|
||||
+++ chromium-75.0.3770.100/build/config/BUILD.gn 2019-06-20 10:10:21.483158162 -0400
|
||||
@@ -267,6 +267,7 @@ config("default_libs") {
|
||||
"dl",
|
||||
"pthread",
|
||||
"rt",
|
||||
+ "stdc++",
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
diff -up chromium-75.0.3770.80/third_party/grpc/src/src/core/lib/gpr/log_linux.cc.gettid-fix chromium-75.0.3770.80/third_party/grpc/src/src/core/lib/gpr/log_linux.cc
|
||||
--- chromium-75.0.3770.80/third_party/grpc/src/src/core/lib/gpr/log_linux.cc.gettid-fix 2019-06-12 17:05:01.720907204 -0400
|
||||
+++ chromium-75.0.3770.80/third_party/grpc/src/src/core/lib/gpr/log_linux.cc 2019-06-12 17:06:01.000671370 -0400
|
||||
@@ -40,7 +40,8 @@
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
-static long gettid(void) { return syscall(__NR_gettid); }
|
||||
+/* renamed to avoid conflict with glibc 'gettid()' */
|
||||
+static long gettid_gpr(void) { return syscall(__NR_gettid); }
|
||||
|
||||
void gpr_log(const char* file, int line, gpr_log_severity severity,
|
||||
const char* format, ...) {
|
||||
@@ -70,7 +71,7 @@ void gpr_default_log(gpr_log_func_args*
|
||||
gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME);
|
||||
struct tm tm;
|
||||
static __thread long tid = 0;
|
||||
- if (tid == 0) tid = gettid();
|
||||
+ if (tid == 0) tid = gettid_gpr();
|
||||
|
||||
timer = static_cast<time_t>(now.tv_sec);
|
||||
final_slash = strrchr(args->file, '/');
|
|
@ -0,0 +1,23 @@
|
|||
diff -up chromium-75.0.3770.80/media/gpu/vaapi/BUILD.gn.i686permissive chromium-75.0.3770.80/media/gpu/vaapi/BUILD.gn
|
||||
--- chromium-75.0.3770.80/media/gpu/vaapi/BUILD.gn.i686permissive 2019-06-10 14:47:37.315515026 -0400
|
||||
+++ chromium-75.0.3770.80/media/gpu/vaapi/BUILD.gn 2019-06-10 14:48:25.250604888 -0400
|
||||
@@ -11,6 +11,10 @@ import("//ui/ozone/ozone.gni")
|
||||
|
||||
assert(use_vaapi)
|
||||
|
||||
+config("vaapi_permissive") {
|
||||
+ cflags = [ "-fpermissive" ]
|
||||
+}
|
||||
+
|
||||
generate_stubs("libva_stubs") {
|
||||
extra_header = "va_stub_header.fragment"
|
||||
sigs = [ "va.sigs" ]
|
||||
@@ -89,6 +93,8 @@ source_set("vaapi") {
|
||||
deps += [ "//media/gpu/linux" ]
|
||||
}
|
||||
|
||||
+ configs += [ ":vaapi_permissive" ]
|
||||
+
|
||||
if (use_x11) {
|
||||
configs += [ "//build/config/linux:x11" ]
|
||||
deps += [ "//ui/gfx/x" ]
|
|
@ -0,0 +1,14 @@
|
|||
diff -up chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc.va1compat chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc
|
||||
--- chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc.va1compat 2019-06-05 11:35:57.274466969 -0400
|
||||
+++ chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc 2019-06-05 11:36:17.201067326 -0400
|
||||
@@ -39,6 +39,10 @@ enum VAJDADecoderFailure {
|
||||
VAJDA_DECODER_FAILURES_MAX,
|
||||
};
|
||||
|
||||
+#ifndef VA_FOURCC_I420
|
||||
+#define VA_FOURCC_I420 VA_FOURCC('I', '4', '2', '0')
|
||||
+#endif
|
||||
+
|
||||
static void ReportToVAJDADecoderFailureUMA(VAJDADecoderFailure failure) {
|
||||
UMA_HISTOGRAM_ENUMERATION("Media.VAJDA.DecoderFailure", failure,
|
||||
VAJDA_DECODER_FAILURES_MAX + 1);
|
|
@ -0,0 +1,14 @@
|
|||
diff -up chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h
|
||||
--- chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas 2019-08-09 16:48:13.000000000 +0200
|
||||
+++ chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h 2019-08-15 21:04:30.231532746 +0200
|
||||
@@ -176,8 +176,8 @@ class CSSLazyPropertyParser
|
||||
DISALLOW_COPY_AND_ASSIGN(CSSLazyPropertyParser);
|
||||
};
|
||||
|
||||
-class CORE_EXPORT alignas(Member<const CSSValue>) alignas(
|
||||
- CSSPropertyValueMetadata) ImmutableCSSPropertyValueSet
|
||||
+class CORE_EXPORT ALIGNAS(alignof(Member<const CSSValue>))
|
||||
+ ALIGNAS(alignof(CSSPropertyValueMetadata)) ImmutableCSSPropertyValueSet
|
||||
: public CSSPropertyValueSet {
|
||||
public:
|
||||
ImmutableCSSPropertyValueSet(const CSSPropertyValue*,
|
|
@ -0,0 +1,27 @@
|
|||
diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.cc
|
||||
--- chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr 2019-08-09 16:48:08.000000000 +0200
|
||||
+++ chromium-76.0.3809.100/remoting/signaling/message_tracker.cc 2019-08-20 21:29:14.545465656 +0200
|
||||
@@ -9,8 +9,7 @@
|
||||
namespace remoting {
|
||||
|
||||
// static
|
||||
-const base::TimeDelta MessageTracker::kCleanupInterval =
|
||||
- base::TimeDelta::FromMinutes(2);
|
||||
+constexpr base::TimeDelta MessageTracker::kCleanupInterval;
|
||||
|
||||
MessageTracker::MessageTracker() = default;
|
||||
|
||||
diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.h
|
||||
--- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 22:02:25.625970954 +0200
|
||||
+++ chromium-76.0.3809.100/remoting/signaling/message_tracker.h 2019-08-20 21:28:23.371952434 +0200
|
||||
@@ -36,7 +36,8 @@ class MessageTracker final {
|
||||
|
||||
// All IDs older than now - kCleanupInterval will be eventually removed, but
|
||||
// they are not guaranteed to be immediately removed after the interval.
|
||||
- static const base::TimeDelta kCleanupInterval;
|
||||
+ static constexpr base::TimeDelta kCleanupInterval =
|
||||
+ base::TimeDelta::FromMinutes(2);
|
||||
|
||||
void RemoveExpiredIds();
|
||||
|
||||
diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc
|
|
@ -0,0 +1,11 @@
|
|||
diff -up chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc
|
||||
--- chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined 2019-08-20 21:21:24.901899270 +0200
|
||||
+++ chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc 2019-08-20 21:19:30.361746211 +0200
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "net/quic/crypto/proof_verifier_chromium.h"
|
||||
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
|
||||
#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
|
||||
+#include "net/quic/platform/impl/quic_flags_impl.cc"
|
||||
|
||||
DEFINE_QUIC_COMMAND_LINE_FLAG(std::string,
|
||||
certificate_file,
|
|
@ -0,0 +1,11 @@
|
|||
diff -up chromium-76.0.3809.132/chrome/test/chromedriver/BUILD.gn.fixme chromium-76.0.3809.132/chrome/test/chromedriver/BUILD.gn
|
||||
--- chromium-76.0.3809.132/chrome/test/chromedriver/BUILD.gn.fixme 2019-09-10 15:53:02.871463568 -0400
|
||||
+++ chromium-76.0.3809.132/chrome/test/chromedriver/BUILD.gn 2019-09-10 16:57:32.281112323 -0400
|
||||
@@ -319,6 +319,7 @@ executable("chromedriver") {
|
||||
"//net/server:http_server",
|
||||
"//net/traffic_annotation:test_support",
|
||||
"//services/network/public/mojom",
|
||||
+ "//third_party/zlib",
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
diff -up chromium-76.0.3809.132/components/os_crypt/features.gni.rhel8 chromium-76.0.3809.132/components/os_crypt/features.gni
|
||||
--- chromium-76.0.3809.132/components/os_crypt/features.gni.rhel8 2019-09-06 17:08:01.242314126 -0400
|
||||
+++ chromium-76.0.3809.132/components/os_crypt/features.gni 2019-09-06 17:08:10.139134707 -0400
|
||||
@@ -7,5 +7,5 @@ import("//build/config/ui.gni")
|
||||
declare_args() {
|
||||
# Whether to use libgnome-keyring (deprecated by libsecret).
|
||||
# See http://crbug.com/466975 and http://crbug.com/355223.
|
||||
- use_gnome_keyring = is_desktop_linux && use_glib
|
||||
+ use_gnome_keyring = false
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/base/location.h b/base/location.h
|
||||
index c07e747..924db1c 100644
|
||||
--- a/base/location.h
|
||||
+++ b/base/location.h
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
namespace base {
|
||||
|
||||
-#if defined(__has_builtin)
|
||||
+#if defined(__clang__)
|
||||
// Clang allows detection of these builtins.
|
||||
#define SUPPORTS_LOCATION_BUILTINS \
|
||||
(__has_builtin(__builtin_FUNCTION) && __has_builtin(__builtin_FILE) && \
|
|
@ -0,0 +1,12 @@
|
|||
diff -up chromium-77.0.3865.75/base/task/promise/dependent_list.h.base-gcc-no-alignas chromium-77.0.3865.75/base/task/promise/dependent_list.h
|
||||
--- chromium-77.0.3865.75/base/task/promise/dependent_list.h.base-gcc-no-alignas 2019-09-13 21:45:51.873172347 +0200
|
||||
+++ chromium-77.0.3865.75/base/task/promise/dependent_list.h 2019-09-13 21:46:21.661522514 +0200
|
||||
@@ -59,7 +59,7 @@ class BASE_EXPORT DependentList {
|
||||
|
||||
// Align Node on an 8-byte boundary to ensure the first 3 bits are 0 and can
|
||||
// be used to store additional state (see static_asserts below).
|
||||
- class BASE_EXPORT alignas(8) Node {
|
||||
+ class BASE_EXPORT ALIGNAS(8) Node {
|
||||
public:
|
||||
Node();
|
||||
explicit Node(Node&& other) noexcept;
|
|
@ -0,0 +1,539 @@
|
|||
diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc
|
||||
--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-12 16:09:52.818635106 +0200
|
||||
+++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-12 16:11:07.662562005 +0200
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "components/version_info/version_info.h"
|
||||
#include "content/public/common/content_switches.h"
|
||||
#include "content/public/common/user_agent.h"
|
||||
+#include "services/network/public/cpp/network_service_buildflags.h"
|
||||
#include "services/network/public/mojom/network_context.mojom.h"
|
||||
#include "services/network/public/mojom/network_service.mojom.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
@@ -356,3 +357,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont
|
||||
INSTANTIATE_TEST_SUITE_P(,
|
||||
SystemNetworkContextManagerFreezeQUICUaBrowsertest,
|
||||
::testing::Values(true, false));
|
||||
+
|
||||
+class SystemNetworkContextManagerCertificateTransparencyBrowsertest
|
||||
+ : public SystemNetworkContextManagerBrowsertest,
|
||||
+ public testing::WithParamInterface<base::Optional<bool>> {
|
||||
+ public:
|
||||
+ SystemNetworkContextManagerCertificateTransparencyBrowsertest() {
|
||||
+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting(
|
||||
+ GetParam());
|
||||
+ }
|
||||
+ ~SystemNetworkContextManagerCertificateTransparencyBrowsertest() override {
|
||||
+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting(
|
||||
+ base::nullopt);
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+#if BUILDFLAG(IS_CT_SUPPORTED)
|
||||
+IN_PROC_BROWSER_TEST_P(
|
||||
+ SystemNetworkContextManagerCertificateTransparencyBrowsertest,
|
||||
+ CertificateTransparencyConfig) {
|
||||
+ network::mojom::NetworkContextParamsPtr context_params =
|
||||
+ g_browser_process->system_network_context_manager()
|
||||
+ ->CreateDefaultNetworkContextParams();
|
||||
+
|
||||
+ const bool kDefault =
|
||||
+#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \
|
||||
+ !defined(OS_ANDROID)
|
||||
+ true;
|
||||
+#else
|
||||
+ false;
|
||||
+#endif
|
||||
+
|
||||
+ EXPECT_EQ(GetParam().value_or(kDefault),
|
||||
+ context_params->enforce_chrome_ct_policy);
|
||||
+ EXPECT_NE(GetParam().value_or(kDefault), context_params->ct_logs.empty());
|
||||
+
|
||||
+ if (GetParam().value_or(kDefault)) {
|
||||
+ bool has_google_log = false;
|
||||
+ bool has_disqualified_log = false;
|
||||
+ for (const auto& ct_log : context_params->ct_logs) {
|
||||
+ has_google_log |= ct_log->operated_by_google;
|
||||
+ has_disqualified_log |= ct_log->disqualified_at.has_value();
|
||||
+ }
|
||||
+ EXPECT_TRUE(has_google_log);
|
||||
+ EXPECT_TRUE(has_disqualified_log);
|
||||
+ }
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+INSTANTIATE_TEST_SUITE_P(
|
||||
+ ,
|
||||
+ SystemNetworkContextManagerCertificateTransparencyBrowsertest,
|
||||
+ ::testing::Values(base::nullopt, true, false));
|
||||
diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc
|
||||
--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-09-09 23:55:09.000000000 +0200
|
||||
+++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc 2019-09-12 16:09:52.819635118 +0200
|
||||
@@ -4,11 +4,13 @@
|
||||
|
||||
#include "chrome/browser/net/system_network_context_manager.h"
|
||||
|
||||
+#include <algorithm>
|
||||
#include <set>
|
||||
#include <unordered_map>
|
||||
#include <utility>
|
||||
|
||||
#include "base/bind.h"
|
||||
+#include "base/build_time.h"
|
||||
#include "base/command_line.h"
|
||||
#include "base/feature_list.h"
|
||||
#include "base/logging.h"
|
||||
@@ -50,6 +52,7 @@
|
||||
#include "content/public/common/mime_handler_view_mode.h"
|
||||
#include "content/public/common/service_names.mojom.h"
|
||||
#include "content/public/common/user_agent.h"
|
||||
+#include "crypto/sha2.h"
|
||||
#include "mojo/public/cpp/bindings/associated_interface_ptr.h"
|
||||
#include "net/dns/public/util.h"
|
||||
#include "net/net_buildflags.h"
|
||||
@@ -79,6 +82,20 @@
|
||||
|
||||
namespace {
|
||||
|
||||
+constexpr bool kCertificateTransparencyEnabled =
|
||||
+#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \
|
||||
+ !defined(OS_ANDROID)
|
||||
+ // Certificate Transparency is only enabled if:
|
||||
+ // - Desktop (!OS_ANDROID); OS_IOS does not use this file
|
||||
+ // - base::GetBuildTime() is deterministic to the source (OFFICIAL_BUILD)
|
||||
+ // - The build in reliably updatable (GOOGLE_CHROME_BUILD)
|
||||
+ true;
|
||||
+#else
|
||||
+ false;
|
||||
+#endif
|
||||
+
|
||||
+bool g_enable_certificate_transparency = kCertificateTransparencyEnabled;
|
||||
+
|
||||
// The global instance of the SystemNetworkContextmanager.
|
||||
SystemNetworkContextManager* g_system_network_context_manager = nullptr;
|
||||
|
||||
@@ -658,14 +675,35 @@ SystemNetworkContextManager::CreateDefau
|
||||
|
||||
bool http_09_on_non_default_ports_enabled = false;
|
||||
#if !defined(OS_ANDROID)
|
||||
- // CT is only enabled on Desktop platforms for now.
|
||||
- network_context_params->enforce_chrome_ct_policy = true;
|
||||
- for (const auto& ct_log : certificate_transparency::GetKnownLogs()) {
|
||||
- // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication.
|
||||
- network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New();
|
||||
- log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length);
|
||||
- log_info->name = ct_log.log_name;
|
||||
- network_context_params->ct_logs.push_back(std::move(log_info));
|
||||
+
|
||||
+ if (g_enable_certificate_transparency) {
|
||||
+ network_context_params->enforce_chrome_ct_policy = true;
|
||||
+ network_context_params->ct_log_update_time = base::GetBuildTime();
|
||||
+
|
||||
+ std::vector<std::string> operated_by_google_logs =
|
||||
+ certificate_transparency::GetLogsOperatedByGoogle();
|
||||
+ std::vector<std::pair<std::string, base::TimeDelta>> disqualified_logs =
|
||||
+ certificate_transparency::GetDisqualifiedLogs();
|
||||
+ for (const auto& ct_log : certificate_transparency::GetKnownLogs()) {
|
||||
+ // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication.
|
||||
+ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New();
|
||||
+ log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length);
|
||||
+ log_info->name = ct_log.log_name;
|
||||
+
|
||||
+ std::string log_id = crypto::SHA256HashString(log_info->public_key);
|
||||
+ log_info->operated_by_google =
|
||||
+ std::binary_search(std::begin(operated_by_google_logs),
|
||||
+ std::end(operated_by_google_logs), log_id);
|
||||
+ auto it = std::lower_bound(
|
||||
+ std::begin(disqualified_logs), std::end(disqualified_logs), log_id,
|
||||
+ [](const auto& disqualified_log, const std::string& log_id) {
|
||||
+ return disqualified_log.first < log_id;
|
||||
+ });
|
||||
+ if (it != std::end(disqualified_logs) && it->first == log_id) {
|
||||
+ log_info->disqualified_at = it->second;
|
||||
+ }
|
||||
+ network_context_params->ct_logs.push_back(std::move(log_info));
|
||||
+ }
|
||||
}
|
||||
|
||||
const base::Value* value =
|
||||
@@ -723,6 +761,12 @@ SystemNetworkContextManager::GetHttpAuth
|
||||
return CreateHttpAuthDynamicParams(g_browser_process->local_state());
|
||||
}
|
||||
|
||||
+void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting(
|
||||
+ base::Optional<bool> enabled) {
|
||||
+ g_enable_certificate_transparency =
|
||||
+ enabled.value_or(kCertificateTransparencyEnabled);
|
||||
+}
|
||||
+
|
||||
network::mojom::NetworkContextParamsPtr
|
||||
SystemNetworkContextManager::CreateNetworkContextParams() {
|
||||
// TODO(mmenke): Set up parameters here (in memory cookie store, etc).
|
||||
diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h
|
||||
--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-09-09 23:55:09.000000000 +0200
|
||||
+++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h 2019-09-12 16:09:52.819635118 +0200
|
||||
@@ -139,6 +139,12 @@ class SystemNetworkContextManager {
|
||||
static network::mojom::HttpAuthDynamicParamsPtr
|
||||
GetHttpAuthDynamicParamsForTesting();
|
||||
|
||||
+ // Enables Certificate Transparency and enforcing the Chrome Certificate
|
||||
+ // Transparency Policy. For test use only. Use base::nullopt_t to reset to
|
||||
+ // the default state.
|
||||
+ static void SetEnableCertificateTransparencyForTesting(
|
||||
+ base::Optional<bool> enabled);
|
||||
+
|
||||
private:
|
||||
class URLLoaderFactoryForSystem;
|
||||
|
||||
diff -up chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc
|
||||
--- chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200
|
||||
+++ chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc 2019-09-12 16:09:52.820635131 +0200
|
||||
@@ -4836,7 +4836,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest,
|
||||
browser()->tab_strip_model()->GetActiveWebContents()->GetTitle());
|
||||
}
|
||||
|
||||
-IN_PROC_BROWSER_TEST_F(PolicyTest,
|
||||
+IN_PROC_BROWSER_TEST_F(CertificateTransparencyPolicyTest,
|
||||
CertificateTransparencyEnforcementDisabledForCas) {
|
||||
net::EmbeddedTestServer https_server_ok(net::EmbeddedTestServer::TYPE_HTTPS);
|
||||
https_server_ok.SetSSLConfig(net::EmbeddedTestServer::CERT_OK);
|
||||
diff -up chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc
|
||||
--- chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200
|
||||
+++ chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-12 16:09:52.821635143 +0200
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "base/callback.h"
|
||||
#include "base/run_loop.h"
|
||||
#include "base/test/scoped_feature_list.h"
|
||||
+#include "chrome/browser/net/system_network_context_manager.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
#include "chrome/browser/ssl/cert_verifier_browser_test.h"
|
||||
#include "chrome/browser/ui/browser.h"
|
||||
@@ -27,7 +28,17 @@ namespace {
|
||||
// received by a server.
|
||||
class ExpectCTBrowserTest : public CertVerifierBrowserTest {
|
||||
public:
|
||||
- ExpectCTBrowserTest() : CertVerifierBrowserTest() {}
|
||||
+ ExpectCTBrowserTest() : CertVerifierBrowserTest() {
|
||||
+ // Expect-CT reporting depends on actually enforcing Certificate
|
||||
+ // Transparency.
|
||||
+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting(
|
||||
+ true);
|
||||
+ }
|
||||
+
|
||||
+ ~ExpectCTBrowserTest() override {
|
||||
+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting(
|
||||
+ base::nullopt);
|
||||
+ }
|
||||
|
||||
void SetUpOnMainThread() override {
|
||||
run_loop_ = std::make_unique<base::RunLoop>();
|
||||
diff -up chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc
|
||||
--- chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200
|
||||
+++ chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-12 16:09:52.821635143 +0200
|
||||
@@ -433,6 +433,13 @@ class SecurityStateTabHelperTest : publi
|
||||
SecurityStateTabHelperTest()
|
||||
: https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {
|
||||
https_server_.ServeFilesFromSourceDirectory(GetChromeTestDataDir());
|
||||
+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting(
|
||||
+ true);
|
||||
+ }
|
||||
+
|
||||
+ ~SecurityStateTabHelperTest() override {
|
||||
+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting(
|
||||
+ base::nullopt);
|
||||
}
|
||||
|
||||
void SetUpOnMainThread() override {
|
||||
diff -up chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc
|
||||
--- chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200
|
||||
+++ chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc 2019-09-12 16:09:52.822635155 +0200
|
||||
@@ -1853,8 +1853,14 @@ class CertificateTransparencySSLUITest :
|
||||
public:
|
||||
CertificateTransparencySSLUITest()
|
||||
: CertVerifierBrowserTest(),
|
||||
- https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {}
|
||||
- ~CertificateTransparencySSLUITest() override {}
|
||||
+ https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {
|
||||
+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting(
|
||||
+ true);
|
||||
+ }
|
||||
+ ~CertificateTransparencySSLUITest() override {
|
||||
+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting(
|
||||
+ base::nullopt);
|
||||
+ }
|
||||
|
||||
void SetUpOnMainThread() override {
|
||||
CertVerifierBrowserTest::SetUpOnMainThread();
|
||||
diff -up chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h
|
||||
--- chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-09-09 23:55:14.000000000 +0200
|
||||
+++ chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-12 16:09:52.823635168 +0200
|
||||
@@ -45,6 +45,19 @@ class ChromeCTPolicyEnforcer : public ne
|
||||
|
||||
void SetClockForTesting(const base::Clock* clock) { clock_ = clock; }
|
||||
|
||||
+ // TODO(https://crbug.com/999240): These are exposed to allow end-to-end
|
||||
+ // testing by higher layers (i.e. that the ChromeCTPolicyEnforcer is
|
||||
+ // correctly constructed). When either this issue or https://crbug.com/848277
|
||||
+ // are fixed, the configuration can be tested independently, and these can
|
||||
+ // be removed.
|
||||
+ const std::vector<std::string>& operated_by_google_logs_for_testing() {
|
||||
+ return operated_by_google_logs_;
|
||||
+ }
|
||||
+ const std::vector<std::pair<std::string, base::TimeDelta>>&
|
||||
+ disqualified_logs_for_testing() {
|
||||
+ return disqualified_logs_;
|
||||
+ }
|
||||
+
|
||||
private:
|
||||
// Returns true if the log identified by |log_id| (the SHA-256 hash of the
|
||||
// log's DER-encoded SPKI) has been disqualified, and sets
|
||||
diff -up chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context.cc
|
||||
--- chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200
|
||||
+++ chromium-77.0.3865.75/services/network/network_context.cc 2019-09-12 16:09:52.823635168 +0200
|
||||
@@ -36,6 +36,7 @@
|
||||
#include "components/prefs/pref_registry_simple.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "components/prefs/pref_service_factory.h"
|
||||
+#include "crypto/sha2.h"
|
||||
#include "mojo/public/cpp/bindings/strong_binding.h"
|
||||
#include "net/base/layered_network_delegate.h"
|
||||
#include "net/base/load_flags.h"
|
||||
@@ -1877,16 +1878,6 @@ URLRequestContextOwner NetworkContext::A
|
||||
base::FeatureList::IsEnabled(features::kNetworkErrorLogging));
|
||||
#endif // BUILDFLAG(ENABLE_REPORTING)
|
||||
|
||||
-#if BUILDFLAG(IS_CT_SUPPORTED)
|
||||
- if (params_->enforce_chrome_ct_policy) {
|
||||
- builder->set_ct_policy_enforcer(
|
||||
- std::make_unique<certificate_transparency::ChromeCTPolicyEnforcer>(
|
||||
- base::GetBuildTime(),
|
||||
- certificate_transparency::GetDisqualifiedLogs(),
|
||||
- certificate_transparency::GetLogsOperatedByGoogle()));
|
||||
- }
|
||||
-#endif // BUILDFLAG(IS_CT_SUPPORTED)
|
||||
-
|
||||
net::HttpNetworkSession::Params session_params;
|
||||
bool is_quic_force_disabled = false;
|
||||
if (network_service_ && network_service_->quic_disabled())
|
||||
@@ -1936,8 +1927,20 @@ URLRequestContextOwner NetworkContext::A
|
||||
|
||||
#if BUILDFLAG(IS_CT_SUPPORTED)
|
||||
std::vector<scoped_refptr<const net::CTLogVerifier>> ct_logs;
|
||||
+ std::vector<std::pair<std::string, base::TimeDelta>> disqualified_logs;
|
||||
+ std::vector<std::string> operated_by_google_logs;
|
||||
+
|
||||
if (!params_->ct_logs.empty()) {
|
||||
for (const auto& log : params_->ct_logs) {
|
||||
+ if (log->operated_by_google || log->disqualified_at) {
|
||||
+ std::string log_id = crypto::SHA256HashString(log->public_key);
|
||||
+ if (log->operated_by_google)
|
||||
+ operated_by_google_logs.push_back(log_id);
|
||||
+ if (log->disqualified_at) {
|
||||
+ disqualified_logs.push_back(
|
||||
+ std::make_pair(log_id, log->disqualified_at.value()));
|
||||
+ }
|
||||
+ }
|
||||
scoped_refptr<const net::CTLogVerifier> log_verifier =
|
||||
net::CTLogVerifier::Create(log->public_key, log->name);
|
||||
if (!log_verifier) {
|
||||
@@ -1950,6 +1953,17 @@ URLRequestContextOwner NetworkContext::A
|
||||
ct_verifier->AddLogs(ct_logs);
|
||||
builder->set_ct_verifier(std::move(ct_verifier));
|
||||
}
|
||||
+
|
||||
+ if (params_->enforce_chrome_ct_policy) {
|
||||
+ std::sort(std::begin(operated_by_google_logs),
|
||||
+ std::end(operated_by_google_logs));
|
||||
+ std::sort(std::begin(disqualified_logs), std::end(disqualified_logs));
|
||||
+
|
||||
+ builder->set_ct_policy_enforcer(
|
||||
+ std::make_unique<certificate_transparency::ChromeCTPolicyEnforcer>(
|
||||
+ params_->ct_log_update_time, disqualified_logs,
|
||||
+ operated_by_google_logs));
|
||||
+ }
|
||||
#endif // BUILDFLAG(IS_CT_SUPPORTED)
|
||||
|
||||
const base::CommandLine* command_line =
|
||||
diff -up chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context_unittest.cc
|
||||
--- chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200
|
||||
+++ chromium-77.0.3865.75/services/network/network_context_unittest.cc 2019-09-12 16:13:10.479056669 +0200
|
||||
@@ -2,6 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
+#include <algorithm>
|
||||
#include <map>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
@@ -38,10 +39,12 @@
|
||||
#include "base/threading/thread_task_runner_handle.h"
|
||||
#include "base/time/default_clock.h"
|
||||
#include "base/time/default_tick_clock.h"
|
||||
+#include "base/time/time.h"
|
||||
#include "build/build_config.h"
|
||||
#include "components/network_session_configurator/browser/network_session_configurator.h"
|
||||
#include "components/network_session_configurator/common/network_switches.h"
|
||||
#include "components/prefs/testing_pref_service.h"
|
||||
+#include "crypto/sha2.h"
|
||||
#include "mojo/public/cpp/bindings/remote.h"
|
||||
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
|
||||
#include "mojo/public/cpp/system/data_pipe_utils.h"
|
||||
@@ -115,6 +118,11 @@
|
||||
#include "url/scheme_host_port.h"
|
||||
#include "url/url_constants.h"
|
||||
|
||||
+#if BUILDFLAG(IS_CT_SUPPORTED)
|
||||
+#include "components/certificate_transparency/chrome_ct_policy_enforcer.h"
|
||||
+#include "services/network/public/mojom/ct_log_info.mojom.h"
|
||||
+#endif
|
||||
+
|
||||
#if !BUILDFLAG(DISABLE_FTP_SUPPORT)
|
||||
#include "net/ftp/ftp_auth_cache.h"
|
||||
#endif // !BUILDFLAG(DISABLE_FTP_SUPPORT)
|
||||
@@ -5958,6 +5966,72 @@ TEST_F(NetworkContextSplitCacheTest,
|
||||
true /* was_cached */, true /* is_navigation */);
|
||||
}
|
||||
|
||||
+#if BUILDFLAG(IS_CT_SUPPORTED)
|
||||
+TEST_F(NetworkContextTest, CertificateTransparencyConfig) {
|
||||
+ mojom::NetworkContextParamsPtr params = CreateContextParams();
|
||||
+ params->enforce_chrome_ct_policy = true;
|
||||
+ params->ct_log_update_time = base::Time::Now();
|
||||
+
|
||||
+ // The log public keys do not matter for the test, so invalid keys are used.
|
||||
+ // However, because the log IDs are derived from the SHA-256 hash of the log
|
||||
+ // key, the log keys are generated such that qualified logs are in the form
|
||||
+ // of four digits (e.g. "0000", "1111"), while disqualified logs are in the
|
||||
+ // form of four letters (e.g. "AAAA", "BBBB").
|
||||
+
|
||||
+ for (int i = 0; i < 6; ++i) {
|
||||
+ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New();
|
||||
+ // Shift to ASCII '0' (0x30)
|
||||
+ log_info->public_key = std::string(4, 0x30 + static_cast<char>(i));
|
||||
+ log_info->name = std::string(4, 0x30 + static_cast<char>(i));
|
||||
+ log_info->operated_by_google = i % 2;
|
||||
+
|
||||
+ params->ct_logs.push_back(std::move(log_info));
|
||||
+ }
|
||||
+ for (int i = 0; i < 3; ++i) {
|
||||
+ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New();
|
||||
+ // Shift to ASCII 'A' (0x41)
|
||||
+ log_info->public_key = std::string(4, 0x41 + static_cast<char>(i));
|
||||
+ log_info->name = std::string(4, 0x41 + static_cast<char>(i));
|
||||
+ log_info->operated_by_google = false;
|
||||
+ log_info->disqualified_at = base::TimeDelta::FromSeconds(i);
|
||||
+
|
||||
+ params->ct_logs.push_back(std::move(log_info));
|
||||
+ }
|
||||
+ std::unique_ptr<NetworkContext> network_context =
|
||||
+ CreateContextWithParams(std::move(params));
|
||||
+
|
||||
+ net::CTPolicyEnforcer* request_enforcer =
|
||||
+ network_context->url_request_context()->ct_policy_enforcer();
|
||||
+ ASSERT_TRUE(request_enforcer);
|
||||
+
|
||||
+ // Completely unsafe if |enforce_chrome_ct_policy| is false.
|
||||
+ certificate_transparency::ChromeCTPolicyEnforcer* policy_enforcer =
|
||||
+ reinterpret_cast<certificate_transparency::ChromeCTPolicyEnforcer*>(
|
||||
+ request_enforcer);
|
||||
+
|
||||
+ EXPECT_TRUE(std::is_sorted(
|
||||
+ policy_enforcer->operated_by_google_logs_for_testing().begin(),
|
||||
+ policy_enforcer->operated_by_google_logs_for_testing().end()));
|
||||
+ EXPECT_TRUE(
|
||||
+ std::is_sorted(policy_enforcer->disqualified_logs_for_testing().begin(),
|
||||
+ policy_enforcer->disqualified_logs_for_testing().end()));
|
||||
+
|
||||
+ EXPECT_THAT(
|
||||
+ policy_enforcer->operated_by_google_logs_for_testing(),
|
||||
+ ::testing::UnorderedElementsAreArray({crypto::SHA256HashString("1111"),
|
||||
+ crypto::SHA256HashString("3333"),
|
||||
+ crypto::SHA256HashString("5555")}));
|
||||
+ EXPECT_THAT(policy_enforcer->disqualified_logs_for_testing(),
|
||||
+ ::testing::UnorderedElementsAre(
|
||||
+ ::testing::Pair(crypto::SHA256HashString("AAAA"),
|
||||
+ base::TimeDelta::FromSeconds(0)),
|
||||
+ ::testing::Pair(crypto::SHA256HashString("BBBB"),
|
||||
+ base::TimeDelta::FromSeconds(1)),
|
||||
+ ::testing::Pair(crypto::SHA256HashString("CCCC"),
|
||||
+ base::TimeDelta::FromSeconds(2))));
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
} // namespace
|
||||
|
||||
} // namespace network
|
||||
diff -up chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom
|
||||
--- chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200
|
||||
+++ chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom 2019-09-12 16:09:52.824635180 +0200
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
module network.mojom;
|
||||
|
||||
+import "mojo/public/mojom/base/time.mojom";
|
||||
+
|
||||
// A single Certificate Transparency Log configuration.
|
||||
struct CTLogInfo {
|
||||
// The DER-encoded SubjectPublicKeyInfo of the log.
|
||||
@@ -14,4 +16,13 @@ struct CTLogInfo {
|
||||
// The human-readable, log-supplied log name. Note that this will not be
|
||||
// translated.
|
||||
string name;
|
||||
+
|
||||
+ // Whether or not the log should should be considered a Google Log for the
|
||||
+ // purposes of enforcing the "Certificate Transparency in Chrome" policy.
|
||||
+ bool operated_by_google = false;
|
||||
+
|
||||
+ // If set, the time since the Unix Epoch when the log was disqualified. This
|
||||
+ // is used to determine the "once or currently qualified" status of the log.
|
||||
+ // If the log is currently qualified, this will not be set.
|
||||
+ mojo_base.mojom.TimeDelta? disqualified_at;
|
||||
};
|
||||
diff -up chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom
|
||||
--- chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200
|
||||
+++ chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom 2019-09-12 16:09:52.825635192 +0200
|
||||
@@ -239,15 +239,6 @@ struct NetworkContextParams {
|
||||
[EnableIf=is_android]
|
||||
bool check_clear_text_permitted = false;
|
||||
|
||||
- // True if the "Certificate Transparency in Chrome" policy (see
|
||||
- // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should
|
||||
- // be enforced for certificates and connections.
|
||||
- //
|
||||
- // See //net/docs/certificate-transparency.md before setting this flag to
|
||||
- // true.
|
||||
- [EnableIf=is_ct_supported]
|
||||
- bool enforce_chrome_ct_policy = false;
|
||||
-
|
||||
// Enables HTTP/0.9 on ports other than 80 for HTTP and 443 for HTTPS.
|
||||
bool http_09_on_non_default_ports_enabled = false;
|
||||
|
||||
@@ -300,6 +291,15 @@ struct NetworkContextParams {
|
||||
// servers, so they can discover misconfigurations.
|
||||
bool enable_certificate_reporting = false;
|
||||
|
||||
+ // True if the "Certificate Transparency in Chrome" policy (see
|
||||
+ // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should
|
||||
+ // be enforced for certificates and connections.
|
||||
+ //
|
||||
+ // See //net/docs/certificate-transparency.md before setting this flag to
|
||||
+ // true.
|
||||
+ [EnableIf=is_ct_supported]
|
||||
+ bool enforce_chrome_ct_policy = false;
|
||||
+
|
||||
// Enables Expect CT reporting, which sends reports for opted-in sites that
|
||||
// don't serve sufficient Certificate Transparency information.
|
||||
[EnableIf=is_ct_supported]
|
||||
@@ -311,6 +311,13 @@ struct NetworkContextParams {
|
||||
[EnableIf=is_ct_supported]
|
||||
array<CTLogInfo> ct_logs;
|
||||
|
||||
+ // When the Certificate Transparency logs in |ct_logs| were last updated. If
|
||||
+ // |enforce_chrome_ct_policy| is set, and |ct_log_update_time| is not
|
||||
+ // sufficiently recent, enforcement of the "Certificate Transparency in
|
||||
+ // Chrome" policy will be disabled.
|
||||
+ [EnableIf=is_ct_supported]
|
||||
+ mojo_base.mojom.Time ct_log_update_time;
|
||||
+
|
||||
// Specifies the path to the directory where NSS will store its database.
|
||||
[EnableIf=is_chromeos]
|
||||
mojo_base.mojom.FilePath? nss_path;
|
|
@ -0,0 +1,61 @@
|
|||
From f08cb0022527081c078e8b96062e6c9b4fbda151 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
Date: Fri, 26 Jul 2019 16:48:06 +0000
|
||||
Subject: [PATCH] BinaryUploadService: change parameter passing that cannot afford abstract class
|
||||
|
||||
The method UploadForDeepScanning gets a Request as parameter. But Request is an
|
||||
abstract class, so GCC will not allow that declaration (polimorphycs should be
|
||||
passed by reference). Use std::unique_ptr so BinaryUploadService can assume
|
||||
ownership.
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: I9e8c75cc92b01abd704d9049b0421555377da5ba
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1713550
|
||||
Reviewed-by: Daniel Rubery <drubery@chromium.org>
|
||||
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
|
||||
Cr-Commit-Position: refs/heads/master@{#681333}
|
||||
---
|
||||
|
||||
diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc
|
||||
index 6430c89..4e90487 100644
|
||||
--- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc
|
||||
+++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc
|
||||
@@ -10,7 +10,7 @@
|
||||
namespace safe_browsing {
|
||||
|
||||
void BinaryUploadService::UploadForDeepScanning(
|
||||
- BinaryUploadService::Request request) {
|
||||
+ std::unique_ptr<BinaryUploadService::Request> request) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
NOTREACHED();
|
||||
}
|
||||
diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h
|
||||
index d2dfd83..9b6f395 100644
|
||||
--- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h
|
||||
+++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_
|
||||
#define CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_
|
||||
|
||||
+#include <memory>
|
||||
+
|
||||
#include "base/callback.h"
|
||||
#include "components/safe_browsing/proto/webprotect.pb.h"
|
||||
|
||||
@@ -40,6 +42,7 @@
|
||||
public:
|
||||
// |callback| will run on the UI thread.
|
||||
explicit Request(Callback callback);
|
||||
+ virtual ~Request() = default;
|
||||
Request(const Request&) = delete;
|
||||
Request& operator=(const Request&) = delete;
|
||||
|
||||
@@ -67,7 +70,7 @@
|
||||
// Upload the given file contents for deep scanning. The results will be
|
||||
// returned asynchronously by calling |request|'s |callback|. This must be
|
||||
// called on the UI thread.
|
||||
- void UploadForDeepScanning(Request request);
|
||||
+ void UploadForDeepScanning(std::unique_ptr<Request> request);
|
||||
};
|
||||
|
||||
} // namespace safe_browsing
|
|
@ -0,0 +1,23 @@
|
|||
diff -up chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h
|
||||
--- chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory 2019-09-13 14:44:24.962770079 +0200
|
||||
+++ chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h 2019-09-13 14:44:45.347073612 +0200
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "low_pass_filter.h"
|
||||
|
||||
+#include <memory>
|
||||
+
|
||||
namespace one_euro_filter {
|
||||
namespace test {
|
||||
class OneEuroFilterTest;
|
||||
diff -up chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h.missing-memory chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h
|
||||
--- chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h.missing-memory 2020-02-21 12:25:17.206021379 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h 2020-02-21 12:25:31.613759976 -0500
|
||||
@@ -12,6 +12,7 @@
|
||||
#define MODULES_AUDIO_PROCESSING_AEC3_REVERB_MODEL_ESTIMATOR_H_
|
||||
|
||||
#include <array>
|
||||
+#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "absl/types/optional.h"
|
|
@ -0,0 +1,49 @@
|
|||
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
|
||||
--- a/third_party/harfbuzz-ng/BUILD.gn
|
||||
+++ b/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") {
|
|
@ -0,0 +1,28 @@
|
|||
From 5baf7df7f4c5971dab552897eeef94b194650ce5 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Tapuska <dtapuska@chromium.org>
|
||||
Date: Mon, 12 Aug 2019 22:30:13 +0000
|
||||
Subject: [PATCH] Fix build failure due to missing include for std::numeric_limits usage.
|
||||
|
||||
Some configurations fail to build, limits should have been included.
|
||||
|
||||
BUG=992832
|
||||
|
||||
Change-Id: I894ba0543bfcef101c93259e39a31d12ae6d035c
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1747981
|
||||
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
|
||||
Reviewed-by: Mostyn Bramley-Moore <mostynb@vewd.com>
|
||||
Cr-Commit-Position: refs/heads/master@{#686214}
|
||||
---
|
||||
|
||||
diff --git a/third_party/blink/renderer/platform/exported/web_time_range.cc b/third_party/blink/renderer/platform/exported/web_time_range.cc
|
||||
index 384566a..68d83e1 100644
|
||||
--- a/third_party/blink/renderer/platform/exported/web_time_range.cc
|
||||
+++ b/third_party/blink/renderer/platform/exported/web_time_range.cc
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "third_party/blink/public/platform/web_time_range.h"
|
||||
|
||||
#include <cmath>
|
||||
+#include <limits>
|
||||
|
||||
namespace blink {
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From e1bbdec720a333937bd1b990ae0f7ee97db0d3b0 Mon Sep 17 00:00:00 2001
|
||||
From: Your Name <you@example.com>
|
||||
Date: Fri, 28 Jun 2019 15:56:23 +0000
|
||||
Subject: [PATCH] update zlib
|
||||
|
||||
---
|
||||
third_party/perfetto/gn/BUILD.gn | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn
|
||||
index c951f5f..297eee3 100644
|
||||
--- a/third_party/perfetto/gn/BUILD.gn
|
||||
+++ b/third_party/perfetto/gn/BUILD.gn
|
||||
@@ -200,7 +200,7 @@ group("zlib") {
|
||||
"//buildtools:zlib",
|
||||
]
|
||||
} else if (build_with_chromium) {
|
||||
- public_configs = [ "//third_party/zlib:zlib_config" ]
|
||||
+ public_configs = [ "//third_party/zlib:system_zlib" ]
|
||||
public_deps = [
|
||||
"//third_party/zlib",
|
||||
]
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
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
|
||||
--- a/third_party/blink/renderer/platform/fonts/font_cache_key.h
|
||||
+++ b/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
|
||||
--- a/third_party/blink/renderer/platform/wtf/linked_hash_set.h
|
||||
+++ b/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
|
||||
--- a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc
|
||||
+++ b/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
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/third_party/protobuf/src/google/protobuf/repeated_field.h b/third_party/protobuf/src/google/protobuf/repeated_field.h
|
||||
index b5b193c..4434854 100644
|
||||
--- a/third_party/protobuf/src/google/protobuf/repeated_field.h
|
||||
+++ b/third_party/protobuf/src/google/protobuf/repeated_field.h
|
||||
@@ -804,7 +804,7 @@ class StringTypeHandler {
|
||||
// RepeatedPtrField is like RepeatedField, but used for repeated strings or
|
||||
// Messages.
|
||||
template <typename Element>
|
||||
-class RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
|
||||
+class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
|
||||
public:
|
||||
RepeatedPtrField();
|
||||
explicit RepeatedPtrField(Arena* arena);
|
|
@ -0,0 +1,24 @@
|
|||
diff -up chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h.gcc9 chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
|
||||
--- chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h.gcc9 2019-10-23 08:58:16.153251961 -0400
|
||||
+++ chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 2019-10-23 08:58:36.896862347 -0400
|
||||
@@ -1486,7 +1486,7 @@ struct kernel_stat {
|
||||
"d"(LSS_SYSCALL_ARG(parent_tidptr)),
|
||||
"r"(LSS_SYSCALL_ARG(newtls)),
|
||||
"r"(LSS_SYSCALL_ARG(child_tidptr))
|
||||
- : "rsp", "memory", "r8", "r10", "r11", "rcx");
|
||||
+ : "memory", "r8", "r10", "r11", "rcx");
|
||||
}
|
||||
LSS_RETURN(int, __res);
|
||||
}
|
||||
diff -up chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h
|
||||
--- chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 2019-10-23 08:58:59.623435488 -0400
|
||||
+++ chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h 2019-10-23 08:59:16.113125772 -0400
|
||||
@@ -1485,7 +1485,7 @@ struct kernel_stat {
|
||||
"d"(LSS_SYSCALL_ARG(parent_tidptr)),
|
||||
"r"(LSS_SYSCALL_ARG(newtls)),
|
||||
"r"(LSS_SYSCALL_ARG(child_tidptr))
|
||||
- : "rsp", "memory", "r8", "r10", "r11", "rcx");
|
||||
+ : "memory", "r8", "r10", "r11", "rcx");
|
||||
}
|
||||
LSS_RETURN(int, __res);
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
diff -up chromium-78.0.3904.70/third_party/perfetto/gn/BUILD.gn.unbundle-zlib chromium-78.0.3904.70/third_party/perfetto/gn/BUILD.gn
|
||||
--- chromium-78.0.3904.70/third_party/perfetto/gn/BUILD.gn.unbundle-zlib 2019-10-23 09:25:44.419884187 -0400
|
||||
+++ chromium-78.0.3904.70/third_party/perfetto/gn/BUILD.gn 2019-10-23 09:29:53.553442745 -0400
|
||||
@@ -276,7 +276,7 @@ if (enable_perfetto_trace_processor || e
|
||||
"//buildtools:zlib",
|
||||
]
|
||||
} else {
|
||||
- public_configs = [ "//third_party/zlib:zlib_config" ]
|
||||
+ public_configs = [ "//third_party/zlib:system_zlib" ]
|
||||
public_deps = [
|
||||
"//third_party/zlib",
|
||||
]
|
|
@ -0,0 +1,11 @@
|
|||
diff -up chromium-78.0.3904.70/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined chromium-78.0.3904.70/net/quic/platform/impl/quic_default_proof_providers_impl.cc
|
||||
--- chromium-78.0.3904.70/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined 2019-10-23 09:12:08.754351798 -0400
|
||||
+++ chromium-78.0.3904.70/net/quic/platform/impl/quic_default_proof_providers_impl.cc 2019-10-23 09:19:28.278431430 -0400
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "net/quic/crypto/proof_verifier_chromium.h"
|
||||
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
|
||||
#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
|
||||
+#include "net/quic/platform/impl/quic_flags_impl.cc"
|
||||
|
||||
DEFINE_QUIC_COMMAND_LINE_FLAG(
|
||||
bool,
|
|
@ -0,0 +1,39 @@
|
|||
From af77dc4014ead3d898fdc8a7a70fe5063ac9b102 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
Date: Fri, 25 Oct 2019 19:01:29 +0000
|
||||
Subject: [PATCH] GCC: use brace-initializer for DohUpgrade vector
|
||||
|
||||
Constructing NoDestructor with parenthesis constructor is ambiguous
|
||||
in GCC. Use brace-initializer to avoid that problem. This fixes this
|
||||
build error:
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: I00dda42daa1794d11e022f26ac07f92e599d106d
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879910
|
||||
Reviewed-by: Eric Orth <ericorth@chromium.org>
|
||||
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
|
||||
Cr-Commit-Position: refs/heads/master@{#709569}
|
||||
---
|
||||
|
||||
diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc
|
||||
index 14997c4..637b6f2 100644
|
||||
--- a/net/dns/dns_util.cc
|
||||
+++ b/net/dns/dns_util.cc
|
||||
@@ -144,7 +144,7 @@
|
||||
// DohProviderId histogram suffix list in
|
||||
// tools/metrics/histograms/histograms.xml.
|
||||
static const base::NoDestructor<std::vector<DohUpgradeEntry>>
|
||||
- upgradable_servers({
|
||||
+ upgradable_servers{{
|
||||
DohUpgradeEntry(
|
||||
"CleanBrowsingAdult",
|
||||
{"185.228.168.10", "185.228.169.11", "2a0d:2a00:1::1",
|
||||
@@ -215,7 +215,7 @@
|
||||
{"9.9.9.9", "149.112.112.112", "2620:fe::fe", "2620:fe::9"},
|
||||
{"dns.quad9.net", "dns9.quad9.net"} /* DoT hostname */,
|
||||
{"https://dns.quad9.net/dns-query", true /* use_post */}),
|
||||
- });
|
||||
+ }};
|
||||
return *upgradable_servers;
|
||||
}
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
From 528e9a3e1f25bd264549c4c7779748abfd16bb1c Mon Sep 17 00:00:00 2001
|
||||
From: Jan Wilken Dörrie <jdoerrie@chromium.org>
|
||||
Date: Fri, 18 Oct 2019 11:45:24 +0000
|
||||
Subject: [PATCH] Reland "GCC: Fix base::internal::InvokeFuncImpl"
|
||||
|
||||
This is a reland of 9293d5c86eec1c34fc00716645400b44a14e764e
|
||||
|
||||
Original change's description:
|
||||
> GCC: Fix base::internal::InvokeFuncImpl
|
||||
>
|
||||
> GCC doesn't like that the Value data member has no out-of-line
|
||||
> definition. The problem is triggered specifically only when compiling
|
||||
>
|
||||
> components/services/leveldb/leveldb_database_impl.cc
|
||||
>
|
||||
> which has lambda functions returning locally-defined classes.
|
||||
>
|
||||
> The current code works as-is in C++17 mode which introduces the concept
|
||||
> of inline variables, but in C++14 we need either an explicit out-of-line
|
||||
> definition or a function member instead of a data member.
|
||||
>
|
||||
> Use std::integral_constant for defining the value.
|
||||
>
|
||||
> Bug: 819294
|
||||
> Change-Id: I5c68e14ce3fa9d8b4d8a2cb42d7f9b53938aabf3
|
||||
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1862451
|
||||
> Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
|
||||
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
|
||||
> Commit-Queue: Jüri Valdmann <juri.valdmann@qt.io>
|
||||
> Cr-Commit-Position: refs/heads/master@{#706384}
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: I3d5a52ddc6815516e2239f9347c60de06bf765a2
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1865212
|
||||
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
|
||||
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#707329}
|
||||
---
|
||||
|
||||
diff --git a/base/bind.h b/base/bind.h
|
||||
index 7a400af..1070ce6 100644
|
||||
--- a/base/bind.h
|
||||
+++ b/base/bind.h
|
||||
@@ -187,18 +187,15 @@
|
||||
// well-formed. Using `Invoker::Run` with a OnceCallback triggers a
|
||||
// static_assert, which is why the ternary expression does not compile.
|
||||
// TODO(crbug.com/752720): Remove this indirection once we have `if constexpr`.
|
||||
-template <bool is_once, typename Invoker>
|
||||
-struct InvokeFuncImpl;
|
||||
+template <typename Invoker>
|
||||
+constexpr auto GetInvokeFunc(std::true_type) {
|
||||
+ return Invoker::RunOnce;
|
||||
+}
|
||||
|
||||
template <typename Invoker>
|
||||
-struct InvokeFuncImpl<true, Invoker> {
|
||||
- static constexpr auto Value = &Invoker::RunOnce;
|
||||
-};
|
||||
-
|
||||
-template <typename Invoker>
|
||||
-struct InvokeFuncImpl<false, Invoker> {
|
||||
- static constexpr auto Value = &Invoker::Run;
|
||||
-};
|
||||
+constexpr auto GetInvokeFunc(std::false_type) {
|
||||
+ return Invoker::Run;
|
||||
+}
|
||||
|
||||
template <template <typename> class CallbackT,
|
||||
typename Functor,
|
||||
@@ -229,7 +226,8 @@
|
||||
// InvokeFuncStorage, so that we can ensure its type matches to
|
||||
// PolymorphicInvoke, to which CallbackType will cast back.
|
||||
using PolymorphicInvoke = typename CallbackType::PolymorphicInvoke;
|
||||
- PolymorphicInvoke invoke_func = InvokeFuncImpl<kIsOnce, Invoker>::Value;
|
||||
+ PolymorphicInvoke invoke_func =
|
||||
+ GetInvokeFunc<Invoker>(std::integral_constant<bool, kIsOnce>());
|
||||
|
||||
using InvokeFuncStorage = internal::BindStateBase::InvokeFuncStorage;
|
||||
return CallbackType(BindState::Create(
|
|
@ -0,0 +1,131 @@
|
|||
From f7c177d35242311ea7a2cf49a0980c61664f27ba Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
Date: Fri, 25 Oct 2019 15:07:09 +0000
|
||||
Subject: [PATCH] IWYU: include algorithm to use std::lower_bound in ui/gfx/font.cc
|
||||
|
||||
Fix GCC build because of missing include:
|
||||
../../ui/gfx/font.cc: In function ‘gfx::Font::Weight gfx::FontWeightFromInt(int)’:
|
||||
../../ui/gfx/font.cc:114:8: error: no matching function for call to ‘lower_bound(const gfx::Font::Weight*, const gfx::Font::Weight*, int&, gfx::FontWeightFromInt(int)::<lambda(const gfx::Font::Weight&, const int&)>)’
|
||||
});
|
||||
^
|
||||
In file included from /usr/include/c++/8/bits/char_traits.h:39,
|
||||
from /usr/include/c++/8/string:40,
|
||||
from ../../ui/gfx/font.h:8,
|
||||
from ../../ui/gfx/font.cc:5:
|
||||
/usr/include/c++/8/bits/stl_algobase.h:984:5: note: candidate: ‘template<class _ForwardIterator, class _Tp> _ForwardIterator std::lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&)’
|
||||
lower_bound(_ForwardIterator __first, _ForwardIterator __last,
|
||||
^~~~~~~~~~~
|
||||
/usr/include/c++/8/bits/stl_algobase.h:984:5: note: template argument deduction/substitution failed:
|
||||
../../ui/gfx/font.cc:114:8: note: candidate expects 3 arguments, 4 provided
|
||||
});
|
||||
^
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: Ic59dcf3a06bdd54d1d426c08a61624873a0ff30c
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879909
|
||||
Commit-Queue: Alexei Svitkine <asvitkine@chromium.org>
|
||||
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#709472}
|
||||
---
|
||||
|
||||
diff --git a/ui/gfx/font.cc b/ui/gfx/font.cc
|
||||
index 21367fd7..92b159e 100644
|
||||
--- a/ui/gfx/font.cc
|
||||
+++ b/ui/gfx/font.cc
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
#include "ui/gfx/font.h"
|
||||
|
||||
+#include <algorithm>
|
||||
+
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "build/build_config.h"
|
||||
#include "ui/gfx/platform_font.h"
|
||||
|
||||
From 97eb905ba262382bc3583078761c68f4452aea71 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
Date: Fri, 25 Oct 2019 09:27:53 +0000
|
||||
Subject: [PATCH] IWYU: launch_manager.h uses std::vector
|
||||
|
||||
Add #include <vector> for using std::vector. This fixes GCC build.
|
||||
|
||||
./../chrome/browser/apps/launch_service/launch_manager.h:46:15: error: ‘vector’ in namespace ‘std’ does not name a template type
|
||||
static std::vector<base::FilePath> GetLaunchFilesFromCommandLine(
|
||||
^~~~~~
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: I02ec3a2914a8fbe3aa0041017a0228f4b0ca1ec9
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879289
|
||||
Reviewed-by: Alexey Baskakov <loyso@chromium.org>
|
||||
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
|
||||
Cr-Commit-Position: refs/heads/master@{#709411}
|
||||
---
|
||||
|
||||
diff --git a/chrome/browser/apps/launch_service/launch_manager.h b/chrome/browser/apps/launch_service/launch_manager.h
|
||||
index 00aeb9d..76570ea 100644
|
||||
--- a/chrome/browser/apps/launch_service/launch_manager.h
|
||||
+++ b/chrome/browser/apps/launch_service/launch_manager.h
|
||||
@@ -6,6 +6,7 @@
|
||||
#define CHROME_BROWSER_APPS_LAUNCH_SERVICE_LAUNCH_MANAGER_H_
|
||||
|
||||
#include <string>
|
||||
+#include <vector>
|
||||
|
||||
#include "base/macros.h"
|
||||
|
||||
From e7407ce7fa262e9fd1a19dd0957e5a950520ee3a Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
Date: Fri, 25 Oct 2019 08:25:45 +0000
|
||||
Subject: [PATCH] IWYU: include cstdint in register_context.h as it uses uintptr_t
|
||||
|
||||
GCC build fix as build fails with this:
|
||||
../../base/profiler/register_context.h:31:1: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
|
||||
uintptr_t& AsUintPtr(T* value) {
|
||||
^~~~~~~~~
|
||||
intptr_t
|
||||
../../base/profiler/register_context.h:110:3: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
|
||||
uintptr_t stack_pointer;
|
||||
^~~~~~~~~
|
||||
intptr_t
|
||||
../../base/profiler/register_context.h:111:3: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
|
||||
uintptr_t frame_pointer;
|
||||
^~~~~~~~~
|
||||
intptr_t
|
||||
../../base/profiler/register_context.h:112:3: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
|
||||
uintptr_t instruction_pointer;
|
||||
^~~~~~~~~
|
||||
intptr_t
|
||||
../../base/profiler/register_context.h:115:8: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
|
||||
inline uintptr_t& RegisterContextStackPointer(RegisterContext* context) {
|
||||
^~~~~~~~~
|
||||
intptr_t
|
||||
../../base/profiler/register_context.h:119:8: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
|
||||
inline uintptr_t& RegisterContextFramePointer(RegisterContext* context) {
|
||||
^~~~~~~~~
|
||||
intptr_t
|
||||
../../base/profiler/register_context.h:123:8: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
|
||||
inline uintptr_t& RegisterContextInstructionPointer(RegisterContext* context) {
|
||||
^~~~~~~~~
|
||||
intptr_t
|
||||
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: I49567b00a6f021686c52053a22fb9c502c84f1bc
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879908
|
||||
Reviewed-by: Mike Wittman <wittman@chromium.org>
|
||||
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
|
||||
Cr-Commit-Position: refs/heads/master@{#709398}
|
||||
---
|
||||
|
||||
diff --git a/base/profiler/register_context.h b/base/profiler/register_context.h
|
||||
index 46c4250..7dd86ff 100644
|
||||
--- a/base/profiler/register_context.h
|
||||
+++ b/base/profiler/register_context.h
|
||||
@@ -9,6 +9,7 @@
|
||||
#ifndef BASE_PROFILER_REGISTER_CONTEXT_H_
|
||||
#define BASE_PROFILER_REGISTER_CONTEXT_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <type_traits>
|
||||
|
||||
#include "build/build_config.h"
|
|
@ -0,0 +1,28 @@
|
|||
diff -up chromium-79.0.3945.130/third_party/angle/BUILD.gn.fixme chromium-79.0.3945.130/third_party/angle/BUILD.gn
|
||||
--- chromium-79.0.3945.130/third_party/angle/BUILD.gn.fixme 2020-02-05 15:50:58.810040419 -0500
|
||||
+++ chromium-79.0.3945.130/third_party/angle/BUILD.gn 2020-02-05 15:52:03.720848822 -0500
|
||||
@@ -228,6 +228,9 @@ config("angle_common_config") {
|
||||
if (is_android) {
|
||||
libs = [ "log" ]
|
||||
}
|
||||
+ if (!is_clang) {
|
||||
+ cflags_cc = [ "-std=c++17" ]
|
||||
+ }
|
||||
}
|
||||
|
||||
if (is_win && !angle_is_winuwp) {
|
||||
diff -up chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h.fixme chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h
|
||||
--- chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h.fixme 2020-02-05 15:35:47.473867905 -0500
|
||||
+++ chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h 2020-02-05 15:36:30.362065300 -0500
|
||||
@@ -85,8 +85,9 @@ class PackedEnumMap
|
||||
{
|
||||
// This horrible const_cast pattern is necessary to work around a constexpr limitation.
|
||||
// See https://stackoverflow.com/q/34199774/ . Note that it should be fixed with C++17.
|
||||
- const_cast<T &>(const_cast<const Storage &>(
|
||||
- mPrivateData)[static_cast<UnderlyingType>(it->first)]) = it->second;
|
||||
+ // const_cast<T &>(const_cast<const Storage &>(
|
||||
+ // mPrivateData)[static_cast<UnderlyingType>(it->first)]) = it->second;
|
||||
+ mPrivateData[static_cast<UnderlyingType>(it->first)] = it->second;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
--- a/third_party/protobuf/src/google/protobuf/arena.h
|
||||
+++ b/third_party/protobuf/src/google/protobuf/arena.h
|
||||
@@ -245,7 +245,7 @@ struct ArenaOptions {
|
||||
// well as protobuf container types like RepeatedPtrField and Map. The protocol
|
||||
// is internal to protobuf and is not guaranteed to be stable. Non-proto types
|
||||
// should not rely on this protocol.
|
||||
-class PROTOBUF_EXPORT alignas(8) Arena final {
|
||||
+class PROTOBUF_EXPORT PROTOBUF_ALIGNAS(8) Arena final {
|
||||
public:
|
||||
// Arena constructor taking custom options. See ArenaOptions below for
|
||||
// descriptions of the options available.
|
||||
--- a/third_party/protobuf/src/google/protobuf/port_def.inc
|
||||
+++ b/third_party/protobuf/src/google/protobuf/port_def.inc
|
||||
@@ -528,6 +528,35 @@ PROTOBUF_EXPORT_TEMPLATE_TEST(DEFAULT, __declspec(dllimport));
|
||||
#undef IN
|
||||
#endif // _MSC_VER
|
||||
|
||||
+// Specify memory alignment for structs, classes, etc.
|
||||
+// Use like:
|
||||
+// class PROTOBUF_ALIGNAS(16) MyClass { ... }
|
||||
+// PROTOBUF_ALIGNAS(16) int array[4];
|
||||
+//
|
||||
+// In most places you can use the C++11 keyword "alignas", which is preferred.
|
||||
+//
|
||||
+// But compilers have trouble mixing __attribute__((...)) syntax with
|
||||
+// alignas(...) syntax.
|
||||
+//
|
||||
+// Doesn't work in clang or gcc:
|
||||
+// struct alignas(16) __attribute__((packed)) S { char c; };
|
||||
+// Works in clang but not gcc:
|
||||
+// struct __attribute__((packed)) alignas(16) S2 { char c; };
|
||||
+// Works in clang and gcc:
|
||||
+// struct alignas(16) S3 { char c; } __attribute__((packed));
|
||||
+//
|
||||
+// There are also some attributes that must be specified *before* a class
|
||||
+// definition: visibility (used for exporting functions/classes) is one of
|
||||
+// these attributes. This means that it is not possible to use alignas() with a
|
||||
+// class that is marked as exported.
|
||||
+#if defined(_MSC_VER)
|
||||
+#define PROTOBUF_ALIGNAS(byte_alignment) __declspec(align(byte_alignment))
|
||||
+#elif defined(__GNUC__)
|
||||
+#define PROTOBUF_ALIGNAS(byte_alignment) __attribute__((aligned(byte_alignment)))
|
||||
+#else
|
||||
+#define PROTOBUF_ALIGNAS(byte_alignment) alignas(byte_alignment)
|
||||
+#endif
|
||||
+
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic push
|
||||
// TODO(gerbens) ideally we cleanup the code. But a cursory try shows many
|
||||
--- a/third_party/protobuf/src/google/protobuf/port_undef.inc
|
||||
+++ b/third_party/protobuf/src/google/protobuf/port_undef.inc
|
||||
@@ -80,6 +80,7 @@
|
||||
#undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__declspec
|
||||
#undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllexport
|
||||
#undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllimport
|
||||
+#undef PROTOBUF_ALIGNAS
|
|
@ -0,0 +1,12 @@
|
|||
diff -up chromium-79.0.3945.56/content/common/user_agent.cc.fedora-user-agent chromium-79.0.3945.56/content/common/user_agent.cc
|
||||
--- chromium-79.0.3945.56/content/common/user_agent.cc.fedora-user-agent 2019-12-03 14:16:13.076763501 -0500
|
||||
+++ chromium-79.0.3945.56/content/common/user_agent.cc 2019-12-03 14:21:57.427351621 -0500
|
||||
@@ -35,7 +35,7 @@ std::string GetUserAgentPlatform() {
|
||||
#elif defined(OS_MACOSX)
|
||||
return "Macintosh; ";
|
||||
#elif defined(USE_X11) || defined(USE_OZONE)
|
||||
- return "X11; "; // strange, but that's what Firefox uses
|
||||
+ return "X11; Fedora; "; // strange, but that's what Firefox uses
|
||||
#elif defined(OS_ANDROID)
|
||||
return "Linux; ";
|
||||
#elif defined(OS_FUCHSIA)
|
|
@ -0,0 +1,11 @@
|
|||
diff -up chromium-79.0.3945.56/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h.fix-find_if chromium-79.0.3945.56/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h
|
||||
--- chromium-79.0.3945.56/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h.fix-find_if 2019-12-03 15:32:07.315635750 -0500
|
||||
+++ chromium-79.0.3945.56/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h 2019-12-03 15:32:33.085054770 -0500
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef UI_BASE_CURSOR_OZONE_BITMAP_CURSOR_FACTORY_OZONE_H_
|
||||
#define UI_BASE_CURSOR_OZONE_BITMAP_CURSOR_FACTORY_OZONE_H_
|
||||
|
||||
+#include <algorithm>
|
||||
#include <map>
|
||||
|
||||
#include "base/macros.h"
|
|
@ -0,0 +1,108 @@
|
|||
diff -up chromium-79.0.3945.56/content/child/webthemeengine_impl_android.cc.gcc-name-clash chromium-79.0.3945.56/content/child/webthemeengine_impl_android.cc
|
||||
--- chromium-79.0.3945.56/content/child/webthemeengine_impl_android.cc.gcc-name-clash 2019-11-26 16:52:30.000000000 -0500
|
||||
+++ chromium-79.0.3945.56/content/child/webthemeengine_impl_android.cc 2019-12-03 12:48:21.210018632 -0500
|
||||
@@ -228,7 +228,7 @@ void WebThemeEngineAndroid::Paint(
|
||||
native_theme_extra_params, NativeColorScheme(color_scheme));
|
||||
}
|
||||
|
||||
-blink::ForcedColors WebThemeEngineAndroid::ForcedColors() const {
|
||||
+blink::ForcedColors WebThemeEngineAndroid::GetForcedColors() const {
|
||||
return forced_colors_;
|
||||
}
|
||||
|
||||
diff -up chromium-79.0.3945.56/content/child/webthemeengine_impl_android.h.gcc-name-clash chromium-79.0.3945.56/content/child/webthemeengine_impl_android.h
|
||||
--- chromium-79.0.3945.56/content/child/webthemeengine_impl_android.h.gcc-name-clash 2019-12-03 12:48:21.213018564 -0500
|
||||
+++ chromium-79.0.3945.56/content/child/webthemeengine_impl_android.h 2019-12-03 12:49:44.079153643 -0500
|
||||
@@ -22,7 +22,7 @@ class WebThemeEngineAndroid : public bli
|
||||
const blink::WebRect& rect,
|
||||
const blink::WebThemeEngine::ExtraParams* extra_params,
|
||||
blink::WebColorScheme color_scheme) override;
|
||||
- blink::ForcedColors ForcedColors() const override;
|
||||
+ blink::ForcedColors GetForcedColors() const override;
|
||||
void SetForcedColors(const blink::ForcedColors forced_colors) override;
|
||||
|
||||
private:
|
||||
diff -up chromium-79.0.3945.56/content/child/webthemeengine_impl_default.cc.gcc-name-clash chromium-79.0.3945.56/content/child/webthemeengine_impl_default.cc
|
||||
--- chromium-79.0.3945.56/content/child/webthemeengine_impl_default.cc.gcc-name-clash 2019-11-26 16:52:30.000000000 -0500
|
||||
+++ chromium-79.0.3945.56/content/child/webthemeengine_impl_default.cc 2019-12-03 12:48:21.215018520 -0500
|
||||
@@ -232,7 +232,7 @@ void WebThemeEngineDefault::cacheScrollB
|
||||
}
|
||||
#endif
|
||||
|
||||
-blink::ForcedColors WebThemeEngineDefault::ForcedColors() const {
|
||||
+blink::ForcedColors WebThemeEngineDefault::GetForcedColors() const {
|
||||
return ui::NativeTheme::GetInstanceForWeb()->UsesHighContrastColors()
|
||||
? blink::ForcedColors::kActive
|
||||
: blink::ForcedColors::kNone;
|
||||
diff -up chromium-79.0.3945.56/content/child/webthemeengine_impl_default.h.gcc-name-clash chromium-79.0.3945.56/content/child/webthemeengine_impl_default.h
|
||||
--- chromium-79.0.3945.56/content/child/webthemeengine_impl_default.h.gcc-name-clash 2019-12-03 12:48:21.217018474 -0500
|
||||
+++ chromium-79.0.3945.56/content/child/webthemeengine_impl_default.h 2019-12-03 12:50:30.808102006 -0500
|
||||
@@ -39,7 +39,7 @@ class WebThemeEngineDefault : public bli
|
||||
int32_t vertical_arrow_bitmap_height,
|
||||
int32_t horizontal_arrow_bitmap_width);
|
||||
#endif
|
||||
- blink::ForcedColors ForcedColors() const override;
|
||||
+ blink::ForcedColors GetForcedColors() const override;
|
||||
void SetForcedColors(const blink::ForcedColors forced_colors) override;
|
||||
};
|
||||
|
||||
diff -up chromium-79.0.3945.56/content/child/webthemeengine_impl_mac.cc.gcc-name-clash chromium-79.0.3945.56/content/child/webthemeengine_impl_mac.cc
|
||||
--- chromium-79.0.3945.56/content/child/webthemeengine_impl_mac.cc.gcc-name-clash 2019-11-26 16:52:30.000000000 -0500
|
||||
+++ chromium-79.0.3945.56/content/child/webthemeengine_impl_mac.cc 2019-12-03 12:48:21.220018407 -0500
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
namespace content {
|
||||
|
||||
-blink::ForcedColors WebThemeEngineMac::ForcedColors() const {
|
||||
+blink::ForcedColors WebThemeEngineMac::GetForcedColors() const {
|
||||
return forced_colors_;
|
||||
}
|
||||
|
||||
diff -up chromium-79.0.3945.56/content/child/webthemeengine_impl_mac.h.gcc-name-clash chromium-79.0.3945.56/content/child/webthemeengine_impl_mac.h
|
||||
--- chromium-79.0.3945.56/content/child/webthemeengine_impl_mac.h.gcc-name-clash 2019-12-03 12:48:21.223018339 -0500
|
||||
+++ chromium-79.0.3945.56/content/child/webthemeengine_impl_mac.h 2019-12-03 12:51:07.790269715 -0500
|
||||
@@ -13,7 +13,7 @@ class WebThemeEngineMac : public blink::
|
||||
public:
|
||||
~WebThemeEngineMac() override {}
|
||||
|
||||
- blink::ForcedColors ForcedColors() const override;
|
||||
+ blink::ForcedColors GetForcedColors() const override;
|
||||
void SetForcedColors(const blink::ForcedColors forced_colors) override;
|
||||
|
||||
private:
|
||||
diff -up chromium-79.0.3945.56/third_party/blink/public/platform/web_theme_engine.h.gcc-name-clash chromium-79.0.3945.56/third_party/blink/public/platform/web_theme_engine.h
|
||||
--- chromium-79.0.3945.56/third_party/blink/public/platform/web_theme_engine.h.gcc-name-clash 2019-12-03 12:48:21.225018294 -0500
|
||||
+++ chromium-79.0.3945.56/third_party/blink/public/platform/web_theme_engine.h 2019-12-03 12:51:54.547217442 -0500
|
||||
@@ -226,7 +226,7 @@ class WebThemeEngine {
|
||||
return base::nullopt;
|
||||
}
|
||||
|
||||
- virtual ForcedColors ForcedColors() const { return ForcedColors::kNone; }
|
||||
+ virtual ForcedColors GetForcedColors() const { return ForcedColors::kNone; }
|
||||
virtual void SetForcedColors(const blink::ForcedColors forced_colors) {}
|
||||
};
|
||||
|
||||
diff -up chromium-79.0.3945.56/third_party/blink/renderer/core/css/media_values.cc.gcc-name-clash chromium-79.0.3945.56/third_party/blink/renderer/core/css/media_values.cc
|
||||
--- chromium-79.0.3945.56/third_party/blink/renderer/core/css/media_values.cc.gcc-name-clash 2019-11-26 16:52:32.000000000 -0500
|
||||
+++ chromium-79.0.3945.56/third_party/blink/renderer/core/css/media_values.cc 2019-12-03 12:48:21.226018272 -0500
|
||||
@@ -221,7 +221,7 @@ bool MediaValues::CalculatePrefersReduce
|
||||
|
||||
ForcedColors MediaValues::CalculateForcedColors() {
|
||||
if (Platform::Current() && Platform::Current()->ThemeEngine())
|
||||
- return Platform::Current()->ThemeEngine()->ForcedColors();
|
||||
+ return Platform::Current()->ThemeEngine()->GetForcedColors();
|
||||
else
|
||||
return ForcedColors::kNone;
|
||||
}
|
||||
diff -up chromium-79.0.3945.56/third_party/blink/renderer/core/dom/document.cc.gcc-name-clash chromium-79.0.3945.56/third_party/blink/renderer/core/dom/document.cc
|
||||
--- chromium-79.0.3945.56/third_party/blink/renderer/core/dom/document.cc.gcc-name-clash 2019-11-26 16:52:32.000000000 -0500
|
||||
+++ chromium-79.0.3945.56/third_party/blink/renderer/core/dom/document.cc 2019-12-03 12:48:21.237018024 -0500
|
||||
@@ -8624,7 +8624,7 @@ void Document::ColorSchemeChanged() {
|
||||
bool Document::InForcedColorsMode() const {
|
||||
return RuntimeEnabledFeatures::ForcedColorsEnabled() && Platform::Current() &&
|
||||
Platform::Current()->ThemeEngine() &&
|
||||
- Platform::Current()->ThemeEngine()->ForcedColors() !=
|
||||
+ Platform::Current()->ThemeEngine()->GetForcedColors() !=
|
||||
ForcedColors::kNone;
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
diff -up chromium-79.0.3945.56/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.glibc-clock-nanosleep chromium-79.0.3945.56/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
--- chromium-79.0.3945.56/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.glibc-clock-nanosleep 2019-12-03 11:36:08.592386976 -0500
|
||||
+++ chromium-79.0.3945.56/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2019-12-03 11:36:34.889947958 -0500
|
||||
@@ -148,7 +148,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
||||
return Allow();
|
||||
#endif
|
||||
|
||||
- if (sysno == __NR_clock_gettime) {
|
||||
+ if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep) {
|
||||
return RestrictClockID();
|
||||
}
|
||||
|
||||
diff -up chromium-79.0.3945.56/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h.glibc-clock-nanosleep chromium-79.0.3945.56/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
|
||||
--- chromium-79.0.3945.56/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h.glibc-clock-nanosleep 2019-12-03 11:36:56.808582039 -0500
|
||||
+++ chromium-79.0.3945.56/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h 2019-12-03 11:37:34.944945377 -0500
|
||||
@@ -86,12 +86,13 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Restr
|
||||
// process).
|
||||
SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictGetrusage();
|
||||
|
||||
-// Restrict |clk_id| for clock_getres(), clock_gettime() and clock_settime().
|
||||
-// We allow accessing only CLOCK_MONOTONIC, CLOCK_PROCESS_CPUTIME_ID,
|
||||
-// CLOCK_REALTIME, and CLOCK_THREAD_CPUTIME_ID. In particular, this disallows
|
||||
-// access to arbitrary per-{process,thread} CPU-time clock IDs (such as those
|
||||
-// returned by {clock,pthread}_getcpuclockid), which can leak information
|
||||
-// about the state of the host OS.
|
||||
+// Restrict |clk_id| for clock_getres(), clock_gettime(), clock_settime(), and
|
||||
+// clock_nanosleep(). We allow accessing only CLOCK_BOOTTIME,
|
||||
+// CLOCK_MONOTONIC{,_RAW,_COARSE}, CLOCK_PROCESS_CPUTIME_ID,
|
||||
+// CLOCK_REALTIME{,_COARSE}, and CLOCK_THREAD_CPUTIME_ID. In particular, on
|
||||
+// non-Android platforms this disallows access to arbitrary per-{process,thread}
|
||||
+// CPU-time clock IDs (such as those returned by {clock,pthread}_getcpuclockid),
|
||||
+// which can leak information about the state of the host OS.
|
||||
SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictClockID();
|
||||
|
||||
// Restrict the flags argument to getrandom() to allow only no flags, or
|
||||
diff -up chromium-79.0.3945.56/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc.glibc-clock-nanosleep chromium-79.0.3945.56/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
|
||||
--- chromium-79.0.3945.56/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc.glibc-clock-nanosleep 2019-12-03 11:37:53.752639332 -0500
|
||||
+++ chromium-79.0.3945.56/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc 2019-12-03 11:38:32.802051407 -0500
|
||||
@@ -35,9 +35,10 @@ bool SyscallSets::IsAllowedGettime(int s
|
||||
return true;
|
||||
case __NR_adjtimex: // Privileged.
|
||||
case __NR_clock_adjtime: // Privileged.
|
||||
- case __NR_clock_getres: // Could be allowed.
|
||||
- case __NR_clock_gettime:
|
||||
- case __NR_clock_nanosleep: // Could be allowed.
|
||||
+ case __NR_clock_getres: // Allowed only on Android with parameters
|
||||
+ // filtered by RestrictClockID().
|
||||
+ case __NR_clock_gettime: // Parameters filtered by RestrictClockID().
|
||||
+ case __NR_clock_nanosleep: // Parameters filtered by RestrictClockID().
|
||||
case __NR_clock_settime: // Privileged.
|
||||
#if defined(__i386__) || \
|
||||
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
|
@ -0,0 +1,19 @@
|
|||
diff -up chromium-79.0.3945.56/chrome/common/chrome_paths.cc.widevine-other-locations chromium-79.0.3945.56/chrome/common/chrome_paths.cc
|
||||
--- chromium-79.0.3945.56/chrome/common/chrome_paths.cc.widevine-other-locations 2019-12-03 11:52:11.682295001 -0500
|
||||
+++ chromium-79.0.3945.56/chrome/common/chrome_paths.cc 2019-12-03 12:00:08.654975939 -0500
|
||||
@@ -381,6 +381,15 @@ bool PathProvider(int key, base::FilePat
|
||||
|
||||
#if defined(OS_LINUX) && BUILDFLAG(BUNDLE_WIDEVINE_CDM)
|
||||
case chrome::DIR_BUNDLED_WIDEVINE_CDM:
|
||||
+ base::PathService::Get(base::DIR_HOME, &cur);
|
||||
+ cur = cur.Append(FILE_PATH_LITERAL(".local/lib/libwidevinecdm.so"));
|
||||
+ if (base::PathExists(cur)) {
|
||||
+ break;
|
||||
+ }
|
||||
+ if (base::PathExists(base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/libwidevinecdm.so")))) {
|
||||
+ cur = base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/libwidevinecdm.so"));
|
||||
+ break;
|
||||
+ }
|
||||
if (!GetComponentDirectory(&cur))
|
||||
return false;
|
||||
#if !defined(OS_CHROMEOS)
|
|
@ -0,0 +1,45 @@
|
|||
../../third_party/blink/renderer/core/editing/commands/delete_selection_command.cc: In member function 'void blink::DeleteSelectionCommand::InitializePositionData(blink::EditingState*)':
|
||||
../../third_party/blink/renderer/core/editing/commands/delete_selection_command.cc:256:59: error: no matching function for call to 'EnclosingNodeOfType(blink::Position&, <unresolved overloaded function type>)'
|
||||
256 | EnclosingNodeOfType(start, &IsA<HTMLTableRowElement>));
|
||||
| ^
|
||||
In file included from ../../third_party/blink/renderer/core/editing/commands/delete_selection_command.cc:34:
|
||||
../../third_party/blink/renderer/core/editing/editing_utilities.h:112:19: note: candidate: 'blink::Node* blink::EnclosingNodeOfType(const Position&, bool (*)(const blink::Node*), blink::EditingBoundaryCrossingRule)'
|
||||
112 | CORE_EXPORT Node* EnclosingNodeOfType(
|
||||
| ^~~~~~~~~~~~~~~~~~~
|
||||
../../third_party/blink/renderer/core/editing/editing_utilities.h:114:12: note: no known conversion for argument 2 from '<unresolved overloaded function type>' to 'bool (*)(const blink::Node*)'
|
||||
114 | bool (*node_is_of_type)(const Node*),
|
||||
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
../../third_party/blink/renderer/core/editing/editing_utilities.h:116:19: note: candidate: 'blink::Node* blink::EnclosingNodeOfType(const PositionInFlatTree&, bool (*)(const blink::Node*), blink::EditingBoundaryCrossingRule)'
|
||||
116 | CORE_EXPORT Node* EnclosingNodeOfType(
|
||||
| ^~~~~~~~~~~~~~~~~~~
|
||||
../../third_party/blink/renderer/core/editing/editing_utilities.h:117:5: note: no known conversion for argument 1 from 'blink::Position' {aka 'blink::PositionTemplate<blink::EditingAlgorithm<blink::NodeTraversal> >'} to 'const PositionInFlatTree&' {aka 'const blink::PositionTemplate<blink::EditingAlgorithm<blink::FlatTreeTraversal> >&'}
|
||||
117 | const PositionInFlatTree&,
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc b/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc
|
||||
index 6ff6906..dd531ae 100644
|
||||
--- a/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc
|
||||
+++ b/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc
|
||||
@@ -224,6 +224,10 @@ static Position TrailingWhitespacePosition(const Position& position,
|
||||
return Position();
|
||||
}
|
||||
|
||||
+static bool IsAHTMLTableRowElement(const Node* node) {
|
||||
+ return IsA<HTMLTableRowElement>(node);
|
||||
+}
|
||||
+
|
||||
void DeleteSelectionCommand::InitializePositionData(
|
||||
EditingState* editing_state) {
|
||||
DCHECK(!GetDocument().NeedsLayoutTreeUpdate());
|
||||
@@ -253,9 +257,9 @@ void DeleteSelectionCommand::InitializePositionData(
|
||||
end_root_ = RootEditableElementOf(end);
|
||||
|
||||
start_table_row_ = To<HTMLTableRowElement>(
|
||||
- EnclosingNodeOfType(start, &IsA<HTMLTableRowElement>));
|
||||
+ EnclosingNodeOfType(start, &IsAHTMLTableRowElement));
|
||||
end_table_row_ = To<HTMLTableRowElement>(
|
||||
- EnclosingNodeOfType(end, &IsA<HTMLTableRowElement>));
|
||||
+ EnclosingNodeOfType(end, &IsAHTMLTableRowElement));
|
||||
|
||||
// Don't move content out of a table cell.
|
||||
// If the cell is non-editable, enclosingNodeOfType won't return it by
|
|
@ -0,0 +1,30 @@
|
|||
From 00f47df999c9b19e80fdc01db0ae9ca1b6a12b3a Mon Sep 17 00:00:00 2001
|
||||
From: vasilvv <vasilvv@google.com>
|
||||
Date: Wed, 03 Apr 2019 13:58:53 -0700
|
||||
Subject: [PATCH] GCC: do not delete move constructor of QuicStreamSendBuffer
|
||||
|
||||
QuicStreamSendBuffer constructor is implicitely required in the
|
||||
initialization of the vector of substreams in QuicCryptoStream.
|
||||
Though clang apparently ignores that, GCC fails to build.
|
||||
|
||||
BUG=chromium:819294
|
||||
|
||||
Originally submitted by José Dapena Paz <jose.dapena@lge.com> at https://quiche-review.googlesource.com/c/quiche/+/2420
|
||||
|
||||
PiperOrigin-RevId: 241800134
|
||||
Change-Id: I4e3c97d6e5895d85340e8c1b740e6196d9104066
|
||||
---
|
||||
|
||||
diff --git a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
|
||||
index e34514b..74e9d0d 100644
|
||||
--- a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
|
||||
+++ b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
|
||||
@@ -62,7 +62,7 @@
|
||||
public:
|
||||
explicit QuicStreamSendBuffer(QuicBufferAllocator* allocator);
|
||||
QuicStreamSendBuffer(const QuicStreamSendBuffer& other) = delete;
|
||||
- QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = delete;
|
||||
+ QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = default;
|
||||
~QuicStreamSendBuffer();
|
||||
|
||||
// Save |data_length| of data starts at |iov_offset| in |iov| to send buffer.
|
|
@ -0,0 +1,44 @@
|
|||
diff -up chromium-80.0.3987.106/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef chromium-80.0.3987.106/chrome/browser/search/background/ntp_backgrounds.h
|
||||
--- chromium-80.0.3987.106/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef 2020-02-18 08:42:38.088243182 -0500
|
||||
+++ chromium-80.0.3987.106/chrome/browser/search/background/ntp_backgrounds.h 2020-02-18 08:42:59.679782858 -0500
|
||||
@@ -6,6 +6,7 @@
|
||||
#define CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_
|
||||
|
||||
#include <array>
|
||||
+#include <cstddef>
|
||||
|
||||
class GURL;
|
||||
|
||||
diff -up chromium-80.0.3987.106/media/cdm/supported_cdm_versions.h.missing-cstddef chromium-80.0.3987.106/media/cdm/supported_cdm_versions.h
|
||||
--- chromium-80.0.3987.106/media/cdm/supported_cdm_versions.h.missing-cstddef 2020-02-17 16:26:51.661246220 -0500
|
||||
+++ chromium-80.0.3987.106/media/cdm/supported_cdm_versions.h 2020-02-17 16:26:51.662246200 -0500
|
||||
@@ -6,6 +6,7 @@
|
||||
#define MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_
|
||||
|
||||
#include <array>
|
||||
+#include <cstddef>
|
||||
|
||||
#include "media/base/media_export.h"
|
||||
#include "media/cdm/api/content_decryption_module.h"
|
||||
diff -up chromium-80.0.3987.106/third_party/angle/include/platform/Platform.h.missing-cstddef chromium-80.0.3987.106/third_party/angle/include/platform/Platform.h
|
||||
--- chromium-80.0.3987.106/third_party/angle/include/platform/Platform.h.missing-cstddef 2020-02-17 16:26:07.433130572 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/angle/include/platform/Platform.h 2020-02-17 16:26:07.434130552 -0500
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
#include <array>
|
||||
+#include <cstddef>
|
||||
|
||||
#define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482
|
||||
|
||||
diff -up chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
|
||||
--- chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef 2020-02-17 16:23:41.385050827 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-02-17 16:23:41.368051167 -0500
|
||||
@@ -12,6 +12,7 @@
|
||||
#define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
|
||||
|
||||
#include <array>
|
||||
+#include <cstddef>
|
||||
|
||||
namespace webrtc {
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
diff -up chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc
|
||||
--- chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring 2020-02-21 13:19:47.077683105 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc 2020-02-21 13:19:47.077683105 -0500
|
||||
@@ -8,6 +8,8 @@
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
+#include <cstring>
|
||||
+
|
||||
#include "audio/utility/channel_mixer.h"
|
||||
|
||||
#include "audio/utility/channel_mixing_matrix.h"
|
||||
diff -up chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
|
||||
--- chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring 2020-02-21 13:19:48.171659179 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc 2020-02-21 13:19:48.174659113 -0500
|
||||
@@ -17,6 +17,7 @@
|
||||
#include <spa/param/video/raw-utils.h>
|
||||
#include <spa/support/type-map.h>
|
||||
|
||||
+#include <cstring>
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
|
||||
diff -up chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
|
||||
--- chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring 2020-02-21 13:30:09.609068057 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc 2020-02-21 13:30:23.791757875 -0500
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include "modules/video_coding/utility/ivf_file_reader.h"
|
||||
|
||||
+#include <cstring>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
diff -up chromium-80.0.3987.122/media/gpu/vaapi/BUILD.gn.i686permissive chromium-80.0.3987.122/media/gpu/vaapi/BUILD.gn
|
||||
--- chromium-80.0.3987.122/media/gpu/vaapi/BUILD.gn.i686permissive 2020-02-27 11:58:10.534875341 -0500
|
||||
+++ chromium-80.0.3987.122/media/gpu/vaapi/BUILD.gn 2020-02-27 11:58:17.544736535 -0500
|
||||
@@ -13,6 +13,10 @@ import("//ui/ozone/ozone.gni")
|
||||
assert(is_linux)
|
||||
assert(use_vaapi)
|
||||
|
||||
+config("vaapi_permissive") {
|
||||
+ cflags = [ "-fpermissive" ]
|
||||
+}
|
||||
+
|
||||
generate_stubs("libva_stubs") {
|
||||
extra_header = "va_stub_header.fragment"
|
||||
sigs = [ "va.sigs" ]
|
||||
@@ -120,6 +124,8 @@ source_set("vaapi") {
|
||||
]
|
||||
}
|
||||
|
||||
+ configs += [ ":vaapi_permissive" ]
|
||||
+
|
||||
if (use_x11) {
|
||||
configs += [ "//build/config/linux:x11" ]
|
||||
deps += [ "//ui/gfx/x" ]
|
|
@ -0,0 +1,201 @@
|
|||
diff -up chromium-80.0.3987.132/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-80.0.3987.132/chrome/common/media_router/media_sink.cc
|
||||
--- chromium-80.0.3987.132/chrome/common/media_router/media_sink.cc.el7-noexcept 2020-03-03 13:53:03.000000000 -0500
|
||||
+++ chromium-80.0.3987.132/chrome/common/media_router/media_sink.cc 2020-03-11 10:47:13.352162096 -0400
|
||||
@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id
|
||||
provider_id_(provider_id) {}
|
||||
|
||||
MediaSink::MediaSink(const MediaSink& other) = default;
|
||||
-MediaSink::MediaSink(MediaSink&& other) noexcept = default;
|
||||
+MediaSink::MediaSink(MediaSink&& other) = default;
|
||||
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::IsMaybeCloudSink() const {
|
||||
switch (icon_type_) {
|
||||
diff -up chromium-80.0.3987.132/components/history/core/browser/history_types.cc.el7-noexcept chromium-80.0.3987.132/components/history/core/browser/history_types.cc
|
||||
--- chromium-80.0.3987.132/components/history/core/browser/history_types.cc.el7-noexcept 2020-03-03 13:53:53.000000000 -0500
|
||||
+++ chromium-80.0.3987.132/components/history/core/browser/history_types.cc 2020-03-11 10:47:13.352162096 -0400
|
||||
@@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults&
|
||||
Swap(&other);
|
||||
}
|
||||
|
||||
-QueryResults& QueryResults::operator=(QueryResults&& other) noexcept {
|
||||
+QueryResults& QueryResults::operator=(QueryResults&& other) {
|
||||
Swap(&other);
|
||||
return *this;
|
||||
}
|
||||
@@ -186,7 +186,7 @@ QueryURLResult::QueryURLResult(QueryURLR
|
||||
|
||||
QueryURLResult& QueryURLResult::operator=(const QueryURLResult&) = default;
|
||||
|
||||
-QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) noexcept = default;
|
||||
+QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) = default;
|
||||
|
||||
// MostVisitedURL --------------------------------------------------------------
|
||||
|
||||
diff -up chromium-80.0.3987.132/components/history/core/browser/history_types.h.el7-noexcept chromium-80.0.3987.132/components/history/core/browser/history_types.h
|
||||
--- chromium-80.0.3987.132/components/history/core/browser/history_types.h.el7-noexcept 2020-03-03 13:53:53.000000000 -0500
|
||||
+++ chromium-80.0.3987.132/components/history/core/browser/history_types.h 2020-03-11 10:47:13.352162096 -0400
|
||||
@@ -141,7 +141,7 @@ class QueryResults {
|
||||
~QueryResults();
|
||||
|
||||
QueryResults(QueryResults&& other) noexcept;
|
||||
- QueryResults& operator=(QueryResults&& other) noexcept;
|
||||
+ QueryResults& operator=(QueryResults&& other);
|
||||
|
||||
void set_reached_beginning(bool reached) { reached_beginning_ = reached; }
|
||||
bool reached_beginning() { return reached_beginning_; }
|
||||
@@ -276,7 +276,7 @@ struct QueryURLResult {
|
||||
QueryURLResult(const QueryURLResult&);
|
||||
QueryURLResult(QueryURLResult&&) noexcept;
|
||||
QueryURLResult& operator=(const QueryURLResult&);
|
||||
- QueryURLResult& operator=(QueryURLResult&&) noexcept;
|
||||
+ QueryURLResult& operator=(QueryURLResult&&);
|
||||
~QueryURLResult();
|
||||
|
||||
// Indicates whether the call to HistoryBackend::QueryURL was successfull
|
||||
diff -up chromium-80.0.3987.132/components/history/core/browser/url_row.cc.el7-noexcept chromium-80.0.3987.132/components/history/core/browser/url_row.cc
|
||||
--- chromium-80.0.3987.132/components/history/core/browser/url_row.cc.el7-noexcept 2020-03-03 13:53:05.000000000 -0500
|
||||
+++ chromium-80.0.3987.132/components/history/core/browser/url_row.cc 2020-03-11 10:47:13.352162096 -0400
|
||||
@@ -26,7 +26,7 @@ URLRow::~URLRow() {
|
||||
}
|
||||
|
||||
URLRow& URLRow::operator=(const URLRow& other) = default;
|
||||
-URLRow& URLRow::operator=(URLRow&& other) noexcept = default;
|
||||
+URLRow& URLRow::operator=(URLRow&& other) = default;
|
||||
|
||||
void URLRow::Swap(URLRow* other) {
|
||||
std::swap(id_, other->id_);
|
||||
diff -up chromium-80.0.3987.132/components/omnibox/browser/suggestion_answer.cc.el7-noexcept chromium-80.0.3987.132/components/omnibox/browser/suggestion_answer.cc
|
||||
--- chromium-80.0.3987.132/components/omnibox/browser/suggestion_answer.cc.el7-noexcept 2020-03-03 13:53:06.000000000 -0500
|
||||
+++ chromium-80.0.3987.132/components/omnibox/browser/suggestion_answer.cc 2020-03-11 10:47:13.352162096 -0400
|
||||
@@ -60,7 +60,7 @@ SuggestionAnswer::TextField::TextField(T
|
||||
SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=(
|
||||
const TextField&) = default;
|
||||
SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=(
|
||||
- TextField&&) noexcept = default;
|
||||
+ TextField&&) = default;
|
||||
|
||||
// static
|
||||
bool SuggestionAnswer::TextField::ParseTextField(const base::Value& field_json,
|
||||
diff -up chromium-80.0.3987.132/components/policy/core/common/policy_map.cc.el7-noexcept chromium-80.0.3987.132/components/policy/core/common/policy_map.cc
|
||||
--- chromium-80.0.3987.132/components/policy/core/common/policy_map.cc.el7-noexcept 2020-03-03 13:53:53.000000000 -0500
|
||||
+++ chromium-80.0.3987.132/components/policy/core/common/policy_map.cc 2020-03-11 10:47:13.353162076 -0400
|
||||
@@ -52,7 +52,7 @@ PolicyMap::Entry::Entry(
|
||||
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(level, scope, source, value ? value->CreateDeepCopy() : nullptr,
|
||||
diff -up chromium-80.0.3987.132/components/search_provider_logos/logo_common.cc.el7-noexcept chromium-80.0.3987.132/components/search_provider_logos/logo_common.cc
|
||||
--- chromium-80.0.3987.132/components/search_provider_logos/logo_common.cc.el7-noexcept 2020-03-03 13:53:06.000000000 -0500
|
||||
+++ chromium-80.0.3987.132/components/search_provider_logos/logo_common.cc 2020-03-11 10:47:13.353162076 -0400
|
||||
@@ -14,14 +14,14 @@ LogoMetadata::LogoMetadata() = default;
|
||||
LogoMetadata::LogoMetadata(const LogoMetadata&) = default;
|
||||
LogoMetadata::LogoMetadata(LogoMetadata&&) noexcept = default;
|
||||
LogoMetadata& LogoMetadata::operator=(const LogoMetadata&) = default;
|
||||
-LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) noexcept = default;
|
||||
+LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) = default;
|
||||
LogoMetadata::~LogoMetadata() = default;
|
||||
|
||||
EncodedLogo::EncodedLogo() = default;
|
||||
EncodedLogo::EncodedLogo(const EncodedLogo&) = default;
|
||||
EncodedLogo::EncodedLogo(EncodedLogo&&) noexcept = default;
|
||||
EncodedLogo& EncodedLogo::operator=(const EncodedLogo&) = default;
|
||||
-EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) noexcept = default;
|
||||
+EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) = default;
|
||||
EncodedLogo::~EncodedLogo() = default;
|
||||
|
||||
Logo::Logo() = default;
|
||||
@@ -29,7 +29,7 @@ Logo::~Logo() = default;
|
||||
|
||||
LogoCallbacks::LogoCallbacks() = default;
|
||||
LogoCallbacks::LogoCallbacks(LogoCallbacks&&) noexcept = default;
|
||||
-LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) noexcept = default;
|
||||
+LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) = default;
|
||||
LogoCallbacks::~LogoCallbacks() = default;
|
||||
|
||||
} // namespace search_provider_logos
|
||||
diff -up chromium-80.0.3987.132/components/signin/public/identity_manager/account_info.cc.el7-noexcept chromium-80.0.3987.132/components/signin/public/identity_manager/account_info.cc
|
||||
--- chromium-80.0.3987.132/components/signin/public/identity_manager/account_info.cc.el7-noexcept 2020-03-03 13:53:54.000000000 -0500
|
||||
+++ chromium-80.0.3987.132/components/signin/public/identity_manager/account_info.cc 2020-03-11 10:47:13.353162076 -0400
|
||||
@@ -58,7 +58,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc
|
||||
CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) =
|
||||
default;
|
||||
|
||||
-CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept =
|
||||
+CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) =
|
||||
default;
|
||||
|
||||
bool CoreAccountInfo::IsEmpty() const {
|
||||
@@ -75,7 +75,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 CoreAccountInfo::IsEmpty() && hosted_domain.empty() &&
|
||||
diff -up chromium-80.0.3987.132/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-80.0.3987.132/google_apis/gaia/core_account_id.cc
|
||||
--- chromium-80.0.3987.132/google_apis/gaia/core_account_id.cc.el7-noexcept 2020-03-11 10:47:13.684155381 -0400
|
||||
+++ chromium-80.0.3987.132/google_apis/gaia/core_account_id.cc 2020-03-11 10:48:18.241848293 -0400
|
||||
@@ -24,7 +24,7 @@ CoreAccountId::~CoreAccountId() = defaul
|
||||
|
||||
CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default;
|
||||
|
||||
-CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default;
|
||||
+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) = default;
|
||||
|
||||
// static
|
||||
CoreAccountId CoreAccountId::FromGaiaId(const std::string& gaia_id) {
|
||||
@@ -82,4 +82,4 @@ std::vector<std::string> ToStringList(
|
||||
for (const auto& account_id : account_ids)
|
||||
account_ids_string.push_back(account_id.ToString());
|
||||
return account_ids_string;
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
diff -up chromium-80.0.3987.132/google_apis/gaia/core_account_id.h.el7-noexcept chromium-80.0.3987.132/google_apis/gaia/core_account_id.h
|
||||
--- chromium-80.0.3987.132/google_apis/gaia/core_account_id.h.el7-noexcept 2020-03-11 10:47:13.686155340 -0400
|
||||
+++ chromium-80.0.3987.132/google_apis/gaia/core_account_id.h 2020-03-11 10:48:47.857248531 -0400
|
||||
@@ -30,7 +30,7 @@ struct CoreAccountId {
|
||||
~CoreAccountId();
|
||||
|
||||
CoreAccountId& operator=(const CoreAccountId&);
|
||||
- CoreAccountId& operator=(CoreAccountId&&) noexcept;
|
||||
+ CoreAccountId& operator=(CoreAccountId&&);
|
||||
|
||||
// Checks if the account is valid or not.
|
||||
bool empty() const;
|
||||
diff -up chromium-80.0.3987.132/gpu/config/gpu_info.cc.el7-noexcept chromium-80.0.3987.132/gpu/config/gpu_info.cc
|
||||
--- chromium-80.0.3987.132/gpu/config/gpu_info.cc.el7-noexcept 2020-03-03 13:53:55.000000000 -0500
|
||||
+++ chromium-80.0.3987.132/gpu/config/gpu_info.cc 2020-03-11 10:47:13.689155280 -0400
|
||||
@@ -173,7 +173,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),
|
||||
diff -up chromium-80.0.3987.132/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept chromium-80.0.3987.132/third_party/openscreen/src/osp/public/service_info.h
|
||||
--- chromium-80.0.3987.132/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept 2020-03-03 13:55:28.000000000 -0500
|
||||
+++ chromium-80.0.3987.132/third_party/openscreen/src/osp/public/service_info.h 2020-03-11 10:47:13.690155259 -0400
|
||||
@@ -22,7 +22,7 @@ struct ServiceInfo {
|
||||
ServiceInfo(ServiceInfo&&) MAYBE_NOEXCEPT = default;
|
||||
ServiceInfo(const ServiceInfo&) MAYBE_NOEXCEPT = default;
|
||||
|
||||
- ServiceInfo& operator=(ServiceInfo&&) MAYBE_NOEXCEPT = default;
|
||||
+ ServiceInfo& operator=(ServiceInfo&&) = default;
|
||||
ServiceInfo& operator=(const ServiceInfo&) MAYBE_NOEXCEPT = default;
|
||||
|
||||
bool operator==(const ServiceInfo& other) const;
|
|
@ -0,0 +1,190 @@
|
|||
diff -up chromium-80.0.3987.87/base/containers/flat_tree.h.c17 chromium-80.0.3987.87/base/containers/flat_tree.h
|
||||
--- chromium-80.0.3987.87/base/containers/flat_tree.h.c17 2020-02-10 10:48:05.982500272 -0500
|
||||
+++ chromium-80.0.3987.87/base/containers/flat_tree.h 2020-02-10 11:04:42.148507892 -0500
|
||||
@@ -776,7 +776,11 @@ template <class Key, class Value, class
|
||||
template <typename K>
|
||||
auto flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::find(const K& key)
|
||||
-> iterator {
|
||||
+#ifdef __cpp_lib_as_const
|
||||
+ return const_cast_it(std::as_const(*this).find(key));
|
||||
+#else
|
||||
return const_cast_it(as_const(*this).find(key));
|
||||
+#endif
|
||||
}
|
||||
|
||||
template <class Key, class Value, class GetKeyFromValue, class KeyCompare>
|
||||
@@ -799,7 +803,11 @@ template <class Key, class Value, class
|
||||
template <typename K>
|
||||
auto flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::equal_range(
|
||||
const K& key) -> std::pair<iterator, iterator> {
|
||||
+#ifdef __cpp_lib_as_const
|
||||
+ auto res = std::as_const(*this).equal_range(key);
|
||||
+#else
|
||||
auto res = as_const(*this).equal_range(key);
|
||||
+#endif
|
||||
return {const_cast_it(res.first), const_cast_it(res.second)};
|
||||
}
|
||||
|
||||
@@ -820,7 +828,11 @@ template <class Key, class Value, class
|
||||
template <typename K>
|
||||
auto flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::lower_bound(
|
||||
const K& key) -> iterator {
|
||||
+#ifdef __cpp_lib_as_const
|
||||
+ return const_cast_it(std::as_const(*this).lower_bound(key));
|
||||
+#else
|
||||
return const_cast_it(as_const(*this).lower_bound(key));
|
||||
+#endif
|
||||
}
|
||||
|
||||
template <class Key, class Value, class GetKeyFromValue, class KeyCompare>
|
||||
@@ -841,7 +853,11 @@ template <class Key, class Value, class
|
||||
template <typename K>
|
||||
auto flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::upper_bound(
|
||||
const K& key) -> iterator {
|
||||
+#ifdef __cpp_lib_as_const
|
||||
+ return const_cast_it(std::as_const(*this).upper_bound(key));
|
||||
+#else
|
||||
return const_cast_it(as_const(*this).upper_bound(key));
|
||||
+#endif
|
||||
}
|
||||
|
||||
template <class Key, class Value, class GetKeyFromValue, class KeyCompare>
|
||||
diff -up chromium-80.0.3987.106/third_party/webrtc/BUILD.gn.c17fix chromium-80.0.3987.106/third_party/webrtc/BUILD.gn
|
||||
--- chromium-80.0.3987.106/third_party/webrtc/BUILD.gn.c17fix 2020-02-20 15:00:23.439563056 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/webrtc/BUILD.gn 2020-02-20 15:01:36.282355645 -0500
|
||||
@@ -237,6 +237,10 @@ config("common_config") {
|
||||
cflags_objc = []
|
||||
defines = []
|
||||
|
||||
+ if (!is_clang) {
|
||||
+ cflags_cc += [ "-std=c++17" ]
|
||||
+ }
|
||||
+
|
||||
if (rtc_enable_protobuf) {
|
||||
defines += [ "WEBRTC_ENABLE_PROTOBUF=1" ]
|
||||
} else {
|
||||
diff -up chromium-80.0.3987.106/third_party/abseil-cpp/BUILD.gn.c17fix chromium-80.0.3987.106/third_party/abseil-cpp/BUILD.gn
|
||||
--- chromium-80.0.3987.106/third_party/abseil-cpp/BUILD.gn.c17fix 2020-02-21 15:12:14.413937754 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/abseil-cpp/BUILD.gn 2020-02-21 15:12:59.128967149 -0500
|
||||
@@ -46,6 +46,10 @@ config("absl_default_cflags_cc") {
|
||||
cflags_cc += [ "-Wbitfield-enum-conversion" ]
|
||||
}
|
||||
}
|
||||
+ if (!is_clang) {
|
||||
+ cflags_cc = [ "-std=c++17" ]
|
||||
+ }
|
||||
+
|
||||
if (is_win) {
|
||||
cflags_cc += [
|
||||
"/wd4005", # macro-redefinition
|
||||
diff -up chromium-80.0.3987.106/third_party/openscreen/src/tools/cddl/BUILD.gn.c17fix chromium-80.0.3987.106/third_party/openscreen/src/tools/cddl/BUILD.gn
|
||||
--- chromium-80.0.3987.106/third_party/openscreen/src/tools/cddl/BUILD.gn.c17fix 2020-02-21 15:35:56.269180510 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/openscreen/src/tools/cddl/BUILD.gn 2020-02-21 15:42:12.718900742 -0500
|
||||
@@ -22,6 +22,10 @@ if (current_toolchain == host_toolchain)
|
||||
"../../third_party/abseil",
|
||||
]
|
||||
|
||||
+ if (!is_clang) {
|
||||
+ cflags_cc = [ "-std=c++17" ]
|
||||
+ }
|
||||
+
|
||||
configs += [ "../../build:openscreen_include_dirs" ]
|
||||
}
|
||||
}
|
||||
diff -up chromium-80.0.3987.106/build/config/compiler/BUILD.gn.c17hack chromium-80.0.3987.106/build/config/compiler/BUILD.gn
|
||||
--- chromium-80.0.3987.106/build/config/compiler/BUILD.gn.c17hack 2020-02-21 16:09:22.871980103 -0500
|
||||
+++ chromium-80.0.3987.106/build/config/compiler/BUILD.gn 2020-02-21 16:09:28.606856106 -0500
|
||||
@@ -570,7 +570,7 @@ config("compiler") {
|
||||
if (cxx11_override) {
|
||||
cflags_cc += [ "-std=c++11" ]
|
||||
} else {
|
||||
- cflags_cc += [ "-std=c++14" ]
|
||||
+ cflags_cc += [ "-std=c++17" ]
|
||||
}
|
||||
}
|
||||
|
||||
diff -up chromium-80.0.3987.106/third_party/openscreen/src/build/config/BUILD.gn.c17fix chromium-80.0.3987.106/third_party/openscreen/src/build/config/BUILD.gn
|
||||
--- chromium-80.0.3987.106/third_party/openscreen/src/build/config/BUILD.gn.c17fix 2020-02-24 08:55:52.674819783 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/openscreen/src/build/config/BUILD.gn 2020-02-24 08:56:08.665466317 -0500
|
||||
@@ -67,8 +67,8 @@ config("openscreen_code") {
|
||||
"-fno-strict-aliasing", # See http://crbug.com/32204
|
||||
]
|
||||
|
||||
- cflags_cc = [ "-std=c++14" ]
|
||||
- cflags_objcc = [ "-std=c++14" ]
|
||||
+ cflags_cc = [ "-std=c++17" ]
|
||||
+ cflags_objcc = [ "-std=c++17" ]
|
||||
|
||||
ldflags = [ "-Werror" ]
|
||||
|
||||
diff -up chromium-80.0.3987.106/build/config/compiler/BUILD.gn.c17fix chromium-80.0.3987.106/build/config/compiler/BUILD.gn
|
||||
--- chromium-80.0.3987.106/build/config/compiler/BUILD.gn.c17fix 2020-02-24 09:39:14.659536642 -0500
|
||||
+++ chromium-80.0.3987.106/build/config/compiler/BUILD.gn 2020-02-24 09:39:23.098366657 -0500
|
||||
@@ -553,7 +553,7 @@ config("compiler") {
|
||||
# Override Chromium's default for projects that wish to stay on C++11.
|
||||
cflags_cc += [ "-std=${standard_prefix}++11" ]
|
||||
} else {
|
||||
- cflags_cc += [ "-std=${standard_prefix}++14" ]
|
||||
+ cflags_cc += [ "-std=${standard_prefix}++17" ]
|
||||
}
|
||||
} else if (!is_win && !is_nacl) {
|
||||
if (target_os == "android") {
|
||||
diff -up chromium-80.0.3987.106/third_party/openscreen/src/platform/api/task_runner.h.spot chromium-80.0.3987.106/third_party/openscreen/src/platform/api/task_runner.h
|
||||
--- chromium-80.0.3987.106/third_party/openscreen/src/platform/api/task_runner.h.spot 2020-02-24 10:56:54.645126949 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/openscreen/src/platform/api/task_runner.h 2020-02-24 10:57:26.788407144 -0500
|
||||
@@ -22,7 +22,7 @@ namespace platform {
|
||||
// that A shall run before B.
|
||||
class TaskRunner {
|
||||
public:
|
||||
- using Task = std::packaged_task<void() noexcept>;
|
||||
+ using Task = std::packaged_task<void()>;
|
||||
|
||||
virtual ~TaskRunner() = default;
|
||||
|
||||
diff -up chromium-80.0.3987.106/base/containers/circular_deque.h.c17fix chromium-80.0.3987.106/base/containers/circular_deque.h
|
||||
--- chromium-80.0.3987.106/base/containers/circular_deque.h.c17fix 2020-02-24 14:42:14.163076162 -0500
|
||||
+++ chromium-80.0.3987.106/base/containers/circular_deque.h 2020-02-24 14:43:38.393120439 -0500
|
||||
@@ -522,11 +522,19 @@ class circular_deque {
|
||||
return buffer_[i - right_size];
|
||||
}
|
||||
value_type& at(size_type i) {
|
||||
+#ifdef __cpp_lib_as_const
|
||||
+ return const_cast<value_type&>(std::as_const(*this).at(i));
|
||||
+#else
|
||||
return const_cast<value_type&>(as_const(*this).at(i));
|
||||
+#endif
|
||||
}
|
||||
|
||||
value_type& operator[](size_type i) {
|
||||
+#ifdef __cpp_lib_as_const
|
||||
+ return const_cast<value_type&>(std::as_const(*this)[i]);
|
||||
+#else
|
||||
return const_cast<value_type&>(as_const(*this)[i]);
|
||||
+#endif
|
||||
}
|
||||
|
||||
const value_type& operator[](size_type i) const { return at(i); }
|
||||
diff -up chromium-80.0.3987.106/device/bluetooth/bluetooth_adapter.cc.c17fix chromium-80.0.3987.106/device/bluetooth/bluetooth_adapter.cc
|
||||
--- chromium-80.0.3987.106/device/bluetooth/bluetooth_adapter.cc.c17fix 2020-02-24 16:09:58.810502665 -0500
|
||||
+++ chromium-80.0.3987.106/device/bluetooth/bluetooth_adapter.cc 2020-02-24 16:10:35.484705843 -0500
|
||||
@@ -638,7 +638,7 @@ void BluetoothAdapter::RecordBluetoothDi
|
||||
}
|
||||
|
||||
// static
|
||||
-constexpr base::TimeDelta BluetoothAdapter::timeoutSec =
|
||||
+const extern base::TimeDelta BluetoothAdapter::timeoutSec =
|
||||
base::TimeDelta::FromSeconds(180);
|
||||
|
||||
} // namespace device
|
||||
diff -up chromium-80.0.3987.122/content/browser/web_package/signed_exchange_prologue.cc.c17fix chromium-80.0.3987.122/content/browser/web_package/signed_exchange_prologue.cc
|
||||
--- chromium-80.0.3987.122/content/browser/web_package/signed_exchange_prologue.cc.c17fix 2020-02-27 13:48:15.815885662 -0500
|
||||
+++ chromium-80.0.3987.122/content/browser/web_package/signed_exchange_prologue.cc 2020-02-27 13:48:24.146711682 -0500
|
||||
@@ -30,7 +30,7 @@ constexpr size_t kMaximumCBORHeaderLengt
|
||||
|
||||
namespace signed_exchange_prologue {
|
||||
|
||||
-constexpr size_t BeforeFallbackUrl::kEncodedSizeInBytes =
|
||||
+const extern size_t BeforeFallbackUrl::kEncodedSizeInBytes =
|
||||
sizeof(kSignedExchangeMagic) + kFallbackUrlLengthFieldSizeInBytes;
|
||||
|
||||
size_t Parse2BytesEncodedLength(base::span<const uint8_t> input) {
|
|
@ -0,0 +1,12 @@
|
|||
diff -up chromium-80.0.3987.87/third_party/webrtc/modules/desktop_capture/BUILD.gn.pipewire03 chromium-80.0.3987.87/third_party/webrtc/modules/desktop_capture/BUILD.gn
|
||||
--- chromium-80.0.3987.87/third_party/webrtc/modules/desktop_capture/BUILD.gn.pipewire03 2020-02-11 13:12:07.006990450 -0500
|
||||
+++ chromium-80.0.3987.87/third_party/webrtc/modules/desktop_capture/BUILD.gn 2020-02-11 13:12:16.294795251 -0500
|
||||
@@ -190,7 +190,7 @@ if (is_linux) {
|
||||
|
||||
if (rtc_link_pipewire) {
|
||||
pkg_config("pipewire") {
|
||||
- packages = [ "libpipewire-0.2" ]
|
||||
+ packages = [ "libpipewire-0.3", "libspa-0.2" ]
|
||||
}
|
||||
} else {
|
||||
# When libpipewire is not directly linked, use stubs to allow for dlopening of
|
|
@ -0,0 +1,22 @@
|
|||
diff -up chromium-80.0.3987.87/media/cdm/supported_cdm_versions.h.missing-cstddef chromium-80.0.3987.87/media/cdm/supported_cdm_versions.h
|
||||
--- chromium-80.0.3987.87/media/cdm/supported_cdm_versions.h.missing-cstddef 2020-02-10 12:07:42.863507440 -0500
|
||||
+++ chromium-80.0.3987.87/media/cdm/supported_cdm_versions.h 2020-02-10 12:07:53.807364746 -0500
|
||||
@@ -6,6 +6,7 @@
|
||||
#define MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_
|
||||
|
||||
#include <array>
|
||||
+#include <cstddef>
|
||||
|
||||
#include "media/base/media_export.h"
|
||||
#include "media/cdm/api/content_decryption_module.h"
|
||||
diff -up chromium-80.0.3987.87/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef chromium-80.0.3987.87/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
|
||||
--- chromium-80.0.3987.87/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef 2020-02-10 11:11:11.733934021 -0500
|
||||
+++ chromium-80.0.3987.87/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-02-10 11:11:11.724934173 -0500
|
||||
@@ -12,6 +12,7 @@
|
||||
#define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
|
||||
|
||||
#include <array>
|
||||
+#include <cstddef>
|
||||
|
||||
namespace webrtc {
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
diff -up chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h.missing-cstdint chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h
|
||||
--- chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h.missing-cstdint 2020-02-21 12:29:43.393191877 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h 2020-02-21 12:29:43.393191877 -0500
|
||||
@@ -17,6 +17,7 @@
|
||||
#ifndef INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
|
||||
#define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <functional>
|
||||
|
||||
#include "perfetto/base/export.h"
|
||||
diff -up chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h
|
||||
--- chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h.missing-cstdint 2020-02-21 12:30:30.739332871 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h 2020-02-21 12:30:30.747332725 -0500
|
||||
@@ -11,6 +11,7 @@
|
||||
#ifndef CALL_RTX_RECEIVE_STREAM_H_
|
||||
#define CALL_RTX_RECEIVE_STREAM_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <map>
|
||||
|
||||
#include "call/rtp_packet_sink_interface.h"
|
||||
diff -up chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h
|
||||
--- chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h.missing-cstdint 2020-02-21 12:30:31.564317903 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h 2020-02-21 12:30:31.561317957 -0500
|
||||
@@ -11,6 +11,7 @@
|
||||
#ifndef COMMON_VIDEO_H264_PPS_PARSER_H_
|
||||
#define COMMON_VIDEO_H264_PPS_PARSER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include "absl/types/optional.h"
|
||||
|
||||
namespace rtc {
|
||||
diff -up chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h
|
||||
--- chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint 2020-02-21 12:30:31.565317885 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h 2020-02-21 12:30:31.565317885 -0500
|
||||
@@ -11,6 +11,7 @@
|
||||
#ifndef COMMON_VIDEO_H264_SPS_PARSER_H_
|
||||
#define COMMON_VIDEO_H264_SPS_PARSER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include "absl/types/optional.h"
|
||||
|
||||
namespace rtc {
|
||||
diff -up chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h
|
||||
--- chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint 2020-02-21 12:52:16.946512744 -0500
|
||||
+++ chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h 2020-02-21 12:52:26.220312608 -0500
|
||||
@@ -11,6 +11,7 @@
|
||||
#ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
|
||||
#define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <limits>
|
||||
|
||||
#include "absl/types/optional.h"
|
||||
diff -up chromium-81.0.4044.92/ui/gfx/linux/drm_util_linux.h.missing-cstdint chromium-81.0.4044.92/ui/gfx/linux/drm_util_linux.h
|
||||
--- chromium-81.0.4044.92/ui/gfx/linux/drm_util_linux.h.missing-cstdint 2020-04-13 15:33:24.879106867 -0400
|
||||
+++ chromium-81.0.4044.92/ui/gfx/linux/drm_util_linux.h 2020-04-13 15:33:47.453689695 -0400
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
#include "ui/gfx/buffer_types.h"
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace ui {
|
||||
|
||||
int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format);
|
|
@ -0,0 +1,11 @@
|
|||
diff -up chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h.missing-string chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h
|
||||
--- chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h.missing-string 2020-02-06 16:47:15.707676509 -0500
|
||||
+++ chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h 2020-02-06 16:47:23.782504337 -0500
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <string>
|
||||
#include <unordered_map>
|
||||
|
||||
#include "base/base_export.h"
|
|
@ -0,0 +1,19 @@
|
|||
diff --git a/ui/views/layout/layout_types.h b/ui/views/layout/layout_types.h
|
||||
index 8f9dbf4..ba118b9 100644
|
||||
--- a/ui/views/layout/layout_types.h
|
||||
+++ b/ui/views/layout/layout_types.h
|
||||
@@ -45,12 +45,12 @@ class VIEWS_EXPORT SizeBounds {
|
||||
~SizeBounds() = default;
|
||||
|
||||
constexpr const base::Optional<int>& width() const { return width_; }
|
||||
- constexpr void set_width(base::Optional<int> width) {
|
||||
+ inline void set_width(base::Optional<int> width) {
|
||||
width_ = std::move(width);
|
||||
}
|
||||
|
||||
constexpr const base::Optional<int>& height() const { return height_; }
|
||||
- constexpr void set_height(base::Optional<int> height) {
|
||||
+ inline void set_height(base::Optional<int> height) {
|
||||
height_ = std::move(height);
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/components/paint_preview/browser/paint_preview_client.cc b/components/paint_preview/browser/paint_preview_client.cc
|
||||
index 38ab6be..dccf07f 100644
|
||||
--- a/components/paint_preview/browser/paint_preview_client.cc
|
||||
+++ b/components/paint_preview/browser/paint_preview_client.cc
|
||||
@@ -78,7 +78,7 @@ PaintPreviewClient::PaintPreviewData::PaintPreviewData() = default;
|
||||
PaintPreviewClient::PaintPreviewData::~PaintPreviewData() = default;
|
||||
|
||||
PaintPreviewClient::PaintPreviewData& PaintPreviewClient::PaintPreviewData::
|
||||
-operator=(PaintPreviewData&& rhs) noexcept = default;
|
||||
+operator=(PaintPreviewData&& rhs) = default;
|
||||
PaintPreviewClient::PaintPreviewData::PaintPreviewData(
|
||||
PaintPreviewData&& other) noexcept = default;
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
From 98e343ab369e4262511b5fce547728e3e5eefba8 Mon Sep 17 00:00:00 2001
|
||||
From: Hidehiko Abe <hidehiko@chromium.org>
|
||||
Date: Fri, 31 Jan 2020 21:27:40 +0000
|
||||
Subject: [PATCH] Use same condition for field declaration and its use.
|
||||
|
||||
cros_supported_configs_ is defined iff OS_CHROMEOS is defined.
|
||||
However, it is used iff USE_CHROMEOS_MEDIA_ACCELERATION regardless of
|
||||
OS_CHROMEOS.
|
||||
This CL aligns the conditions.
|
||||
|
||||
BUG=1047719
|
||||
TEST=Build locally.
|
||||
|
||||
Change-Id: I08fe8532c1778ff8c77c7a9d9cdd96ff2a83272f
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2030924
|
||||
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
|
||||
Reviewed-by: Miguel Casas <mcasas@chromium.org>
|
||||
Commit-Queue: Miguel Casas <mcasas@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#737459}
|
||||
---
|
||||
|
||||
--- a/media/mojo/services/gpu_mojo_media_client.cc
|
||||
+++ b/media/mojo/services/gpu_mojo_media_client.cc
|
||||
@@ -157,7 +157,7 @@ GpuMojoMediaClient::GetSupportedVideoDec
|
||||
supported_config_map[VideoDecoderImplementation::kAlternate] =
|
||||
*d3d11_supported_configs_;
|
||||
|
||||
-#elif BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
|
||||
+#elif defined(OS_CHROMEOS) && BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
|
||||
if (base::FeatureList::IsEnabled(kChromeosVideoDecoder)) {
|
||||
if (!cros_supported_configs_) {
|
||||
cros_supported_configs_ =
|
||||
--- a/media/mojo/services/gpu_mojo_media_client.h
|
||||
+++ b/media/mojo/services/gpu_mojo_media_client.h
|
||||
@@ -74,16 +74,13 @@ class GpuMojoMediaClient : public MojoMe
|
||||
#if defined(OS_CHROMEOS) && BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
|
||||
// Indirectly owned by GpuChildThread.
|
||||
gpu::GpuMemoryBufferFactory* const gpu_memory_buffer_factory_;
|
||||
+ base::Optional<SupportedVideoDecoderConfigs> cros_supported_configs_;
|
||||
#endif // defined(OS_CHROMEOS) && BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
|
||||
CdmProxyFactoryCB cdm_proxy_factory_cb_;
|
||||
#if defined(OS_WIN)
|
||||
base::Optional<SupportedVideoDecoderConfigs> d3d11_supported_configs_;
|
||||
#endif // defined(OS_WIN)
|
||||
|
||||
-#if defined(OS_CHROMEOS)
|
||||
- base::Optional<SupportedVideoDecoderConfigs> cros_supported_configs_;
|
||||
-#endif // defined(OS_CHROMEOS)
|
||||
-
|
||||
DISALLOW_COPY_AND_ASSIGN(GpuMojoMediaClient);
|
||||
};
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
From 5b2ff215473e0526b5b24aeff4ad90d369b21c75 Mon Sep 17 00:00:00 2001
|
||||
From: Julien Isorce <julien.isorce@chromium.org>
|
||||
Date: Wed, 05 Feb 2020 17:59:59 +0000
|
||||
Subject: [PATCH] Fix vaapi with GLX
|
||||
|
||||
The signature of ui's gl::GLImageGLX has changed a little bit
|
||||
since "mplement GpuMemoryBuffers for EGL and GLX":
|
||||
https://chromium-review.googlesource.com/c/chromium/src/+/1984712
|
||||
|
||||
Bug: 1031269
|
||||
Test: build with use_vaapi=true and run with --use-gl=desktop, see
|
||||
Change-Id: I80b07294b9abdfa8233aaf79f7d9ec4c58117090
|
||||
https: //chromium.googlesource.com/chromium/src.git/+/refs/heads/master/docs/gpu/vaapi.md#vaapi-on-linux
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2036494
|
||||
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
|
||||
Reviewed-by: Miguel Casas <mcasas@chromium.org>
|
||||
Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#738595}
|
||||
---
|
||||
|
||||
--- a/media/gpu/vaapi/vaapi_picture_tfp.cc
|
||||
+++ b/media/gpu/vaapi/vaapi_picture_tfp.cc
|
||||
@@ -57,7 +57,7 @@ bool VaapiTFPPicture::Initialize() {
|
||||
if (make_context_current_cb_ && !make_context_current_cb_.Run())
|
||||
return false;
|
||||
|
||||
- glx_image_ = new gl::GLImageGLX(size_, GL_RGB);
|
||||
+ glx_image_ = new gl::GLImageGLX(size_, gfx::BufferFormat::BGRX_8888);
|
||||
if (!glx_image_->Initialize(x_pixmap_)) {
|
||||
// x_pixmap_ will be freed in the destructor.
|
||||
DLOG(ERROR) << "Failed creating a GLX Pixmap for TFP";
|
|
@ -0,0 +1,13 @@
|
|||
diff -up chromium-81.0.4044.92/base/test/BUILD.gn.nofontconfigcache chromium-81.0.4044.92/base/test/BUILD.gn
|
||||
--- chromium-81.0.4044.92/base/test/BUILD.gn.nofontconfigcache 2020-04-13 12:06:59.233796815 -0400
|
||||
+++ chromium-81.0.4044.92/base/test/BUILD.gn 2020-04-13 12:20:16.302174851 -0400
|
||||
@@ -245,9 +245,6 @@ static_library("test_support") {
|
||||
if (is_linux) {
|
||||
public_deps += [ ":fontconfig_util_linux" ]
|
||||
data_deps = [ "//third_party/test_fonts" ]
|
||||
- if (current_toolchain == host_toolchain) {
|
||||
- data_deps += [ ":do_generate_fontconfig_caches" ]
|
||||
- }
|
||||
}
|
||||
|
||||
if (is_ios) {
|
|
@ -0,0 +1,36 @@
|
|||
diff -up chromium-81.0.4044.113/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix chromium-81.0.4044.113/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
|
||||
--- chromium-81.0.4044.113/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix 2020-04-15 19:25:53.000000000 -0400
|
||||
+++ chromium-81.0.4044.113/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2020-04-16 14:41:41.303904954 -0400
|
||||
@@ -64,6 +64,7 @@ void ReportToUMA(VAVDADecoderFailure fai
|
||||
VAVDA_DECODER_FAILURES_MAX + 1);
|
||||
}
|
||||
|
||||
+#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
|
||||
// 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() {
|
||||
cpuid.model() >= kGeminiLakeModelId;
|
||||
return is_geminilake_or_later;
|
||||
}
|
||||
+#endif
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -1171,6 +1173,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe
|
||||
if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
|
||||
return BufferAllocationMode::kNormal;
|
||||
|
||||
+#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
|
||||
+ // Move this to chromeOs only as it is causing problem in some intel linux drivers
|
||||
// On Gemini Lake, Kaby Lake and later we can pass to libva the client's
|
||||
// PictureBuffers to decode onto, which skips the use of the Vpp unit and its
|
||||
// associated format reconciliation copy, avoiding all internal buffer
|
||||
@@ -1187,6 +1191,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
|
||||
num_extra_pics_ = 3;
|
||||
return BufferAllocationMode::kNone;
|
||||
}
|
||||
+#endif
|
||||
|
||||
// If we're here, we have to use the Vpp unit and allocate buffers for
|
||||
// |decoder_|; usually we'd have to allocate the |decoder_|s
|
|
@ -0,0 +1,11 @@
|
|||
diff -up chromium-81.0.4044.92/base/test/icu_test_util.h.missing-memory chromium-81.0.4044.92/base/test/icu_test_util.h
|
||||
--- chromium-81.0.4044.92/base/test/icu_test_util.h.missing-memory 2020-04-15 07:52:11.239815139 -0400
|
||||
+++ chromium-81.0.4044.92/base/test/icu_test_util.h 2020-04-15 07:52:19.982632306 -0400
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef BASE_TEST_ICU_TEST_UTIL_H_
|
||||
#define BASE_TEST_ICU_TEST_UTIL_H_
|
||||
|
||||
+#include <memory>
|
||||
#include <string>
|
||||
|
||||
#include "base/macros.h"
|
|
@ -0,0 +1,79 @@
|
|||
diff -up chromium-81.0.4044.92/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-81.0.4044.92/chrome/common/safe_browsing/BUILD.gn
|
||||
--- chromium-81.0.4044.92/chrome/common/safe_browsing/BUILD.gn.nounrar 2020-04-13 12:01:29.703428516 -0400
|
||||
+++ chromium-81.0.4044.92/chrome/common/safe_browsing/BUILD.gn 2020-04-13 12:03:33.653310203 -0400
|
||||
@@ -72,39 +72,6 @@ if (safe_browsing_mode == 1) {
|
||||
public_deps = [ "//components/safe_browsing/core:csd_proto" ]
|
||||
}
|
||||
|
||||
- source_set("rar_analyzer") {
|
||||
- sources = [
|
||||
- "rar_analyzer.cc",
|
||||
- "rar_analyzer.h",
|
||||
- ]
|
||||
-
|
||||
- deps = [
|
||||
- ":archive_analyzer_results",
|
||||
- ":download_type_util",
|
||||
- ":file_type_policies",
|
||||
- "//base",
|
||||
- "//base:i18n",
|
||||
- "//components/safe_browsing/core:features",
|
||||
- "//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/core:csd_proto" ]
|
||||
- }
|
||||
-
|
||||
source_set("disk_image_type_sniffer_mac") {
|
||||
sources = [
|
||||
"disk_image_type_sniffer_mac.cc",
|
||||
@@ -171,7 +138,6 @@ source_set("safe_browsing") {
|
||||
":archive_analyzer_results",
|
||||
":binary_feature_extractor",
|
||||
":download_type_util",
|
||||
- ":rar_analyzer",
|
||||
"//components/safe_browsing/core:features",
|
||||
]
|
||||
|
||||
diff -up chromium-81.0.4044.92/chrome/common/safe_browsing/DEPS.nounrar chromium-81.0.4044.92/chrome/common/safe_browsing/DEPS
|
||||
--- chromium-81.0.4044.92/chrome/common/safe_browsing/DEPS.nounrar 2020-04-03 00:10:40.000000000 -0400
|
||||
+++ chromium-81.0.4044.92/chrome/common/safe_browsing/DEPS 2020-04-13 12:01:29.703428516 -0400
|
||||
@@ -1,6 +1,5 @@
|
||||
include_rules = [
|
||||
"+components/safe_browsing",
|
||||
"+third_party/protobuf",
|
||||
- "+third_party/unrar",
|
||||
"+third_party/zlib",
|
||||
]
|
||||
diff -up chromium-81.0.4044.92/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-81.0.4044.92/chrome/services/file_util/safe_archive_analyzer.cc
|
||||
--- chromium-81.0.4044.92/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2020-04-03 00:10:40.000000000 -0400
|
||||
+++ chromium-81.0.4044.92/chrome/services/file_util/safe_archive_analyzer.cc 2020-04-13 12:01:29.703428516 -0400
|
||||
@@ -46,10 +46,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
|
||||
void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
|
||||
base::File temporary_file,
|
||||
AnalyzeRarFileCallback callback) {
|
||||
+#if 0
|
||||
DCHECK(rar_file.IsValid());
|
||||
|
||||
safe_browsing::ArchiveAnalyzerResults results;
|
||||
safe_browsing::rar_analyzer::AnalyzeRarFile(
|
||||
std::move(rar_file), std::move(temporary_file), &results);
|
||||
std::move(callback).Run(results);
|
||||
+#else
|
||||
+ NOTREACHED();
|
||||
+#endif
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
diff -up chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc
|
||||
--- chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm 2020-08-31 09:38:46.043993882 -0400
|
||||
+++ chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc 2020-08-31 09:39:21.599906318 -0400
|
||||
@@ -6,6 +6,11 @@
|
||||
|
||||
#include <drm_fourcc.h>
|
||||
|
||||
+// the libdrm in EL-7 is too old to have this define
|
||||
+#ifndef DRM_FORMAT_P010
|
||||
+#define DRM_FORMAT_P010 DRM_FORMAT_INVALID
|
||||
+#endif
|
||||
+
|
||||
#include "base/notreached.h"
|
||||
|
||||
namespace ui {
|
|
@ -1,15 +0,0 @@
|
|||
diff -up chromium-91.0.4472.77/chrome/browser/first_run/first_run_internal_linux.cc.etc chromium-91.0.4472.77/chrome/browser/first_run/first_run_internal_linux.cc
|
||||
--- chromium-91.0.4472.77/chrome/browser/first_run/first_run_internal_linux.cc.etc 2021-06-01 16:37:39.182531036 -0400
|
||||
+++ chromium-91.0.4472.77/chrome/browser/first_run/first_run_internal_linux.cc 2021-06-01 16:39:31.590102809 -0400
|
||||
@@ -20,9 +20,9 @@ bool IsOrganicFirstRun() {
|
||||
|
||||
base::FilePath InitialPrefsPath() {
|
||||
// The standard location of the initial prefs is next to the chrome binary.
|
||||
+ // ...but we patch it to use /etc/chromium
|
||||
base::FilePath initial_prefs;
|
||||
- if (!base::PathService::Get(base::DIR_EXE, &initial_prefs))
|
||||
- return base::FilePath();
|
||||
+ initial_prefs = base::FilePath("/etc/chromium");
|
||||
|
||||
base::FilePath new_path = initial_prefs.AppendASCII(installer::kInitialPrefs);
|
||||
if (base::PathIsReadable(new_path))
|
|
@ -1,13 +0,0 @@
|
|||
diff -up chromium-91.0.4472.77/third_party/closure_compiler/compiler.py.java-allowed chromium-91.0.4472.77/third_party/closure_compiler/compiler.py
|
||||
--- chromium-91.0.4472.77/third_party/closure_compiler/compiler.py.java-allowed 2021-06-02 17:14:48.445064647 +0000
|
||||
+++ chromium-91.0.4472.77/third_party/closure_compiler/compiler.py 2021-06-02 17:15:12.994836949 +0000
|
||||
@@ -13,8 +13,7 @@ import subprocess
|
||||
|
||||
|
||||
_CURRENT_DIR = os.path.join(os.path.dirname(__file__))
|
||||
-_JAVA_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", "java")
|
||||
-assert os.path.isfile(_JAVA_PATH), "java only allowed in android builds"
|
||||
+_JAVA_PATH = "java"
|
||||
|
||||
class Compiler(object):
|
||||
"""Runs the Closure compiler on given source files to typecheck them
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue