commit
db263f775a
@ -1,23 +0,0 @@
|
||||
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"
|
@ -1,26 +0,0 @@
|
||||
diff -up chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn.gcc-swiftshader-visibility chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn
|
||||
--- chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn.gcc-swiftshader-visibility 2021-02-25 16:31:51.929335783 +0000
|
||||
+++ chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn 2021-02-25 16:31:51.929335783 +0000
|
||||
@@ -42,7 +42,8 @@ config("swiftshader_libEGL_private_confi
|
||||
} else if (is_clang) {
|
||||
defines += [ "EGLAPI=__attribute__((visibility(\"protected\"))) __attribute__((no_sanitize(\"function\")))" ]
|
||||
} else {
|
||||
- defines += [ "EGLAPI= " ]
|
||||
+ cflags += [ "-fvisibility=protected" ]
|
||||
+ defines += [ "EGLAPI=__attribute__((visibility(\"protected\")))" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
diff -up chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn.gcc-swiftshader-visibility chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn
|
||||
--- chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn.gcc-swiftshader-visibility 2021-02-25 18:16:28.576901417 +0000
|
||||
+++ chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn 2021-02-25 18:17:50.356567690 +0000
|
||||
@@ -57,7 +57,8 @@ config("swiftshader_libGLESv2_private_co
|
||||
} else if (is_clang) {
|
||||
defines += [ "GL_APICALL=__attribute__((visibility(\"protected\"))) __attribute__((no_sanitize(\"function\")))" ]
|
||||
} else {
|
||||
- defines += [ "GL_APICALL= " ]
|
||||
+ cflags += [ "-fvisibility=protected" ]
|
||||
+ defines += [ "GL_APICALL=__attribute__((visibility(\"protected\")))" ]
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
From c2d0133f47afb59b4ce64e42215d1d053f15250a Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Tue, 13 Apr 2021 23:21:42 +0000
|
||||
Subject: [PATCH] fix crash in ThemeService
|
||||
|
||||
ThemeSyncableService and ThemeService are owned by each other. On
|
||||
destruction of ThemeService, ThemeSyncableService gets destructed as
|
||||
well, but calls RemoveObserver of partly destructed ThemeService object.
|
||||
To avoid already destructed |observers_| list, move it before
|
||||
|theme_syncable_service_| definition.
|
||||
|
||||
Bug: 1190561
|
||||
Change-Id: I4dc2c990d589071d97b7fa737afef54463c84751
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2821311
|
||||
Commit-Queue: Peter Kasting <pkasting@chromium.org>
|
||||
Reviewed-by: Peter Kasting <pkasting@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#872164}
|
||||
---
|
||||
chrome/browser/themes/theme_service.h | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h
|
||||
index 592d40ae9de0f..337dfac9a040f 100644
|
||||
--- a/chrome/browser/themes/theme_service.h
|
||||
+++ b/chrome/browser/themes/theme_service.h
|
||||
@@ -299,6 +299,10 @@ class ThemeService : public KeyedService,
|
||||
// The number of infobars currently displayed.
|
||||
int number_of_reinstallers_ = 0;
|
||||
|
||||
+ // Declared before |theme_syncable_service_|, because ThemeSyncableService
|
||||
+ // removes itself from the |observers_| list on destruction.
|
||||
+ base::ObserverList<ThemeServiceObserver> observers_;
|
||||
+
|
||||
std::unique_ptr<ThemeSyncableService> theme_syncable_service_;
|
||||
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
@@ -320,8 +324,6 @@ class ThemeService : public KeyedService,
|
||||
ScopedObserver<ui::NativeTheme, ui::NativeThemeObserver>
|
||||
native_theme_observer_{this};
|
||||
|
||||
- base::ObserverList<ThemeServiceObserver> observers_;
|
||||
-
|
||||
base::WeakPtrFactory<ThemeService> weak_ptr_factory_{this};
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(ThemeService);
|
@ -0,0 +1,25 @@
|
||||
--- a/buildtools/linux64/clang-format.orig 2021-08-23 09:18:56.269570955 +0200
|
||||
+++ b/buildtools/linux64/clang-format 2021-08-23 09:17:55.531190516 +0200
|
||||
@@ -10,9 +10,9 @@
|
||||
args = sys.argv[1:]
|
||||
inputfiles = [a for a in args if not a.startswith('-')]
|
||||
|
||||
-contents = ''
|
||||
+contents = b''
|
||||
if '-' in args or not inputfiles:
|
||||
- contents = sys.stdin.read()
|
||||
+ contents = sys.stdin.buffer.read()
|
||||
|
||||
# Tarball builds may or may not have depot_tools in $PATH. In the former case,
|
||||
# running 'clang-format' will call back into this script infinitely. Strip off
|
||||
@@ -34,8 +34,8 @@
|
||||
stdout, stderr = proc.communicate(input=contents)
|
||||
# Ignore if clang-format fails. Eg: it may be too old to support C++14.
|
||||
if proc.returncode == 0:
|
||||
- sys.stdout.write(stdout)
|
||||
- sys.stderr.write(stderr)
|
||||
+ sys.stdout.buffer.write(stdout)
|
||||
+ sys.stderr.buffer.write(stderr)
|
||||
sys.exit(0)
|
||||
except OSError:
|
||||
# Ignore if clang-format is not installed.
|
@ -0,0 +1,17 @@
|
||||
GCC: make VRegister::from_code() constexpr on aarch64
|
||||
|
||||
LiftoffRegister::gp() and LiftoffRegister::fp() are constexpr.
|
||||
Therefore, VRegister::from_code() needs to be constexpr as well.
|
||||
diff --git a/v8/src/codegen/arm64/register-arm64.h b/v8/src/codegen/arm64/register-arm64.h
|
||||
index 1150daf..21007a5 100644
|
||||
--- a/v8/src/codegen/arm64/register-arm64.h
|
||||
+++ b/v8/src/codegen/arm64/register-arm64.h
|
||||
@@ -413,7 +413,7 @@ class VRegister : public CPURegister {
|
||||
static constexpr int kMaxNumRegisters = kNumberOfVRegisters;
|
||||
STATIC_ASSERT(kMaxNumRegisters == kDoubleAfterLast);
|
||||
|
||||
- static VRegister from_code(int code) {
|
||||
+ static constexpr VRegister from_code(int code) {
|
||||
// Always return a D register.
|
||||
return VRegister::Create(code, kDRegSizeInBits);
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
diff -up chromium-92.0.4515.107/components/cast_channel/enum_table.h.EnumTable-crash chromium-92.0.4515.107/components/cast_channel/enum_table.h
|
||||
--- chromium-92.0.4515.107/components/cast_channel/enum_table.h.EnumTable-crash 2021-07-19 14:45:12.000000000 -0400
|
||||
+++ chromium-92.0.4515.107/components/cast_channel/enum_table.h 2021-07-26 17:41:21.987375385 -0400
|
||||
@@ -212,7 +212,7 @@ class
|
||||
|
||||
template <typename E>
|
||||
friend class EnumTable;
|
||||
- DISALLOW_COPY_AND_ASSIGN(GenericEnumTableEntry);
|
||||
+ DISALLOW_ASSIGN(GenericEnumTableEntry);
|
||||
};
|
||||
|
||||
// Yes, these constructors really needs to be inlined. Even though they look
|
||||
@@ -250,8 +250,7 @@ class EnumTable {
|
||||
// Constructor for regular entries.
|
||||
constexpr Entry(E value, base::StringPiece str)
|
||||
: GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
|
||||
-
|
||||
- DISALLOW_COPY_AND_ASSIGN(Entry);
|
||||
+ DISALLOW_ASSIGN(Entry);
|
||||
};
|
||||
|
||||
static_assert(sizeof(E) <= sizeof(int32_t),
|
||||
@@ -306,15 +305,14 @@ class EnumTable {
|
||||
if (is_sorted_) {
|
||||
const std::size_t index = static_cast<std::size_t>(value);
|
||||
if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
|
||||
- const auto& entry = data_.begin()[index];
|
||||
+ const auto& entry = data_[index];
|
||||
if (ANALYZER_ASSUME_TRUE(entry.has_str()))
|
||||
return entry.str();
|
||||
}
|
||||
return absl::nullopt;
|
||||
}
|
||||
return GenericEnumTableEntry::FindByValue(
|
||||
- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
|
||||
- data_.size(), static_cast<int32_t>(value));
|
||||
+ &data_[0], data_.size(), static_cast<int32_t>(value));
|
||||
}
|
||||
|
||||
// This overload of GetString is designed for cases where the argument is a
|
||||
@@ -342,8 +340,7 @@ class EnumTable {
|
||||
// enum value directly.
|
||||
absl::optional<E> GetEnum(base::StringPiece str) const {
|
||||
auto* entry = GenericEnumTableEntry::FindByString(
|
||||
- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
|
||||
- data_.size(), str);
|
||||
+ &data_[0], data_.size(), str);
|
||||
return entry ? static_cast<E>(entry->value) : absl::optional<E>();
|
||||
}
|
||||
|
||||
@@ -358,7 +355,7 @@ class EnumTable {
|
||||
// Align the data on a cache line boundary.
|
||||
alignas(64)
|
||||
#endif
|
||||
- std::initializer_list<Entry> data_;
|
||||
+ const std::vector<Entry> data_;
|
||||
bool is_sorted_;
|
||||
|
||||
constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
|
||||
@@ -370,8 +367,8 @@ class EnumTable {
|
||||
|
||||
for (std::size_t i = 0; i < data.size(); i++) {
|
||||
for (std::size_t j = i + 1; j < data.size(); j++) {
|
||||
- const Entry& ei = data.begin()[i];
|
||||
- const Entry& ej = data.begin()[j];
|
||||
+ const Entry& ei = data[i];
|
||||
+ const Entry& ej = data[j];
|
||||
DCHECK(ei.value != ej.value)
|
||||
<< "Found duplicate enum values at indices " << i << " and " << j;
|
||||
DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
|
@ -0,0 +1,45 @@
|
||||
diff -up chromium-92.0.4515.107/tools/gn/src/gn/err.h.gn-gcc-cleanup chromium-92.0.4515.107/tools/gn/src/gn/err.h
|
||||
--- chromium-92.0.4515.107/tools/gn/src/gn/err.h.gn-gcc-cleanup 2021-07-19 14:54:04.000000000 -0400
|
||||
+++ chromium-92.0.4515.107/tools/gn/src/gn/err.h 2021-07-26 17:23:54.477420431 -0400
|
||||
@@ -56,7 +56,7 @@ class Err {
|
||||
const std::string& help_text = std::string());
|
||||
|
||||
Err(const Err& other);
|
||||
-
|
||||
+ Err& operator=(const Err& other) = default;
|
||||
~Err();
|
||||
|
||||
bool has_error() const { return has_error_; }
|
||||
diff -up chromium-92.0.4515.107/tools/gn/src/gn/label_pattern.h.gn-gcc-cleanup chromium-92.0.4515.107/tools/gn/src/gn/label_pattern.h
|
||||
--- chromium-92.0.4515.107/tools/gn/src/gn/label_pattern.h.gn-gcc-cleanup 2021-07-26 17:23:54.478420447 -0400
|
||||
+++ chromium-92.0.4515.107/tools/gn/src/gn/label_pattern.h 2021-07-26 17:26:36.904894419 -0400
|
||||
@@ -33,6 +33,7 @@ class LabelPattern {
|
||||
std::string_view name,
|
||||
const Label& toolchain_label);
|
||||
LabelPattern(const LabelPattern& other);
|
||||
+ LabelPattern& operator=(const LabelPattern& other) = default;
|
||||
~LabelPattern();
|
||||
|
||||
// Converts the given input string to a pattern. This does special stuff
|
||||
diff -up chromium-92.0.4515.107/tools/gn/src/gn/substitution_list.h.gn-gcc-cleanup chromium-92.0.4515.107/tools/gn/src/gn/substitution_list.h
|
||||
--- chromium-92.0.4515.107/tools/gn/src/gn/substitution_list.h.gn-gcc-cleanup 2021-07-19 14:54:04.000000000 -0400
|
||||
+++ chromium-92.0.4515.107/tools/gn/src/gn/substitution_list.h 2021-07-26 17:23:54.478420447 -0400
|
||||
@@ -15,6 +15,7 @@ class SubstitutionList {
|
||||
public:
|
||||
SubstitutionList();
|
||||
SubstitutionList(const SubstitutionList& other);
|
||||
+ SubstitutionList& operator=(const SubstitutionList& other) = default;
|
||||
~SubstitutionList();
|
||||
|
||||
bool Parse(const Value& value, Err* err);
|
||||
diff -up chromium-92.0.4515.107/tools/gn/src/gn/substitution_pattern.h.gn-gcc-cleanup chromium-92.0.4515.107/tools/gn/src/gn/substitution_pattern.h
|
||||
--- chromium-92.0.4515.107/tools/gn/src/gn/substitution_pattern.h.gn-gcc-cleanup 2021-07-19 14:54:04.000000000 -0400
|
||||
+++ chromium-92.0.4515.107/tools/gn/src/gn/substitution_pattern.h 2021-07-26 17:23:54.478420447 -0400
|
||||
@@ -35,6 +35,7 @@ class SubstitutionPattern {
|
||||
|
||||
SubstitutionPattern();
|
||||
SubstitutionPattern(const SubstitutionPattern& other);
|
||||
+ SubstitutionPattern& operator=(const SubstitutionPattern& other) = default;
|
||||
~SubstitutionPattern();
|
||||
|
||||
// Parses the given string and fills in the pattern. The pattern must only
|
@ -0,0 +1,90 @@
|
||||
diff -up chromium-92.0.4515.107/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-92.0.4515.107/chrome/common/safe_browsing/BUILD.gn
|
||||
--- chromium-92.0.4515.107/chrome/common/safe_browsing/BUILD.gn.nounrar 2021-07-19 14:45:10.000000000 -0400
|
||||
+++ chromium-92.0.4515.107/chrome/common/safe_browsing/BUILD.gn 2021-07-26 16:44:53.670761825 -0400
|
||||
@@ -43,39 +43,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",
|
||||
- "//base",
|
||||
- "//base:i18n",
|
||||
- "//components/safe_browsing/core:features",
|
||||
- "//components/safe_browsing/core:file_type_policies",
|
||||
- "//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" ]
|
||||
- }
|
||||
-
|
||||
if (is_mac) {
|
||||
source_set("disk_image_type_sniffer_mac") {
|
||||
sources = [
|
||||
@@ -145,7 +112,6 @@ source_set("safe_browsing") {
|
||||
":archive_analyzer_results",
|
||||
":binary_feature_extractor",
|
||||
":download_type_util",
|
||||
- ":rar_analyzer",
|
||||
"//components/safe_browsing/core:features",
|
||||
]
|
||||
|
||||
diff -up chromium-92.0.4515.107/chrome/common/safe_browsing/DEPS.nounrar chromium-92.0.4515.107/chrome/common/safe_browsing/DEPS
|
||||
--- chromium-92.0.4515.107/chrome/common/safe_browsing/DEPS.nounrar 2021-07-19 14:45:10.000000000 -0400
|
||||
+++ chromium-92.0.4515.107/chrome/common/safe_browsing/DEPS 2021-07-26 16:44:53.670761825 -0400
|
||||
@@ -1,6 +1,5 @@
|
||||
include_rules = [
|
||||
"+components/safe_browsing",
|
||||
"+third_party/protobuf",
|
||||
- "+third_party/unrar",
|
||||
"+third_party/zlib",
|
||||
]
|
||||
diff -up chromium-92.0.4515.107/chrome/services/file_util/BUILD.gn.nounrar chromium-92.0.4515.107/chrome/services/file_util/BUILD.gn
|
||||
--- chromium-92.0.4515.107/chrome/services/file_util/BUILD.gn.nounrar 2021-07-26 16:44:53.670761825 -0400
|
||||
+++ chromium-92.0.4515.107/chrome/services/file_util/BUILD.gn 2021-07-26 16:48:21.283924750 -0400
|
||||
@@ -50,7 +50,6 @@ source_set("file_util") {
|
||||
deps += [
|
||||
"//chrome/common/safe_browsing",
|
||||
"//chrome/common/safe_browsing:archive_analyzer_results",
|
||||
- "//chrome/common/safe_browsing:rar_analyzer",
|
||||
]
|
||||
}
|
||||
|
||||
diff -up chromium-92.0.4515.107/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-92.0.4515.107/chrome/services/file_util/safe_archive_analyzer.cc
|
||||
--- chromium-92.0.4515.107/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2021-07-19 14:45:11.000000000 -0400
|
||||
+++ chromium-92.0.4515.107/chrome/services/file_util/safe_archive_analyzer.cc 2021-07-26 16:44:53.670761825 -0400
|
||||
@@ -45,10 +45,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,24 @@
|
||||
diff -up chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
|
||||
--- chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2021-07-19 14:47:19.000000000 -0400
|
||||
+++ chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2021-07-26 17:02:23.160750472 -0400
|
||||
@@ -83,7 +83,7 @@ def _MinifyJS(input_js):
|
||||
|
||||
with tempfile.NamedTemporaryFile() as _:
|
||||
args = [
|
||||
- 'python',
|
||||
+ 'python2',
|
||||
rjsmin_path
|
||||
]
|
||||
p = subprocess.Popen(args,
|
||||
diff -up chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py.py2 chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py
|
||||
--- chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py.py2 2021-07-19 14:45:43.000000000 -0400
|
||||
+++ chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py 2021-07-26 17:02:23.160750472 -0400
|
||||
@@ -130,7 +130,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,24 @@
|
||||
diff -up chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
|
||||
--- chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2021-07-19 14:47:19.000000000 -0400
|
||||
+++ chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2021-07-26 17:02:23.160750472 -0400
|
||||
@@ -83,7 +83,7 @@ def _MinifyJS(input_js):
|
||||
|
||||
with tempfile.NamedTemporaryFile() as _:
|
||||
args = [
|
||||
- 'python',
|
||||
+ 'python3',
|
||||
rjsmin_path
|
||||
]
|
||||
p = subprocess.Popen(args,
|
||||
diff -up chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py.py2 chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py
|
||||
--- chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py.py2 2021-07-19 14:45:43.000000000 -0400
|
||||
+++ chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py 2021-07-26 17:02:23.160750472 -0400
|
||||
@@ -130,7 +130,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/python3',
|
||||
'--args=%s' % gn_gen_args, "--root=" + SRC_ROOT
|
||||
])
|
||||
|
@ -0,0 +1,17 @@
|
||||
diff -up chromium-92.0.4515.107/third_party/jinja2/tests.py.py3 chromium-92.0.4515.107/third_party/jinja2/tests.py
|
||||
--- chromium-92.0.4515.107/third_party/jinja2/tests.py.py3 2021-07-28 15:53:45.670961029 -0400
|
||||
+++ chromium-92.0.4515.107/third_party/jinja2/tests.py 2021-07-28 15:55:56.637013096 -0400
|
||||
@@ -10,7 +10,12 @@
|
||||
"""
|
||||
import operator
|
||||
import re
|
||||
-from collections import Mapping
|
||||
+import sys
|
||||
+if sys.version_info[:2] >= (3, 8): # pragma: no cover
|
||||
+ from collections.abc import Mapping
|
||||
+else: # pragma: no cover
|
||||
+ from collections import Mapping
|
||||
+
|
||||
from jinja2.runtime import Undefined
|
||||
from jinja2._compat import text_type, string_types, integer_types
|
||||
import decimal
|
@ -0,0 +1,13 @@
|
||||
diff -up chromium-92.0.4515.107/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc.sigstkszfix chromium-92.0.4515.107/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc
|
||||
diff -up chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.sigstkszfix chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
|
||||
--- chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.sigstkszfix 2021-07-19 14:47:20.000000000 -0400
|
||||
+++ chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2021-07-26 17:28:50.155924005 -0400
|
||||
@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() {
|
||||
// SIGSTKSZ may be too small to prevent the signal handlers from overrunning
|
||||
// the alternative stack. Ensure that the size of the alternative stack is
|
||||
// large enough.
|
||||
- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
|
||||
+ static const unsigned kSigStackSize = std::max(static_cast<long>(16384), SIGSTKSZ);
|
||||
|
||||
// Only set an alternative stack if there isn't already one, or if the current
|
||||
// one is too small.
|
@ -0,0 +1,12 @@
|
||||
diff -up chromium-92.0.4515.107/components/os_crypt/features.gni.disblegnomekeyring chromium-92.0.4515.107/components/os_crypt/features.gni
|
||||
--- chromium-92.0.4515.107/components/os_crypt/features.gni.disblegnomekeyring 2021-07-26 22:31:54.887207201 -0400
|
||||
+++ chromium-92.0.4515.107/components/os_crypt/features.gni 2021-07-26 22:35:00.879013268 -0400
|
||||
@@ -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 || is_chromeos_lacros) && use_glib
|
||||
+ use_gnome_keyring = false
|
||||
|
||||
# Whether to make account and service names for the crypto key storage
|
||||
# configurable at runtime for embedders.
|
@ -0,0 +1,16 @@
|
||||
diff -up chromium-92.0.4515.107/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.clone3 chromium-92.0.4515.107/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
--- chromium-92.0.4515.107/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.clone3 2021-08-16 09:05:35.836277326 -0400
|
||||
+++ chromium-92.0.4515.107/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2021-08-16 09:06:17.420502628 -0400
|
||||
@@ -178,6 +178,12 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
||||
return RestrictCloneToThreadsAndEPERMFork();
|
||||
}
|
||||
|
||||
+ // clone3 takes a pointer argument which we cannot examine, so return ENOSYS
|
||||
+ // to force the libc to use clone. See https://crbug.com/1213452.
|
||||
+ if (sysno == __NR_clone3) {
|
||||
+ return Error(ENOSYS);
|
||||
+ }
|
||||
+
|
||||
if (sysno == __NR_fcntl)
|
||||
return RestrictFcntlCommands();
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,20 @@
|
||||
diff -up chromium-92.0.4515.107/chrome/common/chrome_paths.cc.widevine-other-locations chromium-92.0.4515.107/chrome/common/chrome_paths.cc
|
||||
--- chromium-92.0.4515.107/chrome/common/chrome_paths.cc.widevine-other-locations 2021-07-26 16:50:41.815065696 -0400
|
||||
+++ chromium-92.0.4515.107/chrome/common/chrome_paths.cc 2021-07-26 16:58:08.334868284 -0400
|
||||
@@ -313,6 +313,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(".local/lib/libwidevinecdm.so"));
|
||||
+ 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/_platform_specific/linux_x64/libwidevinecdm.so"));
|
||||
+ break;
|
||||
+ }
|
||||
if (!GetComponentDirectory(&cur))
|
||||
return false;
|
||||
#if !BUILDFLAG(IS_CHROMEOS_ASH)
|
@ -0,0 +1,47 @@
|
||||
From 7108f83c8ad1bad4072e4f32da3db6d59cf51400 Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Murashov <ivan.murashov@lge.com>
|
||||
Date: Tue, 20 Jul 2021 13:16:44 +0300
|
||||
Subject: [PATCH] GCC: Remove double declaration of ContextSet
|
||||
|
||||
After the CL
|
||||
https://chromium-review.googlesource.com/c/angle/angle/+/2965780
|
||||
the build with GCC failed with error:
|
||||
/third_party/angle/src/libANGLE/Display.h:325:37: error: declaration of
|
||||
'typedef class std::__1::set<gl::Context*> egl::Display::ContextSet'
|
||||
changes meaning of 'ContextSet' [-fpermissive]
|
||||
/third_party/angle/src/libANGLE/Display.h:75:7: note: 'ContextSet'
|
||||
declared here as 'using ContextSet = class std::__1::set<gl::Context*>'
|
||||
|
||||
To fix the error the double declaration of ContextSet is removed.
|
||||
|
||||
Bug: angleproject:5878, chromium:819294
|
||||
Change-Id: Id9e52061af53ea18dd5d13b960daaa67a14f61ca
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3038804
|
||||
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
||||
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
||||
---
|
||||
|
||||
diff --git a/third_party/angle/CONTRIBUTORS b/third_party/angle/CONTRIBUTORS
|
||||
index 887ddc2..94b1b4d 100644
|
||||
--- a/third_party/angle/CONTRIBUTORS
|
||||
+++ b/third_party/angle/CONTRIBUTORS
|
||||
@@ -154,6 +154,7 @@
|
||||
|
||||
LG Electronics, Inc.
|
||||
Jani Hautakangas
|
||||
+ Ivan Murashov
|
||||
|
||||
IBM Inc.
|
||||
Junliang Yan
|
||||
diff --git a/third_party/angle/src/libANGLE/Display.h b/third_party/angle/src/libANGLE/Display.h
|
||||
index f33123b..f0c0910 100644
|
||||
--- a/third_party/angle/src/libANGLE/Display.h
|
||||
+++ b/third_party/angle/src/libANGLE/Display.h
|
||||
@@ -322,7 +322,6 @@
|
||||
|
||||
ConfigSet mConfigSet;
|
||||
|
||||
- typedef std::set<gl::Context *> ContextSet;
|
||||
ContextSet mContextSet;
|
||||
|
||||
typedef std::set<Image *> ImageSet;
|
@ -0,0 +1,24 @@
|
||||
From 409859ad9ba763a4267fb3457df7cd8eb0b7387b Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Sun, 25 Jul 2021 19:43:45 +0000
|
||||
Subject: [PATCH] IWYU: add vector for std::vector
|
||||
|
||||
---
|
||||
chrome/browser/devtools/devtools_embedder_message_dispatcher.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h b/chrome/browser/devtools/devtools_embedder_message_dispatcher.h
|
||||
index 12f8500..4007112 100644
|
||||
--- a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h
|
||||
+++ b/chrome/browser/devtools/devtools_embedder_message_dispatcher.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <map>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
+#include <vector>
|
||||
|
||||
#include "base/callback.h"
|
||||
#include "ui/gfx/geometry/insets.h"
|
||||
--
|
||||
2.31.1
|
||||
|
@ -0,0 +1,24 @@
|
||||
From 92fc089d50fc81b9903cd0573c95749e41081474 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Sun, 25 Jul 2021 21:38:26 +0000
|
||||
Subject: [PATCH] IWYU: add cstring for std::strcpy
|
||||
|
||||
---
|
||||
extensions/browser/extension_dialog_auto_confirm.cc | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/extensions/browser/extension_dialog_auto_confirm.cc b/extensions/browser/extension_dialog_auto_confirm.cc
|
||||
index adb4ac3..be8b161 100644
|
||||
--- a/extensions/browser/extension_dialog_auto_confirm.cc
|
||||
+++ b/extensions/browser/extension_dialog_auto_confirm.cc
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "extensions/browser/extension_dialog_auto_confirm.h"
|
||||
|
||||
+#include <cstring>
|
||||
#include <utility>
|
||||
|
||||
#include "base/check.h"
|
||||
--
|
||||
2.31.1
|
||||
|
@ -0,0 +1,117 @@
|
||||
From 7a6289c5ace52cf88f0e19caa5f78b7c15d0e7a6 Mon Sep 17 00:00:00 2001
|
||||
From: Miklos Vajna <vmiklos@collabora.co.uk>
|
||||
Date: Wed, 21 Jul 2021 17:42:30 +0000
|
||||
Subject: [PATCH] fxcodec, fxge: fix missing includes with libstdc++
|
||||
|
||||
These missing includes break the build with gcc/libstdc++, they were not
|
||||
a problem in practice with clang/libc++.
|
||||
|
||||
Change-Id: I40013f97ba7ab06f32aa59f87b04aec06a19478c
|
||||
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/83210
|
||||
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
||||
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
||||
---
|
||||
|
||||
diff --git a/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp b/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp
|
||||
index cea0679..036f250 100644
|
||||
--- a/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp
|
||||
+++ b/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "core/fxcodec/jpeg/jpegmodule.h"
|
||||
|
||||
#include <setjmp.h>
|
||||
+#include <string.h>
|
||||
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
diff --git a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp
|
||||
index c66985a..9c1122b 100644
|
||||
--- a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp
|
||||
+++ b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxcodec/jpx/cjpx_decoder.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include <algorithm>
|
||||
#include <limits>
|
||||
#include <utility>
|
||||
diff --git a/third_party/pdfium/core/fxge/cfx_cliprgn.cpp b/third_party/pdfium/core/fxge/cfx_cliprgn.cpp
|
||||
index 5369d52..d198852 100644
|
||||
--- a/third_party/pdfium/core/fxge/cfx_cliprgn.cpp
|
||||
+++ b/third_party/pdfium/core/fxge/cfx_cliprgn.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxge/cfx_cliprgn.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include <utility>
|
||||
|
||||
#include "core/fxge/dib/cfx_dibitmap.h"
|
||||
diff --git a/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp b/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp
|
||||
index 6f9b420..0f1ffae 100644
|
||||
--- a/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp
|
||||
+++ b/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxge/dib/cfx_bitmapcomposer.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include "core/fxge/cfx_cliprgn.h"
|
||||
#include "core/fxge/dib/cfx_dibitmap.h"
|
||||
|
||||
diff --git a/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp b/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp
|
||||
index f57c00e..45a0a18 100644
|
||||
--- a/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp
|
||||
+++ b/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxge/dib/cfx_bitmapstorer.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include <utility>
|
||||
|
||||
#include "core/fxge/dib/cfx_dibitmap.h"
|
||||
diff --git a/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp b/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp
|
||||
index 4ec0ddb..a1de2fb 100644
|
||||
--- a/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp
|
||||
+++ b/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxge/dib/cfx_dibbase.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include <algorithm>
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
diff --git a/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp b/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp
|
||||
index d7ccf6c..94e8acc 100644
|
||||
--- a/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp
|
||||
+++ b/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxge/dib/cfx_dibitmap.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include <limits>
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
diff --git a/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp b/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp
|
||||
index e8362d7..c04c6dc 100644
|
||||
--- a/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp
|
||||
+++ b/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxge/dib/cfx_scanlinecompositor.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include <algorithm>
|
||||
|
||||
#include "core/fxge/dib/fx_dib.h"
|
@ -0,0 +1,34 @@
|
||||
diff -up chromium-93.0.4577.63/buildtools/linux64/clang-format.clang-format-py3 chromium-93.0.4577.63/buildtools/linux64/clang-format
|
||||
--- chromium-93.0.4577.63/buildtools/linux64/clang-format.clang-format-py3 2021-09-03 04:42:46.736294345 +0000
|
||||
+++ chromium-93.0.4577.63/buildtools/linux64/clang-format 2021-09-03 04:59:55.296512600 +0000
|
||||
@@ -10,9 +10,9 @@ import sys
|
||||
args = sys.argv[1:]
|
||||
inputfiles = [a for a in args if not a.startswith('-')]
|
||||
|
||||
-contents = ''
|
||||
+contents = b''
|
||||
if '-' in args or not inputfiles:
|
||||
- contents = sys.stdin.read()
|
||||
+ contents = sys.stdin.buffer.read()
|
||||
|
||||
# Tarball builds may or may not have depot_tools in $PATH. In the former case,
|
||||
# running 'clang-format' will call back into this script infinitely. Strip off
|
||||
@@ -34,14 +34,14 @@ try:
|
||||
stdout, stderr = proc.communicate(input=contents)
|
||||
# Ignore if clang-format fails. Eg: it may be too old to support C++14.
|
||||
if proc.returncode == 0:
|
||||
- sys.stdout.write(stdout)
|
||||
- sys.stderr.write(stderr)
|
||||
+ sys.stdout.buffer.write(stdout)
|
||||
+ sys.stderr.buffer.write(stderr)
|
||||
sys.exit(0)
|
||||
except OSError:
|
||||
# Ignore if clang-format is not installed.
|
||||
pass
|
||||
|
||||
# If any failure happens, continue with unformatted files.
|
||||
-sys.stdout.write(contents)
|
||||
+sys.stdout.buffer.write(contents)
|
||||
for inputfile in inputfiles:
|
||||
- sys.stdout.write(open(inputfile).read())
|
||||
+ sys.stdout.buffer.write(open(inputfile).read())
|
@ -0,0 +1,52 @@
|
||||
diff -up chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp.freetype-2.11 chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp
|
||||
--- chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp.freetype-2.11 2021-09-02 08:49:18.996863417 -0400
|
||||
+++ chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp 2021-09-02 08:56:07.716626801 -0400
|
||||
@@ -712,7 +712,11 @@ void colrv1_draw_paint(SkCanvas* canvas,
|
||||
canvas->drawPaint(colrPaint);
|
||||
break;
|
||||
}
|
||||
+#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
|
||||
case FT_COLR_PAINTFORMAT_TRANSFORM:
|
||||
+#else
|
||||
+ case FT_COLR_PAINTFORMAT_TRANSFORMED:
|
||||
+#endif
|
||||
case FT_COLR_PAINTFORMAT_TRANSLATE:
|
||||
case FT_COLR_PAINTFORMAT_SCALE:
|
||||
case FT_COLR_PAINTFORMAT_ROTATE:
|
||||
@@ -760,10 +764,17 @@ void colrv1_transform(SkCanvas* canvas,
|
||||
SkMatrix transform;
|
||||
|
||||
switch (colrv1_paint.format) {
|
||||
+#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
|
||||
case FT_COLR_PAINTFORMAT_TRANSFORM: {
|
||||
transform = ToSkMatrix(colrv1_paint.u.transform.affine);
|
||||
break;
|
||||
}
|
||||
+#else
|
||||
+ case FT_COLR_PAINTFORMAT_TRANSFORMED: {
|
||||
+ transform = ToSkMatrix(colrv1_paint.u.transformed.affine);
|
||||
+ break;
|
||||
+ }
|
||||
+#endif
|
||||
case FT_COLR_PAINTFORMAT_TRANSLATE: {
|
||||
transform = SkMatrix::Translate(
|
||||
SkFixedToScalar(colrv1_paint.u.translate.dx),
|
||||
@@ -889,11 +900,18 @@ bool colrv1_traverse_paint(SkCanvas* can
|
||||
traverse_result = colrv1_start_glyph(canvas, palette, face, paint.u.colr_glyph.glyphID,
|
||||
FT_COLOR_NO_ROOT_TRANSFORM);
|
||||
break;
|
||||
+#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
|
||||
case FT_COLR_PAINTFORMAT_TRANSFORM:
|
||||
colrv1_transform(canvas, face, paint);
|
||||
traverse_result = colrv1_traverse_paint(canvas, palette, face,
|
||||
paint.u.transform.paint, visited_set);
|
||||
break;
|
||||
+#else
|
||||
+ case FT_COLR_PAINTFORMAT_TRANSFORMED:
|
||||
+ colrv1_transform(canvas, face, paint);
|
||||
+ traverse_result = colrv1_traverse_paint(canvas, palette, face,
|
||||
+ paint.u.transformed.paint, visited_set);
|
||||
+#endif
|
||||
case FT_COLR_PAINTFORMAT_TRANSLATE:
|
||||
colrv1_transform(canvas, face, paint);
|
||||
traverse_result = colrv1_traverse_paint(canvas, palette, face,
|
@ -0,0 +1,45 @@
|
||||
diff -up chromium-93.0.4577.63/net/base/test_data_stream.cc.missing-cstring chromium-93.0.4577.63/net/base/test_data_stream.cc
|
||||
--- chromium-93.0.4577.63/net/base/test_data_stream.cc.missing-cstring 2021-09-03 13:59:54.051831465 +0000
|
||||
+++ chromium-93.0.4577.63/net/base/test_data_stream.cc 2021-09-03 14:00:05.448414041 +0000
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "net/base/test_data_stream.h"
|
||||
|
||||
#include <algorithm>
|
||||
+#include <cstring>
|
||||
|
||||
namespace net {
|
||||
|
||||
diff -up chromium-93.0.4577.63/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring chromium-93.0.4577.63/third_party/webrtc/audio/utility/channel_mixer.cc
|
||||
--- chromium-93.0.4577.63/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring 2021-09-03 12:29:44.105246962 +0000
|
||||
+++ chromium-93.0.4577.63/third_party/webrtc/audio/utility/channel_mixer.cc 2021-09-03 12:29:44.106246925 +0000
|
||||
@@ -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-93.0.4577.63/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring chromium-93.0.4577.63/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
|
||||
--- chromium-93.0.4577.63/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring 2021-09-03 12:29:43.585266089 +0000
|
||||
+++ chromium-93.0.4577.63/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc 2021-09-03 12:29:43.585266089 +0000
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <sys/mman.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
+#include <cstring>
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
|
||||
diff -up chromium-93.0.4577.63/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring chromium-93.0.4577.63/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
|
||||
--- chromium-93.0.4577.63/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring 2021-09-03 12:29:43.275277492 +0000
|
||||
+++ chromium-93.0.4577.63/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc 2021-09-03 12:29:43.273277565 +0000
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include "modules/video_coding/utility/ivf_file_reader.h"
|
||||
|
||||
+#include <cstring>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
@ -0,0 +1,12 @@
|
||||
diff -up chromium-93.0.4577.63/services/network/test/test_url_loader_factory.h.mojo-header-fix chromium-93.0.4577.63/services/network/test/test_url_loader_factory.h
|
||||
--- chromium-93.0.4577.63/services/network/test/test_url_loader_factory.h.mojo-header-fix 2021-09-03 17:22:17.902206557 +0000
|
||||
+++ chromium-93.0.4577.63/services/network/test/test_url_loader_factory.h 2021-09-03 17:22:31.853693947 +0000
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "services/network/public/cpp/resource_request.h"
|
||||
#include "services/network/public/mojom/url_loader.mojom.h"
|
||||
#include "services/network/public/mojom/url_loader_factory.mojom.h"
|
||||
-#include "services/network/public/mojom/url_response_head.mojom-forward.h"
|
||||
+#include "services/network/public/mojom/url_response_head.mojom.h"
|
||||
|
||||
namespace network {
|
||||
class WeakWrapperSharedURLLoaderFactory;
|
@ -0,0 +1,90 @@
|
||||
diff -up chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn
|
||||
--- chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn.nounrar 2021-09-02 08:22:31.280927364 -0400
|
||||
+++ chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn 2021-09-02 08:23:32.143189935 -0400
|
||||
@@ -43,39 +43,6 @@ if (safe_browsing_mode == 1) {
|
||||
public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
|
||||
}
|
||||
|
||||
- source_set("rar_analyzer") {
|
||||
- sources = [
|
||||
- "rar_analyzer.cc",
|
||||
- "rar_analyzer.h",
|
||||
- ]
|
||||
-
|
||||
- deps = [
|
||||
- ":archive_analyzer_results",
|
||||
- ":download_type_util",
|
||||
- "//base",
|
||||
- "//base:i18n",
|
||||
- "//components/safe_browsing/content/common:file_type_policies",
|
||||
- "//components/safe_browsing/core/common",
|
||||
- "//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/common/proto:csd_proto" ]
|
||||
- }
|
||||
-
|
||||
if (is_mac) {
|
||||
source_set("disk_image_type_sniffer_mac") {
|
||||
sources = [
|
||||
@@ -149,7 +116,6 @@ source_set("safe_browsing") {
|
||||
":archive_analyzer_results",
|
||||
":binary_feature_extractor",
|
||||
":download_type_util",
|
||||
- ":rar_analyzer",
|
||||
"//components/safe_browsing/core/common",
|
||||
]
|
||||
|
||||
diff -up chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS.nounrar chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS
|
||||
--- chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS.nounrar 2021-09-02 08:22:31.280927364 -0400
|
||||
+++ chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS 2021-09-02 08:23:56.092293262 -0400
|
||||
@@ -2,6 +2,5 @@ include_rules = [
|
||||
"+components/safe_browsing/content/common",
|
||||
"+components/safe_browsing/core/common",
|
||||
"+third_party/protobuf",
|
||||
- "+third_party/unrar",
|
||||
"+third_party/zlib",
|
||||
]
|
||||
diff -up chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn.nounrar chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn
|
||||
--- chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn.nounrar 2021-08-31 21:39:29.000000000 -0400
|
||||
+++ chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn 2021-09-02 08:22:31.280927364 -0400
|
||||
@@ -50,7 +50,6 @@ source_set("file_util") {
|
||||
deps += [
|
||||
"//chrome/common/safe_browsing",
|
||||
"//chrome/common/safe_browsing:archive_analyzer_results",
|
||||
- "//chrome/common/safe_browsing:rar_analyzer",
|
||||
]
|
||||
}
|
||||
|
||||
diff -up chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc
|
||||
--- chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2021-08-31 21:39:29.000000000 -0400
|
||||
+++ chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc 2021-09-02 08:22:31.281927369 -0400
|
||||
@@ -45,10 +45,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,12 @@
|
||||
diff -up chromium-93.0.4577.63/tools/gn/bootstrap/bootstrap.py.py3 chromium-93.0.4577.63/tools/gn/bootstrap/bootstrap.py
|
||||
--- chromium-93.0.4577.63/tools/gn/bootstrap/bootstrap.py.py3 2021-08-31 21:40:34.000000000 -0400
|
||||
+++ chromium-93.0.4577.63/tools/gn/bootstrap/bootstrap.py 2021-09-02 08:26:04.415846917 -0400
|
||||
@@ -130,7 +130,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/python3',
|
||||
'--args=%s' % gn_gen_args, "--root=" + SRC_ROOT
|
||||
])
|
||||
|
@ -0,0 +1,21 @@
|
||||
diff -up chromium-93.0.4577.63/remoting/host/remote_open_url_client.cc.remoting-nodestructor-fix chromium-93.0.4577.63/remoting/host/remote_open_url_client.cc
|
||||
--- chromium-93.0.4577.63/remoting/host/remote_open_url_client.cc.remoting-nodestructor-fix 2021-09-03 17:30:44.162605313 +0000
|
||||
+++ chromium-93.0.4577.63/remoting/host/remote_open_url_client.cc 2021-09-03 17:31:01.017986003 +0000
|
||||
@@ -56,7 +56,7 @@ void ShowMessageDialog(const std::string
|
||||
}
|
||||
|
||||
bool IsBrowserValid(const std::string& browser) {
|
||||
- static const base::NoDestructor<base::flat_set<std::string>> invalid_browsers(
|
||||
+ static const base::NoDestructor<base::flat_set<std::string>> invalid_browsers{
|
||||
{
|
||||
// This is the chromoting forwarder itself.
|
||||
"crd-url-forwarder.desktop",
|
||||
@@ -64,7 +64,7 @@ bool IsBrowserValid(const std::string& b
|
||||
// XFCE's forwarder. May potentially launch the chromoting forwarder
|
||||
// recursively.
|
||||
"xfce4-web-browser.desktop",
|
||||
- });
|
||||
+ }};
|
||||
if (browser.empty()) {
|
||||
return false;
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
diff -up chromium-93.0.4577.63/components/cast_channel/enum_table.h.vector-fix chromium-93.0.4577.63/components/cast_channel/enum_table.h
|
||||
--- chromium-93.0.4577.63/components/cast_channel/enum_table.h.vector-fix 2021-09-03 12:23:37.974714814 +0000
|
||||
+++ chromium-93.0.4577.63/components/cast_channel/enum_table.h 2021-09-03 12:23:51.330223540 +0000
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <cstdint>
|
||||
#include <cstring>
|
||||
#include <ostream>
|
||||
+#include <vector>
|
||||
|
||||
#include "base/check_op.h"
|
||||
#include "base/macros.h"
|
@ -0,0 +1,14 @@
|
||||
diff -up chromium-93.0.4577.63/chrome/browser/component_updater/registration.cc.widevine-no-download chromium-93.0.4577.63/chrome/browser/component_updater/registration.cc
|
||||
--- chromium-93.0.4577.63/chrome/browser/component_updater/registration.cc.widevine-no-download 2021-09-02 08:37:03.910692041 -0400
|
||||
+++ chromium-93.0.4577.63/chrome/browser/component_updater/registration.cc 2021-09-02 08:45:07.446778150 -0400
|
||||
@@ -118,10 +118,6 @@ void RegisterComponentsForUpdate(bool is
|
||||
RegisterMediaFoundationWidevineCdmComponent(cus);
|
||||
#endif
|
||||
|
||||
-#if BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
|
||||
- RegisterWidevineCdmComponent(cus);
|
||||
-#endif // BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
|
||||
-
|
||||
#if BUILDFLAG(ENABLE_NACL) && !defined(OS_ANDROID)
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
// PNaCl on Chrome OS is on rootfs and there is no need to download it. But
|
@ -0,0 +1,97 @@
|
||||
diff -up chromium-93.0.4577.82/components/paint_preview/common/subset_font.cc.hbfix chromium-93.0.4577.82/components/paint_preview/common/subset_font.cc
|
||||
--- chromium-93.0.4577.82/components/paint_preview/common/subset_font.cc.hbfix 2021-09-20 11:37:58.633517817 -0400
|
||||
+++ chromium-93.0.4577.82/components/paint_preview/common/subset_font.cc 2021-09-20 11:40:12.111235467 -0400
|
||||
@@ -72,9 +72,11 @@ sk_sp<SkData> SubsetFont(SkTypeface* typ
|
||||
hb_set_t* glyphs =
|
||||
hb_subset_input_glyph_set(input.get()); // Owned by |input|.
|
||||
usage.ForEach(base::BindRepeating(&AddGlyphs, base::Unretained(glyphs)));
|
||||
- hb_subset_input_set_retain_gids(input.get(), true);
|
||||
+ hb_subset_input_set_flags(input.get(), HB_SUBSET_FLAGS_RETAIN_GIDS);
|
||||
|
||||
- HbScoped<hb_face_t> subset_face(hb_subset(face.get(), input.get()));
|
||||
+ HbScoped<hb_face_t> subset_face(hb_subset_or_fail(face.get(), input.get()));
|
||||
+ if (!subset_face)
|
||||
+ return nullptr;
|
||||
HbScoped<hb_blob_t> subset_blob(hb_face_reference_blob(subset_face.get()));
|
||||
if (!subset_blob)
|
||||
return nullptr;
|
||||
diff -up chromium-93.0.4577.82/third_party/skia/gn/skia.gni.hbfix chromium-93.0.4577.82/third_party/skia/gn/skia.gni
|
||||
--- chromium-93.0.4577.82/third_party/skia/gn/skia.gni.hbfix 2021-09-20 11:41:20.078600944 -0400
|
||||
+++ chromium-93.0.4577.82/third_party/skia/gn/skia.gni 2021-09-20 11:42:29.851976086 -0400
|
||||
@@ -33,8 +33,6 @@ declare_args() {
|
||||
skia_include_multiframe_procs = false
|
||||
skia_lex = false
|
||||
skia_libgifcodec_path = "third_party/externals/libgifcodec"
|
||||
- skia_pdf_subset_harfbuzz =
|
||||
- false # TODO: set skia_pdf_subset_harfbuzz to skia_use_harfbuzz.
|
||||
skia_qt_path = getenv("QT_PATH")
|
||||
skia_skqp_global_error_tolerance = 0
|
||||
skia_tools_require_resources = false
|
||||
@@ -99,6 +97,10 @@ declare_args() {
|
||||
}
|
||||
|
||||
declare_args() {
|
||||
+ skia_pdf_subset_harfbuzz = skia_use_harfbuzz
|
||||
+}
|
||||
+
|
||||
+declare_args() {
|
||||
skia_compile_sksl_tests = skia_compile_processors
|
||||
skia_enable_fontmgr_android = skia_use_expat && skia_use_freetype
|
||||
skia_enable_fontmgr_custom_directory = skia_use_freetype && !is_fuchsia
|
||||
diff -up chromium-93.0.4577.82/third_party/skia/src/pdf/SkPDFSubsetFont.cpp.hbfix chromium-93.0.4577.82/third_party/skia/src/pdf/SkPDFSubsetFont.cpp
|
||||
--- chromium-93.0.4577.82/third_party/skia/src/pdf/SkPDFSubsetFont.cpp.hbfix 2021-09-20 13:34:57.861369449 -0400
|
||||
+++ chromium-93.0.4577.82/third_party/skia/src/pdf/SkPDFSubsetFont.cpp 2021-09-20 13:38:28.063504311 -0400
|
||||
@@ -49,6 +49,37 @@ static sk_sp<SkData> to_data(HBBlob blob
|
||||
blob.release());
|
||||
}
|
||||
|
||||
+template<typename...> using void_t = void;
|
||||
+template<typename T, typename = void>
|
||||
+struct SkPDFHarfBuzzSubset {
|
||||
+ // This is the HarfBuzz 3.0 interface.
|
||||
+ // hb_subset_flags_t does not exist in 2.0. It isn't dependent on T, so inline the value of
|
||||
+ // HB_SUBSET_FLAGS_RETAIN_GIDS until 2.0 is no longer supported.
|
||||
+ static HBFace Make(T input, hb_face_t* face) {
|
||||
+ // TODO: When possible, check if a font is 'tricky' with FT_IS_TRICKY.
|
||||
+ // If it isn't known if a font is 'tricky', retain the hints.
|
||||
+ hb_subset_input_set_flags(input, 2/*HB_SUBSET_FLAGS_RETAIN_GIDS*/);
|
||||
+ return HBFace(hb_subset_or_fail(face, input));
|
||||
+ }
|
||||
+};
|
||||
+template<typename T>
|
||||
+struct SkPDFHarfBuzzSubset<T, void_t<
|
||||
+ decltype(hb_subset_input_set_retain_gids(std::declval<T>(), std::declval<bool>())),
|
||||
+ decltype(hb_subset_input_set_drop_hints(std::declval<T>(), std::declval<bool>())),
|
||||
+ decltype(hb_subset(std::declval<hb_face_t*>(), std::declval<T>()))
|
||||
+ >>
|
||||
+{
|
||||
+ // This is the HarfBuzz 2.0 (non-public) interface, used if it exists.
|
||||
+ // This code should be removed as soon as all users are migrated to the newer API.
|
||||
+ static HBFace Make(T input, hb_face_t* face) {
|
||||
+ hb_subset_input_set_retain_gids(input, true);
|
||||
+ // TODO: When possible, check if a font is 'tricky' with FT_IS_TRICKY.
|
||||
+ // If it isn't known if a font is 'tricky', retain the hints.
|
||||
+ hb_subset_input_set_drop_hints(input, false);
|
||||
+ return HBFace(hb_subset(face, input));
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
static sk_sp<SkData> subset_harfbuzz(sk_sp<SkData> fontData,
|
||||
const SkPDFGlyphUse& glyphUsage,
|
||||
int ttcIndex) {
|
||||
@@ -71,11 +102,10 @@ static sk_sp<SkData> subset_harfbuzz(sk_
|
||||
hb_set_t* glyphs = hb_subset_input_glyph_set(input.get());
|
||||
glyphUsage.getSetValues([&glyphs](unsigned gid) { hb_set_add(glyphs, gid);});
|
||||
|
||||
- hb_subset_input_set_retain_gids(input.get(), true);
|
||||
- // TODO: When possible, check if a font is 'tricky' with FT_IS_TRICKY.
|
||||
- // If it isn't known if a font is 'tricky', retain the hints.
|
||||
- hb_subset_input_set_drop_hints(input.get(), false);
|
||||
- HBFace subset(hb_subset(face.get(), input.get()));
|
||||
+ HBFace subset = SkPDFHarfBuzzSubset<hb_subset_input_t*>::Make(input.get(), face.get());
|
||||
+ if (!subset) {
|
||||
+ return nullptr;
|
||||
+ }
|
||||
HBBlob result(hb_face_reference_blob(subset.get()));
|
||||
return to_data(std::move(result));
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
From 45bea088d3771c7ff9f77173e451422452c031b3 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Mon, 02 Aug 2021 16:57:05 +0000
|
||||
Subject: [PATCH] GCC: drop WARN_USED_RESULT in lambda in ConversionStorageSql
|
||||
|
||||
GCC 9.3 only allows GNU attributes between [] and () in lambda
|
||||
expressions. See https://gcc.gnu.org/PR90333 for details. However,
|
||||
clang only allows attributes after () only. Seems not strictly
|
||||
necessary to enforce the attribute here.
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: I342deb25239837dea0f6f5e7709b1467789e342b
|
||||
---
|
||||
|
||||
diff --git a/content/browser/conversions/conversion_storage_sql.cc b/content/browser/conversions/conversion_storage_sql.cc
|
||||
index 84bc897..b6fc4e9 100644
|
||||
--- a/content/browser/conversions/conversion_storage_sql.cc
|
||||
+++ b/content/browser/conversions/conversion_storage_sql.cc
|
||||
@@ -688,9 +688,11 @@
|
||||
bool ConversionStorageSql::DeleteExpiredImpressions() {
|
||||
const int kMaxDeletesPerBatch = 100;
|
||||
|
||||
+ // GCC accepts attribute between [] and () only
|
||||
+ // clang accepts attribute after () only
|
||||
auto delete_impressions_from_paged_select =
|
||||
[this](sql::Statement& statement)
|
||||
- VALID_CONTEXT_REQUIRED(sequence_checker_) WARN_UNUSED_RESULT -> bool {
|
||||
+ VALID_CONTEXT_REQUIRED(sequence_checker_) -> bool {
|
||||
while (true) {
|
||||
std::vector<int64_t> impression_ids;
|
||||
while (statement.Step()) {
|
@ -0,0 +1,24 @@
|
||||
From 4eeacdaa57b29a079fe09315eb22557c06aa522e Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Fri, 13 Aug 2021 12:57:42 +0000
|
||||
Subject: [PATCH] IWYU: add memory for std::unique_ptr in blink::CustomSpaces
|
||||
|
||||
---
|
||||
.../blink/renderer/platform/heap/v8_wrapper/custom_spaces.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/third_party/blink/renderer/platform/heap/v8_wrapper/custom_spaces.h b/third_party/blink/renderer/platform/heap/v8_wrapper/custom_spaces.h
|
||||
index df0465a..640cb33 100644
|
||||
--- a/third_party/blink/renderer/platform/heap/v8_wrapper/custom_spaces.h
|
||||
+++ b/third_party/blink/renderer/platform/heap/v8_wrapper/custom_spaces.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_HEAP_V8_WRAPPER_CUSTOM_SPACES_H_
|
||||
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_HEAP_V8_WRAPPER_CUSTOM_SPACES_H_
|
||||
|
||||
+#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "third_party/blink/renderer/platform/platform_export.h"
|
||||
--
|
||||
2.31.1
|
||||
|
@ -0,0 +1,12 @@
|
||||
diff -up chromium-94.0.4606.54/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 chromium-94.0.4606.54/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h
|
||||
--- chromium-94.0.4606.54/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 2021-09-20 15:13:05.000000000 -0400
|
||||
+++ chromium-94.0.4606.54/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h 2021-09-23 12:41:53.540357702 -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,22 @@
|
||||
diff -up chromium-94.0.4606.54/remoting/host/remote_open_url_client.cc.remoting-nodestructor-fix chromium-94.0.4606.54/remoting/host/remote_open_url_client.cc
|
||||
diff -up chromium-94.0.4606.54/remoting/host/remote_open_url_client_delegate_linux.cc.remoting-nodestructor-fix chromium-94.0.4606.54/remoting/host/remote_open_url_client_delegate_linux.cc
|
||||
--- chromium-94.0.4606.54/remoting/host/remote_open_url_client_delegate_linux.cc.remoting-nodestructor-fix 2021-09-24 11:02:02.662082902 -0400
|
||||
+++ chromium-94.0.4606.54/remoting/host/remote_open_url_client_delegate_linux.cc 2021-09-24 11:06:05.207472179 -0400
|
||||
@@ -47,7 +47,7 @@ void ShowMessageDialog(const std::string
|
||||
}
|
||||
|
||||
bool IsBrowserValid(const std::string& browser) {
|
||||
- static const base::NoDestructor<base::flat_set<std::string>> invalid_browsers(
|
||||
+ static const base::NoDestructor<base::flat_set<std::string>> invalid_browsers{
|
||||
{
|
||||
// This is the chromoting forwarder itself.
|
||||
"crd-url-forwarder.desktop",
|
||||
@@ -55,7 +55,7 @@ bool IsBrowserValid(const std::string& b
|
||||
// XFCE's forwarder. May potentially launch the chromoting forwarder
|
||||
// recursively.
|
||||
"xfce4-web-browser.desktop",
|
||||
- });
|
||||
+ }};
|
||||
if (browser.empty()) {
|
||||
return false;
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
diff -up chromium-94.0.4606.54/third_party/webrtc/BUILD.gn.fix-multiple-define chromium-94.0.4606.54/third_party/webrtc/BUILD.gn
|
||||
--- chromium-94.0.4606.54/third_party/webrtc/BUILD.gn.fix-multiple-define 2021-09-24 13:22:48.067565858 -0400
|
||||
+++ chromium-94.0.4606.54/third_party/webrtc/BUILD.gn 2021-09-24 13:23:10.163664830 -0400
|
||||
@@ -119,10 +119,10 @@ config("common_inherited_config") {
|
||||
ldflags = []
|
||||
|
||||
if (rtc_enable_symbol_export || is_component_build) {
|
||||
- defines = [ "WEBRTC_ENABLE_SYMBOL_EXPORT" ]
|
||||
+ defines += [ "WEBRTC_ENABLE_SYMBOL_EXPORT" ]
|
||||
}
|
||||
if (rtc_enable_objc_symbol_export) {
|
||||
- defines = [ "WEBRTC_ENABLE_OBJC_SYMBOL_EXPORT" ]
|
||||
+ defines += [ "WEBRTC_ENABLE_OBJC_SYMBOL_EXPORT" ]
|
||||
}
|
||||
|
||||
if (build_with_mozilla) {
|
@ -0,0 +1,12 @@
|
||||
diff -up chromium-94.0.4606.61/remoting/host/mojom/remoting_mojom_traits.h.extra-qualification chromium-94.0.4606.61/remoting/host/mojom/remoting_mojom_traits.h
|
||||
--- chromium-94.0.4606.61/remoting/host/mojom/remoting_mojom_traits.h.extra-qualification 2021-09-25 01:48:28.812426004 +0000
|
||||
+++ chromium-94.0.4606.61/remoting/host/mojom/remoting_mojom_traits.h 2021-09-25 01:48:59.072267580 +0000
|
||||
@@ -17,7 +17,7 @@
|
||||
namespace mojo {
|
||||
|
||||
template <>
|
||||
-class mojo::StructTraits<remoting::mojom::ClipboardEventDataView,
|
||||
+class StructTraits<remoting::mojom::ClipboardEventDataView,
|
||||
::remoting::protocol::ClipboardEvent> {
|
||||
public:
|
||||
static const std::string& mime_type(
|
@ -0,0 +1,24 @@
|
||||
diff -up chromium-94.0.4606.71/ui/views/animation/ink_drop_host_view.h.InkDropHost-crash chromium-94.0.4606.71/ui/views/animation/ink_drop_host_view.h
|
||||
--- chromium-94.0.4606.71/ui/views/animation/ink_drop_host_view.h.InkDropHost-crash 2021-10-05 16:04:46.313586509 -0400
|
||||
+++ chromium-94.0.4606.71/ui/views/animation/ink_drop_host_view.h 2021-10-05 16:05:12.213732558 -0400
|
||||
@@ -228,6 +228,11 @@ class VIEWS_EXPORT InkDropHost {
|
||||
// Used to observe View and inform the InkDrop of host-transform changes.
|
||||
ViewLayerTransformObserver host_view_transform_observer_;
|
||||
|
||||
+ // Declared before |ink_drop_|, because InkDropImpl may call
|
||||
+ // RemoveInkDropLayer on partly destructed InkDropHost. In
|
||||
+ // that case |ink_drop_mask_| must be still valid.
|
||||
+ std::unique_ptr<views::InkDropMask> ink_drop_mask_;
|
||||
+
|
||||
// Should not be accessed directly. Use GetInkDrop() instead.
|
||||
std::unique_ptr<InkDrop> ink_drop_;
|
||||
|
||||
@@ -249,8 +254,6 @@ class VIEWS_EXPORT InkDropHost {
|
||||
int ink_drop_small_corner_radius_ = 2;
|
||||
int ink_drop_large_corner_radius_ = 4;
|
||||
|
||||
- std::unique_ptr<views::InkDropMask> ink_drop_mask_;
|
||||
-
|
||||
base::RepeatingCallback<std::unique_ptr<InkDrop>()> create_ink_drop_callback_;
|
||||
base::RepeatingCallback<std::unique_ptr<InkDropRipple>()>
|
||||
create_ink_drop_ripple_callback_;
|
@ -0,0 +1,15 @@
|
||||
diff -up chromium-94.0.4606.71/base/allocator/allocator_shim_default_dispatch_to_partition_alloc.cc.nullptr-fix chromium-94.0.4606.71/base/allocator/allocator_shim_default_dispatch_to_partition_alloc.cc
|
||||
--- chromium-94.0.4606.71/base/allocator/allocator_shim_default_dispatch_to_partition_alloc.cc.nullptr-fix 2021-10-06 15:23:11.590602162 -0400
|
||||
+++ chromium-94.0.4606.71/base/allocator/allocator_shim_default_dispatch_to_partition_alloc.cc 2021-10-06 15:29:21.508762249 -0400
|
||||
@@ -380,7 +380,10 @@ void PartitionFree(const AllocatorDispat
|
||||
size_t PartitionGetSizeEstimate(const AllocatorDispatch*,
|
||||
void* address,
|
||||
void* context) {
|
||||
- PA_DCHECK(address);
|
||||
+ // This is used to implement malloc_usable_size(3). Per its man page, "if ptr
|
||||
+ // is NULL, 0 is returned".
|
||||
+ if (!address)
|
||||
+ return 0;
|
||||
|
||||
#if defined(OS_APPLE)
|
||||
if (!base::IsManagedByPartitionAlloc(address)) {
|
@ -0,0 +1,11 @@
|
||||
diff -up chromium-94.0.4606.71/remoting/codec/codec_test.cc.missing-header chromium-94.0.4606.71/remoting/codec/codec_test.cc
|
||||
--- chromium-94.0.4606.71/remoting/codec/codec_test.cc.missing-header 2021-10-07 18:01:11.846157616 +0000
|
||||
+++ chromium-94.0.4606.71/remoting/codec/codec_test.cc 2021-10-07 18:01:22.913662166 +0000
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
+#include <cmath>
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
|
@ -0,0 +1,37 @@
|
||||
diff -up chromium-94.0.4606.81/buildtools/linux64/clang-format.clang-format-py3 chromium-94.0.4606.81/buildtools/linux64/clang-format
|
||||
--- chromium-94.0.4606.81/buildtools/linux64/clang-format.clang-format-py3 2021-10-08 11:26:16.411861005 -0400
|
||||
+++ chromium-94.0.4606.81/buildtools/linux64/clang-format 2021-10-08 11:32:16.005895508 -0400
|
||||
@@ -12,9 +12,9 @@ def main():
|
||||
args = sys.argv[1:]
|
||||
inputfiles = [a for a in args if not a.startswith('-')]
|
||||
|
||||
- contents = ''
|
||||
+ contents = b''
|
||||
if '-' in args or not inputfiles:
|
||||
- contents = sys.stdin.read()
|
||||
+ contents = sys.stdin.buffer.read()
|
||||
|
||||
# Tarball builds may or may not have depot_tools in $PATH. In the former case,
|
||||
# running 'clang-format' will call back into this script infinitely. Strip off
|
||||
@@ -37,17 +37,17 @@ def main():
|
||||
stdout, stderr = proc.communicate(input=contents)
|
||||
# Ignore if clang-format fails. Eg: it may be too old to support C++14.
|
||||
if proc.returncode == 0:
|
||||
- sys.stdout.write(stdout)
|
||||
- sys.stderr.write(stderr)
|
||||
+ sys.stdout.buffer.write(stdout)
|
||||
+ sys.stderr.buffer.write(stderr)
|
||||
return 0
|
||||
except OSError:
|
||||
# Ignore if clang-format is not installed.
|
||||
pass
|
||||
|
||||
# If any failure happens, continue with unformatted files.
|
||||
- sys.stdout.write(contents)
|
||||
+ sys.stdout.buffer.write(contents)
|
||||
for inputfile in inputfiles:
|
||||
- sys.stdout.write(open(inputfile).read())
|
||||
+ sys.stdout.buffer.write(open(inputfile).read())
|
||||
|
||||
return 0
|
||||
|
@ -0,0 +1,13 @@
|
||||
diff -up chromium-94.0.4606.81/build/config/compiler/BUILD.gn.i686-hack chromium-94.0.4606.81/build/config/compiler/BUILD.gn
|
||||
--- chromium-94.0.4606.81/build/config/compiler/BUILD.gn.i686-hack 2021-10-20 15:56:09.409349920 -0400
|
||||
+++ chromium-94.0.4606.81/build/config/compiler/BUILD.gn 2021-10-20 15:57:30.409831217 -0400
|
||||
@@ -360,6 +360,9 @@ config("compiler") {
|
||||
if (fatal_linker_warnings && is_apple) {
|
||||
ldflags += [ "-Wl,-fatal_warnings" ]
|
||||
}
|
||||
+
|
||||
+ ldflags += [ "-Wl,--no-keep-memory" ]
|
||||
+ ldflags += [ "-Wl,--reduce-memory-overheads" ]
|
||||
}
|
||||
|
||||
if (is_clang && is_debug) {
|
@ -0,0 +1,41 @@
|
||||
From c23f09d436b566934d02c26a19e3cf5d31545855 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Sat, 4 Sep 2021 17:02:00 +0000
|
||||
Subject: [PATCH] GCC: fix template specialization in webrtc::BitstreamReader
|
||||
|
||||
GCC complains that explicit specialization in non-namespace scope
|
||||
is happening for webrtc::BitstreamReader::Read(). However, specialization
|
||||
for bool isn't used because std::is_unsigned<bool>::value returns true.
|
||||
Add std::is_same for bool check and enable second specialization only
|
||||
for bool types.
|
||||
|
||||
---
|
||||
third_party/webrtc/rtc_base/bitstream_reader.h | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/third_party/webrtc/rtc_base/bitstream_reader.h b/third_party/webrtc/rtc_base/bitstream_reader.h
|
||||
index 8c0f66f..cd8537f 100644
|
||||
--- a/third_party/webrtc/rtc_base/bitstream_reader.h
|
||||
+++ b/third_party/webrtc/rtc_base/bitstream_reader.h
|
||||
@@ -61,14 +61,16 @@ class BitstreamReader {
|
||||
// Reads unsigned integer of fixed width.
|
||||
template <typename T,
|
||||
typename std::enable_if<std::is_unsigned<T>::value &&
|
||||
+ !std::is_same<T, bool>::value &&
|
||||
sizeof(T) <= 8>::type* = nullptr>
|
||||
ABSL_MUST_USE_RESULT T Read() {
|
||||
return rtc::dchecked_cast<T>(ReadBits(sizeof(T) * 8));
|
||||
}
|
||||
|
||||
// Reads single bit as boolean.
|
||||
- template <>
|
||||
- ABSL_MUST_USE_RESULT bool Read<bool>() {
|
||||
+ template <typename T,
|
||||
+ typename std::enable_if<std::is_same<T, bool>::value>::type* = nullptr>
|
||||
+ ABSL_MUST_USE_RESULT bool Read() {
|
||||
return ReadBit() != 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
@ -0,0 +1,229 @@
|
||||
From 3d4ba855e014987cad86d62a8dff533492255695 Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Sanchez <cantonios@google.com>
|
||||
Date: Wed, 1 Sep 2021 14:11:21 -0700
|
||||
Subject: [PATCH] Fix AVX integer packet issues.
|
||||
|
||||
Most are instances of AVX2 functions not protected by
|
||||
`EIGEN_VECTORIZE_AVX2`. There was also a missing semi-colon
|
||||
for AVX512.
|
||||
---
|
||||
Eigen/src/Core/arch/AVX/PacketMath.h | 83 ++++++++++++++++++-------
|
||||
Eigen/src/Core/arch/AVX512/PacketMath.h | 6 +-
|
||||
2 files changed, 63 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
|
||||
index dc1a1d6b0..247ee4efd 100644
|
||||
--- a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
|
||||
+++ b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
|
||||
@@ -262,10 +262,6 @@ template<> EIGEN_STRONG_INLINE Packet4d peven_mask(const Packet4d& /*a*/) { retu
|
||||
template<> EIGEN_STRONG_INLINE Packet8f pload1<Packet8f>(const float* from) { return _mm256_broadcast_ss(from); }
|
||||
template<> EIGEN_STRONG_INLINE Packet4d pload1<Packet4d>(const double* from) { return _mm256_broadcast_sd(from); }
|
||||
|
||||
-template<> EIGEN_STRONG_INLINE Packet8f plset<Packet8f>(const float& a) { return _mm256_add_ps(_mm256_set1_ps(a), _mm256_set_ps(7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0)); }
|
||||
-template<> EIGEN_STRONG_INLINE Packet4d plset<Packet4d>(const double& a) { return _mm256_add_pd(_mm256_set1_pd(a), _mm256_set_pd(3.0,2.0,1.0,0.0)); }
|
||||
-template<> EIGEN_STRONG_INLINE Packet8i plset<Packet8i>(const int& a) { return _mm256_add_epi32(_mm256_set1_epi32(a), _mm256_set_epi32(7,6,5,4,3,2,1,0)); }
|
||||
-
|
||||
template<> EIGEN_STRONG_INLINE Packet8f padd<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_add_ps(a,b); }
|
||||
template<> EIGEN_STRONG_INLINE Packet4d padd<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_add_pd(a,b); }
|
||||
template<> EIGEN_STRONG_INLINE Packet8i padd<Packet8i>(const Packet8i& a, const Packet8i& b) {
|
||||
@@ -278,6 +274,10 @@ template<> EIGEN_STRONG_INLINE Packet8i padd<Packet8i>(const Packet8i& a, const
|
||||
#endif
|
||||
}
|
||||
|
||||
+template<> EIGEN_STRONG_INLINE Packet8f plset<Packet8f>(const float& a) { return padd(pset1(a), _mm256_set_ps(7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0)); }
|
||||
+template<> EIGEN_STRONG_INLINE Packet4d plset<Packet4d>(const double& a) { return padd(pset1(a), _mm256_set_pd(3.0,2.0,1.0,0.0)); }
|
||||
+template<> EIGEN_STRONG_INLINE Packet8i plset<Packet8i>(const int& a) { return padd(pset1(a), _mm256_set_epi32(7,6,5,4,3,2,1,0)); }
|
||||
+
|
||||
template<> EIGEN_STRONG_INLINE Packet8f psub<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_sub_ps(a,b); }
|
||||
template<> EIGEN_STRONG_INLINE Packet4d psub<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_sub_pd(a,b); }
|
||||
template<> EIGEN_STRONG_INLINE Packet8i psub<Packet8i>(const Packet8i& a, const Packet8i& b) {
|
||||
@@ -300,7 +300,7 @@ template<> EIGEN_STRONG_INLINE Packet4d pnegate(const Packet4d& a)
|
||||
}
|
||||
template<> EIGEN_STRONG_INLINE Packet8i pnegate(const Packet8i& a)
|
||||
{
|
||||
- return _mm256_sub_epi32(_mm256_set1_epi32(0), a);
|
||||
+ return psub(pzero(a), a);
|
||||
}
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet8f pconj(const Packet8f& a) { return a; }
|
||||
@@ -419,7 +419,13 @@ template<> EIGEN_STRONG_INLINE Packet4d pmin<Packet4d>(const Packet4d& a, const
|
||||
#endif
|
||||
}
|
||||
template<> EIGEN_STRONG_INLINE Packet8i pmin<Packet8i>(const Packet8i& a, const Packet8i& b) {
|
||||
+#ifdef EIGEN_VECTORIZE_AVX2
|
||||
return _mm256_min_epi32(a, b);
|
||||
+#else
|
||||
+ __m128i lo = _mm_min_epi32(_mm256_extractf128_si256(a, 0), _mm256_extractf128_si256(b, 0));
|
||||
+ __m128i hi = _mm_min_epi32(_mm256_extractf128_si256(a, 1), _mm256_extractf128_si256(b, 1));
|
||||
+ return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
|
||||
+#endif
|
||||
}
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet8f pmax<Packet8f>(const Packet8f& a, const Packet8f& b) {
|
||||
@@ -445,7 +451,13 @@ template<> EIGEN_STRONG_INLINE Packet4d pmax<Packet4d>(const Packet4d& a, const
|
||||
#endif
|
||||
}
|
||||
template<> EIGEN_STRONG_INLINE Packet8i pmax<Packet8i>(const Packet8i& a, const Packet8i& b) {
|
||||
+#ifdef EIGEN_VECTORIZE_AVX2
|
||||
return _mm256_max_epi32(a, b);
|
||||
+#else
|
||||
+ __m128i lo = _mm_max_epi32(_mm256_extractf128_si256(a, 0), _mm256_extractf128_si256(b, 0));
|
||||
+ __m128i hi = _mm_max_epi32(_mm256_extractf128_si256(a, 1), _mm256_extractf128_si256(b, 1));
|
||||
+ return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
|
||||
+#endif
|
||||
}
|
||||
|
||||
// Add specializations for min/max with prescribed NaN progation.
|
||||
@@ -641,17 +653,25 @@ template<> EIGEN_STRONG_INLINE Packet8f ploaddup<Packet8f>(const float* from)
|
||||
// then we can perform a consistent permutation on the global register to get everything in shape:
|
||||
return _mm256_permute_ps(tmp, _MM_SHUFFLE(3,3,2,2));
|
||||
}
|
||||
-// Loads 2 doubles from memory a returns the packet {a0, a0 a1, a1}
|
||||
+// Loads 2 doubles from memory a returns the packet {a0, a0, a1, a1}
|
||||
template<> EIGEN_STRONG_INLINE Packet4d ploaddup<Packet4d>(const double* from)
|
||||
{
|
||||
Packet4d tmp = _mm256_broadcast_pd((const __m128d*)(const void*)from);
|
||||
return _mm256_permute_pd(tmp, 3<<2);
|
||||
}
|
||||
-// Loads 4 integers from memory a returns the packet {a0, a0 a1, a1, a2, a2, a3, a3}
|
||||
+// Loads 4 integers from memory a returns the packet {a0, a0, a1, a1, a2, a2, a3, a3}
|
||||
template<> EIGEN_STRONG_INLINE Packet8i ploaddup<Packet8i>(const int* from)
|
||||
{
|
||||
- Packet8i a = _mm256_castsi128_si256(pload<Packet4i>(from));
|
||||
+#ifdef EIGEN_VECTORIZE_AVX2
|
||||
+ const Packet8i a = _mm256_castsi128_si256(pload<Packet4i>(from));
|
||||
return _mm256_permutevar8x32_epi32(a, _mm256_setr_epi32(0, 0, 1, 1, 2, 2, 3, 3));
|
||||
+#else
|
||||
+ __m256 tmp = _mm256_broadcast_ps((const __m128*)(const void*)from);
|
||||
+ // mimic an "inplace" permutation of the lower 128bits using a blend
|
||||
+ tmp = _mm256_blend_ps(tmp,_mm256_castps128_ps256(_mm_permute_ps( _mm256_castps256_ps128(tmp), _MM_SHUFFLE(1,0,1,0))), 15);
|
||||
+ // then we can perform a consistent permutation on the global register to get everything in shape:
|
||||
+ return _mm256_castps_si256(_mm256_permute_ps(tmp, _MM_SHUFFLE(3,3,2,2)));
|
||||
+#endif
|
||||
}
|
||||
|
||||
// Loads 2 floats from memory a returns the packet {a0, a0 a0, a0, a1, a1, a1, a1}
|
||||
@@ -662,7 +682,7 @@ template<> EIGEN_STRONG_INLINE Packet8f ploadquad<Packet8f>(const float* from)
|
||||
}
|
||||
template<> EIGEN_STRONG_INLINE Packet8i ploadquad<Packet8i>(const int* from)
|
||||
{
|
||||
- return _mm256_inserti128_si256(_mm256_set1_epi32(*from), _mm_set1_epi32(*(from+1)), 1);
|
||||
+ return _mm256_insertf128_si256(_mm256_set1_epi32(*from), _mm_set1_epi32(*(from+1)), 1);
|
||||
}
|
||||
|
||||
template<> EIGEN_STRONG_INLINE void pstore<float>(float* to, const Packet8f& from) { EIGEN_DEBUG_ALIGNED_STORE _mm256_store_ps(to, from); }
|
||||
@@ -723,13 +743,13 @@ template<> EIGEN_DEVICE_FUNC inline void pscatter<double, Packet4d>(double* to,
|
||||
}
|
||||
template<> EIGEN_DEVICE_FUNC inline void pscatter<int, Packet8i>(int* to, const Packet8i& from, Index stride)
|
||||
{
|
||||
- __m128i low = _mm256_extracti128_si256(from, 0);
|
||||
+ __m128i low = _mm256_extractf128_si256(from, 0);
|
||||
to[stride*0] = _mm_extract_epi32(low, 0);
|
||||
to[stride*1] = _mm_extract_epi32(low, 1);
|
||||
to[stride*2] = _mm_extract_epi32(low, 2);
|
||||
to[stride*3] = _mm_extract_epi32(low, 3);
|
||||
|
||||
- __m128i high = _mm256_extracti128_si256(from, 1);
|
||||
+ __m128i high = _mm256_extractf128_si256(from, 1);
|
||||
to[stride*4] = _mm_extract_epi32(high, 0);
|
||||
to[stride*5] = _mm_extract_epi32(high, 1);
|
||||
to[stride*6] = _mm_extract_epi32(high, 2);
|
||||
@@ -803,7 +823,13 @@ template<> EIGEN_STRONG_INLINE Packet4d pabs(const Packet4d& a)
|
||||
}
|
||||
template<> EIGEN_STRONG_INLINE Packet8i pabs(const Packet8i& a)
|
||||
{
|
||||
+#ifdef EIGEN_VECTORIZE_AVX2
|
||||
return _mm256_abs_epi32(a);
|
||||
+#else
|
||||
+ __m128i lo = _mm_abs_epi32(_mm256_extractf128_si256(a, 0));
|
||||
+ __m128i hi = _mm_abs_epi32(_mm256_extractf128_si256(a, 1));
|
||||
+ return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
|
||||
+#endif
|
||||
}
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet8f pfrexp<Packet8f>(const Packet8f& a, Packet8f& exponent) {
|
||||
@@ -989,16 +1015,27 @@ ptranspose(PacketBlock<Packet8f,4>& kernel) {
|
||||
#define MM256_SHUFFLE_EPI32(A, B, M) \
|
||||
_mm256_castps_si256(_mm256_shuffle_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B), M))
|
||||
|
||||
+#ifdef EIGEN_VECTORIZE_AVX2
|
||||
+#define MM256_UNPACKLO_EPI32(A, B) \
|
||||
+ _mm256_castps_si256(_mm256_unpacklo_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B)))
|
||||
+#define MM256_UNPACKHI_EPI32(A, B) \
|
||||
+ _mm256_castps_si256(_mm256_unpackhi_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B)))
|
||||
+#else
|
||||
+#define MM256_UNPACKLO_EPI32(A, B) _mm256_unpacklo_ps(A, B)
|
||||
+#define MM256_UNPACKHI_EPI32(A, B) _mm256_unpackhi_ps(A, B)
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
EIGEN_DEVICE_FUNC inline void
|
||||
ptranspose(PacketBlock<Packet8i,8>& kernel) {
|
||||
- __m256i T0 = _mm256_unpacklo_epi32(kernel.packet[0], kernel.packet[1]);
|
||||
- __m256i T1 = _mm256_unpackhi_epi32(kernel.packet[0], kernel.packet[1]);
|
||||
- __m256i T2 = _mm256_unpacklo_epi32(kernel.packet[2], kernel.packet[3]);
|
||||
- __m256i T3 = _mm256_unpackhi_epi32(kernel.packet[2], kernel.packet[3]);
|
||||
- __m256i T4 = _mm256_unpacklo_epi32(kernel.packet[4], kernel.packet[5]);
|
||||
- __m256i T5 = _mm256_unpackhi_epi32(kernel.packet[4], kernel.packet[5]);
|
||||
- __m256i T6 = _mm256_unpacklo_epi32(kernel.packet[6], kernel.packet[7]);
|
||||
- __m256i T7 = _mm256_unpackhi_epi32(kernel.packet[6], kernel.packet[7]);
|
||||
+ __m256i T0 = MM256_UNPACKLO_EPI32(kernel.packet[0], kernel.packet[1]);
|
||||
+ __m256i T1 = MM256_UNPACKHI_EPI32(kernel.packet[0], kernel.packet[1]);
|
||||
+ __m256i T2 = MM256_UNPACKLO_EPI32(kernel.packet[2], kernel.packet[3]);
|
||||
+ __m256i T3 = MM256_UNPACKHI_EPI32(kernel.packet[2], kernel.packet[3]);
|
||||
+ __m256i T4 = MM256_UNPACKLO_EPI32(kernel.packet[4], kernel.packet[5]);
|
||||
+ __m256i T5 = MM256_UNPACKHI_EPI32(kernel.packet[4], kernel.packet[5]);
|
||||
+ __m256i T6 = MM256_UNPACKLO_EPI32(kernel.packet[6], kernel.packet[7]);
|
||||
+ __m256i T7 = MM256_UNPACKHI_EPI32(kernel.packet[6], kernel.packet[7]);
|
||||
__m256i S0 = MM256_SHUFFLE_EPI32(T0,T2,_MM_SHUFFLE(1,0,1,0));
|
||||
__m256i S1 = MM256_SHUFFLE_EPI32(T0,T2,_MM_SHUFFLE(3,2,3,2));
|
||||
__m256i S2 = MM256_SHUFFLE_EPI32(T1,T3,_MM_SHUFFLE(1,0,1,0));
|
||||
@@ -1019,10 +1056,10 @@ ptranspose(PacketBlock<Packet8i,8>& kernel) {
|
||||
|
||||
EIGEN_DEVICE_FUNC inline void
|
||||
ptranspose(PacketBlock<Packet8i,4>& kernel) {
|
||||
- __m256i T0 = _mm256_unpacklo_epi32(kernel.packet[0], kernel.packet[1]);
|
||||
- __m256i T1 = _mm256_unpackhi_epi32(kernel.packet[0], kernel.packet[1]);
|
||||
- __m256i T2 = _mm256_unpacklo_epi32(kernel.packet[2], kernel.packet[3]);
|
||||
- __m256i T3 = _mm256_unpackhi_epi32(kernel.packet[2], kernel.packet[3]);
|
||||
+ __m256i T0 = MM256_UNPACKLO_EPI32(kernel.packet[0], kernel.packet[1]);
|
||||
+ __m256i T1 = MM256_UNPACKHI_EPI32(kernel.packet[0], kernel.packet[1]);
|
||||
+ __m256i T2 = MM256_UNPACKLO_EPI32(kernel.packet[2], kernel.packet[3]);
|
||||
+ __m256i T3 = MM256_UNPACKHI_EPI32(kernel.packet[2], kernel.packet[3]);
|
||||
|
||||
__m256i S0 = MM256_SHUFFLE_EPI32(T0,T2,_MM_SHUFFLE(1,0,1,0));
|
||||
__m256i S1 = MM256_SHUFFLE_EPI32(T0,T2,_MM_SHUFFLE(3,2,3,2));
|
||||
diff --git a/third_party/eigen3/src/Eigen/src/Core/arch/AVX512/PacketMath.h b/third_party/eigen3/src/Eigen/src/Core/arch/AVX512/PacketMath.h
|
||||
index 6ce15c677..0810f66ee 100644
|
||||
--- a/third_party/eigen3/src/Eigen/src/Core/arch/AVX512/PacketMath.h
|
||||
+++ b/third_party/eigen3/src/Eigen/src/Core/arch/AVX512/PacketMath.h
|
||||
@@ -1028,7 +1028,7 @@ template<> EIGEN_STRONG_INLINE Packet8d pldexp<Packet8d>(const Packet8d& a, cons
|
||||
|
||||
// AVX512F does not define _mm512_extracti32x8_epi32 to extract _m256i from _m512i
|
||||
#define EIGEN_EXTRACT_8i_FROM_16i(INPUT, OUTPUT) \
|
||||
- __m256i OUTPUT##_0 = _mm512_extracti32x8_epi32(INPUT, 0) \
|
||||
+ __m256i OUTPUT##_0 = _mm512_extracti32x8_epi32(INPUT, 0); \
|
||||
__m256i OUTPUT##_1 = _mm512_extracti32x8_epi32(INPUT, 1)
|
||||
#else
|
||||
#define EIGEN_EXTRACT_8f_FROM_16f(INPUT, OUTPUT) \
|
||||
@@ -1037,7 +1037,7 @@ template<> EIGEN_STRONG_INLINE Packet8d pldexp<Packet8d>(const Packet8d& a, cons
|
||||
_mm512_extractf32x4_ps(INPUT, 1), 1); \
|
||||
__m256 OUTPUT##_1 = _mm256_insertf128_ps( \
|
||||
_mm256_castps128_ps256(_mm512_extractf32x4_ps(INPUT, 2)), \
|
||||
- _mm512_extractf32x4_ps(INPUT, 3), 1);
|
||||
+ _mm512_extractf32x4_ps(INPUT, 3), 1)
|
||||
|
||||
#define EIGEN_EXTRACT_8i_FROM_16i(INPUT, OUTPUT) \
|
||||
__m256i OUTPUT##_0 = _mm256_insertf128_si256( \
|
||||
@@ -1045,7 +1045,7 @@ template<> EIGEN_STRONG_INLINE Packet8d pldexp<Packet8d>(const Packet8d& a, cons
|
||||
_mm512_extracti32x4_epi32(INPUT, 1), 1); \
|
||||
__m256i OUTPUT##_1 = _mm256_insertf128_si256( \
|
||||
_mm256_castsi128_si256(_mm512_extracti32x4_epi32(INPUT, 2)), \
|
||||
- _mm512_extracti32x4_epi32(INPUT, 3), 1);
|
||||
+ _mm512_extracti32x4_epi32(INPUT, 3), 1)
|
||||
#endif
|
||||
|
||||
#ifdef EIGEN_VECTORIZE_AVX512DQ
|
||||
--
|
||||
GitLab
|
||||
|
@ -0,0 +1,30 @@
|
||||
From def145547fc6abd14236e103b9443a36064f664f Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Sanchez <cantonios@google.com>
|
||||
Date: Thu, 2 Sep 2021 16:21:07 -0700
|
||||
Subject: [PATCH] Add missing packet types in pset1 call.
|
||||
|
||||
Oops, introduced this when "fixing" integer packets.
|
||||
---
|
||||
Eigen/src/Core/arch/AVX/PacketMath.h | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
|
||||
index 247ee4efd..8da9031dc 100644
|
||||
--- a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
|
||||
+++ b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
|
||||
@@ -274,9 +274,9 @@ template<> EIGEN_STRONG_INLINE Packet8i padd<Packet8i>(const Packet8i& a, const
|
||||
#endif
|
||||
}
|
||||
|
||||
-template<> EIGEN_STRONG_INLINE Packet8f plset<Packet8f>(const float& a) { return padd(pset1(a), _mm256_set_ps(7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0)); }
|
||||
-template<> EIGEN_STRONG_INLINE Packet4d plset<Packet4d>(const double& a) { return padd(pset1(a), _mm256_set_pd(3.0,2.0,1.0,0.0)); }
|
||||
-template<> EIGEN_STRONG_INLINE Packet8i plset<Packet8i>(const int& a) { return padd(pset1(a), _mm256_set_epi32(7,6,5,4,3,2,1,0)); }
|
||||
+template<> EIGEN_STRONG_INLINE Packet8f plset<Packet8f>(const float& a) { return padd(pset1<Packet8f>(a), _mm256_set_ps(7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0)); }
|
||||
+template<> EIGEN_STRONG_INLINE Packet4d plset<Packet4d>(const double& a) { return padd(pset1<Packet4d>(a), _mm256_set_pd(3.0,2.0,1.0,0.0)); }
|
||||
+template<> EIGEN_STRONG_INLINE Packet8i plset<Packet8i>(const int& a) { return padd(pset1<Packet8i>(a), _mm256_set_epi32(7,6,5,4,3,2,1,0)); }
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet8f psub<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_sub_ps(a,b); }
|
||||
template<> EIGEN_STRONG_INLINE Packet4d psub<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_sub_pd(a,b); }
|
||||
--
|
||||
GitLab
|
||||
|
@ -0,0 +1,44 @@
|
||||
From 7792b1e909a98703181aecb8810b4b654004c25d Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Sanchez <cantonios@google.com>
|
||||
Date: Fri, 3 Sep 2021 10:41:35 -0700
|
||||
Subject: [PATCH] Fix AVX2 PacketMath.h.
|
||||
|
||||
There were a couple typos ps -> epi32, and an unaligned load issue.
|
||||
---
|
||||
Eigen/src/Core/arch/AVX/PacketMath.h | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
|
||||
index 8da9031dc..41cb7af9c 100644
|
||||
--- a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
|
||||
+++ b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
|
||||
@@ -663,7 +663,7 @@ template<> EIGEN_STRONG_INLINE Packet4d ploaddup<Packet4d>(const double* from)
|
||||
template<> EIGEN_STRONG_INLINE Packet8i ploaddup<Packet8i>(const int* from)
|
||||
{
|
||||
#ifdef EIGEN_VECTORIZE_AVX2
|
||||
- const Packet8i a = _mm256_castsi128_si256(pload<Packet4i>(from));
|
||||
+ const Packet8i a = _mm256_castsi128_si256(ploadu<Packet4i>(from));
|
||||
return _mm256_permutevar8x32_epi32(a, _mm256_setr_epi32(0, 0, 1, 1, 2, 2, 3, 3));
|
||||
#else
|
||||
__m256 tmp = _mm256_broadcast_ps((const __m128*)(const void*)from);
|
||||
@@ -1015,14 +1015,14 @@ ptranspose(PacketBlock<Packet8f,4>& kernel) {
|
||||
#define MM256_SHUFFLE_EPI32(A, B, M) \
|
||||
_mm256_castps_si256(_mm256_shuffle_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B), M))
|
||||
|
||||
-#ifdef EIGEN_VECTORIZE_AVX2
|
||||
+#ifndef EIGEN_VECTORIZE_AVX2
|
||||
#define MM256_UNPACKLO_EPI32(A, B) \
|
||||
_mm256_castps_si256(_mm256_unpacklo_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B)))
|
||||
#define MM256_UNPACKHI_EPI32(A, B) \
|
||||
_mm256_castps_si256(_mm256_unpackhi_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B)))
|
||||
#else
|
||||
-#define MM256_UNPACKLO_EPI32(A, B) _mm256_unpacklo_ps(A, B)
|
||||
-#define MM256_UNPACKHI_EPI32(A, B) _mm256_unpackhi_ps(A, B)
|
||||
+#define MM256_UNPACKLO_EPI32(A, B) _mm256_unpacklo_epi32(A, B)
|
||||
+#define MM256_UNPACKHI_EPI32(A, B) _mm256_unpackhi_epi32(A, B)
|
||||
#endif
|
||||
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
@ -0,0 +1,30 @@
|
||||
diff --git a/third_party/libyuv/source/row_neon64.cc b/third_party/libyuv/source/row_neon64.cc
|
||||
index 350c964..2aab413 100644
|
||||
--- a/third_party/libyuv/source/row_neon64.cc
|
||||
+++ b/third_party/libyuv/source/row_neon64.cc
|
||||
@@ -1835,7 +1835,7 @@ void ARGBToAB64Row_NEON(const uint8_t* src_argb,
|
||||
: "+r"(src_argb), // %0
|
||||
"+r"(dst_ab64), // %1
|
||||
"+r"(width) // %2
|
||||
- : "m"(kShuffleARGBToABGR) // %3
|
||||
+ : "Q"(kShuffleARGBToABGR) // %3
|
||||
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
||||
}
|
||||
|
||||
@@ -1859,7 +1859,7 @@ void AR64ToARGBRow_NEON(const uint16_t* src_ar64,
|
||||
: "+r"(src_ar64), // %0
|
||||
"+r"(dst_argb), // %1
|
||||
"+r"(width) // %2
|
||||
- : "m"(kShuffleAR64ToARGB) // %3
|
||||
+ : "Q"(kShuffleAR64ToARGB) // %3
|
||||
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
||||
}
|
||||
|
||||
@@ -1883,7 +1883,7 @@ void AB64ToARGBRow_NEON(const uint16_t* src_ab64,
|
||||
: "+r"(src_ab64), // %0
|
||||
"+r"(dst_argb), // %1
|
||||
"+r"(width) // %2
|
||||
- : "m"(kShuffleAB64ToARGB) // %3
|
||||
+ : "Q"(kShuffleAB64ToARGB) // %3
|
||||
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
diff --git a/third_party/libyuv/source/row_neon.cc b/third_party/libyuv/source/row_neon.cc
|
||||
index 6ef6f1c..e4a9e1e 100644
|
||||
--- a/third_party/libyuv/source/row_neon.cc
|
||||
+++ b/third_party/libyuv/source/row_neon.cc
|
||||
@@ -2346,7 +2346,7 @@ void ARGBToAB64Row_NEON(const uint8_t* src_argb,
|
||||
uint16_t* dst_ab64,
|
||||
int width) {
|
||||
asm volatile(
|
||||
- "vld1.8 q4, %3 \n" // shuffler
|
||||
+ "vld1.8 {d8, d9}, %3 \n" // shuffler
|
||||
"1: \n"
|
||||
"vld1.8 {q0}, [%0]! \n"
|
||||
"vld1.8 {q2}, [%0]! \n"
|
@ -0,0 +1,13 @@
|
||||
diff --git a/third_party/maldoca/BUILD.gn b/third_party/maldoca/BUILD.gn
|
||||
index eeab205..29a0a2c 100644
|
||||
--- a/third_party/maldoca/BUILD.gn
|
||||
+++ b/third_party/maldoca/BUILD.gn
|
||||
@@ -224,7 +224,7 @@ source_set("maldoca-ole") {
|
||||
"//third_party/libxml",
|
||||
"//third_party/protobuf:protobuf_lite",
|
||||
"//third_party/re2",
|
||||
- "//third_party/zlib:zlib_common_headers",
|
||||
+ "//third_party/zlib:zlib",
|
||||
"//third_party/zlib/google:zip",
|
||||
]
|
||||
|
@ -0,0 +1,25 @@
|
||||
From a9d986203bcfbaab84f270c1dc6c3abb4c450ee1 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Fri, 17 Sep 2021 14:57:33 +0000
|
||||
Subject: [PATCH] IWYU: add stddef.h for size_t in WindowManager
|
||||
|
||||
---
|
||||
net/third_party/quiche/src/http2/adapter/window_manager.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/net/third_party/quiche/src/http2/adapter/window_manager.h b/net/third_party/quiche/src/http2/adapter/window_manager.h
|
||||
index f15982d..5a7701e 100644
|
||||
--- a/net/third_party/quiche/src/http2/adapter/window_manager.h
|
||||
+++ b/net/third_party/quiche/src/http2/adapter/window_manager.h
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef QUICHE_HTTP2_ADAPTER_WINDOW_MANAGER_H_
|
||||
#define QUICHE_HTTP2_ADAPTER_WINDOW_MANAGER_H_
|
||||
|
||||
+#include <stddef.h>
|
||||
+
|
||||
#include <functional>
|
||||
|
||||
#include "common/platform/api/quiche_export.h"
|
||||
--
|
||||
2.32.0
|
||||
|
@ -0,0 +1,30 @@
|
||||
From 603d765ca5154db27718d89a2ee9be2a95a64254 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Dunaev <adunaev@igalia.com>
|
||||
Date: Fri, 29 Oct 2021 20:54:46 +0700
|
||||
Subject: [PATCH] [linux/xfce] Set zero insets on maximising the window.
|
||||
|
||||
It turned out that Xfwm handles the frame insets not the way KWin and
|
||||
Mutter do.
|
||||
|
||||
Bug: 1260821
|
||||
Change-Id: I69e71049157c03b74d78bc5edb7a60bf39cdda8b
|
||||
---
|
||||
|
||||
diff --git a/ui/platform_window/x11/x11_window.cc b/ui/platform_window/x11/x11_window.cc
|
||||
index dd381747..706f19c 100644
|
||||
--- a/ui/platform_window/x11/x11_window.cc
|
||||
+++ b/ui/platform_window/x11/x11_window.cc
|
||||
@@ -676,6 +676,13 @@
|
||||
// save this one for later too.
|
||||
should_maximize_after_map_ = !window_mapped_in_client_;
|
||||
|
||||
+ // Some WMs keep respecting the frame extents even if the window is maximised.
|
||||
+ // Remove the insets when maximising. The extents will be set again when the
|
||||
+ // window is restored to normal state.
|
||||
+ // See https://crbug.com/1260821
|
||||
+ if (CanSetDecorationInsets())
|
||||
+ SetDecorationInsets(nullptr);
|
||||
+
|
||||
SetWMSpecState(true, x11::GetAtom("_NET_WM_STATE_MAXIMIZED_VERT"),
|
||||
x11::GetAtom("_NET_WM_STATE_MAXIMIZED_HORZ"));
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
diff -up chromium-95.0.4638.69/net/base/test_data_stream.cc.missing-cstring chromium-95.0.4638.69/net/base/test_data_stream.cc
|
||||
--- chromium-95.0.4638.69/net/base/test_data_stream.cc.missing-cstring 2021-11-14 16:04:59.911270740 +0000
|
||||
+++ chromium-95.0.4638.69/net/base/test_data_stream.cc 2021-11-14 16:04:59.881272143 +0000
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "net/base/test_data_stream.h"
|
||||
|
||||
#include <algorithm>
|
||||
+#include <cstring>
|
||||
|
||||
namespace net {
|
||||
|
||||
diff -up chromium-95.0.4638.69/net/filter/filter_source_stream_test_util.cc.missing-cstring chromium-95.0.4638.69/net/filter/filter_source_stream_test_util.cc
|
||||
--- chromium-95.0.4638.69/net/filter/filter_source_stream_test_util.cc.missing-cstring 2021-11-15 15:54:35.895963882 +0000
|
||||
+++ chromium-95.0.4638.69/net/filter/filter_source_stream_test_util.cc 2021-11-15 15:54:50.342288149 +0000
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
#include "net/filter/filter_source_stream_test_util.h"
|
||||
|
||||
+#include <cstring>
|
||||
+
|
||||
#include "base/bit_cast.h"
|
||||
#include "base/check_op.h"
|
||||
#include "third_party/zlib/zlib.h"
|
||||
diff -up chromium-95.0.4638.69/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring chromium-95.0.4638.69/third_party/webrtc/audio/utility/channel_mixer.cc
|
||||
--- chromium-95.0.4638.69/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring 2021-11-14 16:05:24.613116022 +0000
|
||||
+++ chromium-95.0.4638.69/third_party/webrtc/audio/utility/channel_mixer.cc 2021-11-14 16:05:24.614115975 +0000
|
||||
@@ -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-95.0.4638.69/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring chromium-95.0.4638.69/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
|
||||
--- chromium-95.0.4638.69/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring 2021-11-14 16:05:24.095140235 +0000
|
||||
+++ chromium-95.0.4638.69/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc 2021-11-14 16:05:24.095140235 +0000
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <sys/mman.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
+#include <cstring>
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
|
||||
diff -up chromium-95.0.4638.69/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring chromium-95.0.4638.69/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
|
||||
--- chromium-95.0.4638.69/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring 2021-11-14 16:05:23.794154305 +0000
|
||||
+++ chromium-95.0.4638.69/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc 2021-11-14 16:05:23.792154399 +0000
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include "modules/video_coding/utility/ivf_file_reader.h"
|
||||
|
||||
+#include <cstring>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
@ -0,0 +1,90 @@
|
||||
diff -up chromium-95.0.4638.69/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-95.0.4638.69/chrome/common/safe_browsing/BUILD.gn
|
||||
--- chromium-95.0.4638.69/chrome/common/safe_browsing/BUILD.gn.nounrar 2021-10-28 23:07:12.000000000 -0400
|
||||
+++ chromium-95.0.4638.69/chrome/common/safe_browsing/BUILD.gn 2021-11-12 11:33:52.691346496 -0500
|
||||
@@ -58,39 +58,6 @@ if (safe_browsing_mode == 1) {
|
||||
public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
|
||||
}
|
||||
|
||||
- source_set("rar_analyzer") {
|
||||
- sources = [
|
||||
- "rar_analyzer.cc",
|
||||
- "rar_analyzer.h",
|
||||
- ]
|
||||
-
|
||||
- deps = [
|
||||
- ":archive_analyzer_results",
|
||||
- ":download_type_util",
|
||||
- "//base",
|
||||
- "//base:i18n",
|
||||
- "//components/safe_browsing/content/common:file_type_policies",
|
||||
- "//components/safe_browsing/core/common",
|
||||
- "//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/common/proto:csd_proto" ]
|
||||
- }
|
||||
-
|
||||
if (is_linux || is_win) {
|
||||
source_set("document_analyzer") {
|
||||
sources = [
|
||||
@@ -189,7 +156,6 @@ source_set("safe_browsing") {
|
||||
":archive_analyzer_results",
|
||||
":binary_feature_extractor",
|
||||
":download_type_util",
|
||||
- ":rar_analyzer",
|
||||
"//components/safe_browsing/core/common",
|
||||
]
|
||||
|
||||
diff -up chromium-95.0.4638.69/chrome/common/safe_browsing/DEPS.nounrar chromium-95.0.4638.69/chrome/common/safe_browsing/DEPS
|
||||
--- chromium-95.0.4638.69/chrome/common/safe_browsing/DEPS.nounrar 2021-11-12 11:30:02.629954310 -0500
|
||||
+++ chromium-95.0.4638.69/chrome/common/safe_browsing/DEPS 2021-11-12 11:34:16.732491978 -0500
|
||||
@@ -3,6 +3,5 @@ include_rules = [
|
||||
"+components/safe_browsing/core/common",
|
||||
"+third_party/maldoca",
|
||||
"+third_party/protobuf",
|
||||
- "+third_party/unrar",
|
||||
"+third_party/zlib",
|
||||
]
|
||||
diff -up chromium-95.0.4638.69/chrome/services/file_util/BUILD.gn.nounrar chromium-95.0.4638.69/chrome/services/file_util/BUILD.gn
|
||||
--- chromium-95.0.4638.69/chrome/services/file_util/BUILD.gn.nounrar 2021-11-12 11:30:02.629954310 -0500
|
||||
+++ chromium-95.0.4638.69/chrome/services/file_util/BUILD.gn 2021-11-12 11:36:08.277168386 -0500
|
||||
@@ -60,7 +60,6 @@ source_set("file_util") {
|
||||
deps += [
|
||||
"//chrome/common/safe_browsing",
|
||||
"//chrome/common/safe_browsing:archive_analyzer_results",
|
||||
- "//chrome/common/safe_browsing:rar_analyzer",
|
||||
]
|
||||
|
||||
if (is_linux || is_win) {
|
||||
diff -up chromium-95.0.4638.69/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-95.0.4638.69/chrome/services/file_util/safe_archive_analyzer.cc
|
||||
--- chromium-95.0.4638.69/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2021-10-28 23:07:12.000000000 -0400
|
||||
+++ chromium-95.0.4638.69/chrome/services/file_util/safe_archive_analyzer.cc 2021-11-12 11:30:02.630954316 -0500
|
||||
@@ -45,10 +45,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,24 @@
|
||||
From 39e6e77798d86033e5eb1fb2a2caf20a5bca2262 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Sat, 9 Oct 2021 08:27:04 +0000
|
||||
Subject: [PATCH] IWYU: add memory for std::unique_ptr in base::CommandLine
|
||||
|
||||
---
|
||||
base/command_line.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/base/command_line.h b/base/command_line.h
|
||||
index 706726a..ad02812 100644
|
||||
--- a/base/command_line.h
|
||||
+++ b/base/command_line.h
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <stddef.h>
|
||||
#include <functional>
|
||||
#include <map>
|
||||
+#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
@ -0,0 +1,25 @@
|
||||
From 3a7b8dd0fcceffcfd0ea7e3186d2850deed7a00b Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Wed, 6 Oct 2021 15:36:47 +0000
|
||||
Subject: [PATCH] IWYU: add vector for std::vector in CouponDB
|
||||
|
||||
---
|
||||
chrome/browser/commerce/coupons/coupon_db.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/chrome/browser/commerce/coupons/coupon_db.h b/chrome/browser/commerce/coupons/coupon_db.h
|
||||
index f0758f4..93e2dd3 100644
|
||||
--- a/chrome/browser/commerce/coupons/coupon_db.h
|
||||
+++ b/chrome/browser/commerce/coupons/coupon_db.h
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef CHROME_BROWSER_COMMERCE_COUPONS_COUPON_DB_H_
|
||||
#define CHROME_BROWSER_COMMERCE_COUPONS_COUPON_DB_H_
|
||||
|
||||
+#include <vector>
|
||||
+
|
||||
#include "base/callback_helpers.h"
|
||||
#include "base/memory/weak_ptr.h"
|
||||
#include "url/gurl.h"
|
||||
--
|
||||
2.32.0
|
||||
|
@ -0,0 +1,24 @@
|
||||
From 9e36b3c28935fb50d43ccef443be786a8e3f8a5f Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Sat, 9 Oct 2021 16:17:34 +0000
|
||||
Subject: [PATCH] IWYU: add string.h for memcmp in ui:: DrmRenderNodePathFinder
|
||||
|
||||
---
|
||||
ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc b/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc
|
||||
index 06776a7..d5b7b71 100644
|
||||
--- a/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc
|
||||
+++ b/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.h"
|
||||
|
||||
#include <fcntl.h>
|
||||
+#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
--
|
||||
2.32.0
|
||||
|
@ -0,0 +1,76 @@
|
||||
diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h
|
||||
index aad9e08..2f3fcad 100644
|
||||
--- a/components/cast_channel/enum_table.h
|
||||
+++ b/components/cast_channel/enum_table.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <cstdint>
|
||||
#include <cstring>
|
||||
#include <ostream>
|
||||
+#include <vector>
|
||||
|
||||
#include "base/check_op.h"
|
||||
#include "base/macros.h"
|
||||
@@ -188,7 +189,6 @@ class
|
||||
inline constexpr GenericEnumTableEntry(int32_t value);
|
||||
inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
|
||||
|
||||
- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
|
||||
GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
|
||||
|
||||
private:
|
||||
@@ -254,7 +254,6 @@ class EnumTable {
|
||||
constexpr Entry(E value, base::StringPiece str)
|
||||
: GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
|
||||
|
||||
- Entry(const Entry&) = delete;
|
||||
Entry& operator=(const Entry&) = delete;
|
||||
};
|
||||
|
||||
@@ -313,15 +312,14 @@ class EnumTable {
|
||||
if (is_sorted_) {
|
||||
const std::size_t index = static_cast<std::size_t>(value);
|
||||
if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
|
||||
- const auto& entry = data_.begin()[index];
|
||||
+ const auto& entry = data_[index];
|
||||
if (ANALYZER_ASSUME_TRUE(entry.has_str()))
|
||||
return entry.str();
|
||||
}
|
||||
return absl::nullopt;
|
||||
}
|
||||
return GenericEnumTableEntry::FindByValue(
|
||||
- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
|
||||
- data_.size(), static_cast<int32_t>(value));
|
||||
+ &data_[0], data_.size(), static_cast<int32_t>(value));
|
||||
}
|
||||
|
||||
// This overload of GetString is designed for cases where the argument is a
|
||||
@@ -349,8 +347,7 @@ class EnumTable {
|
||||
// enum value directly.
|
||||
absl::optional<E> GetEnum(base::StringPiece str) const {
|
||||
auto* entry = GenericEnumTableEntry::FindByString(
|
||||
- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
|
||||
- data_.size(), str);
|
||||
+ &data_[0], data_.size(), str);
|
||||
return entry ? static_cast<E>(entry->value) : absl::optional<E>();
|
||||
}
|
||||
|
||||
@@ -365,7 +362,7 @@ class EnumTable {
|
||||
// Align the data on a cache line boundary.
|
||||
alignas(64)
|
||||
#endif
|
||||
- std::initializer_list<Entry> data_;
|
||||
+ const std::vector<Entry> data_;
|
||||
bool is_sorted_;
|
||||
|
||||
constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
|
||||
@@ -377,8 +374,8 @@ class EnumTable {
|
||||
|
||||
for (std::size_t i = 0; i < data.size(); i++) {
|
||||
for (std::size_t j = i + 1; j < data.size(); j++) {
|
||||
- const Entry& ei = data.begin()[i];
|
||||
- const Entry& ej = data.begin()[j];
|
||||
+ const Entry& ei = data[i];
|
||||
+ const Entry& ej = data[j];
|
||||
DCHECK(ei.value != ej.value)
|
||||
<< "Found duplicate enum values at indices " << i << " and " << j;
|
||||
DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
|
@ -0,0 +1,51 @@
|
||||
From 245e71ae8de3f4b5f3478739be819981bb12dfab Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Dunaev <adunaev@igalia.com>
|
||||
Date: Sat, 13 Nov 2021 06:35:35 +0000
|
||||
Subject: [PATCH] [linux/xfce] Introduced a hack for Xfwm.
|
||||
|
||||
This proposes an alternative to [1]. Either this patch or that one
|
||||
should be landed, but not both. See the linked crbug for the details.
|
||||
|
||||
Setting the frame extents via the _GTK_FRAME_EXTENTS property turned out
|
||||
to be problematic at Xfwm. While the issue is agreed to be a bug in the
|
||||
window manager, for now we disable setting the frame extents on that WM.
|
||||
|
||||
This patch introduces a logic that disables setting the window property
|
||||
on Xfwm.
|
||||
|
||||
[1] https://chromium-review.googlesource.com/c/chromium/src/+/3275653
|
||||
|
||||
Bug: 1260821
|
||||
Change-Id: I4b734ac0dc2b97d7ed6b1842564a33ec6e4b4035
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3275272
|
||||
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
|
||||
Commit-Queue: Alexander Dunaev <adunaev@igalia.com>
|
||||
Cr-Commit-Position: refs/heads/main@{#941444}
|
||||
---
|
||||
|
||||
diff --git a/ui/platform_window/x11/x11_window.cc b/ui/platform_window/x11/x11_window.cc
|
||||
index 2b20835..4fa2992 100644
|
||||
--- a/ui/platform_window/x11/x11_window.cc
|
||||
+++ b/ui/platform_window/x11/x11_window.cc
|
||||
@@ -1016,6 +1016,21 @@
|
||||
}
|
||||
|
||||
bool X11Window::CanSetDecorationInsets() const {
|
||||
+ // Xfwm handles _GTK_FRAME_EXTENTS a bit unexpected way. That is a known bug
|
||||
+ // that will be eventually fixed, but for now we have to disable the function
|
||||
+ // for Xfce. The block below should be removed when Xfwm is updated with the
|
||||
+ // fix and is known to work properly.
|
||||
+ // See https://crbug.com/1260821.
|
||||
+ {
|
||||
+ static WindowManagerName wm_name = WM_OTHER;
|
||||
+ static bool checked_for_wm = false;
|
||||
+ if (!checked_for_wm) {
|
||||
+ wm_name = GuessWindowManager();
|
||||
+ checked_for_wm = true;
|
||||
+ }
|
||||
+ if (wm_name == WM_XFWM4)
|
||||
+ return false;
|
||||
+ }
|
||||
return ui::WmSupportsHint(x11::GetAtom("_GTK_FRAME_EXTENTS"));
|
||||
}
|
||||
|
@ -0,0 +1,12 @@
|
||||
diff -up chromium-96.0.4664.110/content/public/common/content_features.cc.enable-WebRTCPipeWireCapturer-byDefault chromium-96.0.4664.110/content/public/common/content_features.cc
|
||||
--- chromium-96.0.4664.110/content/public/common/content_features.cc.enable-WebRTCPipeWireCapturer-byDefault 2021-12-20 11:24:28.862940185 -0500
|
||||
+++ chromium-96.0.4664.110/content/public/common/content_features.cc 2021-12-20 11:24:43.397027114 -0500
|
||||
@@ -1125,7 +1125,7 @@ const base::Feature kAuraWindowSubtreeCa
|
||||
// Controls whether the PipeWire support for screen capturing is enabled on the
|
||||
// Wayland display server.
|
||||
const base::Feature kWebRtcPipeWireCapturer{"WebRTCPipeWireCapturer",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
#endif // defined(WEBRTC_USE_PIPEWIRE)
|
||||
|
||||
enum class VideoCaptureServiceConfiguration {
|
@ -0,0 +1,25 @@
|
||||
diff -up chromium-96.0.4664.45/remoting/signaling/message_tracker.cc.gcc-remoting-constexpr chromium-96.0.4664.45/remoting/signaling/message_tracker.cc
|
||||
--- chromium-96.0.4664.45/remoting/signaling/message_tracker.cc.gcc-remoting-constexpr 2021-11-19 16:53:23.197177348 -0500
|
||||
+++ chromium-96.0.4664.45/remoting/signaling/message_tracker.cc 2021-11-19 17:03:16.354910826 -0500
|
||||
@@ -9,7 +9,7 @@
|
||||
namespace remoting {
|
||||
|
||||
// static
|
||||
-const base::TimeDelta MessageTracker::kCleanupInterval = base::Minutes(2);
|
||||
+constexpr base::TimeDelta MessageTracker::kCleanupInterval;
|
||||
|
||||
MessageTracker::MessageTracker() = default;
|
||||
|
||||
diff -up chromium-96.0.4664.45/remoting/signaling/message_tracker.h.gcc-remoting-constexpr chromium-96.0.4664.45/remoting/signaling/message_tracker.h
|
||||
--- chromium-96.0.4664.45/remoting/signaling/message_tracker.h.gcc-remoting-constexpr 2021-11-12 05:24:33.000000000 -0500
|
||||
+++ chromium-96.0.4664.45/remoting/signaling/message_tracker.h 2021-11-19 17:03:00.112809836 -0500
|
||||
@@ -40,7 +40,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::Minutes(2);
|
||||
|
||||
void RemoveExpiredIds();
|
||||
|
@ -0,0 +1,35 @@
|
||||
diff -up chromium-96.0.4664.45/third_party/webrtc/common_video/h264/pps_parser.h.missing-cstdint chromium-96.0.4664.45/third_party/webrtc/common_video/h264/pps_parser.h
|
||||
diff -up chromium-96.0.4664.45/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint chromium-96.0.4664.45/third_party/webrtc/common_video/h264/sps_parser.h
|
||||
--- chromium-96.0.4664.45/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint 2021-11-19 17:05:31.379750350 -0500
|
||||
+++ chromium-96.0.4664.45/third_party/webrtc/common_video/h264/sps_parser.h 2021-11-19 17:07:35.191520127 -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"
|
||||
#include "rtc_base/bitstream_reader.h"
|
||||
|
||||
diff -up chromium-96.0.4664.45/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint chromium-96.0.4664.45/third_party/webrtc/modules/include/module_common_types_public.h
|
||||
--- chromium-96.0.4664.45/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint 2021-11-12 05:28:10.000000000 -0500
|
||||
+++ chromium-96.0.4664.45/third_party/webrtc/modules/include/module_common_types_public.h 2021-11-19 17:05:31.379750350 -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-96.0.4664.45/ui/gfx/linux/drm_util_linux.h.missing-cstdint chromium-96.0.4664.45/ui/gfx/linux/drm_util_linux.h
|
||||
--- chromium-96.0.4664.45/ui/gfx/linux/drm_util_linux.h.missing-cstdint 2021-11-12 05:25:24.000000000 -0500
|
||||
+++ chromium-96.0.4664.45/ui/gfx/linux/drm_util_linux.h 2021-11-19 17:05:31.379750350 -0500
|
||||
@@ -9,6 +9,8 @@
|
||||
|
||||
#include "ui/gfx/buffer_types.h"
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace ui {
|
||||
|
||||
int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format);
|
@ -0,0 +1,24 @@
|
||||
diff -up chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc
|
||||
--- chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring 2021-11-12 05:28:09.000000000 -0500
|
||||
+++ chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc 2021-11-19 17:10:02.927438695 -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-96.0.4664.45/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring chromium-96.0.4664.45/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
|
||||
diff -up chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
|
||||
--- chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring 2021-11-12 05:28:10.000000000 -0500
|
||||
+++ chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc 2021-11-19 17:10:02.928438701 -0500
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include "modules/video_coding/utility/ivf_file_reader.h"
|
||||
|
||||
+#include <cstring>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
@ -0,0 +1,17 @@
|
||||
diff -up chromium-96.0.4664.45/net/test/embedded_test_server/http2_connection.cc.no-const chromium-96.0.4664.45/net/test/embedded_test_server/http2_connection.cc
|
||||
--- chromium-96.0.4664.45/net/test/embedded_test_server/http2_connection.cc.no-const 2021-11-23 18:56:57.700174009 +0000
|
||||
+++ chromium-96.0.4664.45/net/test/embedded_test_server/http2_connection.cc 2021-11-23 18:57:39.405201162 +0000
|
||||
@@ -24,10 +24,9 @@ namespace net {
|
||||
|
||||
namespace {
|
||||
|
||||
-std::vector<const http2::adapter::Header> GenerateHeaders(
|
||||
- HttpStatusCode status,
|
||||
- base::StringPairs headers) {
|
||||
- std::vector<const http2::adapter::Header> response_vector;
|
||||
+std::vector<http2::adapter::Header> GenerateHeaders(HttpStatusCode status,
|
||||
+ base::StringPairs headers) {
|
||||
+ std::vector<http2::adapter::Header> response_vector;
|
||||
response_vector.emplace_back(
|
||||
http2::adapter::HeaderRep(std::string(":status")),
|
||||
http2::adapter::HeaderRep(base::NumberToString(status)));
|
@ -0,0 +1,91 @@
|
||||
Workaround GCC ICE with MiraclePtr, see https://gcc.gnu.org/PR103455
|
||||
|
||||
--- a/gpu/command_buffer/client/gl_helper.h
|
||||
+++ b/gpu/command_buffer/client/gl_helper.h
|
||||
@@ -34,7 +34,7 @@ class ScopedGLuint {
|
||||
GenFunc gen_func,
|
||||
DeleteFunc delete_func)
|
||||
: gl_(gl), id_(0u), delete_func_(delete_func) {
|
||||
- (gl_->*gen_func)(1, &id_);
|
||||
+ (gl_.get()->*gen_func)(1, &id_);
|
||||
}
|
||||
|
||||
operator GLuint() const { return id_; }
|
||||
@@ -46,7 +46,7 @@ class ScopedGLuint {
|
||||
|
||||
~ScopedGLuint() {
|
||||
if (id_ != 0) {
|
||||
- (gl_->*delete_func_)(1, &id_);
|
||||
+ (gl_.get()->*delete_func_)(1, &id_);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,13 +86,13 @@ class ScopedBinder {
|
||||
typedef void (gles2::GLES2Interface::*BindFunc)(GLenum target, GLuint id);
|
||||
ScopedBinder(gles2::GLES2Interface* gl, GLuint id, BindFunc bind_func)
|
||||
: gl_(gl), bind_func_(bind_func) {
|
||||
- (gl_->*bind_func_)(Target, id);
|
||||
+ (gl_.get()->*bind_func_)(Target, id);
|
||||
}
|
||||
|
||||
ScopedBinder(const ScopedBinder&) = delete;
|
||||
ScopedBinder& operator=(const ScopedBinder&) = delete;
|
||||
|
||||
- virtual ~ScopedBinder() { (gl_->*bind_func_)(Target, 0); }
|
||||
+ virtual ~ScopedBinder() { (gl_.get()->*bind_func_)(Target, 0); }
|
||||
|
||||
private:
|
||||
raw_ptr<gles2::GLES2Interface> gl_;
|
||||
--- a/ui/accessibility/ax_node.h
|
||||
+++ b/ui/accessibility/ax_node.h
|
||||
@@ -822,10 +822,10 @@ AXNode::ChildIteratorBase<NodeType,
|
||||
// increment the iterator past the end, we remain at the past-the-end iterator
|
||||
// condition.
|
||||
if (child_ && parent_) {
|
||||
- if (child_ == (parent_->*LastChild)())
|
||||
+ if (child_ == (parent_.get()->*LastChild)())
|
||||
child_ = nullptr;
|
||||
else
|
||||
- child_ = (child_->*NextSibling)();
|
||||
+ child_ = (child_.get()->*NextSibling)();
|
||||
}
|
||||
|
||||
return *this;
|
||||
@@ -850,12 +850,12 @@ AXNode::ChildIteratorBase<NodeType,
|
||||
// If the iterator is past the end, |child_=nullptr|, decrement the iterator
|
||||
// gives us the last iterator element.
|
||||
if (!child_)
|
||||
- child_ = (parent_->*LastChild)();
|
||||
+ child_ = (parent_.get()->*LastChild)();
|
||||
// Decrement the iterator gives us the previous element, except when the
|
||||
// iterator is at the beginning; in which case, decrementing the iterator
|
||||
// remains at the beginning.
|
||||
- else if (child_ != (parent_->*FirstChild)())
|
||||
- child_ = (child_->*PreviousSibling)();
|
||||
+ else if (child_ != (parent_.get()->*FirstChild)())
|
||||
+ child_ = (child_.get()->*PreviousSibling)();
|
||||
}
|
||||
|
||||
return *this;
|
||||
--- a/ui/views/layout/flex_layout_types.cc
|
||||
+++ b/ui/views/layout/flex_layout_types.cc
|
||||
@@ -59,7 +59,7 @@ class LazySize {
|
||||
const gfx::Size& operator*() const { return *get(); }
|
||||
const gfx::Size* get() const {
|
||||
if (!size_)
|
||||
- size_ = (view_->*size_func_)();
|
||||
+ size_ = (view_.get()->*size_func_)();
|
||||
return &size_.value();
|
||||
}
|
||||
LazyDimension width() const {
|
||||
--- a/chrome/browser/ui/views/passwords/auto_signin_first_run_dialog_view.cc
|
||||
+++ b/chrome/browser/ui/views/passwords/auto_signin_first_run_dialog_view.cc
|
||||
@@ -37,7 +37,7 @@ AutoSigninFirstRunDialogView::AutoSigninFirstRunDialogView(
|
||||
auto call_controller = [](AutoSigninFirstRunDialogView* dialog,
|
||||
ControllerCallbackFn func) {
|
||||
if (dialog->controller_) {
|
||||
- (dialog->controller_->*func)();
|
||||
+ (dialog->controller_.get()->*func)();
|
||||
}
|
||||
};
|
||||
SetAcceptCallback(
|
@ -0,0 +1,27 @@
|
||||
From 8e2458ffc6727943518a622753b074b42e713403 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Sat, 18 Dec 2021 08:38:57 +0000
|
||||
Subject: [PATCH] libstdc++: fix DCHECK_NE in ui::WaylandFrameManager
|
||||
|
||||
There is no CheckOpValueStr() for std::unique_ptr. Use get() to
|
||||
compare pointer values.
|
||||
---
|
||||
ui/ozone/platform/wayland/host/wayland_frame_manager.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ui/ozone/platform/wayland/host/wayland_frame_manager.cc b/ui/ozone/platform/wayland/host/wayland_frame_manager.cc
|
||||
index 569526c..58fae14 100644
|
||||
--- a/ui/ozone/platform/wayland/host/wayland_frame_manager.cc
|
||||
+++ b/ui/ozone/platform/wayland/host/wayland_frame_manager.cc
|
||||
@@ -379,7 +379,7 @@ void WaylandFrameManager::OnPresentation(
|
||||
// Investigate the issue with surface sync.
|
||||
frame->feedback = gfx::PresentationFeedback::Failure();
|
||||
}
|
||||
- CHECK_NE(frame, submitted_frames_.back());
|
||||
+ CHECK_NE(frame.get(), submitted_frames_.back().get());
|
||||
}
|
||||
MaybeProcessSubmittedFrames();
|
||||
}
|
||||
--
|
||||
2.32.0
|
||||
|
@ -0,0 +1,75 @@
|
||||
diff -up chromium-98.0.4758.80/components/cast_channel/enum_table.h.EnumTable-crash chromium-98.0.4758.80/components/cast_channel/enum_table.h
|
||||
--- chromium-98.0.4758.80/components/cast_channel/enum_table.h.EnumTable-crash 2022-02-01 00:41:47.000000000 +0000
|
||||
+++ chromium-98.0.4758.80/components/cast_channel/enum_table.h 2022-02-02 18:54:23.096214186 +0000
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <cstdint>
|
||||
#include <cstring>
|
||||
#include <ostream>
|
||||
+#include <vector>
|
||||
|
||||
#include "base/check_op.h"
|
||||
#include "base/notreached.h"
|
||||
@@ -187,7 +188,6 @@ class
|
||||
inline constexpr GenericEnumTableEntry(int32_t value);
|
||||
inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
|
||||
|
||||
- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
|
||||
GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
|
||||
|
||||
private:
|
||||
@@ -253,7 +253,6 @@ class EnumTable {
|
||||
constexpr Entry(E value, base::StringPiece str)
|
||||
: GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
|
||||
|
||||
- Entry(const Entry&) = delete;
|
||||
Entry& operator=(const Entry&) = delete;
|
||||
};
|
||||
|
||||
@@ -312,15 +311,14 @@ class EnumTable {
|
||||
if (is_sorted_) {
|
||||
const std::size_t index = static_cast<std::size_t>(value);
|
||||
if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
|
||||
- const auto& entry = data_.begin()[index];
|
||||
+ const auto& entry = data_[index];
|
||||
if (ANALYZER_ASSUME_TRUE(entry.has_str()))
|
||||
return entry.str();
|
||||
}
|
||||
return absl::nullopt;
|
||||
}
|
||||
return GenericEnumTableEntry::FindByValue(
|
||||
- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
|
||||
- data_.size(), static_cast<int32_t>(value));
|
||||
+ &data_[0], data_.size(), static_cast<int32_t>(value));
|
||||
}
|
||||
|
||||
// This overload of GetString is designed for cases where the argument is a
|
||||
@@ -348,8 +346,7 @@ class EnumTable {
|
||||
// enum value directly.
|
||||
absl::optional<E> GetEnum(base::StringPiece str) const {
|
||||
auto* entry = GenericEnumTableEntry::FindByString(
|
||||
- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
|
||||
- data_.size(), str);
|
||||
+ &data_[0], data_.size(), str);
|
||||
return entry ? static_cast<E>(entry->value) : absl::optional<E>();
|
||||
}
|
||||
|
||||
@@ -364,7 +361,7 @@ class EnumTable {
|
||||
// Align the data on a cache line boundary.
|
||||
alignas(64)
|
||||
#endif
|
||||
- std::initializer_list<Entry> data_;
|
||||
+ const std::vector<Entry> data_;
|
||||
bool is_sorted_;
|
||||
|
||||
constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
|
||||
@@ -376,8 +373,8 @@ class EnumTable {
|
||||
|
||||
for (std::size_t i = 0; i < data.size(); i++) {
|
||||
for (std::size_t j = i + 1; j < data.size(); j++) {
|
||||
- const Entry& ei = data.begin()[i];
|
||||
- const Entry& ej = data.begin()[j];
|
||||
+ const Entry& ei = data[i];
|
||||
+ const Entry& ej = data[j];
|
||||
DCHECK(ei.value != ej.value)
|
||||
<< "Found duplicate enum values at indices " << i << " and " << j;
|
||||
DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
|
@ -0,0 +1,15 @@
|
||||
diff -up chromium-98.0.4758.80/base/allocator/partition_allocator/starscan/metadata_allocator.h.wtf chromium-98.0.4758.80/base/allocator/partition_allocator/starscan/metadata_allocator.h
|
||||
--- chromium-98.0.4758.80/base/allocator/partition_allocator/starscan/metadata_allocator.h.wtf 2022-02-05 16:05:15.125570250 +0000
|
||||
+++ chromium-98.0.4758.80/base/allocator/partition_allocator/starscan/metadata_allocator.h 2022-02-05 16:11:45.519670294 +0000
|
||||
@@ -39,6 +39,11 @@ class MetadataAllocator {
|
||||
}
|
||||
|
||||
template <typename U>
|
||||
+ bool operator==(const MetadataAllocator<U>&) const {
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ template <typename U>
|
||||
bool operator!=(const MetadataAllocator<U>& o) {
|
||||
return !operator==(o);
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
diff -up chromium-98.0.4758.80/chrome/browser/about_flags.cc.accel-mjpeg chromium-98.0.4758.80/chrome/browser/about_flags.cc
|
||||
--- chromium-98.0.4758.80/chrome/browser/about_flags.cc.accel-mjpeg 2022-02-01 00:41:40.000000000 +0000
|
||||
+++ chromium-98.0.4758.80/chrome/browser/about_flags.cc 2022-02-02 19:23:15.554137616 +0000
|
||||
@@ -3822,12 +3822,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop,
|
||||
MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)},
|
||||
#endif // ENABLE_VR
|
||||
-#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
+#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_LINUX)
|
||||
{"disable-accelerated-mjpeg-decode",
|
||||
flag_descriptions::kAcceleratedMjpegDecodeName,
|
||||
- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS,
|
||||
+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
|
||||
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
|
||||
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
+#endif // BUILDFLAG(IS_CHROMEOS_ASH) || OS_LINUX
|
||||
{"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
|
||||
flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
|
||||
FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
|
||||
diff -up chromium-98.0.4758.80/chrome/browser/flag_descriptions.cc.accel-mjpeg chromium-98.0.4758.80/chrome/browser/flag_descriptions.cc
|
||||
--- chromium-98.0.4758.80/chrome/browser/flag_descriptions.cc.accel-mjpeg 2022-02-02 19:23:15.555137569 +0000
|
||||
+++ chromium-98.0.4758.80/chrome/browser/flag_descriptions.cc 2022-02-02 19:30:58.315465225 +0000
|
||||
@@ -3979,7 +3979,7 @@ const char kUseAngleGL[] = "OpenGL";
|
||||
|
||||
// Chrome OS -------------------------------------------------------------------
|
||||
|
||||
-#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
+#if BUILDFLAG(IS_CHROMEOS_ASH) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
|
||||
const char kAcceleratedMjpegDecodeName[] =
|
||||
"Hardware-accelerated mjpeg decode for captured frame";
|
||||
@@ -3987,6 +3987,10 @@ const char kAcceleratedMjpegDecodeDescri
|
||||
"Enable hardware-accelerated mjpeg decode for captured frame where "
|
||||
"available.";
|
||||
|
||||
+#endif
|
||||
+
|
||||
+#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
+
|
||||
const char kAllowDisableMouseAccelerationName[] =
|
||||
"Allow disabling mouse acceleration";
|
||||
const char kAllowDisableMouseAccelerationDescription[] =
|
||||
diff -up chromium-98.0.4758.80/chrome/browser/flag_descriptions.h.accel-mjpeg chromium-98.0.4758.80/chrome/browser/flag_descriptions.h
|
||||
--- chromium-98.0.4758.80/chrome/browser/flag_descriptions.h.accel-mjpeg 2022-02-02 19:23:15.556137523 +0000
|
||||
+++ chromium-98.0.4758.80/chrome/browser/flag_descriptions.h 2022-02-02 19:31:59.585595773 +0000
|
||||
@@ -2297,11 +2297,15 @@ extern const char kUseAngleGL[];
|
||||
|
||||
// Chrome OS ------------------------------------------------------------------
|
||||
|
||||
-#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
+#if BUILDFLAG(IS_CHROMEOS_ASH) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
|
||||
extern const char kAcceleratedMjpegDecodeName[];
|
||||
extern const char kAcceleratedMjpegDecodeDescription[];
|
||||
|
||||
+#endif
|
||||
+
|
||||
+#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
+
|
||||
extern const char kAllowDisableMouseAccelerationName[];
|
||||
extern const char kAllowDisableMouseAccelerationDescription[];
|
||||
|
@ -0,0 +1,20 @@
|
||||
diff -up chromium-98.0.4758.80/components/ui_devtools/views/ui_element_with_metadata.cc.erase-fix chromium-98.0.4758.80/components/ui_devtools/views/ui_element_with_metadata.cc
|
||||
--- chromium-98.0.4758.80/components/ui_devtools/views/ui_element_with_metadata.cc.erase-fix 2022-02-03 19:16:57.784979831 +0000
|
||||
+++ chromium-98.0.4758.80/components/ui_devtools/views/ui_element_with_metadata.cc 2022-02-03 19:17:12.983633352 +0000
|
||||
@@ -19,14 +19,14 @@ namespace {
|
||||
// Remove any custom editor "prefixes" from the property name. The prefixes must
|
||||
// not be valid identifier characters.
|
||||
void StripPrefix(std::string& property_name) {
|
||||
- auto cur = property_name.cbegin();
|
||||
+ auto cur = property_name.begin();
|
||||
for (; cur < property_name.cend(); ++cur) {
|
||||
if ((*cur >= 'A' && *cur <= 'Z') || (*cur >= 'a' && *cur <= 'z') ||
|
||||
*cur == '_') {
|
||||
break;
|
||||
}
|
||||
}
|
||||
- property_name.erase(property_name.cbegin(), cur);
|
||||
+ property_name.erase(property_name.begin(), cur);
|
||||
}
|
||||
|
||||
} // namespace
|
@ -0,0 +1,167 @@
|
||||
diff -up chromium-98.0.4758.80/chrome/service/cloud_print/print_system_cups.cc.el7cups chromium-98.0.4758.80/chrome/service/cloud_print/print_system_cups.cc
|
||||
--- chromium-98.0.4758.80/chrome/service/cloud_print/print_system_cups.cc.el7cups 2022-02-05 16:24:50.301779674 +0000
|
||||
+++ chromium-98.0.4758.80/chrome/service/cloud_print/print_system_cups.cc 2022-02-05 16:24:50.302779651 +0000
|
||||
@@ -729,8 +729,9 @@ int PrintSystemCUPS::PrintFile(const GUR
|
||||
// Use default (local) print server.
|
||||
if (url.is_empty())
|
||||
return cupsPrintFile(name, filename, title, num_options, options);
|
||||
-
|
||||
- printing::HttpConnectionCUPS http(url, encryption, /*blocking=*/false);
|
||||
+
|
||||
+ printing::HttpConnectionCUPS http(url, encryption);
|
||||
+ http.SetBlocking(false);
|
||||
return cupsPrintFile2(http.http(), name, filename, title, num_options,
|
||||
options);
|
||||
}
|
||||
@@ -746,7 +747,8 @@ int PrintSystemCUPS::GetJobs(cups_job_t*
|
||||
if (url.is_empty())
|
||||
return cupsGetJobs(jobs, name, myjobs, whichjobs);
|
||||
|
||||
- printing::HttpConnectionCUPS http(url, encryption, /*blocking=*/false);
|
||||
+ printing::HttpConnectionCUPS http(url, encryption);
|
||||
+ http.SetBlocking(false);
|
||||
return cupsGetJobs2(http.http(), jobs, name, myjobs, whichjobs);
|
||||
}
|
||||
|
||||
diff -up chromium-98.0.4758.80/printing/backend/cups_helper.cc.el7cups chromium-98.0.4758.80/printing/backend/cups_helper.cc
|
||||
--- chromium-98.0.4758.80/printing/backend/cups_helper.cc.el7cups 2022-02-05 16:25:16.885173676 +0000
|
||||
+++ chromium-98.0.4758.80/printing/backend/cups_helper.cc 2022-02-05 16:25:16.886173653 +0000
|
||||
@@ -34,18 +34,6 @@ namespace printing {
|
||||
// This section contains helper code for PPD parsing for semantic capabilities.
|
||||
namespace {
|
||||
|
||||
-// Function availability can be tested by checking whether its address is not
|
||||
-// nullptr. Weak symbols remove the need for platform specific build flags and
|
||||
-// allow for appropriate CUPS usage on platforms with non-uniform version
|
||||
-// support, namely Linux.
|
||||
-#define WEAK_CUPS_FN(x) extern "C" __attribute__((weak)) decltype(x) x
|
||||
-
|
||||
-WEAK_CUPS_FN(httpConnect2);
|
||||
-
|
||||
-// Timeout for establishing a CUPS connection. It is expected that cupsd is
|
||||
-// able to start and respond on all systems within this duration.
|
||||
-constexpr base::TimeDelta kCupsTimeout = base::Seconds(5);
|
||||
-
|
||||
// CUPS default max copies value (parsed from kCupsMaxCopies PPD attribute).
|
||||
constexpr int32_t kDefaultMaxCopies = 9999;
|
||||
constexpr char kCupsMaxCopies[] = "cupsMaxCopies";
|
||||
@@ -527,8 +515,7 @@ const int kDefaultIPPServerPort = 631;
|
||||
// Helper wrapper around http_t structure, with connection and cleanup
|
||||
// functionality.
|
||||
HttpConnectionCUPS::HttpConnectionCUPS(const GURL& print_server_url,
|
||||
- http_encryption_t encryption,
|
||||
- bool blocking)
|
||||
+ http_encryption_t encryption)
|
||||
: http_(nullptr) {
|
||||
// If we have an empty url, use default print server.
|
||||
if (print_server_url.is_empty())
|
||||
@@ -538,17 +525,10 @@ HttpConnectionCUPS::HttpConnectionCUPS(c
|
||||
if (port == url::PORT_UNSPECIFIED)
|
||||
port = kDefaultIPPServerPort;
|
||||
|
||||
- if (httpConnect2) {
|
||||
- http_ = httpConnect2(print_server_url.host().c_str(), port,
|
||||
- /*addrlist=*/nullptr, AF_UNSPEC, encryption,
|
||||
- blocking ? 1 : 0, kCupsTimeout.InMilliseconds(),
|
||||
- /*cancel=*/nullptr);
|
||||
- } else {
|
||||
- // Continue to use deprecated CUPS calls because because older Linux
|
||||
- // distribution such as RHEL/CentOS 7 are shipped with CUPS 1.6.
|
||||
- http_ =
|
||||
- httpConnectEncrypt(print_server_url.host().c_str(), port, encryption);
|
||||
- }
|
||||
+ // Continue to use deprecated CUPS calls because because older Linux
|
||||
+ // distribution such as RHEL/CentOS 7 are shipped with CUPS 1.6.
|
||||
+ http_ =
|
||||
+ httpConnectEncrypt(print_server_url.host().c_str(), port, encryption);
|
||||
|
||||
if (!http_) {
|
||||
LOG(ERROR) << "CP_CUPS: Failed connecting to print server: "
|
||||
@@ -556,8 +536,6 @@ HttpConnectionCUPS::HttpConnectionCUPS(c
|
||||
return;
|
||||
}
|
||||
|
||||
- if (!httpConnect2)
|
||||
- httpBlocking(http_, blocking ? 1 : 0);
|
||||
}
|
||||
|
||||
HttpConnectionCUPS::~HttpConnectionCUPS() {
|
||||
@@ -565,6 +543,10 @@ HttpConnectionCUPS::~HttpConnectionCUPS(
|
||||
httpClose(http_);
|
||||
}
|
||||
|
||||
+void HttpConnectionCUPS::SetBlocking(bool blocking) {
|
||||
+ httpBlocking(http_, blocking ? 1 : 0);
|
||||
+}
|
||||
+
|
||||
http_t* HttpConnectionCUPS::http() {
|
||||
return http_;
|
||||
}
|
||||
diff -up chromium-98.0.4758.80/printing/backend/cups_helper.h.el7cups chromium-98.0.4758.80/printing/backend/cups_helper.h
|
||||
--- chromium-98.0.4758.80/printing/backend/cups_helper.h.el7cups 2022-02-05 16:25:16.886173653 +0000
|
||||
+++ chromium-98.0.4758.80/printing/backend/cups_helper.h 2022-02-05 16:25:16.886173653 +0000
|
||||
@@ -34,10 +34,11 @@ constexpr cups_ptype_t kDestinationsFilt
|
||||
class COMPONENT_EXPORT(PRINT_BACKEND) HttpConnectionCUPS {
|
||||
public:
|
||||
HttpConnectionCUPS(const GURL& print_server_url,
|
||||
- http_encryption_t encryption,
|
||||
- bool blocking);
|
||||
+ http_encryption_t encryption);
|
||||
~HttpConnectionCUPS();
|
||||
|
||||
+ void SetBlocking(bool blocking);
|
||||
+
|
||||
http_t* http();
|
||||
|
||||
private:
|
||||
diff -up chromium-98.0.4758.80/printing/backend/print_backend_cups.cc.el7cups chromium-98.0.4758.80/printing/backend/print_backend_cups.cc
|
||||
--- chromium-98.0.4758.80/printing/backend/print_backend_cups.cc.el7cups 2022-02-05 16:25:16.887173630 +0000
|
||||
+++ chromium-98.0.4758.80/printing/backend/print_backend_cups.cc 2022-02-07 00:23:16.315248327 +0000
|
||||
@@ -146,7 +146,7 @@ mojom::ResultCode PrintBackendCUPS::Enum
|
||||
// not showing as available. Using cupsEnumDests() allows us to do our own
|
||||
// filtering should any duplicates occur.
|
||||
CupsDestsData dests_data = {0, nullptr};
|
||||
- ipp_status_t last_error = IPP_STATUS_OK;
|
||||
+ ipp_status_t last_error = IPP_OK;
|
||||
if (print_server_url_.is_empty()) {
|
||||
VLOG(1) << "CUPS: using cupsEnumDests to enumerate printers";
|
||||
if (!cupsEnumDests(CUPS_DEST_FLAGS_NONE, kCupsTimeoutMs,
|
||||
@@ -173,7 +173,7 @@ mojom::ResultCode PrintBackendCUPS::Enum
|
||||
// no printer drivers installed. Rely upon CUPS error code to distinguish
|
||||
// between these.
|
||||
DCHECK(!dests_data.dests);
|
||||
- if (last_error != IPP_STATUS_ERROR_NOT_FOUND) {
|
||||
+ if (last_error != IPP_NOT_FOUND) {
|
||||
VLOG(1) << "CUPS: Error getting printers from CUPS server"
|
||||
<< ", server: " << print_server_url_
|
||||
<< ", error: " << static_cast<int>(last_error) << " - "
|
||||
@@ -336,7 +336,8 @@ int PrintBackendCUPS::GetDests(cups_dest
|
||||
if (print_server_url_.is_empty())
|
||||
return cupsGetDests2(CUPS_HTTP_DEFAULT, dests);
|
||||
|
||||
- HttpConnectionCUPS http(print_server_url_, cups_encryption_, blocking_);
|
||||
+ HttpConnectionCUPS http(print_server_url_, cups_encryption_);
|
||||
+ http.SetBlocking(blocking_);
|
||||
|
||||
// This call must be made in the same scope as `http` because its destructor
|
||||
// closes the connection.
|
||||
@@ -362,7 +363,8 @@ base::FilePath PrintBackendCUPS::GetPPD(
|
||||
// connection will timeout after 10 seconds of no data period. And it will
|
||||
// return the same way as if data was completely and successfully
|
||||
// downloaded.
|
||||
- HttpConnectionCUPS http(print_server_url_, cups_encryption_, blocking_);
|
||||
+ HttpConnectionCUPS http(print_server_url_, cups_encryption_);
|
||||
+ http.SetBlocking(blocking_);
|
||||
ppd_file_path = cupsGetPPD2(http.http(), name);
|
||||
// Check if the get full PPD, since non-blocking call may simply return
|
||||
// normally after timeout expired.
|
||||
@@ -398,7 +400,8 @@ PrintBackendCUPS::ScopedDestination Prin
|
||||
// Use default (local) print server.
|
||||
dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer_name.c_str(), nullptr);
|
||||
} else {
|
||||
- HttpConnectionCUPS http(print_server_url_, cups_encryption_, blocking_);
|
||||
+ HttpConnectionCUPS http(print_server_url_, cups_encryption_);
|
||||
+ http.SetBlocking(blocking_);
|
||||
dest = cupsGetNamedDest(http.http(), printer_name.c_str(), nullptr);
|
||||
}
|
||||
return ScopedDestination(dest);
|
@ -0,0 +1,127 @@
|
||||
diff -up chromium-98.0.4758.80/mojo/core/channel_linux.cc.epel7-header-workarounds chromium-98.0.4758.80/mojo/core/channel_linux.cc
|
||||
--- chromium-98.0.4758.80/mojo/core/channel_linux.cc.epel7-header-workarounds 2022-02-03 18:37:49.535504412 +0000
|
||||
+++ chromium-98.0.4758.80/mojo/core/channel_linux.cc 2022-02-03 18:55:08.833815527 +0000
|
||||
@@ -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-98.0.4758.80/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.epel7-header-workarounds chromium-98.0.4758.80/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
|
||||
--- chromium-98.0.4758.80/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.epel7-header-workarounds 2022-02-01 00:41:54.000000000 +0000
|
||||
+++ chromium-98.0.4758.80/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2022-02-03 18:37:49.536504389 +0000
|
||||
@@ -53,6 +53,25 @@
|
||||
|
||||
#endif // defined(OS_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-98.0.4758.80/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc.epel7-header-workarounds chromium-98.0.4758.80/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
|
||||
--- chromium-98.0.4758.80/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc.epel7-header-workarounds 2022-02-01 00:41:54.000000000 +0000
|
||||
+++ chromium-98.0.4758.80/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc 2022-02-03 18:37:49.535504412 +0000
|
||||
@@ -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-98.0.4758.80/sandbox/policy/linux/bpf_gpu_policy_linux.cc.epel7-header-workarounds chromium-98.0.4758.80/sandbox/policy/linux/bpf_gpu_policy_linux.cc
|
||||
--- chromium-98.0.4758.80/sandbox/policy/linux/bpf_gpu_policy_linux.cc.epel7-header-workarounds 2022-02-03 18:37:49.535504412 +0000
|
||||
+++ chromium-98.0.4758.80/sandbox/policy/linux/bpf_gpu_policy_linux.cc 2022-02-03 18:56:24.382093563 +0000
|
||||
@@ -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-98.0.4758.80/ui/events/ozone/evdev/event_converter_evdev_impl.cc.epel7-header-workarounds chromium-98.0.4758.80/ui/events/ozone/evdev/event_converter_evdev_impl.cc
|
||||
--- chromium-98.0.4758.80/ui/events/ozone/evdev/event_converter_evdev_impl.cc.epel7-header-workarounds 2022-02-03 18:37:49.536504389 +0000
|
||||
+++ chromium-98.0.4758.80/ui/events/ozone/evdev/event_converter_evdev_impl.cc 2022-02-03 18:57:16.842897816 +0000
|
||||
@@ -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 {
|
@ -0,0 +1,12 @@
|
||||
diff -up chromium-98.0.4758.80/content/common/user_agent.cc.fedora-user-agent chromium-98.0.4758.80/content/common/user_agent.cc
|
||||
--- chromium-98.0.4758.80/content/common/user_agent.cc.fedora-user-agent 2022-02-02 19:16:37.841755606 +0000
|
||||
+++ chromium-98.0.4758.80/content/common/user_agent.cc 2022-02-02 19:19:52.395650550 +0000
|
||||
@@ -34,7 +34,7 @@ std::string GetUserAgentPlatform() {
|
||||
#elif defined(OS_MAC)
|
||||
return "Macintosh; ";
|
||||
#elif 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,56 @@
|
||||
diff -up chromium-98.0.4758.80/remoting/base/util.cc.remoting-cstring chromium-98.0.4758.80/remoting/base/util.cc
|
||||
--- chromium-98.0.4758.80/remoting/base/util.cc.remoting-cstring 2022-02-01 00:41:54.000000000 +0000
|
||||
+++ chromium-98.0.4758.80/remoting/base/util.cc 2022-02-02 15:55:01.352340901 +0000
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "remoting/base/util.h"
|
||||
|
||||
+#include <cstring>
|
||||
#include <math.h>
|
||||
|
||||
#include "base/logging.h"
|
||||
diff -up chromium-98.0.4758.80/remoting/client/display/gl_helpers.cc.remoting-cstring chromium-98.0.4758.80/remoting/client/display/gl_helpers.cc
|
||||
--- chromium-98.0.4758.80/remoting/client/display/gl_helpers.cc.remoting-cstring 2022-02-01 00:41:54.000000000 +0000
|
||||
+++ chromium-98.0.4758.80/remoting/client/display/gl_helpers.cc 2022-02-02 15:55:01.353340854 +0000
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "remoting/client/display/gl_helpers.h"
|
||||
|
||||
#include "base/logging.h"
|
||||
+#include <cstring>
|
||||
|
||||
namespace remoting {
|
||||
|
||||
diff -up chromium-98.0.4758.80/remoting/host/fake_mouse_cursor_monitor.cc.remoting-cstring chromium-98.0.4758.80/remoting/host/fake_mouse_cursor_monitor.cc
|
||||
--- chromium-98.0.4758.80/remoting/host/fake_mouse_cursor_monitor.cc.remoting-cstring 2022-02-01 00:41:54.000000000 +0000
|
||||
+++ chromium-98.0.4758.80/remoting/host/fake_mouse_cursor_monitor.cc 2022-02-02 15:55:01.353340854 +0000
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "remoting/host/fake_mouse_cursor_monitor.h"
|
||||
|
||||
+#include <cstring>
|
||||
#include <memory>
|
||||
|
||||
#include "base/check.h"
|
||||
diff -up chromium-98.0.4758.80/remoting/host/host_config_unittest.cc.remoting-cstring chromium-98.0.4758.80/remoting/host/host_config_unittest.cc
|
||||
--- chromium-98.0.4758.80/remoting/host/host_config_unittest.cc.remoting-cstring 2022-02-02 15:55:01.353340854 +0000
|
||||
+++ chromium-98.0.4758.80/remoting/host/host_config_unittest.cc 2022-02-02 15:57:20.295794172 +0000
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "base/values.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
+#include <cstring>
|
||||
|
||||
namespace remoting {
|
||||
|
||||
diff -up chromium-98.0.4758.80/remoting/host/host_secret.cc.remoting-cstring chromium-98.0.4758.80/remoting/host/host_secret.cc
|
||||
--- chromium-98.0.4758.80/remoting/host/host_secret.cc.remoting-cstring 2022-02-01 00:41:54.000000000 +0000
|
||||
+++ chromium-98.0.4758.80/remoting/host/host_secret.cc 2022-02-02 15:55:01.353340854 +0000
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
-#include <string>
|
||||
+#include <cstring>
|
||||
|
||||
#include "base/rand_util.h"
|
||||
#include "base/strings/string_number_conversions.h"
|
@ -0,0 +1,84 @@
|
||||
diff -up chromium-98.0.4758.80/remoting/host/mojom/remoting_mojom_traits.h.extra-qualification chromium-98.0.4758.80/remoting/host/mojom/remoting_mojom_traits.h
|
||||
--- chromium-98.0.4758.80/remoting/host/mojom/remoting_mojom_traits.h.extra-qualification 2022-02-04 00:55:00.643766557 +0000
|
||||
+++ chromium-98.0.4758.80/remoting/host/mojom/remoting_mojom_traits.h 2022-02-04 00:56:18.272148934 +0000
|
||||
@@ -21,7 +21,7 @@
|
||||
namespace mojo {
|
||||
|
||||
template <>
|
||||
-class mojo::StructTraits<remoting::mojom::BoolDataView, bool> {
|
||||
+class StructTraits<remoting::mojom::BoolDataView, bool> {
|
||||
public:
|
||||
static bool value(bool value) { return value; }
|
||||
|
||||
@@ -32,7 +32,7 @@ class mojo::StructTraits<remoting::mojom
|
||||
};
|
||||
|
||||
template <>
|
||||
-class mojo::StructTraits<remoting::mojom::FloatDataView, float> {
|
||||
+class StructTraits<remoting::mojom::FloatDataView, float> {
|
||||
public:
|
||||
static float value(float value) { return value; }
|
||||
|
||||
@@ -43,7 +43,7 @@ class mojo::StructTraits<remoting::mojom
|
||||
};
|
||||
|
||||
template <>
|
||||
-class mojo::StructTraits<remoting::mojom::Int32DataView, int32_t> {
|
||||
+class StructTraits<remoting::mojom::Int32DataView, int32_t> {
|
||||
public:
|
||||
static int32_t value(int32_t value) { return value; }
|
||||
|
||||
@@ -109,7 +109,7 @@ struct EnumTraits<remoting::mojom::Mouse
|
||||
};
|
||||
|
||||
template <>
|
||||
-class mojo::StructTraits<remoting::mojom::ClipboardEventDataView,
|
||||
+class StructTraits<remoting::mojom::ClipboardEventDataView,
|
||||
::remoting::protocol::ClipboardEvent> {
|
||||
public:
|
||||
static const std::string& mime_type(
|
||||
@@ -127,7 +127,7 @@ class mojo::StructTraits<remoting::mojom
|
||||
};
|
||||
|
||||
template <>
|
||||
-class mojo::StructTraits<remoting::mojom::KeyEventDataView,
|
||||
+class StructTraits<remoting::mojom::KeyEventDataView,
|
||||
::remoting::protocol::KeyEvent> {
|
||||
public:
|
||||
static bool pressed(const ::remoting::protocol::KeyEvent& event) {
|
||||
@@ -163,7 +163,7 @@ class mojo::StructTraits<remoting::mojom
|
||||
};
|
||||
|
||||
template <>
|
||||
-class mojo::StructTraits<remoting::mojom::MouseEventDataView,
|
||||
+class StructTraits<remoting::mojom::MouseEventDataView,
|
||||
::remoting::protocol::MouseEvent> {
|
||||
public:
|
||||
static absl::optional<int32_t> x(
|
||||
@@ -252,7 +252,7 @@ class mojo::StructTraits<remoting::mojom
|
||||
};
|
||||
|
||||
template <>
|
||||
-class mojo::StructTraits<remoting::mojom::TextEventDataView,
|
||||
+class StructTraits<remoting::mojom::TextEventDataView,
|
||||
::remoting::protocol::TextEvent> {
|
||||
public:
|
||||
static const std::string& text(const ::remoting::protocol::TextEvent& event) {
|
||||
@@ -264,7 +264,7 @@ class mojo::StructTraits<remoting::mojom
|
||||
};
|
||||
|
||||
template <>
|
||||
-class mojo::StructTraits<remoting::mojom::TouchEventPointDataView,
|
||||
+class StructTraits<remoting::mojom::TouchEventPointDataView,
|
||||
::remoting::protocol::TouchEventPoint> {
|
||||
public:
|
||||
static uint32_t id(const ::remoting::protocol::TouchEventPoint& event) {
|
||||
@@ -341,7 +341,7 @@ struct EnumTraits<remoting::mojom::Touch
|
||||
};
|
||||
|
||||
template <>
|
||||
-class mojo::StructTraits<remoting::mojom::TouchEventDataView,
|
||||
+class StructTraits<remoting::mojom::TouchEventDataView,
|
||||
::remoting::protocol::TouchEvent> {
|
||||
public:
|
||||
static ::remoting::protocol::TouchEvent::TouchEventType event_type(
|
@ -0,0 +1,50 @@
|
||||
--- a/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp
|
||||
+++ b/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp
|
||||
@@ -712,7 +712,11 @@ void colrv1_draw_paint(SkCanvas* canvas,
|
||||
canvas->drawPaint(colrPaint);
|
||||
break;
|
||||
}
|
||||
+#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
|
||||
+ case FT_COLR_PAINTFORMAT_TRANSFORM:
|
||||
+#else
|
||||
case FT_COLR_PAINTFORMAT_TRANSFORMED:
|
||||
+#endif
|
||||
case FT_COLR_PAINTFORMAT_TRANSLATE:
|
||||
case FT_COLR_PAINTFORMAT_ROTATE:
|
||||
case FT_COLR_PAINTFORMAT_SKEW:
|
||||
@@ -759,10 +763,17 @@ void colrv1_transform(SkCanvas* canvas, FT_Face face, FT_COLR_Paint colrv1_paint
|
||||
SkMatrix transform;
|
||||
|
||||
switch (colrv1_paint.format) {
|
||||
+#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
|
||||
+ case FT_COLR_PAINTFORMAT_TRANSFORM: {
|
||||
+ transform = ToSkMatrix(colrv1_paint.u.transform.affine);
|
||||
+ break;
|
||||
+ }
|
||||
+#else
|
||||
case FT_COLR_PAINTFORMAT_TRANSFORMED: {
|
||||
transform = ToSkMatrix(colrv1_paint.u.transformed.affine);
|
||||
break;
|
||||
}
|
||||
+#endif
|
||||
case FT_COLR_PAINTFORMAT_TRANSLATE: {
|
||||
transform = SkMatrix::Translate(
|
||||
SkFixedToScalar(colrv1_paint.u.translate.dx),
|
||||
@@ -880,10 +891,17 @@ bool colrv1_traverse_paint(SkCanvas* canvas,
|
||||
traverse_result = colrv1_start_glyph(canvas, palette, face, paint.u.colr_glyph.glyphID,
|
||||
FT_COLOR_NO_ROOT_TRANSFORM);
|
||||
break;
|
||||
+#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
|
||||
+ case FT_COLR_PAINTFORMAT_TRANSFORM:
|
||||
+ colrv1_transform(canvas, face, paint);
|
||||
+ traverse_result = colrv1_traverse_paint(canvas, palette, face,
|
||||
+ paint.u.transform.paint, visited_set);
|
||||
+#else
|
||||
case FT_COLR_PAINTFORMAT_TRANSFORMED:
|
||||
colrv1_transform(canvas, face, paint);
|
||||
traverse_result = colrv1_traverse_paint(canvas, palette, face,
|
||||
paint.u.transformed.paint, visited_set);
|
||||
+#endif
|
||||
break;
|
||||
case FT_COLR_PAINTFORMAT_TRANSLATE:
|
||||
colrv1_transform(canvas, face, paint);
|
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue