parent
e2786032fe
commit
1bc897ee19
@ -1,13 +0,0 @@
|
||||
diff -up chromium-117.0.5938.62/content/browser/interest_group/header_direct_from_seller_signals.cc.me chromium-117.0.5938.62/content/browser/interest_group/header_direct_from_seller_signals.cc
|
||||
--- chromium-117.0.5938.62/content/browser/interest_group/header_direct_from_seller_signals.cc.me 2023-09-16 09:43:41.717545215 +0200
|
||||
+++ chromium-117.0.5938.62/content/browser/interest_group/header_direct_from_seller_signals.cc 2023-09-16 09:48:07.319539585 +0200
|
||||
@@ -187,7 +187,8 @@ void OnJsonDecoded(std::unique_ptr<const
|
||||
|
||||
} // namespace
|
||||
|
||||
-HeaderDirectFromSellerSignals::HeaderDirectFromSellerSignals() = default;
|
||||
+HeaderDirectFromSellerSignals::HeaderDirectFromSellerSignals() :
|
||||
+ seller_signals_(absl::nullopt), auction_signals_(absl::nullopt) { }
|
||||
|
||||
HeaderDirectFromSellerSignals::~HeaderDirectFromSellerSignals() = default;
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -up chromium-117.0.5938.48/third_party/blink/renderer/core/BUILD.gn.me chromium-117.0.5938.48/third_party/blink/renderer/core/BUILD.gn
|
||||
--- chromium-117.0.5938.48/third_party/blink/renderer/core/BUILD.gn.me 2023-09-10 16:54:00.804385139 +0200
|
||||
+++ chromium-117.0.5938.48/third_party/blink/renderer/core/BUILD.gn 2023-09-10 16:54:13.540625077 +0200
|
||||
@@ -1694,8 +1694,6 @@ action_foreach("element_locator_test_pro
|
||||
python_path_root = "${root_out_dir}/pyproto"
|
||||
python_path_proto = "${python_path_root}/third_party/blink/renderer/core/lcp_critical_path_predictor"
|
||||
|
||||
- mnemonic = "ELOC_PROTO"
|
||||
-
|
||||
source_dir = "lcp_critical_path_predictor/test_proto"
|
||||
sources = rebase_path([ "lcp_image_id.asciipb" ], "", source_dir)
|
||||
|
@ -1,14 +0,0 @@
|
||||
--- chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.than 2023-11-26 13:50:07.005519877 +0100
|
||||
+++ chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h 2023-11-26 13:50:49.727267240 +0100
|
||||
@@ -152,10 +152,7 @@
|
||||
(!BUILDFLAG(PUT_REF_COUNT_IN_PREVIOUS_SLOT) && \
|
||||
defined(ARCH_CPU_LITTLE_ENDIAN))
|
||||
|
||||
-#define PA_CONFIG_HAS_MEMORY_TAGGING() \
|
||||
- (defined(ARCH_CPU_ARM64) && defined(__clang__) && \
|
||||
- !defined(ADDRESS_SANITIZER) && \
|
||||
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)))
|
||||
+#define PA_CONFIG_HAS_MEMORY_TAGGING() 0
|
||||
|
||||
#if PA_CONFIG(HAS_MEMORY_TAGGING)
|
||||
static_assert(sizeof(void*) == 8);
|
@ -1,16 +0,0 @@
|
||||
diff -up chromium-120.0.6099.56/third_party/libc++/src/include/__config.me chromium-120.0.6099.56/third_party/libc++/src/include/__config
|
||||
--- chromium-120.0.6099.56/third_party/libc++/src/include/__config.me 2023-12-03 00:05:51.254483474 +0100
|
||||
+++ chromium-120.0.6099.56/third_party/libc++/src/include/__config 2023-12-03 00:06:05.872863168 +0100
|
||||
@@ -32,11 +32,7 @@
|
||||
|
||||
// Warn if a compiler version is used that is not supported anymore
|
||||
// LLVM RELEASE Update the minimum compiler versions
|
||||
-# if defined(_LIBCPP_CLANG_VER)
|
||||
-# if _LIBCPP_CLANG_VER < 1500
|
||||
-# warning "Libc++ only supports Clang 15 and later"
|
||||
-# endif
|
||||
-# elif defined(_LIBCPP_APPLE_CLANG_VER)
|
||||
+# if defined(_LIBCPP_APPLE_CLANG_VER)
|
||||
# if _LIBCPP_APPLE_CLANG_VER < 1500
|
||||
# warning "Libc++ only supports AppleClang 15 and later"
|
||||
# endif
|
@ -1,13 +0,0 @@
|
||||
diff -up chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn.me chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn
|
||||
--- chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn.me 2023-11-26 16:14:15.364064126 +0100
|
||||
+++ chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn 2023-11-26 16:41:16.877321990 +0100
|
||||
@@ -21,6 +21,9 @@ if (use_atk) {
|
||||
minor = atspi_version[1]
|
||||
micro = atspi_version[2]
|
||||
|
||||
+ # gn workaround for the error: Assignment had no effect
|
||||
+ print("ATSPI Version: $major.$minor.$micro")
|
||||
+
|
||||
# ATSPI 2.49.90 now defines these for us and it's an error for us to
|
||||
# redefine them on the compiler command line.
|
||||
# See ATSPI 927344a34cd5bf81fc64da4968241735ecb4f03b
|
@ -1,24 +0,0 @@
|
||||
diff -up chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h.than chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h
|
||||
--- chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h.than 2023-11-26 18:19:11.355117176 +0100
|
||||
+++ chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h 2023-11-26 18:20:21.090366036 +0100
|
||||
@@ -184,7 +184,7 @@ struct Arg {
|
||||
//
|
||||
// Warning: don't just do Arg(NULL) here because in some libcs, NULL is an
|
||||
// alias for nullptr!
|
||||
- Arg(nullptr_t p) : type(INT) {
|
||||
+ Arg(std::nullptr_t p) : type(INT) {
|
||||
integer.i = 0;
|
||||
// Internally, SafeSprintf expects to represent nulls as integers whose
|
||||
// width is equal to sizeof(NULL), which is not necessarily equal to
|
||||
diff -up chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h.than chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h
|
||||
--- chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h.than 2023-12-04 10:20:45.350540897 +0100
|
||||
+++ chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2023-12-04 10:23:17.335339670 +0100
|
||||
@@ -21,7 +21,7 @@ class FragmentDataIteratorBase {
|
||||
|
||||
public:
|
||||
explicit FragmentDataIteratorBase(Head& head) : fragment_head_(head) {}
|
||||
- explicit FragmentDataIteratorBase(nullptr_t) {}
|
||||
+ explicit FragmentDataIteratorBase(std::nullptr_t) {}
|
||||
|
||||
Data* GetFragmentData() const {
|
||||
return !IsDone() ? &fragment_head_.at(idx_) : nullptr;
|
@ -0,0 +1,13 @@
|
||||
diff -up chromium-121.0.6167.57/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.me chromium-121.0.6167.57/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h
|
||||
--- chromium-121.0.6167.57/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.me 2024-01-16 14:20:52.401890657 +0100
|
||||
+++ chromium-121.0.6167.57/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h 2024-01-16 15:08:04.070156474 +0100
|
||||
@@ -162,7 +162,8 @@ static_assert(sizeof(void*) != 8, "");
|
||||
|
||||
#if defined(ARCH_CPU_ARM64) && defined(__clang__) && \
|
||||
!defined(ADDRESS_SANITIZER) && \
|
||||
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID))
|
||||
+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)) && \
|
||||
+ __GLIBC_PREREQ(2, 29)
|
||||
#define PA_CONFIG_HAS_MEMORY_TAGGING() 1
|
||||
#else
|
||||
#define PA_CONFIG_HAS_MEMORY_TAGGING() 0
|
@ -0,0 +1,12 @@
|
||||
diff -up chromium-121.0.6167.57/components/performance_manager/resource_attribution/query_params.h.me chromium-121.0.6167.57/components/performance_manager/resource_attribution/query_params.h
|
||||
--- chromium-121.0.6167.57/components/performance_manager/resource_attribution/query_params.h.me 2024-01-18 17:00:24.791582422 +0100
|
||||
+++ chromium-121.0.6167.57/components/performance_manager/resource_attribution/query_params.h 2024-01-18 17:22:21.521682845 +0100
|
||||
@@ -27,7 +27,7 @@ struct QueryParams {
|
||||
QueryParams(const QueryParams& other);
|
||||
QueryParams& operator=(const QueryParams& other);
|
||||
|
||||
- friend constexpr bool operator==(const QueryParams&,
|
||||
+ friend bool operator==(const QueryParams&,
|
||||
const QueryParams&) = default;
|
||||
|
||||
// Individual resource contexts to measure.
|
@ -0,0 +1,15 @@
|
||||
--- chromium-121.0.6167.57/third_party/libc++/src/include/__config.orig 2024-01-16 18:38:00.995930774 +0100
|
||||
+++ chromium-121.0.6167.57/third_party/libc++/src/include/__config 2024-01-16 18:43:47.056517289 +0100
|
||||
@@ -32,11 +32,7 @@
|
||||
|
||||
// Warn if a compiler version is used that is not supported anymore
|
||||
// LLVM RELEASE Update the minimum compiler versions
|
||||
-# if defined(_LIBCPP_CLANG_VER)
|
||||
-# if _LIBCPP_CLANG_VER < 1600
|
||||
-# warning "Libc++ only supports Clang 16 and later"
|
||||
-# endif
|
||||
-# elif defined(_LIBCPP_APPLE_CLANG_VER)
|
||||
+# if defined(_LIBCPP_APPLE_CLANG_VER)
|
||||
# if _LIBCPP_APPLE_CLANG_VER < 1500
|
||||
# warning "Libc++ only supports AppleClang 15 and later"
|
||||
# endif
|
@ -0,0 +1,12 @@
|
||||
diff -up chromium-121.0.6167.16/third_party/blink/renderer/core/BUILD.gn.mnemonic-error chromium-121.0.6167.16/third_party/blink/renderer/core/BUILD.gn
|
||||
--- chromium-121.0.6167.16/third_party/blink/renderer/core/BUILD.gn.mnemonic-error 2023-12-19 18:14:43.027723832 +0100
|
||||
+++ chromium-121.0.6167.16/third_party/blink/renderer/core/BUILD.gn 2023-12-19 18:39:47.492384620 +0100
|
||||
@@ -1731,8 +1731,6 @@ action_foreach("element_locator_test_pro
|
||||
python_path_root = "${root_out_dir}/pyproto"
|
||||
python_path_proto = "${python_path_root}/third_party/blink/renderer/core/lcp_critical_path_predictor"
|
||||
|
||||
- mnemonic = "ELOC_PROTO"
|
||||
-
|
||||
source_dir = "lcp_critical_path_predictor/test_proto"
|
||||
sources = rebase_path([ "lcp_image_id.asciipb" ], "", source_dir)
|
||||
sources += rebase_path([ "lcp_image_id_b.asciipb" ], "", source_dir)
|
@ -0,0 +1,12 @@
|
||||
diff -up chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h.than chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h
|
||||
--- chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h.than 2023-12-04 10:20:45.350540897 +0100
|
||||
+++ chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2023-12-04 10:23:17.335339670 +0100
|
||||
@@ -21,7 +21,7 @@ class FragmentDataIteratorBase {
|
||||
|
||||
public:
|
||||
explicit FragmentDataIteratorBase(Head& head) : fragment_head_(head) {}
|
||||
- explicit FragmentDataIteratorBase(nullptr_t) {}
|
||||
+ explicit FragmentDataIteratorBase(std::nullptr_t) {}
|
||||
|
||||
Data* GetFragmentData() const {
|
||||
return !IsDone() ? &fragment_head_.at(idx_) : nullptr;
|
@ -0,0 +1,77 @@
|
||||
diff -up chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py
|
||||
--- chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me 2024-01-15 20:48:28.177397102 +0100
|
||||
+++ chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py 2024-01-15 20:48:46.427768328 +0100
|
||||
@@ -18,7 +18,7 @@ class HTMLGenerationController(object):
|
||||
|
||||
def GetHTMLForInlineStylesheet(self, contents):
|
||||
if self.current_module is None:
|
||||
- if re.search('url\(.+\)', contents):
|
||||
+ if re.search(r'url\(.+\)', contents):
|
||||
raise Exception(
|
||||
'Default HTMLGenerationController cannot handle inline style urls')
|
||||
return contents
|
||||
diff -up chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py
|
||||
--- chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me 2024-01-15 20:49:39.363845083 +0100
|
||||
+++ chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py 2024-01-15 20:49:57.407212098 +0100
|
||||
@@ -4,4 +4,4 @@
|
||||
|
||||
|
||||
def EscapeJSIfNeeded(js):
|
||||
- return js.replace('</script>', '<\/script>')
|
||||
+ return js.replace(r'</script>', r'<\/script>')
|
||||
diff -up chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py
|
||||
--- chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me 2024-01-15 20:50:11.819505254 +0100
|
||||
+++ chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py 2024-01-15 20:50:38.611050213 +0100
|
||||
@@ -293,6 +293,6 @@ class HTMLModuleParser():
|
||||
html = ''
|
||||
else:
|
||||
if html.find('< /script>') != -1:
|
||||
- raise Exception('Escape script tags with <\/script>')
|
||||
+ raise Exception(r'Escape script tags with <\/script>')
|
||||
|
||||
return HTMLModuleParserResults(html)
|
||||
diff -up chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py
|
||||
--- chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me 2024-01-15 20:48:59.917042709 +0100
|
||||
+++ chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py 2024-01-15 20:49:24.402540761 +0100
|
||||
@@ -60,7 +60,7 @@ class ParsedStyleSheet(object):
|
||||
return 'url(data:image/%s;base64,%s)' % (ext[1:], data.decode('utf-8'))
|
||||
|
||||
# I'm assuming we only have url()'s associated with images
|
||||
- return re.sub('url\((?P<quote>"|\'|)(?P<url>[^"\'()]*)(?P=quote)\)',
|
||||
+ return re.sub(r'url\((?P<quote>"|\'|)(?P<url>[^"\'()]*)(?P=quote)\)',
|
||||
InlineUrl, self.contents)
|
||||
|
||||
def AppendDirectlyDependentFilenamesTo(self, dependent_filenames):
|
||||
@@ -72,7 +72,7 @@ class ParsedStyleSheet(object):
|
||||
raise Exception('@imports are not supported')
|
||||
|
||||
matches = re.findall(
|
||||
- 'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)',
|
||||
+ r'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)',
|
||||
self.contents)
|
||||
|
||||
def resolve_url(url):
|
||||
diff -up chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-tools/src/scripts/gn/generate_vulkan_icd_json.py.me chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-tools/src/scripts/gn/generate_vulkan_icd_json.py
|
||||
--- chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-tools/src/scripts/gn/generate_vulkan_icd_json.py.me 2024-01-15 20:50:56.810420400 +0100
|
||||
+++ chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-tools/src/scripts/gn/generate_vulkan_icd_json.py 2024-01-15 20:52:33.506387261 +0100
|
||||
@@ -28,7 +28,7 @@ import platform
|
||||
import sys
|
||||
|
||||
def glob_slash(dirname):
|
||||
- """Like regular glob but replaces \ with / in returned paths."""
|
||||
+ """Like regular glob but replaces \\ with / in returned paths."""
|
||||
return [s.replace('\\', '/') for s in glob.glob(dirname)]
|
||||
|
||||
def main():
|
||||
diff -up chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/gn/generate_vulkan_layers_json.py.me chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/gn/generate_vulkan_layers_json.py
|
||||
--- chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/gn/generate_vulkan_layers_json.py.me 2024-01-15 20:52:38.016479000 +0100
|
||||
+++ chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/gn/generate_vulkan_layers_json.py 2024-01-15 20:52:48.863699640 +0100
|
||||
@@ -28,7 +28,7 @@ import platform
|
||||
import sys
|
||||
|
||||
def glob_slash(dirname):
|
||||
- """Like regular glob but replaces \ with / in returned paths."""
|
||||
+ """Like regular glob but replaces \\ with / in returned paths."""
|
||||
return [s.replace('\\', '/') for s in glob.glob(dirname)]
|
||||
|
||||
def main():
|
@ -0,0 +1,55 @@
|
||||
diff -up chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib chromium-121.0.6167.57/build/config/clang/BUILD.gn
|
||||
--- chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib 2024-01-10 16:43:01.000000000 +0100
|
||||
+++ chromium-121.0.6167.57/build/config/clang/BUILD.gn 2024-01-20 19:51:38.481992799 +0100
|
||||
@@ -112,6 +112,7 @@ template("clang_lib") {
|
||||
_prefix = "lib"
|
||||
_suffix = ""
|
||||
_ext = "a"
|
||||
+ _libprefix = ""
|
||||
if (is_win) {
|
||||
_dir = "windows"
|
||||
_prefix = ""
|
||||
@@ -127,7 +128,33 @@ template("clang_lib") {
|
||||
}
|
||||
} else if (is_apple) {
|
||||
_dir = "darwin"
|
||||
- } else if (is_linux || is_chromeos) {
|
||||
+ } else if (is_linux) {
|
||||
+ if (current_cpu == "x64") {
|
||||
+ _dir = "x86_64-redhat-linux-gnu"
|
||||
+ _suffix ="-x86_64"
|
||||
+ } else if (current_cpu == "x86") {
|
||||
+ _dir = "i386-redhat-linux-gnu"
|
||||
+ _suffix = "-i386"
|
||||
+ } else if (current_cpu == "arm64") {
|
||||
+ _dir = "aarch64-redhat-linux-gnu"
|
||||
+ _suffix = "-aarch64"
|
||||
+ } else if (current_cpu == "arm") {
|
||||
+ _dir = "armhf-redhat-linux-gnu"
|
||||
+ _suffix = "-armhf"
|
||||
+ } else if (current_cpu == "ppc64") {
|
||||
+ _dir = "powerpc64le-redhat-linux-gnu"
|
||||
+ _suffix = "-powerpc64le"
|
||||
+ } else {
|
||||
+ assert(false) # Unhandled cpu type
|
||||
+ }
|
||||
+ # different clang lib dir in fedora/epel
|
||||
+ if (clang_version == "17") {
|
||||
+ _suffix = ""
|
||||
+ } else if (clang_version == "16" || clang_version == "14") {
|
||||
+ _libprefix = "64"
|
||||
+ _dir = ""
|
||||
+ }
|
||||
+ } else if (is_chromeos) {
|
||||
if (current_cpu == "x64") {
|
||||
_dir = "x86_64-unknown-linux-gnu"
|
||||
} else if (current_cpu == "x86") {
|
||||
@@ -166,7 +193,7 @@ template("clang_lib") {
|
||||
assert(false) # Unhandled target platform
|
||||
}
|
||||
|
||||
- _clang_lib_dir = "$clang_base_path/lib/clang/$clang_version/lib"
|
||||
+ _clang_lib_dir = "$clang_base_path/lib${_libprefix}/clang/$clang_version/lib"
|
||||
_lib_file = "${_prefix}clang_rt.${_libname}${_suffix}.${_ext}"
|
||||
libs = [ "$_clang_lib_dir/$_dir/$_lib_file" ]
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
diff -up chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc.me chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc
|
||||
--- chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc.me 2024-01-16 10:54:38.994173911 +0100
|
||||
+++ chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc 2024-01-16 11:06:20.974160612 +0100
|
||||
@@ -710,8 +710,13 @@ bool AVStreamToVideoDecoderConfig(const
|
||||
}
|
||||
|
||||
VideoTransformation video_transformation = VideoTransformation();
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
|
||||
+ for (int i = 0; i < stream->nb_side_data; i++) {
|
||||
+ const auto& side_data = stream->side_data[i];
|
||||
+#else
|
||||
for (int i = 0; i < stream->codecpar->nb_coded_side_data; ++i) {
|
||||
const auto& side_data = stream->codecpar->coded_side_data[i];
|
||||
+#endif
|
||||
switch (side_data.type) {
|
||||
case AV_PKT_DATA_DISPLAYMATRIX: {
|
||||
CHECK_EQ(side_data.size, sizeof(int32_t) * 3 * 3);
|
||||
diff -up chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc.me chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc
|
||||
--- chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc.me 2024-01-16 11:12:27.521534151 +0100
|
||||
+++ chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc 2024-01-16 11:15:08.717337026 +0100
|
||||
@@ -113,8 +113,13 @@ bool AudioVideoMetadataExtractor::Extrac
|
||||
if (!stream)
|
||||
continue;
|
||||
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
|
||||
+ for (int j = 0; j < stream->nb_side_data; j++) {
|
||||
+ const AVPacketSideData& sd = stream->side_data[j];
|
||||
+#else
|
||||
for (int j = 0; j < stream->codecpar->nb_coded_side_data; j++) {
|
||||
const AVPacketSideData& sd = stream->codecpar->coded_side_data[j];
|
||||
+#endif
|
||||
if (sd.type == AV_PKT_DATA_DISPLAYMATRIX) {
|
||||
CHECK_EQ(sd.size, sizeof(int32_t) * 3 * 3);
|
||||
rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(
|
@ -0,0 +1,743 @@
|
||||
commit 940af9f2c87b436559b97c53763aa9eaaf1254eb
|
||||
Author: Jeremy Roman <jbroman@chromium.org>
|
||||
Date: Wed Nov 15 16:24:54 2023 +0000
|
||||
|
||||
Use C++20 features to simplify blink::NativeValueTraitsBase.
|
||||
|
||||
These allow some of the metaprogramming bits to be simplified a little.
|
||||
|
||||
Change-Id: I052b4397586d21348401616e1792afdb9662f975
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5030335
|
||||
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
|
||||
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1224978}
|
||||
|
||||
diff --git a/third_party/blink/renderer/bindings/core/v8/native_value_traits.h b/third_party/blink/renderer/bindings/core/v8/native_value_traits.h
|
||||
index 7fc91d14acc71..1e5a0790df6da 100644
|
||||
--- a/third_party/blink/renderer/bindings/core/v8/native_value_traits.h
|
||||
+++ b/third_party/blink/renderer/bindings/core/v8/native_value_traits.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_NATIVE_VALUE_TRAITS_H_
|
||||
#define THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_NATIVE_VALUE_TRAITS_H_
|
||||
|
||||
+#include <concepts>
|
||||
#include <type_traits>
|
||||
|
||||
#include "third_party/blink/renderer/bindings/core/v8/idl_types_base.h"
|
||||
@@ -30,7 +31,7 @@ class ExceptionState;
|
||||
// return toInt32(isolate, value, exceptionState, NormalConversion);
|
||||
// }
|
||||
// }
|
||||
-template <typename T, typename SFINAEHelper = void>
|
||||
+template <typename T>
|
||||
struct NativeValueTraits;
|
||||
|
||||
// This declaration serves only as a blueprint for specializations: the
|
||||
@@ -45,22 +46,15 @@ struct NativeValueTraits;
|
||||
|
||||
namespace bindings {
|
||||
|
||||
-template <typename T, typename = void>
|
||||
-struct NativeValueTraitsHasIsNull : std::false_type {};
|
||||
-
|
||||
template <typename T>
|
||||
-struct NativeValueTraitsHasIsNull<
|
||||
- T,
|
||||
- std::void_t<decltype(std::declval<T>().IsNull())>> : std::true_type {};
|
||||
+struct ImplTypeFor {
|
||||
+ using type = T;
|
||||
+};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraitsHasNullValue {
|
||||
- // true if |T| supports IDL null value.
|
||||
- static constexpr bool value =
|
||||
- // ScriptValue, String, and union types have IsNull member function.
|
||||
- bindings::NativeValueTraitsHasIsNull<T>::value ||
|
||||
- // Pointer types have nullptr as IDL null value.
|
||||
- std::is_pointer<T>::value;
|
||||
+ requires std::derived_from<T, IDLBase>
|
||||
+struct ImplTypeFor<T> {
|
||||
+ using type = typename T::ImplType;
|
||||
};
|
||||
|
||||
} // namespace bindings
|
||||
@@ -78,37 +72,17 @@ struct NativeValueTraitsHasNullValue {
|
||||
// If present, |NullValue()| will be used when converting from the nullable type
|
||||
// T?, and should be used if the impl type has an existing "null" state. If not
|
||||
// present, WTF::Optional will be used to wrap the type.
|
||||
-template <typename T, typename SFINAEHelper = void>
|
||||
-struct NativeValueTraitsBase {
|
||||
- STATIC_ONLY(NativeValueTraitsBase);
|
||||
-
|
||||
- using ImplType = T;
|
||||
-
|
||||
- static constexpr bool has_null_value =
|
||||
- bindings::NativeValueTraitsHasNullValue<ImplType>::value;
|
||||
-
|
||||
- template <typename... ExtraArgs>
|
||||
- static decltype(auto) ArgumentValue(v8::Isolate* isolate,
|
||||
- int argument_index,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state,
|
||||
- ExtraArgs... extra_args) {
|
||||
- return NativeValueTraits<std::remove_pointer_t<T>>::NativeValue(
|
||||
- isolate, value, exception_state,
|
||||
- std::forward<ExtraArgs>(extra_args)...);
|
||||
- }
|
||||
-};
|
||||
-
|
||||
template <typename T>
|
||||
-struct NativeValueTraitsBase<
|
||||
- T,
|
||||
- std::enable_if_t<std::is_base_of<IDLBase, T>::value>> {
|
||||
+struct NativeValueTraitsBase {
|
||||
STATIC_ONLY(NativeValueTraitsBase);
|
||||
|
||||
- using ImplType = typename T::ImplType;
|
||||
+ using ImplType = bindings::ImplTypeFor<T>::type;
|
||||
|
||||
+ // Pointer types have nullptr as IDL null value.
|
||||
+ // ScriptValue, String, and union types have IsNull member function.
|
||||
static constexpr bool has_null_value =
|
||||
- bindings::NativeValueTraitsHasNullValue<ImplType>::value;
|
||||
+ std::is_pointer_v<ImplType> ||
|
||||
+ requires(ImplType value) { value.IsNull(); };
|
||||
|
||||
template <typename... ExtraArgs>
|
||||
static decltype(auto) ArgumentValue(v8::Isolate* isolate,
|
||||
diff --git a/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc b/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc
|
||||
index 508ea6d8eea48..18de71d84023f 100644
|
||||
--- a/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc
|
||||
+++ b/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "third_party/blink/renderer/core/core_export.h"
|
||||
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
|
||||
#include "third_party/blink/renderer/core/frame/web_feature.h"
|
||||
+#include "third_party/blink/renderer/core/typed_arrays/flexible_array_buffer_view.h"
|
||||
#include "third_party/blink/renderer/core/typed_arrays/typed_flexible_array_buffer_view.h"
|
||||
|
||||
namespace blink {
|
||||
@@ -698,12 +699,11 @@ DOMArrayBufferBase* NativeValueTraits<
|
||||
// ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
-NotShared<T> NativeValueTraits<
|
||||
- NotShared<T>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
|
||||
- NativeValue(v8::Isolate* isolate,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+NotShared<T> NativeValueTraits<NotShared<T>>::NativeValue(
|
||||
+ v8::Isolate* isolate,
|
||||
+ v8::Local<v8::Value> value,
|
||||
+ ExceptionState& exception_state) {
|
||||
return NativeValueImpl<
|
||||
RecipeTrait<NotShared<T>>, ToDOMViewType<T, kNotShared>,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
|
||||
@@ -712,13 +712,12 @@ NotShared<T> NativeValueTraits<
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
-NotShared<T> NativeValueTraits<
|
||||
- NotShared<T>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
|
||||
- ArgumentValue(v8::Isolate* isolate,
|
||||
- int argument_index,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+NotShared<T> NativeValueTraits<NotShared<T>>::ArgumentValue(
|
||||
+ v8::Isolate* isolate,
|
||||
+ int argument_index,
|
||||
+ v8::Local<v8::Value> value,
|
||||
+ ExceptionState& exception_state) {
|
||||
return ArgumentValueImpl<
|
||||
RecipeTrait<NotShared<T>>, ToDOMViewType<T, kNotShared>,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
|
||||
@@ -729,12 +728,11 @@ NotShared<T> NativeValueTraits<
|
||||
// [AllowShared] ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
-MaybeShared<T> NativeValueTraits<
|
||||
- MaybeShared<T>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
|
||||
- NativeValue(v8::Isolate* isolate,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+MaybeShared<T> NativeValueTraits<MaybeShared<T>>::NativeValue(
|
||||
+ v8::Isolate* isolate,
|
||||
+ v8::Local<v8::Value> value,
|
||||
+ ExceptionState& exception_state) {
|
||||
return NativeValueImpl<RecipeTrait<MaybeShared<T>>,
|
||||
ToDOMViewType<T, kMaybeShared>,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
|
||||
@@ -743,13 +741,12 @@ MaybeShared<T> NativeValueTraits<
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
-MaybeShared<T> NativeValueTraits<
|
||||
- MaybeShared<T>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
|
||||
- ArgumentValue(v8::Isolate* isolate,
|
||||
- int argument_index,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+MaybeShared<T> NativeValueTraits<MaybeShared<T>>::ArgumentValue(
|
||||
+ v8::Isolate* isolate,
|
||||
+ int argument_index,
|
||||
+ v8::Local<v8::Value> value,
|
||||
+ ExceptionState& exception_state) {
|
||||
return ArgumentValueImpl<RecipeTrait<MaybeShared<T>>,
|
||||
ToDOMViewType<T, kMaybeShared>,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
|
||||
@@ -760,12 +757,12 @@ MaybeShared<T> NativeValueTraits<
|
||||
// [AllowShared, BufferSourceTypeNoSizeLimit] ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
-MaybeShared<T> NativeValueTraits<
|
||||
- IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
|
||||
- NativeValue(v8::Isolate* isolate,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+MaybeShared<T>
|
||||
+NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>::NativeValue(
|
||||
+ v8::Isolate* isolate,
|
||||
+ v8::Local<v8::Value> value,
|
||||
+ ExceptionState& exception_state) {
|
||||
return NativeValueImpl<
|
||||
RecipeTrait<MaybeShared<T>>, ToDOMViewType<T, kMaybeShared>,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kDoNotCheck,
|
||||
@@ -774,13 +771,12 @@ MaybeShared<T> NativeValueTraits<
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
-MaybeShared<T> NativeValueTraits<
|
||||
- IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
|
||||
- ArgumentValue(v8::Isolate* isolate,
|
||||
- int argument_index,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+MaybeShared<T> NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<
|
||||
+ MaybeShared<T>>>::ArgumentValue(v8::Isolate* isolate,
|
||||
+ int argument_index,
|
||||
+ v8::Local<v8::Value> value,
|
||||
+ ExceptionState& exception_state) {
|
||||
return ArgumentValueImpl<
|
||||
RecipeTrait<MaybeShared<T>>, ToDOMViewType<T, kMaybeShared>,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kDoNotCheck,
|
||||
@@ -791,12 +787,11 @@ MaybeShared<T> NativeValueTraits<
|
||||
// Nullable ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
-NotShared<T> NativeValueTraits<
|
||||
- IDLNullable<NotShared<T>>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
|
||||
- NativeValue(v8::Isolate* isolate,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+NotShared<T> NativeValueTraits<IDLNullable<NotShared<T>>>::NativeValue(
|
||||
+ v8::Isolate* isolate,
|
||||
+ v8::Local<v8::Value> value,
|
||||
+ ExceptionState& exception_state) {
|
||||
return NativeValueImpl<
|
||||
RecipeTrait<NotShared<T>>, ToDOMViewType<T, kNotShared>,
|
||||
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
|
||||
@@ -805,13 +800,12 @@ NotShared<T> NativeValueTraits<
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
-NotShared<T> NativeValueTraits<
|
||||
- IDLNullable<NotShared<T>>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
|
||||
- ArgumentValue(v8::Isolate* isolate,
|
||||
- int argument_index,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+NotShared<T> NativeValueTraits<IDLNullable<NotShared<T>>>::ArgumentValue(
|
||||
+ v8::Isolate* isolate,
|
||||
+ int argument_index,
|
||||
+ v8::Local<v8::Value> value,
|
||||
+ ExceptionState& exception_state) {
|
||||
return ArgumentValueImpl<
|
||||
RecipeTrait<NotShared<T>>, ToDOMViewType<T, kNotShared>,
|
||||
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
|
||||
@@ -822,12 +816,11 @@ NotShared<T> NativeValueTraits<
|
||||
// Nullable [AllowShared] ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
-MaybeShared<T> NativeValueTraits<
|
||||
- IDLNullable<MaybeShared<T>>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
|
||||
- NativeValue(v8::Isolate* isolate,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+MaybeShared<T> NativeValueTraits<IDLNullable<MaybeShared<T>>>::NativeValue(
|
||||
+ v8::Isolate* isolate,
|
||||
+ v8::Local<v8::Value> value,
|
||||
+ ExceptionState& exception_state) {
|
||||
return NativeValueImpl<RecipeTrait<MaybeShared<T>>,
|
||||
ToDOMViewType<T, kMaybeShared>,
|
||||
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
|
||||
@@ -836,13 +829,12 @@ MaybeShared<T> NativeValueTraits<
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
-MaybeShared<T> NativeValueTraits<
|
||||
- IDLNullable<MaybeShared<T>>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
|
||||
- ArgumentValue(v8::Isolate* isolate,
|
||||
- int argument_index,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+MaybeShared<T> NativeValueTraits<IDLNullable<MaybeShared<T>>>::ArgumentValue(
|
||||
+ v8::Isolate* isolate,
|
||||
+ int argument_index,
|
||||
+ v8::Local<v8::Value> value,
|
||||
+ ExceptionState& exception_state) {
|
||||
return ArgumentValueImpl<RecipeTrait<MaybeShared<T>>,
|
||||
ToDOMViewType<T, kMaybeShared>,
|
||||
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
|
||||
@@ -853,9 +845,9 @@ MaybeShared<T> NativeValueTraits<
|
||||
// Nullable [AllowShared, BufferSourceTypeNoSizeLimit] ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
-MaybeShared<T> NativeValueTraits<
|
||||
- IDLNullable<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+MaybeShared<T>
|
||||
+NativeValueTraits<IDLNullable<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>>::
|
||||
ArgumentValue(v8::Isolate* isolate,
|
||||
int argument_index,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -870,13 +862,11 @@ MaybeShared<T> NativeValueTraits<
|
||||
// [AllowShared, FlexibleArrayBufferView] ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
-T NativeValueTraits<T,
|
||||
- typename std::enable_if_t<
|
||||
- std::is_base_of<FlexibleArrayBufferView, T>::value>>::
|
||||
- ArgumentValue(v8::Isolate* isolate,
|
||||
- int argument_index,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+ requires std::derived_from<T, FlexibleArrayBufferView>
|
||||
+T NativeValueTraits<T>::ArgumentValue(v8::Isolate* isolate,
|
||||
+ int argument_index,
|
||||
+ v8::Local<v8::Value> value,
|
||||
+ ExceptionState& exception_state) {
|
||||
return ArgumentValueImpl<RecipeTrait<T>, ToFlexibleArrayBufferView,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
|
||||
ResizableAllowance::kDisallowResizable,
|
||||
@@ -888,13 +878,12 @@ T NativeValueTraits<T,
|
||||
// ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
-T NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<T>,
|
||||
- typename std::enable_if_t<
|
||||
- std::is_base_of<FlexibleArrayBufferView, T>::value>>::
|
||||
- ArgumentValue(v8::Isolate* isolate,
|
||||
- int argument_index,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+ requires std::derived_from<T, FlexibleArrayBufferView>
|
||||
+T NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<T>>::ArgumentValue(
|
||||
+ v8::Isolate* isolate,
|
||||
+ int argument_index,
|
||||
+ v8::Local<v8::Value> value,
|
||||
+ ExceptionState& exception_state) {
|
||||
return ArgumentValueImpl<
|
||||
RecipeTrait<T>, ToFlexibleArrayBufferView, Nullablity::kIsNotNullable,
|
||||
BufferSizeCheck::kDoNotCheck, ResizableAllowance::kDisallowResizable,
|
||||
@@ -905,13 +894,12 @@ T NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<T>,
|
||||
// Nullable [AllowShared, FlexibleArrayBufferView] ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
-T NativeValueTraits<IDLNullable<T>,
|
||||
- typename std::enable_if_t<
|
||||
- std::is_base_of<FlexibleArrayBufferView, T>::value>>::
|
||||
- ArgumentValue(v8::Isolate* isolate,
|
||||
- int argument_index,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+ requires std::derived_from<T, FlexibleArrayBufferView>
|
||||
+T NativeValueTraits<IDLNullable<T>>::ArgumentValue(
|
||||
+ v8::Isolate* isolate,
|
||||
+ int argument_index,
|
||||
+ v8::Local<v8::Value> value,
|
||||
+ ExceptionState& exception_state) {
|
||||
return ArgumentValueImpl<RecipeTrait<T>, ToFlexibleArrayBufferView,
|
||||
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
|
||||
ResizableAllowance::kDisallowResizable,
|
||||
diff --git a/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h b/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h
|
||||
index 899929dcf49f9..5011503dcf1c0 100644
|
||||
--- a/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h
|
||||
+++ b/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h
|
||||
@@ -5,6 +5,9 @@
|
||||
#ifndef THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_NATIVE_VALUE_TRAITS_IMPL_H_
|
||||
#define THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_NATIVE_VALUE_TRAITS_IMPL_H_
|
||||
|
||||
+#include <concepts>
|
||||
+#include <type_traits>
|
||||
+
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/idl_types.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/native_value_traits.h"
|
||||
@@ -715,9 +718,8 @@ struct CORE_EXPORT NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- T,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>> {
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+struct NativeValueTraits<T> {
|
||||
// NotShared<T> or MaybeShared<T> should be used instead.
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -729,9 +731,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- IDLNullable<T>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>> {
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+struct NativeValueTraits<IDLNullable<T>> {
|
||||
// NotShared<T> or MaybeShared<T> should be used instead.
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -743,9 +744,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- NotShared<T>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+struct NativeValueTraits<NotShared<T>>
|
||||
: public NativeValueTraitsBase<NotShared<T>> {
|
||||
static NotShared<T> NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -758,9 +758,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- IDLNullable<NotShared<T>>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+struct NativeValueTraits<IDLNullable<NotShared<T>>>
|
||||
: public NativeValueTraitsBase<NotShared<T>> {
|
||||
static NotShared<T> NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -773,9 +772,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- MaybeShared<T>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+struct NativeValueTraits<MaybeShared<T>>
|
||||
: public NativeValueTraitsBase<MaybeShared<T>> {
|
||||
static MaybeShared<T> NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -788,9 +786,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+struct NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>
|
||||
: public NativeValueTraitsBase<MaybeShared<T>> {
|
||||
// FlexibleArrayBufferView uses this in its implementation, so we cannot
|
||||
// delete it.
|
||||
@@ -805,9 +802,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- IDLNullable<MaybeShared<T>>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
+struct NativeValueTraits<IDLNullable<MaybeShared<T>>>
|
||||
: public NativeValueTraitsBase<MaybeShared<T>> {
|
||||
static MaybeShared<T> NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -820,9 +816,9 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
+ requires std::derived_from<T, DOMArrayBufferView>
|
||||
struct NativeValueTraits<
|
||||
- IDLNullable<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>,
|
||||
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
|
||||
+ IDLNullable<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>>
|
||||
: public NativeValueTraitsBase<MaybeShared<T>> {
|
||||
// BufferSourceTypeNoSizeLimit must be used only as arguments.
|
||||
static MaybeShared<T> NativeValue(v8::Isolate* isolate,
|
||||
@@ -836,11 +832,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- T,
|
||||
- typename std::enable_if_t<
|
||||
- std::is_base_of<FlexibleArrayBufferView, T>::value>>
|
||||
- : public NativeValueTraitsBase<T> {
|
||||
+ requires std::derived_from<T, FlexibleArrayBufferView>
|
||||
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T> {
|
||||
// FlexibleArrayBufferView must be used only as arguments.
|
||||
static T NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -853,10 +846,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- IDLBufferSourceTypeNoSizeLimit<T>,
|
||||
- typename std::enable_if_t<
|
||||
- std::is_base_of<FlexibleArrayBufferView, T>::value>>
|
||||
+ requires std::derived_from<T, FlexibleArrayBufferView>
|
||||
+struct NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<T>>
|
||||
: public NativeValueTraitsBase<T> {
|
||||
// BufferSourceTypeNoSizeLimit and FlexibleArrayBufferView must be used only
|
||||
// as arguments.
|
||||
@@ -871,11 +862,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- IDLNullable<T>,
|
||||
- typename std::enable_if_t<
|
||||
- std::is_base_of<FlexibleArrayBufferView, T>::value>>
|
||||
- : public NativeValueTraitsBase<T> {
|
||||
+ requires std::derived_from<T, FlexibleArrayBufferView>
|
||||
+struct NativeValueTraits<IDLNullable<T>> : public NativeValueTraitsBase<T> {
|
||||
// FlexibleArrayBufferView must be used only as arguments.
|
||||
static T NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -1134,9 +1122,8 @@ NativeValueTraits<IDLSequence<T>>::NativeValue(
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<IDLNullable<IDLSequence<T>>,
|
||||
- typename std::enable_if_t<
|
||||
- NativeValueTraits<IDLSequence<T>>::has_null_value>>
|
||||
+ requires NativeValueTraits<IDLSequence<T>>::has_null_value
|
||||
+struct NativeValueTraits<IDLNullable<IDLSequence<T>>>
|
||||
: public NativeValueTraitsBase<HeapVector<AddMemberIfNeeded<T>>*> {
|
||||
using ImplType = typename NativeValueTraits<IDLSequence<T>>::ImplType*;
|
||||
|
||||
@@ -1203,9 +1190,8 @@ struct NativeValueTraits<IDLArray<T>>
|
||||
: public NativeValueTraits<IDLSequence<T>> {};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<IDLNullable<IDLArray<T>>,
|
||||
- typename std::enable_if_t<
|
||||
- NativeValueTraits<IDLSequence<T>>::has_null_value>>
|
||||
+ requires NativeValueTraits<IDLSequence<T>>::has_null_value
|
||||
+struct NativeValueTraits<IDLNullable<IDLArray<T>>>
|
||||
: public NativeValueTraits<IDLNullable<IDLSequence<T>>> {};
|
||||
|
||||
// Record types
|
||||
@@ -1335,10 +1321,8 @@ struct NativeValueTraits<IDLRecord<K, V>>
|
||||
|
||||
// Callback function types
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- T,
|
||||
- typename std::enable_if_t<std::is_base_of<CallbackFunctionBase, T>::value>>
|
||||
- : public NativeValueTraitsBase<T*> {
|
||||
+ requires std::derived_from<T, CallbackFunctionBase>
|
||||
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1361,9 +1345,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- IDLNullable<T>,
|
||||
- typename std::enable_if_t<std::is_base_of<CallbackFunctionBase, T>::value>>
|
||||
+ requires std::derived_from<T, CallbackFunctionBase>
|
||||
+struct NativeValueTraits<IDLNullable<T>>
|
||||
: public NativeValueTraitsBase<IDLNullable<T>> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -1392,10 +1375,8 @@ struct NativeValueTraits<
|
||||
|
||||
// Callback interface types
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- T,
|
||||
- typename std::enable_if_t<std::is_base_of<CallbackInterfaceBase, T>::value>>
|
||||
- : public NativeValueTraitsBase<T*> {
|
||||
+ requires std::derived_from<T, CallbackInterfaceBase>
|
||||
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1418,9 +1399,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- IDLNullable<T>,
|
||||
- typename std::enable_if_t<std::is_base_of<CallbackInterfaceBase, T>::value>>
|
||||
+ requires std::derived_from<T, CallbackInterfaceBase>
|
||||
+struct NativeValueTraits<IDLNullable<T>>
|
||||
: public NativeValueTraitsBase<IDLNullable<T>> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -1449,11 +1429,8 @@ struct NativeValueTraits<
|
||||
|
||||
// Dictionary types
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- T,
|
||||
- typename std::enable_if_t<
|
||||
- std::is_base_of<bindings::DictionaryBase, T>::value>>
|
||||
- : public NativeValueTraitsBase<T*> {
|
||||
+ requires std::derived_from<T, bindings::DictionaryBase>
|
||||
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1464,14 +1441,11 @@ struct NativeValueTraits<
|
||||
// We don't support nullable dictionary types in general since it's quite
|
||||
// confusing and often misused.
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- IDLNullable<T>,
|
||||
- typename std::enable_if_t<
|
||||
- std::is_base_of<bindings::DictionaryBase, T>::value &&
|
||||
- (std::is_same<T, GPUColorTargetState>::value ||
|
||||
- std::is_same<T, GPURenderPassColorAttachment>::value ||
|
||||
- std::is_same<T, GPUVertexBufferLayout>::value)>>
|
||||
- : public NativeValueTraitsBase<T*> {
|
||||
+ requires std::derived_from<T, bindings::DictionaryBase> &&
|
||||
+ (std::same_as<T, GPUColorTargetState> ||
|
||||
+ std::same_as<T, GPURenderPassColorAttachment> ||
|
||||
+ std::same_as<T, GPUVertexBufferLayout>)
|
||||
+struct NativeValueTraits<IDLNullable<T>> : public NativeValueTraitsBase<T*> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1483,11 +1457,8 @@ struct NativeValueTraits<
|
||||
|
||||
// Enumeration types
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- T,
|
||||
- typename std::enable_if_t<
|
||||
- std::is_base_of<bindings::EnumerationBase, T>::value>>
|
||||
- : public NativeValueTraitsBase<T> {
|
||||
+ requires std::derived_from<T, bindings::EnumerationBase>
|
||||
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T> {
|
||||
static T NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1497,10 +1468,8 @@ struct NativeValueTraits<
|
||||
|
||||
// Interface types
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- T,
|
||||
- typename std::enable_if_t<std::is_base_of<ScriptWrappable, T>::value>>
|
||||
- : public NativeValueTraitsBase<T*> {
|
||||
+ requires std::derived_from<T, ScriptWrappable>
|
||||
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
|
||||
static inline T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1528,9 +1497,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- IDLNullable<T>,
|
||||
- typename std::enable_if_t<std::is_base_of<ScriptWrappable, T>::value>>
|
||||
+ requires std::derived_from<T, ScriptWrappable>
|
||||
+struct NativeValueTraits<IDLNullable<T>>
|
||||
: public NativeValueTraitsBase<IDLNullable<T>> {
|
||||
static inline T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -1565,10 +1533,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- T,
|
||||
- typename std::enable_if_t<std::is_base_of<bindings::UnionBase, T>::value>>
|
||||
- : public NativeValueTraitsBase<T*> {
|
||||
+ requires std::derived_from<T, bindings::UnionBase>
|
||||
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1584,10 +1550,8 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<
|
||||
- IDLNullable<T>,
|
||||
- typename std::enable_if_t<std::is_base_of<bindings::UnionBase, T>::value>>
|
||||
- : public NativeValueTraitsBase<T*> {
|
||||
+ requires std::derived_from<T, bindings::UnionBase>
|
||||
+struct NativeValueTraits<IDLNullable<T>> : public NativeValueTraitsBase<T*> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1608,9 +1572,8 @@ struct NativeValueTraits<
|
||||
|
||||
// Nullable types
|
||||
template <typename InnerType>
|
||||
-struct NativeValueTraits<
|
||||
- IDLNullable<InnerType>,
|
||||
- typename std::enable_if_t<!NativeValueTraits<InnerType>::has_null_value>>
|
||||
+ requires(!NativeValueTraits<InnerType>::has_null_value)
|
||||
+struct NativeValueTraits<IDLNullable<InnerType>>
|
||||
: public NativeValueTraitsBase<IDLNullable<InnerType>> {
|
||||
// https://webidl.spec.whatwg.org/#es-nullable-type
|
||||
using ImplType =
|
||||
@@ -1642,9 +1605,8 @@ struct NativeValueTraits<IDLNullable<IDLNullable<T>>>;
|
||||
|
||||
// Optional types
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<IDLOptional<T>,
|
||||
- typename std::enable_if_t<std::is_arithmetic<
|
||||
- typename NativeValueTraits<T>::ImplType>::value>>
|
||||
+ requires std::is_arithmetic_v<typename NativeValueTraits<T>::ImplType>
|
||||
+struct NativeValueTraits<IDLOptional<T>>
|
||||
: public NativeValueTraitsBase<typename NativeValueTraits<T>::ImplType> {
|
||||
using ImplType = typename NativeValueTraits<T>::ImplType;
|
||||
|
||||
@@ -1666,9 +1628,8 @@ struct NativeValueTraits<IDLOptional<T>,
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
-struct NativeValueTraits<IDLOptional<T>,
|
||||
- typename std::enable_if_t<std::is_pointer<
|
||||
- typename NativeValueTraits<T>::ImplType>::value>>
|
||||
+ requires std::is_pointer_v<typename NativeValueTraits<T>::ImplType>
|
||||
+struct NativeValueTraits<IDLOptional<T>>
|
||||
: public NativeValueTraitsBase<typename NativeValueTraits<T>::ImplType> {
|
||||
using ImplType = typename NativeValueTraits<T>::ImplType;
|
||||
|
Loading…
Reference in new issue