* High CVE-2024-1669: Out of bounds memory access in Blink * High CVE-2024-1670: Use after free in Mojo * Medium CVE-2024-1671: Inappropriate implementation in Site Isolation * Medium CVE-2024-1672: Inappropriate implementation in Content Security Policy * Medium CVE-2024-1673: Use after free in Accessibility * Medium CVE-2024-1674: Inappropriate implementation in Navigation * Medium CVE-2024-1675: Insufficient policy enforcement in Download * Low CVE-2024-1676: Inappropriate implementation in Navigation.epel9
parent
24122bd060
commit
09195bfaaa
@ -1,134 +0,0 @@
|
||||
diff -up chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py
|
||||
--- chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 2022-07-05 13:31:29.434673638 +0000
|
||||
+++ chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py 2022-07-05 21:52:01.884578748 +0000
|
||||
@@ -29,7 +29,7 @@ import sys
|
||||
import types
|
||||
|
||||
__author__ = "Benjamin Peterson <benjamin@python.org>"
|
||||
-__version__ = "1.15.0"
|
||||
+__version__ = "1.16.0"
|
||||
|
||||
|
||||
# Useful for very coarse version differentiation.
|
||||
@@ -71,6 +71,11 @@ else:
|
||||
MAXSIZE = int((1 << 63) - 1)
|
||||
del X
|
||||
|
||||
+if PY34:
|
||||
+ from importlib.util import spec_from_loader
|
||||
+else:
|
||||
+ spec_from_loader = None
|
||||
+
|
||||
|
||||
def _add_doc(func, doc):
|
||||
"""Add documentation to a function."""
|
||||
@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object):
|
||||
return self
|
||||
return None
|
||||
|
||||
+ def find_spec(self, fullname, path, target=None):
|
||||
+ if fullname in self.known_modules:
|
||||
+ return spec_from_loader(fullname, self)
|
||||
+ return None
|
||||
+
|
||||
def __get_module(self, fullname):
|
||||
try:
|
||||
return self.known_modules[fullname]
|
||||
@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object):
|
||||
return None
|
||||
get_source = get_code # same as get_code
|
||||
|
||||
+ def create_module(self, spec):
|
||||
+ return self.load_module(spec.name)
|
||||
+
|
||||
+ def exec_module(self, module):
|
||||
+ pass
|
||||
+
|
||||
_importer = _SixMetaPathImporter(__name__)
|
||||
|
||||
|
||||
diff -up chromium-103.0.5060.53/third_party/six/src/six.py.116 chromium-103.0.5060.53/third_party/six/src/six.py
|
||||
--- chromium-103.0.5060.53/third_party/six/src/six.py.116 2022-07-05 13:32:28.916687658 +0000
|
||||
+++ chromium-103.0.5060.53/third_party/six/src/six.py 2022-07-05 21:59:42.561240407 +0000
|
||||
@@ -29,7 +29,7 @@ import sys
|
||||
import types
|
||||
|
||||
__author__ = "Benjamin Peterson <benjamin@python.org>"
|
||||
-__version__ = "1.14.0"
|
||||
+__version__ = "1.16.0"
|
||||
|
||||
|
||||
# Useful for very coarse version differentiation.
|
||||
@@ -71,6 +71,11 @@ else:
|
||||
MAXSIZE = int((1 << 63) - 1)
|
||||
del X
|
||||
|
||||
+if PY34:
|
||||
+ from importlib.util import spec_from_loader
|
||||
+else:
|
||||
+ spec_from_loader = None
|
||||
+
|
||||
|
||||
def _add_doc(func, doc):
|
||||
"""Add documentation to a function."""
|
||||
@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object):
|
||||
return self
|
||||
return None
|
||||
|
||||
+ def find_spec(self, fullname, path, target=None):
|
||||
+ if fullname in self.known_modules:
|
||||
+ return spec_from_loader(fullname, self)
|
||||
+ return None
|
||||
+
|
||||
def __get_module(self, fullname):
|
||||
try:
|
||||
return self.known_modules[fullname]
|
||||
@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object):
|
||||
return None
|
||||
get_source = get_code # same as get_code
|
||||
|
||||
+ def create_module(self, spec):
|
||||
+ return self.load_module(spec.name)
|
||||
+
|
||||
+ def exec_module(self, module):
|
||||
+ pass
|
||||
+
|
||||
_importer = _SixMetaPathImporter(__name__)
|
||||
|
||||
|
||||
@@ -890,12 +906,11 @@ def ensure_binary(s, encoding='utf-8', e
|
||||
- `str` -> encoded to `bytes`
|
||||
- `bytes` -> `bytes`
|
||||
"""
|
||||
+ if isinstance(s, binary_type):
|
||||
+ return s
|
||||
if isinstance(s, text_type):
|
||||
return s.encode(encoding, errors)
|
||||
- elif isinstance(s, binary_type):
|
||||
- return s
|
||||
- else:
|
||||
- raise TypeError("not expecting type '%s'" % type(s))
|
||||
+ raise TypeError("not expecting type '%s'" % type(s))
|
||||
|
||||
|
||||
def ensure_str(s, encoding='utf-8', errors='strict'):
|
||||
@@ -909,12 +924,15 @@ def ensure_str(s, encoding='utf-8', erro
|
||||
- `str` -> `str`
|
||||
- `bytes` -> decoded to `str`
|
||||
"""
|
||||
- if not isinstance(s, (text_type, binary_type)):
|
||||
- raise TypeError("not expecting type '%s'" % type(s))
|
||||
+ # Optimization: Fast return for the common case.
|
||||
+ if type(s) is str:
|
||||
+ return s
|
||||
if PY2 and isinstance(s, text_type):
|
||||
- s = s.encode(encoding, errors)
|
||||
+ return s.encode(encoding, errors)
|
||||
elif PY3 and isinstance(s, binary_type):
|
||||
- s = s.decode(encoding, errors)
|
||||
+ return s.decode(encoding, errors)
|
||||
+ elif not isinstance(s, (text_type, binary_type)):
|
||||
+ raise TypeError("not expecting type '%s'" % type(s))
|
||||
return s
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -up chromium-120.0.6099.62/build/config/compiler/BUILD.gn.than chromium-120.0.6099.62/build/config/compiler/BUILD.gn
|
||||
--- chromium-120.0.6099.62/build/config/compiler/BUILD.gn.than 2023-12-06 19:28:25.998327318 +0100
|
||||
+++ chromium-120.0.6099.62/build/config/compiler/BUILD.gn 2023-12-06 19:28:34.190528906 +0100
|
||||
@@ -787,7 +787,7 @@ config("compiler") {
|
||||
# toolchain has this flag.
|
||||
# We only use one version of LLVM within a build so there's no need to
|
||||
# upgrade debug info, which can be expensive since it runs the verifier.
|
||||
- ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
|
||||
+ ldflags += [ "" ]
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -up chromium-120.0.6099.56/media/base/media_switches.cc.me chromium-120.0.6099.56/media/base/media_switches.cc
|
||||
--- chromium-120.0.6099.56/media/base/media_switches.cc.me 2023-12-02 11:43:21.990775897 +0100
|
||||
+++ chromium-120.0.6099.56/media/base/media_switches.cc 2023-12-02 11:45:23.248006377 +0100
|
||||
@@ -1636,7 +1636,7 @@ BASE_FEATURE(kUseSharedImagesForPepperVi
|
||||
// Enables FFmpeg allow lists for supported codecs / containers.
|
||||
BASE_FEATURE(kFFmpegAllowLists,
|
||||
"FFmpegAllowLists",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
#if BUILDFLAG(ENABLE_FFMPEG_VIDEO_DECODERS)
|
||||
// Allows decoding of theora / vp3 content.
|
@ -1,13 +0,0 @@
|
||||
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
|
@ -1,12 +0,0 @@
|
||||
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.
|
@ -1,515 +0,0 @@
|
||||
diff -up chromium-119.0.6045.105/base/check_op.h.missing-header-files chromium-119.0.6045.105/base/check_op.h
|
||||
--- chromium-119.0.6045.105/base/check_op.h.missing-header-files 2023-11-01 19:10:05.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/base/check_op.h 2023-11-06 14:34:01.808868982 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef BASE_CHECK_OP_H_
|
||||
#define BASE_CHECK_OP_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
diff -up chromium-119.0.6045.105/base/containers/flat_map.h.missing-header-files chromium-119.0.6045.105/base/containers/flat_map.h
|
||||
--- chromium-119.0.6045.105/base/containers/flat_map.h.missing-header-files 2023-11-01 19:10:05.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/base/containers/flat_map.h 2023-11-06 14:34:01.813869089 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef BASE_CONTAINERS_FLAT_MAP_H_
|
||||
#define BASE_CONTAINERS_FLAT_MAP_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <functional>
|
||||
#include <tuple>
|
||||
#include <type_traits>
|
||||
diff -up chromium-119.0.6045.105/base/debug/profiler.h.missing-header-files chromium-119.0.6045.105/base/debug/profiler.h
|
||||
--- chromium-119.0.6045.105/base/debug/profiler.h.missing-header-files 2023-11-01 19:10:05.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/base/debug/profiler.h 2023-11-06 14:34:01.809869004 +0100
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include "base/base_export.h"
|
||||
diff -up chromium-119.0.6045.105/base/memory/ref_counted.h.missing-header-files chromium-119.0.6045.105/base/memory/ref_counted.h
|
||||
--- chromium-119.0.6045.105/base/memory/ref_counted.h.missing-header-files 2023-11-01 19:10:05.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/base/memory/ref_counted.h 2023-11-06 14:34:01.808868982 +0100
|
||||
@@ -6,6 +6,7 @@
|
||||
#define BASE_MEMORY_REF_COUNTED_H_
|
||||
|
||||
#include <stddef.h>
|
||||
+#include <limits>
|
||||
|
||||
#include <limits>
|
||||
#include <utility>
|
||||
diff -up chromium-119.0.6045.105/chrome/browser/privacy_budget/encountered_surface_tracker.h.missing-header-files chromium-119.0.6045.105/chrome/browser/privacy_budget/encountered_surface_tracker.h
|
||||
--- chromium-119.0.6045.105/chrome/browser/privacy_budget/encountered_surface_tracker.h.missing-header-files 2023-11-01 19:10:13.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/chrome/browser/privacy_budget/encountered_surface_tracker.h 2023-11-06 14:34:01.814869110 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <map>
|
||||
|
||||
#include "base/containers/flat_set.h"
|
||||
diff -up chromium-119.0.6045.105/chrome/browser/webauthn/authenticator_request_dialog_model.h.missing-header-files chromium-119.0.6045.105/chrome/browser/webauthn/authenticator_request_dialog_model.h
|
||||
--- chromium-119.0.6045.105/chrome/browser/webauthn/authenticator_request_dialog_model.h.missing-header-files 2023-11-01 19:10:16.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/chrome/browser/webauthn/authenticator_request_dialog_model.h 2023-11-06 14:34:01.817869174 +0100
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
+#include <variant>
|
||||
|
||||
#include "base/containers/span.h"
|
||||
#include "base/functional/callback_forward.h"
|
||||
diff -up chromium-119.0.6045.105/chrome/test/chromedriver/chrome/web_view_impl.cc.missing-header-files chromium-119.0.6045.105/chrome/test/chromedriver/chrome/web_view_impl.cc
|
||||
--- chromium-119.0.6045.105/chrome/test/chromedriver/chrome/web_view_impl.cc.missing-header-files 2023-11-01 19:10:16.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/chrome/test/chromedriver/chrome/web_view_impl.cc 2023-11-06 14:34:01.818869196 +0100
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <queue>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
+#include <cstring>
|
||||
|
||||
#include "base/check.h"
|
||||
#include "base/files/file_path.h"
|
||||
diff -up chromium-119.0.6045.105/components/autofill/core/browser/autofill_ablation_study.h.missing-header-files chromium-119.0.6045.105/components/autofill/core/browser/autofill_ablation_study.h
|
||||
--- chromium-119.0.6045.105/components/autofill/core/browser/autofill_ablation_study.h.missing-header-files 2023-11-01 19:10:19.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/components/autofill/core/browser/autofill_ablation_study.h 2023-11-06 14:34:01.815869132 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
class GURL;
|
||||
diff -up chromium-119.0.6045.105/components/crash/core/app/crash_reporter_client.h.missing-header-files chromium-119.0.6045.105/components/crash/core/app/crash_reporter_client.h
|
||||
--- chromium-119.0.6045.105/components/crash/core/app/crash_reporter_client.h.missing-header-files 2023-11-01 19:10:20.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/components/crash/core/app/crash_reporter_client.h 2023-11-06 14:34:01.813869089 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include "build/build_config.h"
|
||||
diff -up chromium-119.0.6045.105/components/feature_engagement/internal/event_storage_validator.h.missing-header-files chromium-119.0.6045.105/components/feature_engagement/internal/event_storage_validator.h
|
||||
--- chromium-119.0.6045.105/components/feature_engagement/internal/event_storage_validator.h.missing-header-files 2023-11-01 19:10:21.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/components/feature_engagement/internal/event_storage_validator.h 2023-11-06 14:34:01.814869110 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
namespace feature_engagement {
|
||||
diff -up chromium-119.0.6045.105/components/feature_engagement/internal/never_event_storage_validator.h.missing-header-files chromium-119.0.6045.105/components/feature_engagement/internal/never_event_storage_validator.h
|
||||
--- chromium-119.0.6045.105/components/feature_engagement/internal/never_event_storage_validator.h.missing-header-files 2023-11-01 19:10:21.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/components/feature_engagement/internal/never_event_storage_validator.h 2023-11-06 14:34:01.814869110 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_EVENT_STORAGE_VALIDATOR_H_
|
||||
#define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_EVENT_STORAGE_VALIDATOR_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include "components/feature_engagement/internal/event_storage_validator.h"
|
||||
diff -up chromium-119.0.6045.105/components/omnibox/browser/on_device_head_model.h.missing-header-files chromium-119.0.6045.105/components/omnibox/browser/on_device_head_model.h
|
||||
--- chromium-119.0.6045.105/components/omnibox/browser/on_device_head_model.h.missing-header-files 2023-11-01 19:10:21.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/components/omnibox/browser/on_device_head_model.h 2023-11-06 14:34:01.815869132 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
diff -up chromium-119.0.6045.105/components/password_manager/core/browser/generation/password_generator.h.missing-header-files chromium-119.0.6045.105/components/password_manager/core/browser/generation/password_generator.h
|
||||
--- chromium-119.0.6045.105/components/password_manager/core/browser/generation/password_generator.h.missing-header-files 2023-11-01 19:10:21.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/components/password_manager/core/browser/generation/password_generator.h 2023-11-06 14:34:01.814869110 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
|
||||
diff -up chromium-119.0.6045.105/components/payments/content/utility/fingerprint_parser.h.missing-header-files chromium-119.0.6045.105/components/payments/content/utility/fingerprint_parser.h
|
||||
--- chromium-119.0.6045.105/components/payments/content/utility/fingerprint_parser.h.missing-header-files 2023-11-01 19:10:21.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/components/payments/content/utility/fingerprint_parser.h 2023-11-06 14:34:01.815869132 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_PAYMENTS_CONTENT_UTILITY_FINGERPRINT_PARSER_H_
|
||||
#define COMPONENTS_PAYMENTS_CONTENT_UTILITY_FINGERPRINT_PARSER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
diff -up chromium-119.0.6045.105/gin/time_clamper.h.missing-header-files chromium-119.0.6045.105/gin/time_clamper.h
|
||||
--- chromium-119.0.6045.105/gin/time_clamper.h.missing-header-files 2023-11-01 19:10:28.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/gin/time_clamper.h 2023-11-06 14:34:01.818869196 +0100
|
||||
@@ -48,7 +48,7 @@ class GIN_EXPORT TimeClamper {
|
||||
const int64_t micros = now_micros % 1000;
|
||||
// abs() is necessary for devices with times before unix-epoch (most likely
|
||||
// configured incorrectly).
|
||||
- if (abs(micros) + kResolutionMicros < 1000) {
|
||||
+ if (std::abs(micros) + kResolutionMicros < 1000) {
|
||||
return now_micros / 1000;
|
||||
}
|
||||
return ClampTimeResolution(now_micros) / 1000;
|
||||
diff -up chromium-119.0.6045.105/gpu/config/gpu_feature_info.h.missing-header-files chromium-119.0.6045.105/gpu/config/gpu_feature_info.h
|
||||
--- chromium-119.0.6045.105/gpu/config/gpu_feature_info.h.missing-header-files 2023-11-01 19:10:28.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/gpu/config/gpu_feature_info.h 2023-11-06 14:34:01.809869004 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff -up chromium-119.0.6045.105/net/base/net_export.h.missing-header-files chromium-119.0.6045.105/net/base/net_export.h
|
||||
--- chromium-119.0.6045.105/net/base/net_export.h.missing-header-files 2023-11-01 19:10:32.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/net/base/net_export.h 2023-11-06 14:34:01.809869004 +0100
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef NET_BASE_NET_EXPORT_H_
|
||||
#define NET_BASE_NET_EXPORT_H_
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
// Defines NET_EXPORT so that functionality implemented by the net module can
|
||||
// be exported to consumers, and NET_EXPORT_PRIVATE that allows unit tests to
|
||||
// access features not intended to be used directly by real consumers.
|
||||
diff -up chromium-119.0.6045.105/pdf/document_attachment_info.h.missing-header-files chromium-119.0.6045.105/pdf/document_attachment_info.h
|
||||
--- chromium-119.0.6045.105/pdf/document_attachment_info.h.missing-header-files 2023-11-01 19:10:34.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/pdf/document_attachment_info.h 2023-11-06 14:34:01.815869132 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
|
||||
diff -up chromium-119.0.6045.105/sandbox/linux/syscall_broker/broker_file_permission.h.missing-header-files chromium-119.0.6045.105/sandbox/linux/syscall_broker/broker_file_permission.h
|
||||
--- chromium-119.0.6045.105/sandbox/linux/syscall_broker/broker_file_permission.h.missing-header-files 2023-11-01 19:10:34.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/sandbox/linux/syscall_broker/broker_file_permission.h 2023-11-06 14:34:01.809869004 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
|
||||
#define SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <bitset>
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
diff -up chromium-119.0.6045.105/services/device/public/cpp/generic_sensor/sensor_reading.h.missing-header-files chromium-119.0.6045.105/services/device/public/cpp/generic_sensor/sensor_reading.h
|
||||
--- chromium-119.0.6045.105/services/device/public/cpp/generic_sensor/sensor_reading.h.missing-header-files 2023-11-01 19:10:35.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/services/device/public/cpp/generic_sensor/sensor_reading.h 2023-11-06 14:34:01.820869238 +0100
|
||||
@@ -8,6 +8,9 @@
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstddef>
|
||||
+#include <cstdint>
|
||||
+
|
||||
#include <type_traits>
|
||||
|
||||
namespace device {
|
||||
diff -up chromium-119.0.6045.105/skia/ext/skcolorspace_trfn.cc.missing-header-files chromium-119.0.6045.105/skia/ext/skcolorspace_trfn.cc
|
||||
--- chromium-119.0.6045.105/skia/ext/skcolorspace_trfn.cc.missing-header-files 2023-11-01 19:10:35.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/skia/ext/skcolorspace_trfn.cc 2023-11-06 14:34:01.818869196 +0100
|
||||
@@ -3,6 +3,7 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "skia/ext/skcolorspace_trfn.h"
|
||||
+#include <cmath>
|
||||
|
||||
#include <cmath>
|
||||
|
||||
diff -up chromium-119.0.6045.105/third_party/abseil-cpp/absl/strings/string_view.h.missing-header-files chromium-119.0.6045.105/third_party/abseil-cpp/absl/strings/string_view.h
|
||||
--- chromium-119.0.6045.105/third_party/abseil-cpp/absl/strings/string_view.h.missing-header-files 2023-11-01 19:10:36.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/abseil-cpp/absl/strings/string_view.h 2023-11-06 14:34:01.809869004 +0100
|
||||
@@ -27,6 +27,7 @@
|
||||
#ifndef ABSL_STRINGS_STRING_VIEW_H_
|
||||
#define ABSL_STRINGS_STRING_VIEW_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
#include <cstddef>
|
||||
diff -up chromium-119.0.6045.105/third_party/angle/include/GLSLANG/ShaderVars.h.missing-header-files chromium-119.0.6045.105/third_party/angle/include/GLSLANG/ShaderVars.h
|
||||
--- chromium-119.0.6045.105/third_party/angle/include/GLSLANG/ShaderVars.h.missing-header-files 2023-11-01 19:11:59.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/angle/include/GLSLANG/ShaderVars.h 2023-11-06 14:34:01.810869025 +0100
|
||||
@@ -10,6 +10,7 @@
|
||||
#ifndef GLSLANG_SHADERVARS_H_
|
||||
#define GLSLANG_SHADERVARS_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
#include <cstdint>
|
||||
diff -up chromium-119.0.6045.105/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h.missing-header-files chromium-119.0.6045.105/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h
|
||||
--- chromium-119.0.6045.105/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h.missing-header-files 2023-11-01 19:10:37.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h 2023-11-06 14:34:01.810869025 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <array>
|
||||
#include <cstdint>
|
||||
#include <functional>
|
||||
diff -up chromium-119.0.6045.105/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h.missing-header-files chromium-119.0.6045.105/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h
|
||||
--- chromium-119.0.6045.105/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h.missing-header-files 2023-11-01 19:13:50.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h 2023-11-06 14:34:01.810869025 +0100
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef SRC_TINT_LANG_SPIRV_READER_AST_PARSER_NAMER_H_
|
||||
#define SRC_TINT_LANG_SPIRV_READER_AST_PARSER_NAMER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
diff -up chromium-119.0.6045.105/third_party/ipcz/src/ipcz/router_link.h.missing-header-files chromium-119.0.6045.105/third_party/ipcz/src/ipcz/router_link.h
|
||||
--- chromium-119.0.6045.105/third_party/ipcz/src/ipcz/router_link.h.missing-header-files 2023-11-01 19:11:20.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/ipcz/src/ipcz/router_link.h 2023-11-06 14:34:01.819869217 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef IPCZ_SRC_IPCZ_ROUTER_LINK_H_
|
||||
#define IPCZ_SRC_IPCZ_ROUTER_LINK_H_
|
||||
|
||||
+#include <memory>
|
||||
#include <cstddef>
|
||||
#include <functional>
|
||||
#include <memory>
|
||||
diff -up chromium-119.0.6045.105/third_party/material_color_utilities/src/cpp/palettes/tones.cc.missing-header-files chromium-119.0.6045.105/third_party/material_color_utilities/src/cpp/palettes/tones.cc
|
||||
--- chromium-119.0.6045.105/third_party/material_color_utilities/src/cpp/palettes/tones.cc.missing-header-files 2023-11-01 19:11:53.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/material_color_utilities/src/cpp/palettes/tones.cc 2023-11-06 14:34:01.819869217 +0100
|
||||
@@ -14,6 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
+#include <cmath>
|
||||
#include "cpp/palettes/tones.h"
|
||||
|
||||
#include "cpp/cam/cam.h"
|
||||
diff -up chromium-119.0.6045.105/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h.missing-header-files chromium-119.0.6045.105/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h
|
||||
--- chromium-119.0.6045.105/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h.missing-header-files 2023-11-01 19:11:59.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h 2023-11-06 14:34:01.810869025 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <functional>
|
||||
#include <map>
|
||||
#include <set>
|
||||
diff -up chromium-119.0.6045.105/third_party/pdfium/constants/annotation_flags.h.missing-header-files chromium-119.0.6045.105/third_party/pdfium/constants/annotation_flags.h
|
||||
--- chromium-119.0.6045.105/third_party/pdfium/constants/annotation_flags.h.missing-header-files 2023-11-01 19:14:48.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/pdfium/constants/annotation_flags.h 2023-11-06 14:34:01.815869132 +0100
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace pdfium {
|
||||
namespace annotation_flags {
|
||||
|
||||
diff -up chromium-119.0.6045.105/third_party/ruy/src/ruy/profiler/instrumentation.h.missing-header-files chromium-119.0.6045.105/third_party/ruy/src/ruy/profiler/instrumentation.h
|
||||
--- chromium-119.0.6045.105/third_party/ruy/src/ruy/profiler/instrumentation.h.missing-header-files 2023-11-01 19:12:02.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/ruy/src/ruy/profiler/instrumentation.h 2023-11-06 14:34:01.813869089 +0100
|
||||
@@ -17,6 +17,7 @@ limitations under the License.
|
||||
#define RUY_RUY_PROFILER_INSTRUMENTATION_H_
|
||||
|
||||
#ifdef RUY_PROFILER
|
||||
+#include <string>
|
||||
#include <cstdio>
|
||||
#include <mutex>
|
||||
#include <vector>
|
||||
diff -up chromium-119.0.6045.105/third_party/swiftshader/src/System/LRUCache.hpp.missing-header-files chromium-119.0.6045.105/third_party/swiftshader/src/System/LRUCache.hpp
|
||||
--- chromium-119.0.6045.105/third_party/swiftshader/src/System/LRUCache.hpp.missing-header-files 2023-11-01 19:12:15.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/swiftshader/src/System/LRUCache.hpp 2023-11-06 14:34:01.810869025 +0100
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
#include "System/Debug.hpp"
|
||||
|
||||
+#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
#include <functional>
|
||||
diff -up chromium-119.0.6045.105/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc.missing-header-files chromium-119.0.6045.105/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc
|
||||
--- chromium-119.0.6045.105/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc.missing-header-files 2023-11-01 19:12:42.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc 2023-11-06 14:34:01.814869110 +0100
|
||||
@@ -45,6 +45,7 @@
|
||||
#include "llvm/Support/SaveAndRestore.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include <algorithm>
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <sysexits.h>
|
||||
#ifdef HAVE_BACKTRACE
|
||||
diff -up chromium-119.0.6045.105/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h.missing-header-files chromium-119.0.6045.105/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h
|
||||
--- chromium-119.0.6045.105/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h.missing-header-files 2023-11-01 19:13:20.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h 2023-11-06 14:34:01.813869089 +0100
|
||||
@@ -31,6 +31,7 @@ limitations under the License.
|
||||
#ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_SPECTROGRAM_H_
|
||||
#define TENSORFLOW_LITE_KERNELS_INTERNAL_SPECTROGRAM_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <complex>
|
||||
#include <deque>
|
||||
#include <vector>
|
||||
diff -up chromium-119.0.6045.105/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.missing-header-files chromium-119.0.6045.105/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h
|
||||
--- chromium-119.0.6045.105/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.missing-header-files 2023-11-01 19:12:45.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h 2023-11-06 14:34:01.817869174 +0100
|
||||
@@ -2884,6 +2884,7 @@ static void vma_aligned_free(void* VMA_N
|
||||
|
||||
// Define this macro to 1 to enable functions: vmaBuildStatsString, vmaFreeStatsString.
|
||||
#if VMA_STATS_STRING_ENABLED
|
||||
+#include <stdio.h>
|
||||
static inline void VmaUint32ToStr(char* VMA_NOT_NULL outStr, size_t strLen, uint32_t num)
|
||||
{
|
||||
snprintf(outStr, strLen, "%u", static_cast<unsigned int>(num));
|
||||
diff -up chromium-119.0.6045.105/third_party/webrtc/audio/utility/channel_mixer.cc.missing-header-files chromium-119.0.6045.105/third_party/webrtc/audio/utility/channel_mixer.cc
|
||||
--- chromium-119.0.6045.105/third_party/webrtc/audio/utility/channel_mixer.cc.missing-header-files 2023-11-01 19:14:05.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/webrtc/audio/utility/channel_mixer.cc 2023-11-06 14:34:01.819869217 +0100
|
||||
@@ -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-119.0.6045.105/third_party/webrtc/common_video/h264/sps_parser.h.missing-header-files chromium-119.0.6045.105/third_party/webrtc/common_video/h264/sps_parser.h
|
||||
--- chromium-119.0.6045.105/third_party/webrtc/common_video/h264/sps_parser.h.missing-header-files 2023-11-01 19:14:06.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/webrtc/common_video/h264/sps_parser.h 2023-11-06 14:34:01.819869217 +0100
|
||||
@@ -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-119.0.6045.105/third_party/webrtc/modules/include/module_common_types_public.h.missing-header-files chromium-119.0.6045.105/third_party/webrtc/modules/include/module_common_types_public.h
|
||||
--- chromium-119.0.6045.105/third_party/webrtc/modules/include/module_common_types_public.h.missing-header-files 2023-11-01 19:14:11.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/webrtc/modules/include/module_common_types_public.h 2023-11-06 14:34:01.819869217 +0100
|
||||
@@ -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-119.0.6045.105/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-header-files chromium-119.0.6045.105/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
|
||||
--- chromium-119.0.6045.105/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-header-files 2023-11-01 19:14:12.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc 2023-11-06 14:34:01.819869217 +0100
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include "modules/video_coding/utility/ivf_file_reader.h"
|
||||
|
||||
+#include <cstring>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
diff -up chromium-119.0.6045.105/ui/base/prediction/kalman_filter.h.missing-header-files chromium-119.0.6045.105/ui/base/prediction/kalman_filter.h
|
||||
--- chromium-119.0.6045.105/ui/base/prediction/kalman_filter.h.missing-header-files 2023-11-01 19:11:28.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/ui/base/prediction/kalman_filter.h 2023-11-06 14:34:01.814869110 +0100
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
#include "base/component_export.h"
|
||||
#include "ui/gfx/geometry/matrix3_f.h"
|
||||
|
||||
diff -up chromium-119.0.6045.105/ui/gfx/geometry/linear_gradient.h.missing-header-files chromium-119.0.6045.105/ui/gfx/geometry/linear_gradient.h
|
||||
--- chromium-119.0.6045.105/ui/gfx/geometry/linear_gradient.h.missing-header-files 2023-11-01 19:11:28.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/ui/gfx/geometry/linear_gradient.h 2023-11-06 14:34:01.812869068 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include <cstdint>
|
||||
#include <array>
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
diff -up chromium-119.0.6045.105/ui/gfx/linux/drm_util_linux.h.missing-header-files chromium-119.0.6045.105/ui/gfx/linux/drm_util_linux.h
|
||||
--- chromium-119.0.6045.105/ui/gfx/linux/drm_util_linux.h.missing-header-files 2023-11-01 19:11:28.000000000 +0100
|
||||
+++ chromium-119.0.6045.105/ui/gfx/linux/drm_util_linux.h 2023-11-06 14:34:01.819869217 +0100
|
||||
@@ -9,6 +9,8 @@
|
||||
|
||||
#include "ui/gfx/buffer_types.h"
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace ui {
|
||||
|
||||
int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format);
|
||||
diff -up chromium-121.0.6167.139/crypto/hkdf.h.me chromium-121.0.6167.139/crypto/hkdf.h
|
||||
--- chromium-121.0.6167.139/crypto/hkdf.h.me 2024-02-03 17:24:49.957949670 +0100
|
||||
+++ chromium-121.0.6167.139/crypto/hkdf.h 2024-02-03 17:26:05.753312178 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
+#include <vector>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
|
||||
diff -up chromium-121.0.6167.139/ui/display/types/display_color_management.h.me chromium-121.0.6167.139/ui/display/types/display_color_management.h
|
||||
--- chromium-121.0.6167.139/ui/display/types/display_color_management.h.me 2024-02-03 18:55:34.889499101 +0100
|
||||
+++ chromium-121.0.6167.139/ui/display/types/display_color_management.h 2024-02-03 18:55:59.608945624 +0100
|
||||
@@ -6,6 +6,7 @@
|
||||
#define UI_DISPLAY_TYPES_DISPLAY_COLOR_MANAGEMENT_H_
|
||||
|
||||
#include <vector>
|
||||
+#include <memory>
|
||||
|
||||
#include "third_party/skia/modules/skcms/skcms.h"
|
||||
#include "ui/display/types/display_types_export.h"
|
||||
diff -up chromium-121.0.6167.139/ui/gfx/x/visual_manager.cc.me chromium-121.0.6167.139/ui/gfx/x/visual_manager.cc
|
||||
--- chromium-121.0.6167.139/ui/gfx/x/visual_manager.cc.me 2024-02-03 21:20:32.126285578 +0100
|
||||
+++ chromium-121.0.6167.139/ui/gfx/x/visual_manager.cc 2024-02-03 21:20:50.272607248 +0100
|
||||
@@ -2,6 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
+#include <bitset>
|
||||
+
|
||||
#include "ui/gfx/x/visual_manager.h"
|
||||
|
||||
#include "base/strings/string_number_conversions.h"
|
||||
diff -up chromium-121.0.6167.139/third_party/blink/renderer/platform/fonts/simple_font_data.h.me chromium-121.0.6167.139/third_party/blink/renderer/platform/fonts/simple_font_data.h
|
||||
--- chromium-121.0.6167.139/third_party/blink/renderer/platform/fonts/simple_font_data.h.me 2024-02-03 22:47:05.632713381 +0100
|
||||
+++ chromium-121.0.6167.139/third_party/blink/renderer/platform/fonts/simple_font_data.h 2024-02-03 22:47:30.788293027 +0100
|
||||
@@ -26,6 +26,7 @@
|
||||
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
+#include <mutex>
|
||||
|
||||
#include "build/build_config.h"
|
||||
#include "third_party/blink/renderer/platform/fonts/canvas_rotation_in_vertical.h"
|
||||
diff -up chromium-121.0.6167.139/chrome/browser/performance_manager/policies/probability_distribution.h.me chromium-121.0.6167.139/chrome/browser/performance_manager/policies/probability_distribution.h
|
||||
--- chromium-121.0.6167.139/chrome/browser/performance_manager/policies/probability_distribution.h.me 2024-02-04 09:26:02.239427860 +0100
|
||||
+++ chromium-121.0.6167.139/chrome/browser/performance_manager/policies/probability_distribution.h 2024-02-04 09:26:10.051565081 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef CHROME_BROWSER_PERFORMANCE_MANAGER_POLICIES_PROBABILITY_DISTRIBUTION_H_
|
||||
#define CHROME_BROWSER_PERFORMANCE_MANAGER_POLICIES_PROBABILITY_DISTRIBUTION_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
@ -1,77 +0,0 @@
|
||||
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():
|
@ -1,743 +0,0 @@
|
||||
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;
|
||||
|
@ -0,0 +1,20 @@
|
||||
diff -up chromium-122.0.6261.39/build/config/compiler/BUILD.gn.me chromium-122.0.6261.39/build/config/compiler/BUILD.gn
|
||||
--- chromium-122.0.6261.39/build/config/compiler/BUILD.gn.me 2024-02-19 21:58:15.835818177 +0100
|
||||
+++ chromium-122.0.6261.39/build/config/compiler/BUILD.gn 2024-02-19 21:59:11.661880633 +0100
|
||||
@@ -1856,15 +1856,12 @@ config("default_warnings") {
|
||||
|
||||
# TODO(crbug.com/1494809): Evaluate and possibly enable.
|
||||
"-Wno-vla-extension",
|
||||
-
|
||||
- # TODO(https://crbug.com/1490607): Fix and re-enable.
|
||||
- "-Wno-thread-safety-reference-return",
|
||||
]
|
||||
|
||||
if (!is_nacl) {
|
||||
cflags_cc += [
|
||||
# TODO(https://crbug.com/1513724): Fix and re-enable.
|
||||
- "-Wno-c++11-narrowing-const-reference",
|
||||
+ "-Wno-c++11-narrowing",
|
||||
]
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
diff -up chromium-122.0.6261.29/build/config/compiler/BUILD.gn.me chromium-122.0.6261.29/build/config/compiler/BUILD.gn
|
||||
--- chromium-122.0.6261.29/build/config/compiler/BUILD.gn.me 2024-02-12 14:46:52.691992282 +0100
|
||||
+++ chromium-122.0.6261.29/build/config/compiler/BUILD.gn 2024-02-12 14:48:54.256274068 +0100
|
||||
@@ -787,7 +787,7 @@ config("compiler") {
|
||||
|
||||
# We only use one version of LLVM within a build so there's no need to
|
||||
# upgrade debug info, which can be expensive since it runs the verifier.
|
||||
- ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
|
||||
+ ldflags += [ "" ]
|
||||
}
|
||||
|
||||
# TODO(https://crbug.com/1211155): investigate why this isn't effective on
|
@ -0,0 +1,45 @@
|
||||
diff -up chromium-122.0.6261.29/components/autofill/core/common/unique_ids.h.me chromium-122.0.6261.29/components/autofill/core/common/unique_ids.h
|
||||
--- chromium-122.0.6261.29/components/autofill/core/common/unique_ids.h.me 2024-02-13 13:07:24.982184485 +0100
|
||||
+++ chromium-122.0.6261.29/components/autofill/core/common/unique_ids.h 2024-02-13 13:07:45.510551589 +0100
|
||||
@@ -137,7 +137,7 @@ struct GlobalId {
|
||||
|
||||
friend constexpr auto operator<=>(const GlobalId<RendererId>& lhs,
|
||||
const GlobalId<RendererId>& rhs) = default;
|
||||
- friend constexpr bool operator==(const GlobalId<RendererId>& lhs,
|
||||
+ friend bool operator==(const GlobalId<RendererId>& lhs,
|
||||
const GlobalId<RendererId>& rhs) = default;
|
||||
};
|
||||
|
||||
diff -up chromium-122.0.6261.29/base/types/strong_alias.h.me chromium-122.0.6261.29/base/types/strong_alias.h
|
||||
--- chromium-122.0.6261.29/base/types/strong_alias.h.me 2024-02-13 14:13:20.311374288 +0100
|
||||
+++ chromium-122.0.6261.29/base/types/strong_alias.h 2024-02-13 12:30:38.596913951 +0100
|
||||
@@ -110,7 +110,7 @@ class StrongAlias {
|
||||
// a `StrongAlias<W>`.
|
||||
friend constexpr auto operator<=>(const StrongAlias& lhs,
|
||||
const StrongAlias& rhs) = default;
|
||||
- friend constexpr bool operator==(const StrongAlias& lhs,
|
||||
+ friend bool operator==(const StrongAlias& lhs,
|
||||
const StrongAlias& rhs) = default;
|
||||
|
||||
// Hasher to use in std::unordered_map, std::unordered_set, etc.
|
||||
diff -up chromium-122.0.6261.29/components/performance_manager/resource_attribution/query_params.h.constexpr chromium-122.0.6261.29/components/performance_manager/resource_attribution/query_params.h
|
||||
--- chromium-122.0.6261.29/components/performance_manager/resource_attribution/query_params.h.constexpr 2024-02-07 19:49:31.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/components/performance_manager/resource_attribution/query_params.h 2024-02-13 11:12:52.913338699 +0100
|
||||
@@ -29,7 +29,7 @@ class ContextCollection {
|
||||
ContextCollection(const ContextCollection& other);
|
||||
ContextCollection& operator=(const ContextCollection& other);
|
||||
|
||||
- friend constexpr bool operator==(const ContextCollection&,
|
||||
+ friend bool operator==(const ContextCollection&,
|
||||
const ContextCollection&) = default;
|
||||
|
||||
// Adds `context` to the collection.
|
||||
@@ -67,7 +67,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;
|
||||
|
||||
// Resource types to measure.
|
@ -0,0 +1,12 @@
|
||||
diff -up chromium-122.0.6261.29/media/base/media_switches.cc.disable-FFmpegAllowLists chromium-122.0.6261.29/media/base/media_switches.cc
|
||||
--- chromium-122.0.6261.29/media/base/media_switches.cc.disable-FFmpegAllowLists 2024-02-12 15:56:50.703196471 +0100
|
||||
+++ chromium-122.0.6261.29/media/base/media_switches.cc 2024-02-12 17:08:42.266076401 +0100
|
||||
@@ -1687,7 +1687,7 @@ BASE_FEATURE(kUseWindowBoundsForPip,
|
||||
// Enables FFmpeg allow lists for supported codecs / containers.
|
||||
BASE_FEATURE(kFFmpegAllowLists,
|
||||
"FFmpegAllowLists",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
// Enables sending MediaLog to the log stream, which is useful for easier
|
||||
// development by ensuring logs can be seen without a remote desktop session.
|
@ -0,0 +1,191 @@
|
||||
diff -up chromium-122.0.6261.29/base/check_op.h.missing-header-files chromium-122.0.6261.29/base/check_op.h
|
||||
--- chromium-122.0.6261.29/base/check_op.h.missing-header-files 2024-02-07 19:49:20.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/base/check_op.h 2024-02-12 14:59:48.136415060 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef BASE_CHECK_OP_H_
|
||||
#define BASE_CHECK_OP_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
diff -up chromium-122.0.6261.29/base/containers/flat_map.h.missing-header-files chromium-122.0.6261.29/base/containers/flat_map.h
|
||||
--- chromium-122.0.6261.29/base/containers/flat_map.h.missing-header-files 2024-02-07 19:49:20.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/base/containers/flat_map.h 2024-02-12 14:59:48.136415060 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef BASE_CONTAINERS_FLAT_MAP_H_
|
||||
#define BASE_CONTAINERS_FLAT_MAP_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <functional>
|
||||
#include <tuple>
|
||||
#include <type_traits>
|
||||
diff -up chromium-122.0.6261.29/chrome/browser/webauthn/authenticator_request_dialog_model.h.missing-header-files chromium-122.0.6261.29/chrome/browser/webauthn/authenticator_request_dialog_model.h
|
||||
--- chromium-122.0.6261.29/chrome/browser/webauthn/authenticator_request_dialog_model.h.missing-header-files 2024-02-12 14:59:48.137415079 +0100
|
||||
+++ chromium-122.0.6261.29/chrome/browser/webauthn/authenticator_request_dialog_model.h 2024-02-12 15:28:17.168395787 +0100
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <optional>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
+#include <variant>
|
||||
|
||||
#include "base/containers/span.h"
|
||||
#include "base/functional/callback_forward.h"
|
||||
diff -up chromium-122.0.6261.29/chrome/test/chromedriver/chrome/web_view_impl.cc.missing-header-files chromium-122.0.6261.29/chrome/test/chromedriver/chrome/web_view_impl.cc
|
||||
--- chromium-122.0.6261.29/chrome/test/chromedriver/chrome/web_view_impl.cc.missing-header-files 2024-02-07 19:49:27.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/chrome/test/chromedriver/chrome/web_view_impl.cc 2024-02-12 14:59:48.137415079 +0100
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <queue>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
+#include <cstring>
|
||||
|
||||
#include "base/check.h"
|
||||
#include "base/files/file_path.h"
|
||||
diff -up chromium-122.0.6261.29/components/feature_engagement/internal/never_event_storage_validator.h.missing-header-files chromium-122.0.6261.29/components/feature_engagement/internal/never_event_storage_validator.h
|
||||
--- chromium-122.0.6261.29/components/feature_engagement/internal/never_event_storage_validator.h.missing-header-files 2024-02-07 19:49:30.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/components/feature_engagement/internal/never_event_storage_validator.h 2024-02-12 14:59:48.138415097 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_EVENT_STORAGE_VALIDATOR_H_
|
||||
#define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_EVENT_STORAGE_VALIDATOR_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include "components/feature_engagement/internal/event_storage_validator.h"
|
||||
diff -up chromium-122.0.6261.29/gin/time_clamper.h.missing-header-files chromium-122.0.6261.29/gin/time_clamper.h
|
||||
--- chromium-122.0.6261.29/gin/time_clamper.h.missing-header-files 2024-02-07 19:49:35.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/gin/time_clamper.h 2024-02-12 14:59:48.138415097 +0100
|
||||
@@ -48,7 +48,7 @@ class GIN_EXPORT TimeClamper {
|
||||
const int64_t micros = now_micros % 1000;
|
||||
// abs() is necessary for devices with times before unix-epoch (most likely
|
||||
// configured incorrectly).
|
||||
- if (abs(micros) + kResolutionMicros < 1000) {
|
||||
+ if (std::abs(micros) + kResolutionMicros < 1000) {
|
||||
return now_micros / 1000;
|
||||
}
|
||||
return ClampTimeResolution(now_micros) / 1000;
|
||||
diff -up chromium-122.0.6261.29/net/base/net_export.h.missing-header-files chromium-122.0.6261.29/net/base/net_export.h
|
||||
--- chromium-122.0.6261.29/net/base/net_export.h.missing-header-files 2024-02-07 19:49:38.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/net/base/net_export.h 2024-02-12 14:59:48.139415116 +0100
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef NET_BASE_NET_EXPORT_H_
|
||||
#define NET_BASE_NET_EXPORT_H_
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
// Defines NET_EXPORT so that functionality implemented by the net module can
|
||||
// be exported to consumers, and NET_EXPORT_PRIVATE that allows unit tests to
|
||||
// access features not intended to be used directly by real consumers.
|
||||
diff -up chromium-122.0.6261.29/third_party/abseil-cpp/absl/strings/string_view.h.missing-header-files chromium-122.0.6261.29/third_party/abseil-cpp/absl/strings/string_view.h
|
||||
--- chromium-122.0.6261.29/third_party/abseil-cpp/absl/strings/string_view.h.missing-header-files 2024-02-07 19:49:40.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/third_party/abseil-cpp/absl/strings/string_view.h 2024-02-12 14:59:48.142415172 +0100
|
||||
@@ -27,6 +27,7 @@
|
||||
#ifndef ABSL_STRINGS_STRING_VIEW_H_
|
||||
#define ABSL_STRINGS_STRING_VIEW_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
#include <cstddef>
|
||||
diff -up chromium-122.0.6261.29/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h.missing-header-files chromium-122.0.6261.29/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h
|
||||
--- chromium-122.0.6261.29/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h.missing-header-files 2024-02-07 19:50:44.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h 2024-02-12 14:59:48.142415172 +0100
|
||||
@@ -28,6 +28,7 @@
|
||||
#ifndef SRC_TINT_LANG_SPIRV_READER_AST_PARSER_NAMER_H_
|
||||
#define SRC_TINT_LANG_SPIRV_READER_AST_PARSER_NAMER_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
diff -up chromium-122.0.6261.29/third_party/material_color_utilities/src/cpp/palettes/tones.cc.missing-header-files chromium-122.0.6261.29/third_party/material_color_utilities/src/cpp/palettes/tones.cc
|
||||
--- chromium-122.0.6261.29/third_party/material_color_utilities/src/cpp/palettes/tones.cc.missing-header-files 2024-02-07 19:52:34.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/third_party/material_color_utilities/src/cpp/palettes/tones.cc 2024-02-12 14:59:48.143415190 +0100
|
||||
@@ -14,6 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
+#include <cmath>
|
||||
#include "cpp/palettes/tones.h"
|
||||
|
||||
#include "cpp/cam/cam.h"
|
||||
diff -up chromium-122.0.6261.29/third_party/ruy/src/ruy/profiler/instrumentation.h.missing-header-files chromium-122.0.6261.29/third_party/ruy/src/ruy/profiler/instrumentation.h
|
||||
--- chromium-122.0.6261.29/third_party/ruy/src/ruy/profiler/instrumentation.h.missing-header-files 2024-02-07 19:52:59.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/third_party/ruy/src/ruy/profiler/instrumentation.h 2024-02-12 14:59:48.143415190 +0100
|
||||
@@ -17,6 +17,7 @@ limitations under the License.
|
||||
#define RUY_RUY_PROFILER_INSTRUMENTATION_H_
|
||||
|
||||
#ifdef RUY_PROFILER
|
||||
+#include <string>
|
||||
#include <cstdio>
|
||||
#include <mutex>
|
||||
#include <vector>
|
||||
diff -up chromium-122.0.6261.29/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc.missing-header-files chromium-122.0.6261.29/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc
|
||||
--- chromium-122.0.6261.29/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc.missing-header-files 2024-02-07 19:54:45.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc 2024-02-12 14:59:48.143415190 +0100
|
||||
@@ -45,6 +45,7 @@
|
||||
#include "llvm/Support/SaveAndRestore.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include <algorithm>
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <sysexits.h>
|
||||
#ifdef HAVE_BACKTRACE
|
||||
diff -up chromium-122.0.6261.29/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h.missing-header-files chromium-122.0.6261.29/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h
|
||||
--- chromium-122.0.6261.29/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h.missing-header-files 2024-02-07 19:53:17.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h 2024-02-12 14:59:48.143415190 +0100
|
||||
@@ -31,6 +31,7 @@ limitations under the License.
|
||||
#ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_SPECTROGRAM_H_
|
||||
#define TENSORFLOW_LITE_KERNELS_INTERNAL_SPECTROGRAM_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <complex>
|
||||
#include <deque>
|
||||
#include <vector>
|
||||
diff -up chromium-122.0.6261.29/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.missing-header-files chromium-122.0.6261.29/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h
|
||||
--- chromium-122.0.6261.29/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.missing-header-files 2024-02-07 19:54:20.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h 2024-02-12 14:59:48.145415228 +0100
|
||||
@@ -2884,6 +2884,7 @@ static void vma_aligned_free(void* VMA_N
|
||||
|
||||
// Define this macro to 1 to enable functions: vmaBuildStatsString, vmaFreeStatsString.
|
||||
#if VMA_STATS_STRING_ENABLED
|
||||
+#include <stdio.h>
|
||||
static inline void VmaUint32ToStr(char* VMA_NOT_NULL outStr, size_t strLen, uint32_t num)
|
||||
{
|
||||
snprintf(outStr, strLen, "%u", static_cast<unsigned int>(num));
|
||||
diff -up chromium-122.0.6261.29/third_party/webrtc/audio/utility/channel_mixer.cc.missing-header-files chromium-122.0.6261.29/third_party/webrtc/audio/utility/channel_mixer.cc
|
||||
--- chromium-122.0.6261.29/third_party/webrtc/audio/utility/channel_mixer.cc.missing-header-files 2024-02-07 19:53:17.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/third_party/webrtc/audio/utility/channel_mixer.cc 2024-02-12 14:59:48.145415228 +0100
|
||||
@@ -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-122.0.6261.29/third_party/webrtc/modules/include/module_common_types_public.h.missing-header-files chromium-122.0.6261.29/third_party/webrtc/modules/include/module_common_types_public.h
|
||||
--- chromium-122.0.6261.29/third_party/webrtc/modules/include/module_common_types_public.h.missing-header-files 2024-02-07 19:53:17.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/third_party/webrtc/modules/include/module_common_types_public.h 2024-02-12 14:59:48.145415228 +0100
|
||||
@@ -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-122.0.6261.29/ui/gfx/linux/drm_util_linux.h.missing-header-files chromium-122.0.6261.29/ui/gfx/linux/drm_util_linux.h
|
||||
--- chromium-122.0.6261.29/ui/gfx/linux/drm_util_linux.h.missing-header-files 2024-02-07 19:50:05.000000000 +0100
|
||||
+++ chromium-122.0.6261.29/ui/gfx/linux/drm_util_linux.h 2024-02-12 14:59:48.147415265 +0100
|
||||
@@ -9,6 +9,8 @@
|
||||
|
||||
#include "ui/gfx/buffer_types.h"
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace ui {
|
||||
|
||||
int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format);
|
@ -0,0 +1,740 @@
|
||||
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 -up chromium-122.0.6261.57/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc.me chromium-122.0.6261.57/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc
|
||||
--- chromium-122.0.6261.57/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc.me 2024-02-21 01:20:53.138946500 +0100
|
||||
+++ chromium-122.0.6261.57/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc 2024-02-21 12:33:53.226207103 +0100
|
||||
@@ -7,7 +7,6 @@
|
||||
#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 {
|
||||
@@ -699,11 +698,12 @@ DOMArrayBufferBase* NativeValueTraits<
|
||||
// ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
-NotShared<T> NativeValueTraits<NotShared<T>>::NativeValue(
|
||||
- v8::Isolate* isolate,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+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) {
|
||||
return NativeValueImpl<
|
||||
RecipeTrait<NotShared<T>>, ToDOMViewType<T, kNotShared>,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
|
||||
@@ -712,12 +712,13 @@ NotShared<T> NativeValueTraits<NotShared
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
- 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) {
|
||||
+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) {
|
||||
return ArgumentValueImpl<
|
||||
RecipeTrait<NotShared<T>>, ToDOMViewType<T, kNotShared>,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
|
||||
@@ -728,11 +729,12 @@ NotShared<T> NativeValueTraits<NotShared
|
||||
// [AllowShared] ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
-MaybeShared<T> NativeValueTraits<MaybeShared<T>>::NativeValue(
|
||||
- v8::Isolate* isolate,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+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) {
|
||||
return NativeValueImpl<RecipeTrait<MaybeShared<T>>,
|
||||
ToDOMViewType<T, kMaybeShared>,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
|
||||
@@ -741,12 +743,13 @@ MaybeShared<T> NativeValueTraits<MaybeSh
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
- 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) {
|
||||
+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) {
|
||||
return ArgumentValueImpl<RecipeTrait<MaybeShared<T>>,
|
||||
ToDOMViewType<T, kMaybeShared>,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
|
||||
@@ -757,12 +760,12 @@ MaybeShared<T> NativeValueTraits<MaybeSh
|
||||
// [AllowShared, BufferSourceTypeNoSizeLimit] ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
-MaybeShared<T>
|
||||
-NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>::NativeValue(
|
||||
- v8::Isolate* isolate,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+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) {
|
||||
return NativeValueImpl<
|
||||
RecipeTrait<MaybeShared<T>>, ToDOMViewType<T, kMaybeShared>,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kDoNotCheck,
|
||||
@@ -771,12 +774,13 @@ NativeValueTraits<IDLBufferSourceTypeNoS
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
- 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) {
|
||||
+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) {
|
||||
return ArgumentValueImpl<
|
||||
RecipeTrait<MaybeShared<T>>, ToDOMViewType<T, kMaybeShared>,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kDoNotCheck,
|
||||
@@ -787,11 +791,12 @@ MaybeShared<T> NativeValueTraits<IDLBuff
|
||||
// Nullable ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
-NotShared<T> NativeValueTraits<IDLNullable<NotShared<T>>>::NativeValue(
|
||||
- v8::Isolate* isolate,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+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) {
|
||||
return NativeValueImpl<
|
||||
RecipeTrait<NotShared<T>>, ToDOMViewType<T, kNotShared>,
|
||||
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
|
||||
@@ -800,12 +805,13 @@ NotShared<T> NativeValueTraits<IDLNullab
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
- 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) {
|
||||
+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) {
|
||||
return ArgumentValueImpl<
|
||||
RecipeTrait<NotShared<T>>, ToDOMViewType<T, kNotShared>,
|
||||
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
|
||||
@@ -816,11 +822,12 @@ NotShared<T> NativeValueTraits<IDLNullab
|
||||
// Nullable [AllowShared] ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
-MaybeShared<T> NativeValueTraits<IDLNullable<MaybeShared<T>>>::NativeValue(
|
||||
- v8::Isolate* isolate,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+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) {
|
||||
return NativeValueImpl<RecipeTrait<MaybeShared<T>>,
|
||||
ToDOMViewType<T, kMaybeShared>,
|
||||
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
|
||||
@@ -829,12 +836,13 @@ MaybeShared<T> NativeValueTraits<IDLNull
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
- 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) {
|
||||
+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) {
|
||||
return ArgumentValueImpl<RecipeTrait<MaybeShared<T>>,
|
||||
ToDOMViewType<T, kMaybeShared>,
|
||||
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
|
||||
@@ -845,9 +853,9 @@ MaybeShared<T> NativeValueTraits<IDLNull
|
||||
// Nullable [AllowShared, BufferSourceTypeNoSizeLimit] ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
-MaybeShared<T>
|
||||
-NativeValueTraits<IDLNullable<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>>::
|
||||
+MaybeShared<T> NativeValueTraits<
|
||||
+ IDLNullable<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,
|
||||
@@ -862,11 +870,13 @@ NativeValueTraits<IDLNullable<IDLBufferS
|
||||
// [AllowShared, FlexibleArrayBufferView] ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, FlexibleArrayBufferView>
|
||||
-T NativeValueTraits<T>::ArgumentValue(v8::Isolate* isolate,
|
||||
- int argument_index,
|
||||
- v8::Local<v8::Value> value,
|
||||
- ExceptionState& exception_state) {
|
||||
+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) {
|
||||
return ArgumentValueImpl<RecipeTrait<T>, ToFlexibleArrayBufferView,
|
||||
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
|
||||
ResizableAllowance::kDisallowResizable,
|
||||
@@ -878,12 +888,13 @@ T NativeValueTraits<T>::ArgumentValue(v8
|
||||
// ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
- 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) {
|
||||
+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) {
|
||||
return ArgumentValueImpl<
|
||||
RecipeTrait<T>, ToFlexibleArrayBufferView, Nullablity::kIsNotNullable,
|
||||
BufferSizeCheck::kDoNotCheck, ResizableAllowance::kDisallowResizable,
|
||||
@@ -894,12 +905,13 @@ T NativeValueTraits<IDLBufferSourceTypeN
|
||||
// Nullable [AllowShared, FlexibleArrayBufferView] ArrayBufferView
|
||||
|
||||
template <typename T>
|
||||
- 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) {
|
||||
+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) {
|
||||
return ArgumentValueImpl<RecipeTrait<T>, ToFlexibleArrayBufferView,
|
||||
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
|
||||
ResizableAllowance::kDisallowResizable,
|
||||
diff -up chromium-122.0.6261.57/third_party/blink/renderer/bindings/core/v8/native_value_traits.h.me chromium-122.0.6261.57/third_party/blink/renderer/bindings/core/v8/native_value_traits.h
|
||||
--- chromium-122.0.6261.57/third_party/blink/renderer/bindings/core/v8/native_value_traits.h.me 2024-02-21 01:20:53.138946500 +0100
|
||||
+++ chromium-122.0.6261.57/third_party/blink/renderer/bindings/core/v8/native_value_traits.h 2024-02-21 12:33:53.225207075 +0100
|
||||
@@ -5,7 +5,6 @@
|
||||
#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"
|
||||
@@ -31,7 +30,7 @@ class ExceptionState;
|
||||
// return toInt32(isolate, value, exceptionState, NormalConversion);
|
||||
// }
|
||||
// }
|
||||
-template <typename T>
|
||||
+template <typename T, typename SFINAEHelper = void>
|
||||
struct NativeValueTraits;
|
||||
|
||||
// This declaration serves only as a blueprint for specializations: the
|
||||
@@ -46,15 +45,22 @@ struct NativeValueTraits;
|
||||
|
||||
namespace bindings {
|
||||
|
||||
+template <typename T, typename = void>
|
||||
+struct NativeValueTraitsHasIsNull : std::false_type {};
|
||||
+
|
||||
template <typename T>
|
||||
-struct ImplTypeFor {
|
||||
- using type = T;
|
||||
-};
|
||||
+struct NativeValueTraitsHasIsNull<
|
||||
+ T,
|
||||
+ std::void_t<decltype(std::declval<T>().IsNull())>> : std::true_type {};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, IDLBase>
|
||||
-struct ImplTypeFor<T> {
|
||||
- using type = typename T::ImplType;
|
||||
+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;
|
||||
};
|
||||
|
||||
} // namespace bindings
|
||||
@@ -72,17 +78,37 @@ struct ImplTypeFor<T> {
|
||||
// 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>
|
||||
+template <typename T, typename SFINAEHelper = void>
|
||||
struct NativeValueTraitsBase {
|
||||
STATIC_ONLY(NativeValueTraitsBase);
|
||||
|
||||
- using ImplType = bindings::ImplTypeFor<T>::type;
|
||||
+ 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>> {
|
||||
+ STATIC_ONLY(NativeValueTraitsBase);
|
||||
+
|
||||
+ using ImplType = typename T::ImplType;
|
||||
|
||||
- // Pointer types have nullptr as IDL null value.
|
||||
- // ScriptValue, String, and union types have IsNull member function.
|
||||
static constexpr bool has_null_value =
|
||||
- std::is_pointer_v<ImplType> ||
|
||||
- requires(ImplType value) { value.IsNull(); };
|
||||
+ bindings::NativeValueTraitsHasNullValue<ImplType>::value;
|
||||
|
||||
// This should only be true for certain subclasses of ScriptWrappable
|
||||
// that satisfy the assumptions of CreateIDLSequenceFromV8ArraySlow() with
|
||||
diff -up chromium-122.0.6261.57/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h.me chromium-122.0.6261.57/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h
|
||||
--- chromium-122.0.6261.57/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h.me 2024-02-21 01:20:53.138946500 +0100
|
||||
+++ chromium-122.0.6261.57/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h 2024-02-21 12:33:53.227207131 +0100
|
||||
@@ -5,9 +5,6 @@
|
||||
#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"
|
||||
@@ -736,8 +733,9 @@ struct CORE_EXPORT NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
-struct NativeValueTraits<T> {
|
||||
+struct NativeValueTraits<
|
||||
+ T,
|
||||
+ typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>> {
|
||||
// NotShared<T> or MaybeShared<T> should be used instead.
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -749,8 +747,9 @@ struct NativeValueTraits<T> {
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
-struct NativeValueTraits<IDLNullable<T>> {
|
||||
+struct NativeValueTraits<
|
||||
+ IDLNullable<T>,
|
||||
+ typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>> {
|
||||
// NotShared<T> or MaybeShared<T> should be used instead.
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -762,8 +761,9 @@ struct NativeValueTraits<IDLNullable<T>>
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
-struct NativeValueTraits<NotShared<T>>
|
||||
+struct NativeValueTraits<
|
||||
+ NotShared<T>,
|
||||
+ typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
|
||||
: public NativeValueTraitsBase<NotShared<T>> {
|
||||
static NotShared<T> NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -776,8 +776,9 @@ struct NativeValueTraits<NotShared<T>>
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
-struct NativeValueTraits<IDLNullable<NotShared<T>>>
|
||||
+struct NativeValueTraits<
|
||||
+ IDLNullable<NotShared<T>>,
|
||||
+ typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
|
||||
: public NativeValueTraitsBase<NotShared<T>> {
|
||||
static NotShared<T> NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -790,8 +791,9 @@ struct NativeValueTraits<IDLNullable<Not
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
-struct NativeValueTraits<MaybeShared<T>>
|
||||
+struct NativeValueTraits<
|
||||
+ MaybeShared<T>,
|
||||
+ typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
|
||||
: public NativeValueTraitsBase<MaybeShared<T>> {
|
||||
static MaybeShared<T> NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -804,8 +806,9 @@ struct NativeValueTraits<MaybeShared<T>>
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
-struct NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>
|
||||
+struct NativeValueTraits<
|
||||
+ IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>,
|
||||
+ typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
|
||||
: public NativeValueTraitsBase<MaybeShared<T>> {
|
||||
// FlexibleArrayBufferView uses this in its implementation, so we cannot
|
||||
// delete it.
|
||||
@@ -820,8 +823,9 @@ struct NativeValueTraits<IDLBufferSource
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
-struct NativeValueTraits<IDLNullable<MaybeShared<T>>>
|
||||
+struct NativeValueTraits<
|
||||
+ IDLNullable<MaybeShared<T>>,
|
||||
+ typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
|
||||
: public NativeValueTraitsBase<MaybeShared<T>> {
|
||||
static MaybeShared<T> NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -834,9 +838,9 @@ struct NativeValueTraits<IDLNullable<May
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, DOMArrayBufferView>
|
||||
struct NativeValueTraits<
|
||||
- IDLNullable<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>>
|
||||
+ IDLNullable<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>,
|
||||
+ typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
|
||||
: public NativeValueTraitsBase<MaybeShared<T>> {
|
||||
// BufferSourceTypeNoSizeLimit must be used only as arguments.
|
||||
static MaybeShared<T> NativeValue(v8::Isolate* isolate,
|
||||
@@ -850,8 +854,11 @@ struct NativeValueTraits<
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, FlexibleArrayBufferView>
|
||||
-struct NativeValueTraits<T> : public NativeValueTraitsBase<T> {
|
||||
+struct NativeValueTraits<
|
||||
+ T,
|
||||
+ typename std::enable_if_t<
|
||||
+ std::is_base_of<FlexibleArrayBufferView, T>::value>>
|
||||
+ : public NativeValueTraitsBase<T> {
|
||||
// FlexibleArrayBufferView must be used only as arguments.
|
||||
static T NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -864,8 +871,10 @@ struct NativeValueTraits<T> : public Nat
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, FlexibleArrayBufferView>
|
||||
-struct NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<T>>
|
||||
+struct NativeValueTraits<
|
||||
+ IDLBufferSourceTypeNoSizeLimit<T>,
|
||||
+ typename std::enable_if_t<
|
||||
+ std::is_base_of<FlexibleArrayBufferView, T>::value>>
|
||||
: public NativeValueTraitsBase<T> {
|
||||
// BufferSourceTypeNoSizeLimit and FlexibleArrayBufferView must be used only
|
||||
// as arguments.
|
||||
@@ -880,8 +889,11 @@ struct NativeValueTraits<IDLBufferSource
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, FlexibleArrayBufferView>
|
||||
-struct NativeValueTraits<IDLNullable<T>> : public NativeValueTraitsBase<T> {
|
||||
+struct NativeValueTraits<
|
||||
+ IDLNullable<T>,
|
||||
+ typename std::enable_if_t<
|
||||
+ std::is_base_of<FlexibleArrayBufferView, T>::value>>
|
||||
+ : public NativeValueTraitsBase<T> {
|
||||
// FlexibleArrayBufferView must be used only as arguments.
|
||||
static T NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -1217,8 +1229,9 @@ NativeValueTraits<IDLSequence<T>>::Nativ
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
- requires NativeValueTraits<IDLSequence<T>>::has_null_value
|
||||
-struct NativeValueTraits<IDLNullable<IDLSequence<T>>>
|
||||
+struct NativeValueTraits<IDLNullable<IDLSequence<T>>,
|
||||
+ typename std::enable_if_t<
|
||||
+ NativeValueTraits<IDLSequence<T>>::has_null_value>>
|
||||
: public NativeValueTraitsBase<HeapVector<AddMemberIfNeeded<T>>*> {
|
||||
using ImplType = typename NativeValueTraits<IDLSequence<T>>::ImplType*;
|
||||
|
||||
@@ -1294,8 +1307,9 @@ struct NativeValueTraits<IDLArray<T>>
|
||||
: public NativeValueTraits<IDLSequence<T>> {};
|
||||
|
||||
template <typename T>
|
||||
- requires NativeValueTraits<IDLSequence<T>>::has_null_value
|
||||
-struct NativeValueTraits<IDLNullable<IDLArray<T>>>
|
||||
+struct NativeValueTraits<IDLNullable<IDLArray<T>>,
|
||||
+ typename std::enable_if_t<
|
||||
+ NativeValueTraits<IDLSequence<T>>::has_null_value>>
|
||||
: public NativeValueTraits<IDLNullable<IDLSequence<T>>> {};
|
||||
|
||||
// Record types
|
||||
@@ -1425,8 +1439,10 @@ struct NativeValueTraits<IDLRecord<K, V>
|
||||
|
||||
// Callback function types
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, CallbackFunctionBase>
|
||||
-struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
|
||||
+struct NativeValueTraits<
|
||||
+ T,
|
||||
+ typename std::enable_if_t<std::is_base_of<CallbackFunctionBase, T>::value>>
|
||||
+ : public NativeValueTraitsBase<T*> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1449,8 +1465,9 @@ struct NativeValueTraits<T> : public Nat
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, CallbackFunctionBase>
|
||||
-struct NativeValueTraits<IDLNullable<T>>
|
||||
+struct NativeValueTraits<
|
||||
+ IDLNullable<T>,
|
||||
+ typename std::enable_if_t<std::is_base_of<CallbackFunctionBase, T>::value>>
|
||||
: public NativeValueTraitsBase<IDLNullable<T>> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -1479,8 +1496,10 @@ struct NativeValueTraits<IDLNullable<T>>
|
||||
|
||||
// Callback interface types
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, CallbackInterfaceBase>
|
||||
-struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
|
||||
+struct NativeValueTraits<
|
||||
+ T,
|
||||
+ typename std::enable_if_t<std::is_base_of<CallbackInterfaceBase, T>::value>>
|
||||
+ : public NativeValueTraitsBase<T*> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1504,8 +1523,9 @@ struct NativeValueTraits<T> : public Nat
|
||||
|
||||
// Interface types
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, CallbackInterfaceBase>
|
||||
-struct NativeValueTraits<IDLNullable<T>>
|
||||
+struct NativeValueTraits<
|
||||
+ IDLNullable<T>,
|
||||
+ typename std::enable_if_t<std::is_base_of<CallbackInterfaceBase, T>::value>>
|
||||
: public NativeValueTraitsBase<IDLNullable<T>> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -1534,8 +1554,11 @@ struct NativeValueTraits<IDLNullable<T>>
|
||||
|
||||
// Dictionary types
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, bindings::DictionaryBase>
|
||||
-struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
|
||||
+struct NativeValueTraits<
|
||||
+ T,
|
||||
+ typename std::enable_if_t<
|
||||
+ std::is_base_of<bindings::DictionaryBase, T>::value>>
|
||||
+ : public NativeValueTraitsBase<T*> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1546,11 +1569,14 @@ struct NativeValueTraits<T> : public Nat
|
||||
// We don't support nullable dictionary types in general since it's quite
|
||||
// confusing and often misused.
|
||||
template <typename 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*> {
|
||||
+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*> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1562,8 +1588,11 @@ struct NativeValueTraits<IDLNullable<T>>
|
||||
|
||||
// Enumeration types
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, bindings::EnumerationBase>
|
||||
-struct NativeValueTraits<T> : public NativeValueTraitsBase<T> {
|
||||
+struct NativeValueTraits<
|
||||
+ T,
|
||||
+ typename std::enable_if_t<
|
||||
+ std::is_base_of<bindings::EnumerationBase, T>::value>>
|
||||
+ : public NativeValueTraitsBase<T> {
|
||||
static T NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1573,8 +1602,10 @@ struct NativeValueTraits<T> : public Nat
|
||||
|
||||
// Interface types
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, ScriptWrappable>
|
||||
-struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
|
||||
+struct NativeValueTraits<
|
||||
+ T,
|
||||
+ typename std::enable_if_t<std::is_base_of<ScriptWrappable, T>::value>>
|
||||
+ : public NativeValueTraitsBase<T*> {
|
||||
// This signifies that CreateIDLSequenceFromV8ArraySlow() may apply
|
||||
// certain optimization based on assumptions about `NativeValue()`
|
||||
// implementation below. For subclasses of ScriptWrappable that have
|
||||
@@ -1611,8 +1642,9 @@ struct NativeValueTraits<T> : public Nat
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, ScriptWrappable>
|
||||
-struct NativeValueTraits<IDLNullable<T>>
|
||||
+struct NativeValueTraits<
|
||||
+ IDLNullable<T>,
|
||||
+ typename std::enable_if_t<std::is_base_of<ScriptWrappable, T>::value>>
|
||||
: public NativeValueTraitsBase<IDLNullable<T>> {
|
||||
static inline T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
@@ -1647,8 +1679,10 @@ struct NativeValueTraits<IDLNullable<T>>
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, bindings::UnionBase>
|
||||
-struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
|
||||
+struct NativeValueTraits<
|
||||
+ T,
|
||||
+ typename std::enable_if_t<std::is_base_of<bindings::UnionBase, T>::value>>
|
||||
+ : public NativeValueTraitsBase<T*> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1664,8 +1698,10 @@ struct NativeValueTraits<T> : public Nat
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::derived_from<T, bindings::UnionBase>
|
||||
-struct NativeValueTraits<IDLNullable<T>> : public NativeValueTraitsBase<T*> {
|
||||
+struct NativeValueTraits<
|
||||
+ IDLNullable<T>,
|
||||
+ typename std::enable_if_t<std::is_base_of<bindings::UnionBase, T>::value>>
|
||||
+ : public NativeValueTraitsBase<T*> {
|
||||
static T* NativeValue(v8::Isolate* isolate,
|
||||
v8::Local<v8::Value> value,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -1686,8 +1722,9 @@ struct NativeValueTraits<IDLNullable<T>>
|
||||
|
||||
// Nullable types
|
||||
template <typename InnerType>
|
||||
- requires(!NativeValueTraits<InnerType>::has_null_value)
|
||||
-struct NativeValueTraits<IDLNullable<InnerType>>
|
||||
+struct NativeValueTraits<
|
||||
+ IDLNullable<InnerType>,
|
||||
+ typename std::enable_if_t<!NativeValueTraits<InnerType>::has_null_value>>
|
||||
: public NativeValueTraitsBase<IDLNullable<InnerType>> {
|
||||
// https://webidl.spec.whatwg.org/#es-nullable-type
|
||||
using ImplType =
|
||||
@@ -1719,8 +1756,9 @@ struct NativeValueTraits<IDLNullable<IDL
|
||||
|
||||
// Optional types
|
||||
template <typename T>
|
||||
- requires std::is_arithmetic_v<typename NativeValueTraits<T>::ImplType>
|
||||
-struct NativeValueTraits<IDLOptional<T>>
|
||||
+struct NativeValueTraits<IDLOptional<T>,
|
||||
+ typename std::enable_if_t<std::is_arithmetic<
|
||||
+ typename NativeValueTraits<T>::ImplType>::value>>
|
||||
: public NativeValueTraitsBase<typename NativeValueTraits<T>::ImplType> {
|
||||
using ImplType = typename NativeValueTraits<T>::ImplType;
|
||||
|
||||
@@ -1742,8 +1780,9 @@ struct NativeValueTraits<IDLOptional<T>>
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
- requires std::is_pointer_v<typename NativeValueTraits<T>::ImplType>
|
||||
-struct NativeValueTraits<IDLOptional<T>>
|
||||
+struct NativeValueTraits<IDLOptional<T>,
|
||||
+ typename std::enable_if_t<std::is_pointer<
|
||||
+ typename NativeValueTraits<T>::ImplType>::value>>
|
||||
: public NativeValueTraitsBase<typename NativeValueTraits<T>::ImplType> {
|
||||
using ImplType = typename NativeValueTraits<T>::ImplType;
|
||||
|
Loading…
Reference in new issue