parent
ae7653f59b
commit
199e1e8c0b
@ -1,15 +0,0 @@
|
|||||||
diff -up chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h.me chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h
|
|
||||||
--- chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h.me 2023-10-03 20:25:01.282782425 +0200
|
|
||||||
+++ chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h 2023-10-03 20:25:27.151236664 +0200
|
|
||||||
@@ -152,10 +152,7 @@ static_assert(sizeof(void*) != 8, "");
|
|
||||||
(!BUILDFLAG(PUT_REF_COUNT_IN_PREVIOUS_SLOT) && \
|
|
||||||
defined(ARCH_CPU_LITTLE_ENDIAN))
|
|
||||||
|
|
||||||
-#define PA_CONFIG_HAS_MEMORY_TAGGING() \
|
|
||||||
- (defined(ARCH_CPU_ARM64) && defined(__clang__) && \
|
|
||||||
- !defined(ADDRESS_SANITIZER) && \
|
|
||||||
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)))
|
|
||||||
+#define PA_CONFIG_HAS_MEMORY_TAGGING() 0
|
|
||||||
|
|
||||||
#if PA_CONFIG(HAS_MEMORY_TAGGING)
|
|
||||||
static_assert(sizeof(void*) == 8);
|
|
@ -1,138 +0,0 @@
|
|||||||
diff -up chromium-115.0.5790.102/base/write_build_date_header.py.me chromium-115.0.5790.102/base/write_build_date_header.py
|
|
||||||
--- chromium-115.0.5790.102/base/write_build_date_header.py.me 2023-07-22 14:23:42.620679397 +0200
|
|
||||||
+++ chromium-115.0.5790.102/base/write_build_date_header.py 2023-07-22 15:24:46.833310310 +0200
|
|
||||||
@@ -17,7 +17,7 @@ def main():
|
|
||||||
args = argument_parser.parse_args()
|
|
||||||
|
|
||||||
date_val = int(args.timestamp)
|
|
||||||
- date = datetime.datetime.utcfromtimestamp(date_val)
|
|
||||||
+ date = datetime.datetime.fromtimestamp(date_val, datetime.timezone.utc)
|
|
||||||
output = ('// Generated by //base/write_build_date_header.py\n'
|
|
||||||
'#ifndef BASE_GENERATED_BUILD_DATE_TIMESTAMP \n'
|
|
||||||
f'#define BASE_GENERATED_BUILD_DATE_TIMESTAMP {date_val}'
|
|
||||||
diff -up chromium-115.0.5790.102/build/write_buildflag_header.py.me chromium-115.0.5790.102/build/write_buildflag_header.py
|
|
||||||
--- chromium-115.0.5790.102/build/write_buildflag_header.py.me 2023-07-22 14:16:14.196975451 +0200
|
|
||||||
+++ chromium-115.0.5790.102/build/write_buildflag_header.py 2023-07-22 14:20:24.977239994 +0200
|
|
||||||
@@ -44,7 +44,7 @@ def GetOptions():
|
|
||||||
header_guard = cmdline_options.output.upper()
|
|
||||||
if header_guard[0].isdigit():
|
|
||||||
header_guard = '_' + header_guard
|
|
||||||
- header_guard = re.sub('[^\w]', '_', header_guard)
|
|
||||||
+ header_guard = re.sub(r'[^\w]', '_', header_guard)
|
|
||||||
header_guard += '_'
|
|
||||||
|
|
||||||
# The actual output file is inside the gen dir.
|
|
||||||
diff -up chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py.me chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py
|
|
||||||
--- chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py.me 2023-07-22 14:47:34.230764210 +0200
|
|
||||||
+++ chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py 2023-07-22 15:11:50.360983383 +0200
|
|
||||||
@@ -9,7 +9,8 @@
|
|
||||||
"""
|
|
||||||
from __future__ import print_function
|
|
||||||
import abc
|
|
||||||
-import imp
|
|
||||||
+import types
|
|
||||||
+import importlib
|
|
||||||
import optparse
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
@@ -40,6 +41,12 @@ class GoogleProtobufModuleImporter:
|
|
||||||
return filepath
|
|
||||||
return None
|
|
||||||
|
|
||||||
+ def load_source(name: str, path: str) -> types.ModuleType:
|
|
||||||
+ spec = importlib.util.spec_from_file_location(name, path)
|
|
||||||
+ module = importlib.util.module_from_spec(spec)
|
|
||||||
+ spec.loader.exec_module(module)
|
|
||||||
+ return module
|
|
||||||
+
|
|
||||||
def _module_exists(self, fullname):
|
|
||||||
return self._fullname_to_filepath(fullname) is not None
|
|
||||||
|
|
||||||
@@ -68,7 +75,7 @@ class GoogleProtobufModuleImporter:
|
|
||||||
raise ImportError(fullname)
|
|
||||||
|
|
||||||
filepath = self._fullname_to_filepath(fullname)
|
|
||||||
- return imp.load_source(fullname, filepath)
|
|
||||||
+ return load_source(fullname, filepath)
|
|
||||||
|
|
||||||
class BinaryProtoGenerator:
|
|
||||||
|
|
||||||
diff -up chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py.me chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py
|
|
||||||
--- chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py.me 2023-07-22 15:17:19.114258801 +0200
|
|
||||||
+++ chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py 2023-07-22 15:17:43.368200491 +0200
|
|
||||||
@@ -32,7 +32,7 @@ def FilterLine(filename, line, output):
|
|
||||||
return
|
|
||||||
|
|
||||||
if line.startswith("goog.provide"):
|
|
||||||
- match = re.match("goog.provide\('([^']+)'\);", line)
|
|
||||||
+ match = re.match(r"goog.provide\('([^']+)'\);", line)
|
|
||||||
if not match:
|
|
||||||
print("Invalid goog.provide line in %s:\n%s" % (filename, line))
|
|
||||||
sys.exit(1)
|
|
||||||
diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py
|
|
||||||
--- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me 2023-07-22 15:12:41.850895179 +0200
|
|
||||||
+++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py 2023-07-22 15:12:55.844871207 +0200
|
|
||||||
@@ -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-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py
|
|
||||||
--- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me 2023-07-22 15:14:06.923717910 +0200
|
|
||||||
+++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py 2023-07-22 15:18:03.704150614 +0200
|
|
||||||
@@ -4,4 +4,4 @@
|
|
||||||
|
|
||||||
|
|
||||||
def EscapeJSIfNeeded(js):
|
|
||||||
- return js.replace('</script>', '<\/script>')
|
|
||||||
+ return js.replace(r'</script>', r'<\/script>')
|
|
||||||
diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py
|
|
||||||
--- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me 2023-07-22 15:14:30.105662532 +0200
|
|
||||||
+++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py 2023-07-22 15:14:57.977595950 +0200
|
|
||||||
@@ -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-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py
|
|
||||||
--- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me 2023-07-22 15:13:12.316842990 +0200
|
|
||||||
+++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py 2023-07-22 15:13:49.684759091 +0200
|
|
||||||
@@ -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-115.0.5790.102/third_party/dawn/generator/generator_lib.py.me chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py
|
|
||||||
--- chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py.me 2023-07-22 15:11:56.826972306 +0200
|
|
||||||
+++ chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py 2023-07-22 15:12:37.550902545 +0200
|
|
||||||
@@ -119,8 +119,8 @@ class _PreprocessingLoader(jinja2.BaseLo
|
|
||||||
source = self.preprocess(f.read())
|
|
||||||
return source, path, lambda: mtime == os.path.getmtime(path)
|
|
||||||
|
|
||||||
- blockstart = re.compile('{%-?\s*(if|elif|else|for|block|macro)[^}]*%}')
|
|
||||||
- blockend = re.compile('{%-?\s*(end(if|for|block|macro)|elif|else)[^}]*%}')
|
|
||||||
+ blockstart = re.compile(r'{%-?\s*(if|elif|else|for|block|macro)[^}]*%}')
|
|
||||||
+ blockend = re.compile(r'{%-?\s*(end(if|for|block|macro)|elif|else)[^}]*%}')
|
|
||||||
|
|
||||||
def preprocess(self, source):
|
|
||||||
lines = source.split('\n')
|
|
@ -1,96 +0,0 @@
|
|||||||
diff -up chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc
|
|
||||||
--- chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding 2023-06-07 21:48:37.000000000 +0200
|
|
||||||
+++ chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc 2023-06-17 16:53:20.216628557 +0200
|
|
||||||
@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui
|
|
||||||
void CdmPromiseAdapter::Clear(ClearReason reason) {
|
|
||||||
// Reject all outstanding promises.
|
|
||||||
DCHECK(thread_checker_.CalledOnValidThread());
|
|
||||||
- for (auto& [promise_id, promise] : promises_) {
|
|
||||||
+ for (auto& [p_i, p_e] : promises_) {
|
|
||||||
+ auto& promise_id = p_i;
|
|
||||||
+ auto& promise = p_e;
|
|
||||||
TRACE_EVENT_NESTABLE_ASYNC_END1(
|
|
||||||
"media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id),
|
|
||||||
"status", "cleared");
|
|
||||||
diff -up chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc
|
|
||||||
--- chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.workaround_clang_bug-structured_binding 2023-06-07 21:48:41.000000000 +0200
|
|
||||||
+++ chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc 2023-06-17 18:47:06.001403966 +0200
|
|
||||||
@@ -655,8 +658,10 @@ NGGridSizingTree NGGridLayoutAlgorithm::
|
|
||||||
NGGridSizingTree sizing_tree;
|
|
||||||
|
|
||||||
if (const auto* layout_subtree = ConstraintSpace().GridLayoutSubtree()) {
|
|
||||||
- auto& [grid_items, layout_data, subtree_size] =
|
|
||||||
- sizing_tree.CreateSizingData();
|
|
||||||
+ auto& [g_i, l_d, s_s] = sizing_tree.CreateSizingData();
|
|
||||||
+ auto& grid_items = g_i;
|
|
||||||
+ auto& layout_data = l_d;
|
|
||||||
+ auto& subtree_size = s_s;
|
|
||||||
|
|
||||||
const auto& node = Node();
|
|
||||||
grid_items =
|
|
||||||
@@ -1798,8 +1803,10 @@ void NGGridLayoutAlgorithm::CompleteTrac
|
|
||||||
bool* opt_needs_additional_pass) const {
|
|
||||||
DCHECK(sizing_subtree);
|
|
||||||
|
|
||||||
- auto& [grid_items, layout_data, subtree_size] =
|
|
||||||
- sizing_subtree.SubtreeRootData();
|
|
||||||
+ auto& [g_i, l_d, s_s] = sizing_subtree.SubtreeRootData();
|
|
||||||
+ auto& grid_items = g_i;
|
|
||||||
+ auto& layout_data = l_d;
|
|
||||||
+ auto& subtree_size = s_s;
|
|
||||||
|
|
||||||
const bool is_for_columns = track_direction == kForColumns;
|
|
||||||
const bool has_non_definite_track =
|
|
||||||
@@ -1924,8 +1931,10 @@ template <typename CallbackFunc>
|
|
||||||
void NGGridLayoutAlgorithm::ForEachSubgrid(
|
|
||||||
const NGGridSizingSubtree& sizing_subtree,
|
|
||||||
const CallbackFunc& callback_func) const {
|
|
||||||
- auto& [grid_items, layout_data, subtree_size] =
|
|
||||||
- sizing_subtree.SubtreeRootData();
|
|
||||||
+ auto& [g_i, l_d, s_s] = sizing_subtree.SubtreeRootData();
|
|
||||||
+ auto& grid_items = g_i;
|
|
||||||
+ auto& layout_data = l_d;
|
|
||||||
+ auto& subtree_size = s_s;
|
|
||||||
|
|
||||||
// If we know this subtree doesn't have nested subgrids we can exit early
|
|
||||||
// instead of iterating over every grid item looking for them.
|
|
||||||
diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc
|
|
||||||
--- chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me 2023-06-19 08:04:02.287072722 +0200
|
|
||||||
+++ chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc 2023-06-19 08:18:24.576814950 +0200
|
|
||||||
@@ -1393,7 +1393,8 @@ void ServiceWorkerContextWrapper::MaybeP
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- auto [document_url, key, callback] = std::move(*request);
|
|
||||||
+ auto [d_u, key, callback] = std::move(*request);
|
|
||||||
+ auto document_url = d_u;
|
|
||||||
|
|
||||||
DCHECK(document_url.is_valid());
|
|
||||||
TRACE_EVENT1("ServiceWorker",
|
|
||||||
diff -up chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.me chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc
|
|
||||||
--- chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.me 2023-09-15 13:03:00.787257048 +0200
|
|
||||||
+++ chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc 2023-09-15 13:15:05.502706522 +0200
|
|
||||||
@@ -3437,7 +3437,10 @@ void NGGridLayoutAlgorithm::PlaceGridIte
|
|
||||||
DCHECK(out_row_break_between);
|
|
||||||
|
|
||||||
const auto& container_space = ConstraintSpace();
|
|
||||||
- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
|
|
||||||
+ const auto& [g_i, l_d, t_s] = sizing_tree.TreeRootData();
|
|
||||||
+ const auto& grid_items = g_i;
|
|
||||||
+ const auto& layout_data = l_d;
|
|
||||||
+ const auto& tree_size = t_s;
|
|
||||||
|
|
||||||
const auto* cached_layout_subtree = container_space.GridLayoutSubtree();
|
|
||||||
const auto container_writing_direction =
|
|
||||||
@@ -3601,7 +3604,10 @@ void NGGridLayoutAlgorithm::PlaceGridIte
|
|
||||||
|
|
||||||
// TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true.
|
|
||||||
const auto& constraint_space = ConstraintSpace();
|
|
||||||
- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
|
|
||||||
+ const auto& [g_i, l_d, t_s] = sizing_tree.TreeRootData();
|
|
||||||
+ const auto& grid_items = g_i;
|
|
||||||
+ const auto& layout_data = l_d;
|
|
||||||
+ const auto& tree_size =t_s;
|
|
||||||
|
|
||||||
const auto* cached_layout_subtree = constraint_space.GridLayoutSubtree();
|
|
||||||
const auto container_writing_direction =
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h.me chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h
|
|
||||||
--- chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h.me 2023-10-31 21:05:05.548565241 +0100
|
|
||||||
+++ chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h 2023-10-31 21:20:53.945532094 +0100
|
|
||||||
@@ -93,7 +93,7 @@ class MiracleParameter {
|
|
||||||
template <>
|
|
||||||
class MiracleParameter<std::string> : public MiracleParameterBase<std::string> {
|
|
||||||
public:
|
|
||||||
- constexpr MiracleParameter(const base::Feature* feature,
|
|
||||||
+ MiracleParameter(const base::Feature* feature,
|
|
||||||
const char* param_name,
|
|
||||||
std::string default_value)
|
|
||||||
: MiracleParameterBase(feature, param_name, std::move(default_value)) {}
|
|
@ -1,19 +0,0 @@
|
|||||||
diff -up chromium-119.0.6045.105/chrome/browser/media/router/media_router_feature.cc.disable-GlobalMediaControlsCastStartStop chromium-119.0.6045.105/chrome/browser/media/router/media_router_feature.cc
|
|
||||||
--- chromium-119.0.6045.105/chrome/browser/media/router/media_router_feature.cc.disable-GlobalMediaControlsCastStartStop 2023-11-06 12:57:04.096696491 +0100
|
|
||||||
+++ chromium-119.0.6045.105/chrome/browser/media/router/media_router_feature.cc 2023-11-06 13:00:30.480926343 +0100
|
|
||||||
@@ -68,15 +68,9 @@ BASE_FEATURE(kCastMirroringPlayoutDelay,
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
const base::FeatureParam<int> kCastMirroringPlayoutDelayMs{
|
|
||||||
&kCastMirroringPlayoutDelay, "cast_mirroring_playout_delay_ms", -1};
|
|
||||||
-#if BUILDFLAG(IS_CHROMEOS)
|
|
||||||
BASE_FEATURE(kGlobalMediaControlsCastStartStop,
|
|
||||||
"GlobalMediaControlsCastStartStop",
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
-#else
|
|
||||||
-BASE_FEATURE(kGlobalMediaControlsCastStartStop,
|
|
||||||
- "GlobalMediaControlsCastStartStop",
|
|
||||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
-#endif // BUILDFLAG(IS_CHROMEOS)
|
|
||||||
#endif // !BUILDFLAG(IS_ANDROID)
|
|
||||||
|
|
||||||
namespace {
|
|
@ -1,50 +0,0 @@
|
|||||||
commit fc09363b2278893790d131c72a4ed96ec9837624
|
|
||||||
Author: Elly <ellyjones@chromium.org>
|
|
||||||
Date: Thu Sep 21 22:09:59 2023 +0000
|
|
||||||
|
|
||||||
a11y: don't redefine ATSPI version macros
|
|
||||||
|
|
||||||
As of ATSPI 2.49.90, the library itself defines these, and if we
|
|
||||||
redefine them on the compiler command line, we get a build warning.
|
|
||||||
See: https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/129
|
|
||||||
|
|
||||||
Bug: None
|
|
||||||
Change-Id: I5cc655bd32c90d7af52c9dca60724f334c4a2a65
|
|
||||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4883576
|
|
||||||
Auto-Submit: Elly FJ <ellyjones@chromium.org>
|
|
||||||
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
|
|
||||||
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
|
|
||||||
Cr-Commit-Position: refs/heads/main@{#1199870}
|
|
||||||
|
|
||||||
diff --git a/build/config/linux/atspi2/BUILD.gn b/build/config/linux/atspi2/BUILD.gn
|
|
||||||
index 51b6d33aab3c2..d1629205c82a3 100644
|
|
||||||
--- a/build/config/linux/atspi2/BUILD.gn
|
|
||||||
+++ b/build/config/linux/atspi2/BUILD.gn
|
|
||||||
@@ -17,13 +17,19 @@ if (use_atk) {
|
|
||||||
"--version-as-components",
|
|
||||||
],
|
|
||||||
"value")
|
|
||||||
- atspi_major_version = atspi_version[0]
|
|
||||||
- atspi_minor_version = atspi_version[1]
|
|
||||||
- atspi_micro_version = atspi_version[2]
|
|
||||||
- defines = [
|
|
||||||
- "ATSPI_MAJOR_VERSION=$atspi_major_version",
|
|
||||||
- "ATSPI_MINOR_VERSION=$atspi_minor_version",
|
|
||||||
- "ATSPI_MICRO_VERSION=$atspi_micro_version",
|
|
||||||
- ]
|
|
||||||
+ major = atspi_version[0]
|
|
||||||
+ minor = atspi_version[1]
|
|
||||||
+ micro = atspi_version[2]
|
|
||||||
+
|
|
||||||
+ # ATSPI 2.49.90 now defines these for us and it's an error for us to
|
|
||||||
+ # redefine them on the compiler command line.
|
|
||||||
+ # See ATSPI 927344a34cd5bf81fc64da4968241735ecb4f03b
|
|
||||||
+ if (minor < 49 || (minor == 49 && micro < 90)) {
|
|
||||||
+ defines = [
|
|
||||||
+ "ATSPI_MAJOR_VERSION=$major",
|
|
||||||
+ "ATSPI_MINOR_VERSION=$minor",
|
|
||||||
+ "ATSPI_MICRO_VERSION=$micro",
|
|
||||||
+ ]
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,189 +0,0 @@
|
|||||||
commit 87fca7f1759e800bd72b5ab6511eea17d6400a76
|
|
||||||
Author: Pilar Molina Lopez <pmolinalopez@chromium.org>
|
|
||||||
Date: Tue Oct 24 19:57:55 2023 +0000
|
|
||||||
|
|
||||||
video: hide UseChromeOSDirectVideoDecoder flag on VA-API devices
|
|
||||||
|
|
||||||
We are seeing crashes causes by this CHECK statement:
|
|
||||||
https://source.chromium.org/chromium/chromium/src/+/main:content/public/browser/gpu_utils.cc;l=151;drc=0e777ba9b6c34611705d5b145c92bcd09539011c
|
|
||||||
It's triggered when the user manually disables the UseChromeOSDirectVideoDecoder
|
|
||||||
flag on VA-API devices (Intel and AMD). This flag is supported only on
|
|
||||||
non-Intel and non-AMD devices. This CL adds this information to the flag
|
|
||||||
description and hides the flag in case VA-API is used.
|
|
||||||
|
|
||||||
Bug: 1469285
|
|
||||||
Test: manual test on volteer
|
|
||||||
Change-Id: I153b9ccb3815498c91ce5eee966834060749e247
|
|
||||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4960919
|
|
||||||
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
|
|
||||||
Reviewed-by: Andres Calderon Jaramillo <andrescj@chromium.org>
|
|
||||||
Reviewed-by: Avi Drissman <avi@chromium.org>
|
|
||||||
Commit-Queue: Pilar Molina Lopez <pmolinalopez@chromium.org>
|
|
||||||
Cr-Commit-Position: refs/heads/main@{#1214411}
|
|
||||||
|
|
||||||
diff -up chromium-119.0.6045.105/chrome/browser/about_flags.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices chromium-119.0.6045.105/chrome/browser/about_flags.cc
|
|
||||||
--- chromium-119.0.6045.105/chrome/browser/about_flags.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices 2023-11-01 19:10:09.000000000 +0100
|
|
||||||
+++ chromium-119.0.6045.105/chrome/browser/about_flags.cc 2023-11-06 17:12:08.057984291 +0100
|
|
||||||
@@ -7771,11 +7771,13 @@ const FeatureEntry kFeatureEntries[] = {
|
|
||||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
|
||||||
|
|
||||||
#if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
|
|
||||||
+#if !BUILDFLAG(USE_VAAPI)
|
|
||||||
{"chromeos-direct-video-decoder",
|
|
||||||
flag_descriptions::kChromeOSDirectVideoDecoderName,
|
|
||||||
flag_descriptions::kChromeOSDirectVideoDecoderDescription,
|
|
||||||
kOsCrOS | kOsLacros,
|
|
||||||
FEATURE_VALUE_TYPE(media::kUseChromeOSDirectVideoDecoder)},
|
|
||||||
+#endif // !BUILDFLAG(USE_VAAPI)
|
|
||||||
|
|
||||||
{"enable-vbr-encode-acceleration",
|
|
||||||
flag_descriptions::kChromeOSHWVBREncodingName,
|
|
||||||
diff -up chromium-119.0.6045.105/chrome/browser/DEPS.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices chromium-119.0.6045.105/chrome/browser/DEPS
|
|
||||||
--- chromium-119.0.6045.105/chrome/browser/DEPS.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices 2023-11-01 19:10:09.000000000 +0100
|
|
||||||
+++ chromium-119.0.6045.105/chrome/browser/DEPS 2023-11-06 17:12:08.055984248 +0100
|
|
||||||
@@ -415,6 +415,7 @@ include_rules = [
|
|
||||||
"+media/base", # For media switches
|
|
||||||
"+media/capabilities", # For InMemoryVideoDecodeStatsDB
|
|
||||||
"+media/cdm",
|
|
||||||
+ "+media/gpu/buildflags.h",
|
|
||||||
"+media/remoting/device_capability_checker.h",
|
|
||||||
"+media/capture",
|
|
||||||
"+media/midi", # For midi switches
|
|
||||||
diff -up chromium-119.0.6045.105/chrome/browser/flag_descriptions.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices chromium-119.0.6045.105/chrome/browser/flag_descriptions.cc
|
|
||||||
--- chromium-119.0.6045.105/chrome/browser/flag_descriptions.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices 2023-11-01 19:10:12.000000000 +0100
|
|
||||||
+++ chromium-119.0.6045.105/chrome/browser/flag_descriptions.cc 2023-11-06 17:12:08.059984335 +0100
|
|
||||||
@@ -7,6 +7,7 @@
|
|
||||||
#include "build/build_config.h"
|
|
||||||
#include "build/chromeos_buildflags.h"
|
|
||||||
#include "components/supervised_user/core/common/buildflags.h"
|
|
||||||
+#include "media/gpu/buildflags.h"
|
|
||||||
#include "pdf/buildflags.h"
|
|
||||||
|
|
||||||
// Keep in identical order as the header file, see the comment at the top
|
|
||||||
@@ -7424,6 +7425,7 @@ const char kVaapiVP9kSVCEncoderDescripti
|
|
||||||
#endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS)
|
|
||||||
|
|
||||||
#if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
|
|
||||||
+#if !BUILDFLAG(USE_VAAPI)
|
|
||||||
const char kChromeOSDirectVideoDecoderName[] = "ChromeOS Direct Video Decoder";
|
|
||||||
const char kChromeOSDirectVideoDecoderDescription[] =
|
|
||||||
"Enables the hardware-accelerated ChromeOS direct media::VideoDecoder "
|
|
||||||
@@ -7431,7 +7433,8 @@ const char kChromeOSDirectVideoDecoderDe
|
|
||||||
"--platform-disallows-chromeos-direct-video-decoder command line switch "
|
|
||||||
"which is added for platforms where said direct VideoDecoder does not work "
|
|
||||||
"or is not well tested (see the disable_cros_video_decoder USE flag in "
|
|
||||||
- "ChromeOS)";
|
|
||||||
+ "ChromeOS). This flag is supported only on non-Intel and non-AMD devices.";
|
|
||||||
+#endif // !BUILDFLAG(USE_VAAPI)
|
|
||||||
const char kChromeOSHWVBREncodingName[] =
|
|
||||||
"ChromeOS Hardware Variable Bitrate Encoding";
|
|
||||||
const char kChromeOSHWVBREncodingDescription[] =
|
|
||||||
diff -up chromium-119.0.6045.105/content/public/browser/gpu_utils.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices chromium-119.0.6045.105/content/public/browser/gpu_utils.cc
|
|
||||||
--- chromium-119.0.6045.105/content/public/browser/gpu_utils.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices 2023-11-01 19:10:26.000000000 +0100
|
|
||||||
+++ chromium-119.0.6045.105/content/public/browser/gpu_utils.cc 2023-11-06 17:12:08.059984335 +0100
|
|
||||||
@@ -133,20 +133,26 @@ const gpu::GpuPreferences GetGpuPreferen
|
|
||||||
#if BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
|
|
||||||
// The direct VideoDecoder is disallowed on some particular SoC/platforms.
|
|
||||||
const bool should_use_direct_video_decoder =
|
|
||||||
+#if BUILDFLAG(USE_VAAPI)
|
|
||||||
+ true;
|
|
||||||
+#else
|
|
||||||
!command_line->HasSwitch(
|
|
||||||
switches::kPlatformDisallowsChromeOSDirectVideoDecoder) &&
|
|
||||||
base::FeatureList::IsEnabled(media::kUseChromeOSDirectVideoDecoder);
|
|
||||||
+#endif // BUILDFLAG(USE_VAAPI)
|
|
||||||
+
|
|
||||||
+ gpu_preferences.enable_chromeos_direct_video_decoder =
|
|
||||||
+#if BUILDFLAG(USE_VAAPI)
|
|
||||||
+ should_use_direct_video_decoder;
|
|
||||||
+#else
|
|
||||||
+ // For testing purposes, the following flag allows using the "other" video
|
|
||||||
+ // decoder implementation.
|
|
||||||
+ base::FeatureList::IsEnabled(
|
|
||||||
+ media::kUseAlternateVideoDecoderImplementation)
|
|
||||||
+ ? !should_use_direct_video_decoder
|
|
||||||
+ : should_use_direct_video_decoder;
|
|
||||||
+#endif // BUILDFLAG(USE_VAAPI)
|
|
||||||
|
|
||||||
- // For testing purposes, the following flag allows using the "other" video
|
|
||||||
- // decoder implementation.
|
|
||||||
- if (base::FeatureList::IsEnabled(
|
|
||||||
- media::kUseAlternateVideoDecoderImplementation)) {
|
|
||||||
- gpu_preferences.enable_chromeos_direct_video_decoder =
|
|
||||||
- !should_use_direct_video_decoder;
|
|
||||||
- } else {
|
|
||||||
- gpu_preferences.enable_chromeos_direct_video_decoder =
|
|
||||||
- should_use_direct_video_decoder;
|
|
||||||
- }
|
|
||||||
#if BUILDFLAG(USE_VAAPI)
|
|
||||||
CHECK(gpu_preferences.enable_chromeos_direct_video_decoder);
|
|
||||||
#endif // BUILDFLAG(USE_VAAPI)
|
|
||||||
diff -up chromium-119.0.6045.105/media/base/media_switches.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices chromium-119.0.6045.105/media/base/media_switches.cc
|
|
||||||
--- chromium-119.0.6045.105/media/base/media_switches.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices 2023-11-01 19:10:31.000000000 +0100
|
|
||||||
+++ chromium-119.0.6045.105/media/base/media_switches.cc 2023-11-06 17:12:08.060984356 +0100
|
|
||||||
@@ -1202,6 +1202,7 @@ BASE_FEATURE(kChromeOSHWVBREncoding,
|
|
||||||
"ChromeOSHWVBREncoding",
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
|
|
||||||
+#if !BUILDFLAG(USE_VAAPI)
|
|
||||||
// Enable the hardware-accelerated direct video decoder instead of the one
|
|
||||||
// needing the VdaVideoDecoder adapter. This flag is used mainly as a
|
|
||||||
// chrome:flag for developers debugging issues as well as to be able to
|
|
||||||
@@ -1210,6 +1211,7 @@ BASE_FEATURE(kChromeOSHWVBREncoding,
|
|
||||||
BASE_FEATURE(kUseChromeOSDirectVideoDecoder,
|
|
||||||
"UseChromeOSDirectVideoDecoder",
|
|
||||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
+#endif // !BUILDFLAG(USE_VAAPI)
|
|
||||||
|
|
||||||
// Limit the number of concurrent hardware decoder instances on ChromeOS.
|
|
||||||
BASE_FEATURE(kLimitConcurrentDecoderInstances,
|
|
||||||
@@ -1238,7 +1240,7 @@ BASE_FEATURE(kPreferSoftwareMT21,
|
|
||||||
"PreferSoftwareMT21",
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
#endif // defined(ARCH_CPU_ARM_FAMILY)
|
|
||||||
-#if BUILDFLAG(IS_CHROMEOS)
|
|
||||||
+#if BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
|
|
||||||
// ChromeOS has one of two VideoDecoder implementations active based on
|
|
||||||
// SoC/board specific configurations that are sent via command line flags. This
|
|
||||||
// switch allows using the non default implementation for testing.
|
|
||||||
@@ -1246,7 +1248,7 @@ BASE_FEATURE(kPreferSoftwareMT21,
|
|
||||||
BASE_FEATURE(kUseAlternateVideoDecoderImplementation,
|
|
||||||
"UseAlternateVideoDecoderImplementation",
|
|
||||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
-#endif // BUILDFLAG(IS_CHROMEOS)
|
|
||||||
+#endif // BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
|
|
||||||
#endif // BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
|
|
||||||
|
|
||||||
#if BUILDFLAG(IS_WIN)
|
|
||||||
diff -up chromium-119.0.6045.105/media/base/media_switches.h.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices chromium-119.0.6045.105/media/base/media_switches.h
|
|
||||||
--- chromium-119.0.6045.105/media/base/media_switches.h.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices 2023-11-01 19:10:31.000000000 +0100
|
|
||||||
+++ chromium-119.0.6045.105/media/base/media_switches.h 2023-11-06 17:12:08.060984356 +0100
|
|
||||||
@@ -14,6 +14,7 @@
|
|
||||||
#include "build/build_config.h"
|
|
||||||
#include "build/chromeos_buildflags.h"
|
|
||||||
#include "media/base/media_export.h"
|
|
||||||
+#include "media/gpu/buildflags.h"
|
|
||||||
#include "media/media_buildflags.h"
|
|
||||||
|
|
||||||
namespace base {
|
|
||||||
@@ -382,16 +383,18 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kBuilt
|
|
||||||
#if BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
|
|
||||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kChromeOSHWAV1Decoder);
|
|
||||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kChromeOSHWVBREncoding);
|
|
||||||
+#if !BUILDFLAG(USE_VAAPI)
|
|
||||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseChromeOSDirectVideoDecoder);
|
|
||||||
+#endif // !BUILDFLAG(USE_VAAPI)
|
|
||||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kLimitConcurrentDecoderInstances);
|
|
||||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kUSeSequencedTaskRunnerForVEA);
|
|
||||||
#if defined(ARCH_CPU_ARM_FAMILY)
|
|
||||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreferGLImageProcessor);
|
|
||||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreferSoftwareMT21);
|
|
||||||
#endif // defined(ARCH_CPU_ARM_FAMILY)
|
|
||||||
-#if BUILDFLAG(IS_CHROMEOS)
|
|
||||||
+#if BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
|
|
||||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseAlternateVideoDecoderImplementation);
|
|
||||||
-#endif // BUILDFLAG(IS_CHROMEOS)
|
|
||||||
+#endif // BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI)
|
|
||||||
#endif // BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION)
|
|
||||||
|
|
||||||
#if BUILDFLAG(IS_WIN)
|
|
@ -1,21 +0,0 @@
|
|||||||
diff -up chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h.me chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h
|
|
||||||
--- chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h.me 2023-10-27 20:07:16.421230815 +0200
|
|
||||||
+++ chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2023-10-27 20:07:36.883600085 +0200
|
|
||||||
@@ -52,7 +52,7 @@ class FragmentDataIterator
|
|
||||||
public:
|
|
||||||
explicit FragmentDataIterator(const LayoutObject& object)
|
|
||||||
: FragmentDataIteratorBase(&object.FirstFragment()) {}
|
|
||||||
- explicit FragmentDataIterator(nullptr_t)
|
|
||||||
+ explicit FragmentDataIterator(std::nullptr_t)
|
|
||||||
: FragmentDataIteratorBase(nullptr) {}
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ class MutableFragmentDataIterator
|
|
||||||
explicit MutableFragmentDataIterator(const LayoutObject& object)
|
|
||||||
: FragmentDataIteratorBase(
|
|
||||||
&object.GetMutableForPainting().FirstFragment()) {}
|
|
||||||
- explicit MutableFragmentDataIterator(nullptr_t)
|
|
||||||
+ explicit MutableFragmentDataIterator(std::nullptr_t)
|
|
||||||
: FragmentDataIteratorBase(nullptr) {}
|
|
||||||
};
|
|
||||||
|
|
@ -1,164 +0,0 @@
|
|||||||
commit bdcc23e0a5e7e220660d3f54c97262f9a4c31606
|
|
||||||
Author: Nick Diego Yamane <nickdiego@igalia.com>
|
|
||||||
Date: Thu Nov 2 17:26:25 2023 +0000
|
|
||||||
|
|
||||||
gbm: nvidia: use separate bo to verify modifiers
|
|
||||||
|
|
||||||
Buggy Nvidia drivers fail to return FDs for planes of a BO which had
|
|
||||||
already an imported BO destroyed before. This is a workaround for that
|
|
||||||
issue, which consists of creating/destroying a separate 1x1 BO for
|
|
||||||
validating the modifiers before actually creating the final requested
|
|
||||||
BO, which for now is limited to IS_LINUX builds.
|
|
||||||
|
|
||||||
The Nvidia driver bug is being tracked under internal bug 4315529. There
|
|
||||||
seems to be other issues when running under Wayland with Nvidia, which
|
|
||||||
will be tracked and addressed in separate patches.
|
|
||||||
|
|
||||||
R=dcastagna, msisov@igalia.com
|
|
||||||
|
|
||||||
with ozone/wayland backend and verify GPU acceleration is not broken.
|
|
||||||
|
|
||||||
Test: In a single Nvidia GPU setup, with proprietary driver, run Chrome
|
|
||||||
Bug: 1273758, 1478684, 1463851
|
|
||||||
Change-Id: I9f322bcf40b460bcd4ead02f05dd2e9a8d271cea
|
|
||||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4989782
|
|
||||||
Reviewed-by: Maksim Sisov <msisov@igalia.com>
|
|
||||||
Commit-Queue: Nick Yamane <nickdiego@igalia.com>
|
|
||||||
Cr-Commit-Position: refs/heads/main@{#1218924}
|
|
||||||
|
|
||||||
diff --git a/ui/gfx/linux/gbm_wrapper.cc b/ui/gfx/linux/gbm_wrapper.cc
|
|
||||||
index bf90b76605f68..14918c19c0ab0 100644
|
|
||||||
--- a/ui/gfx/linux/gbm_wrapper.cc
|
|
||||||
+++ b/ui/gfx/linux/gbm_wrapper.cc
|
|
||||||
@@ -11,6 +11,7 @@
|
|
||||||
#include "base/logging.h"
|
|
||||||
#include "base/memory/raw_ptr.h"
|
|
||||||
#include "base/memory/raw_ptr_exclusion.h"
|
|
||||||
+#include "base/numerics/safe_conversions.h"
|
|
||||||
#include "base/posix/eintr_wrapper.h"
|
|
||||||
#include "skia/ext/legacy_display_globals.h"
|
|
||||||
#include "third_party/skia/include/core/SkSurface.h"
|
|
||||||
@@ -71,6 +72,7 @@ base::ScopedFD GetPlaneFdForBo(gbm_bo* bo, size_t plane) {
|
|
||||||
int ret;
|
|
||||||
// Use DRM_RDWR to allow the fd to be mappable in another process.
|
|
||||||
ret = drmPrimeHandleToFD(dev_fd, plane_handle, DRM_CLOEXEC | DRM_RDWR, &fd);
|
|
||||||
+ PLOG_IF(ERROR, ret != 0) << "Failed to get fd for plane.";
|
|
||||||
|
|
||||||
// Older DRM implementations blocked DRM_RDWR, but gave a read/write mapping
|
|
||||||
// anyways
|
|
||||||
@@ -301,58 +303,82 @@ class Device final : public ui::GbmDevice {
|
|
||||||
|
|
||||||
std::unique_ptr<ui::GbmBuffer> CreateBufferWithModifiers(
|
|
||||||
uint32_t format,
|
|
||||||
- const gfx::Size& size,
|
|
||||||
+ const gfx::Size& requested_size,
|
|
||||||
uint32_t flags,
|
|
||||||
const std::vector<uint64_t>& modifiers) override {
|
|
||||||
- if (modifiers.empty())
|
|
||||||
- return CreateBuffer(format, size, flags);
|
|
||||||
-
|
|
||||||
- std::vector<uint64_t> filtered_modifiers =
|
|
||||||
- GetFilteredModifiers(format, flags, modifiers);
|
|
||||||
- struct gbm_bo* bo = nullptr;
|
|
||||||
- while (filtered_modifiers.size() > 0) {
|
|
||||||
- bo = gbm_bo_create_with_modifiers(device_, size.width(), size.height(),
|
|
||||||
- format, filtered_modifiers.data(),
|
|
||||||
- filtered_modifiers.size());
|
|
||||||
- if (!bo) {
|
|
||||||
+ if (modifiers.empty()) {
|
|
||||||
+ return CreateBuffer(format, requested_size, flags);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ // Buggy drivers prevent us from getting plane FDs from a BO which had its
|
|
||||||
+ // previously imported BO destroyed. E.g: Nvidia. Thus, on Linux Desktop, we
|
|
||||||
+ // do the create/import modifiers validation loop below using a separate set
|
|
||||||
+ // of 1x1 BOs which are destroyed before creating the final BO creation used
|
|
||||||
+ // to instantiate the returned GbmBuffer.
|
|
||||||
+ gfx::Size size =
|
|
||||||
+#if BUILDFLAG(IS_LINUX)
|
|
||||||
+ gfx::Size(1, 1);
|
|
||||||
+#else
|
|
||||||
+ requested_size;
|
|
||||||
+#endif
|
|
||||||
+ auto filtered_modifiers = GetFilteredModifiers(format, flags, modifiers);
|
|
||||||
+ struct gbm_bo* created_bo = nullptr;
|
|
||||||
+ bool valid_modifiers = false;
|
|
||||||
+
|
|
||||||
+ while (!valid_modifiers && !filtered_modifiers.empty()) {
|
|
||||||
+ created_bo = gbm_bo_create_with_modifiers(
|
|
||||||
+ device_, size.width(), size.height(), format,
|
|
||||||
+ filtered_modifiers.data(), filtered_modifiers.size());
|
|
||||||
+ if (!created_bo) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
- struct gbm_import_fd_modifier_data fd_data;
|
|
||||||
- fd_data.width = size.width();
|
|
||||||
- fd_data.height = size.height();
|
|
||||||
- fd_data.format = format;
|
|
||||||
- fd_data.num_fds = gbm_bo_get_plane_count(bo);
|
|
||||||
- fd_data.modifier = gbm_bo_get_modifier(bo);
|
|
||||||
-
|
|
||||||
- // Store fds in the vector of base::ScopedFDs. Will be released
|
|
||||||
- // automatically.
|
|
||||||
+ const int planes_count = gbm_bo_get_plane_count(created_bo);
|
|
||||||
+ struct gbm_import_fd_modifier_data fd_data = {
|
|
||||||
+ .width = base::checked_cast<uint32_t>(size.width()),
|
|
||||||
+ .height = base::checked_cast<uint32_t>(size.height()),
|
|
||||||
+ .format = format,
|
|
||||||
+ .num_fds = base::checked_cast<uint32_t>(planes_count),
|
|
||||||
+ .modifier = gbm_bo_get_modifier(created_bo)};
|
|
||||||
+ // Store fds in a base::ScopedFDs vector. Will be released automatically.
|
|
||||||
std::vector<base::ScopedFD> fds;
|
|
||||||
for (size_t i = 0; i < static_cast<size_t>(fd_data.num_fds); ++i) {
|
|
||||||
- fds.emplace_back(GetPlaneFdForBo(bo, i));
|
|
||||||
+ fds.emplace_back(GetPlaneFdForBo(created_bo, i));
|
|
||||||
fd_data.fds[i] = fds.back().get();
|
|
||||||
- fd_data.strides[i] = gbm_bo_get_stride_for_plane(bo, i);
|
|
||||||
- fd_data.offsets[i] = gbm_bo_get_offset(bo, i);
|
|
||||||
+ fd_data.strides[i] = gbm_bo_get_stride_for_plane(created_bo, i);
|
|
||||||
+ fd_data.offsets[i] = gbm_bo_get_offset(created_bo, i);
|
|
||||||
}
|
|
||||||
|
|
||||||
- struct gbm_bo* bo_import =
|
|
||||||
+ struct gbm_bo* imported_bo =
|
|
||||||
gbm_bo_import(device_, GBM_BO_IMPORT_FD_MODIFIER, &fd_data, flags);
|
|
||||||
- if (bo_import) {
|
|
||||||
- gbm_bo_destroy(bo_import);
|
|
||||||
- break;
|
|
||||||
+
|
|
||||||
+ if (imported_bo) {
|
|
||||||
+ valid_modifiers = true;
|
|
||||||
+ gbm_bo_destroy(imported_bo);
|
|
||||||
} else {
|
|
||||||
- gbm_bo_destroy(bo);
|
|
||||||
- bo = nullptr;
|
|
||||||
AddModifierToBlocklist(format, flags, fd_data.modifier);
|
|
||||||
filtered_modifiers =
|
|
||||||
GetFilteredModifiers(format, flags, filtered_modifiers);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ if (!valid_modifiers || size != requested_size) {
|
|
||||||
+ gbm_bo_destroy(created_bo);
|
|
||||||
+ created_bo = nullptr;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
- if (!bo) {
|
|
||||||
- return nullptr;
|
|
||||||
+
|
|
||||||
+ // If modifiers were successfully verified though `created_bo` is null here,
|
|
||||||
+ // it it means that the buffer created for verification could not be reused,
|
|
||||||
+ // ie: different size, so create it now with the `requested_size`.
|
|
||||||
+ if (valid_modifiers && !created_bo) {
|
|
||||||
+ created_bo = gbm_bo_create_with_modifiers(
|
|
||||||
+ device_, requested_size.width(), requested_size.height(), format,
|
|
||||||
+ filtered_modifiers.data(), filtered_modifiers.size());
|
|
||||||
+ PLOG_IF(ERROR, !created_bo) << "Failed to create BO with modifiers.";
|
|
||||||
}
|
|
||||||
|
|
||||||
- return CreateBufferForBO(bo, format, size, flags);
|
|
||||||
+ return created_bo ? CreateBufferForBO(created_bo, format, size, flags)
|
|
||||||
+ : nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::unique_ptr<ui::GbmBuffer> CreateBufferFromHandle(
|
|
@ -1,39 +0,0 @@
|
|||||||
diff -up chromium-119.0.6045.105/build/linux/unbundle/libusb.gn.gnsystem chromium-119.0.6045.105/build/linux/unbundle/libusb.gn
|
|
||||||
--- chromium-119.0.6045.105/build/linux/unbundle/libusb.gn.gnsystem 2023-11-06 12:22:08.550625387 +0100
|
|
||||||
+++ chromium-119.0.6045.105/build/linux/unbundle/libusb.gn 2023-11-06 12:22:08.550625387 +0100
|
|
||||||
@@ -0,0 +1,24 @@
|
|
||||||
+# Copyright 2016 The Chromium Authors. All rights reserved.
|
|
||||||
+# Use of this source code is governed by a BSD-style license that can be
|
|
||||||
+# found in the LICENSE file.
|
|
||||||
+
|
|
||||||
+import("//build/config/linux/pkg_config.gni")
|
|
||||||
+import("//build/shim_headers.gni")
|
|
||||||
+
|
|
||||||
+pkg_config("system_libusb") {
|
|
||||||
+ packages = [ "libusb-1.0" ]
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+shim_headers("libusb_shim") {
|
|
||||||
+ root_path = "src/libusb"
|
|
||||||
+ headers = [
|
|
||||||
+ "libusb.h",
|
|
||||||
+ ]
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+source_set("libusb") {
|
|
||||||
+ deps = [
|
|
||||||
+ ":libusb_shim",
|
|
||||||
+ ]
|
|
||||||
+ public_configs = [ ":system_libusb" ]
|
|
||||||
+}
|
|
||||||
diff -up chromium-119.0.6045.105/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-119.0.6045.105/build/linux/unbundle/replace_gn_files.py
|
|
||||||
--- chromium-119.0.6045.105/build/linux/unbundle/replace_gn_files.py.gnsystem 2023-11-06 12:22:08.550625387 +0100
|
|
||||||
+++ chromium-119.0.6045.105/build/linux/unbundle/replace_gn_files.py 2023-11-06 12:28:28.295776501 +0100
|
|
||||||
@@ -54,6 +54,7 @@ REPLACEMENTS = {
|
|
||||||
'libevent': 'third_party/libevent/BUILD.gn',
|
|
||||||
'libjpeg': 'third_party/libjpeg.gni',
|
|
||||||
'libpng': 'third_party/libpng/BUILD.gn',
|
|
||||||
+ 'libusb': 'third_party/libusb/BUILD.gn',
|
|
||||||
'libvpx': 'third_party/libvpx/BUILD.gn',
|
|
||||||
'libwebp': 'third_party/libwebp/BUILD.gn',
|
|
||||||
'libxml': 'third_party/libxml/BUILD.gn',
|
|
@ -0,0 +1,14 @@
|
|||||||
|
--- chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.than 2023-11-26 13:50:07.005519877 +0100
|
||||||
|
+++ chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h 2023-11-26 13:50:49.727267240 +0100
|
||||||
|
@@ -152,10 +152,7 @@
|
||||||
|
(!BUILDFLAG(PUT_REF_COUNT_IN_PREVIOUS_SLOT) && \
|
||||||
|
defined(ARCH_CPU_LITTLE_ENDIAN))
|
||||||
|
|
||||||
|
-#define PA_CONFIG_HAS_MEMORY_TAGGING() \
|
||||||
|
- (defined(ARCH_CPU_ARM64) && defined(__clang__) && \
|
||||||
|
- !defined(ADDRESS_SANITIZER) && \
|
||||||
|
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)))
|
||||||
|
+#define PA_CONFIG_HAS_MEMORY_TAGGING() 0
|
||||||
|
|
||||||
|
#if PA_CONFIG(HAS_MEMORY_TAGGING)
|
||||||
|
static_assert(sizeof(void*) == 8);
|
@ -0,0 +1,12 @@
|
|||||||
|
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.
|
@ -0,0 +1,14 @@
|
|||||||
|
--- chromium-120.0.6099.35/chrome/browser/media/router/media_router_feature.cc.orig 2023-11-26 13:25:34.724228755 +0100
|
||||||
|
+++ chromium-120.0.6099.35/chrome/browser/media/router/media_router_feature.cc 2023-11-26 13:28:26.452359146 +0100
|
||||||
|
@@ -71,11 +71,7 @@
|
||||||
|
// TODO(b/202294946): Remove when enabled by default on ChromeOS.
|
||||||
|
BASE_FEATURE(kGlobalMediaControlsCastStartStop,
|
||||||
|
"GlobalMediaControlsCastStartStop",
|
||||||
|
-#if BUILDFLAG(IS_CHROMEOS)
|
||||||
|
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||||
|
-#else
|
||||||
|
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
|
-#endif // BUILDFLAG(IS_CHROMEOS)
|
||||||
|
#endif // !BUILDFLAG(IS_ANDROID)
|
||||||
|
|
||||||
|
namespace {
|
@ -0,0 +1,230 @@
|
|||||||
|
commit 57526b8dc45b2e6c67bba7306f1dde73b1f2910c
|
||||||
|
Author: sisidovski <sisidovski@chromium.org>
|
||||||
|
Date: Tue Oct 24 09:32:49 2023 +0000
|
||||||
|
|
||||||
|
Remove unused items from the RaceNetworkRequest hashmap
|
||||||
|
|
||||||
|
When the AutoPreload or the race-network-and-fetch-handler option in the
|
||||||
|
static routing API is enabled, network requests are dispatched and
|
||||||
|
URLLoaderFactories are held in a hashmap in ServiceWorkerGlobalScope.
|
||||||
|
Those are consumed inside the fetch handler when fetch(e.request) is
|
||||||
|
called. But if the fetch handler doesn't call fetch() e.g. fallback,
|
||||||
|
those hashmap items does not have a chance to be removed.
|
||||||
|
|
||||||
|
This CL changes the hashmap items to be removed when the fetch event
|
||||||
|
finishes, and the URLLoaderFactory is still not consumed at that time.
|
||||||
|
This may loose the dedupe capability if fetch() is called later e.g.
|
||||||
|
setTimeout(() => fetch()), but it makes sense to prioritize keeping the
|
||||||
|
hashmap small.
|
||||||
|
|
||||||
|
Change-Id: I51bdc9d5eb5185f2b5b4df6ee785715b1180c848
|
||||||
|
Bug: 1492640
|
||||||
|
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4964840
|
||||||
|
Reviewed-by: Minoru Chikamune <chikamune@chromium.org>
|
||||||
|
Commit-Queue: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
|
||||||
|
Reviewed-by: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
|
||||||
|
Cr-Commit-Position: refs/heads/main@{#1214064}
|
||||||
|
|
||||||
|
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
|
||||||
|
index 02887edc10883..b3624fc0162df 100644
|
||||||
|
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
|
||||||
|
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
|
||||||
|
@@ -46,6 +46,7 @@
|
||||||
|
#include "services/network/public/cpp/cross_origin_embedder_policy.h"
|
||||||
|
#include "services/network/public/mojom/cookie_manager.mojom-blink.h"
|
||||||
|
#include "services/network/public/mojom/cross_origin_embedder_policy.mojom.h"
|
||||||
|
+#include "services/network/public/mojom/url_loader_factory.mojom-blink.h"
|
||||||
|
#include "third_party/blink/public/common/features.h"
|
||||||
|
#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink.h"
|
||||||
|
#include "third_party/blink/public/mojom/notifications/notification.mojom-blink.h"
|
||||||
|
@@ -1096,6 +1097,10 @@ void ServiceWorkerGlobalScope::DidHandleFetchEvent(
|
||||||
|
TRACE_ID_WITH_SCOPE(kServiceWorkerGlobalScopeTraceScope,
|
||||||
|
TRACE_ID_LOCAL(event_id)),
|
||||||
|
TRACE_EVENT_FLAG_FLOW_IN, "status", MojoEnumToString(status));
|
||||||
|
+
|
||||||
|
+ // Delete the URLLoaderFactory for the RaceNetworkRequest if it's not used.
|
||||||
|
+ RemoveItemFromRaceNetworkRequests(event_id);
|
||||||
|
+
|
||||||
|
if (!RunEventCallback(&fetch_event_callbacks_, event_queue_.get(), event_id,
|
||||||
|
status)) {
|
||||||
|
// The event may have been aborted. Its response callback also needs to be
|
||||||
|
@@ -1495,6 +1500,7 @@ void ServiceWorkerGlobalScope::AbortCallbackForFetchEvent(
|
||||||
|
response_callback_iter->value->TakeValue().reset();
|
||||||
|
fetch_response_callbacks_.erase(response_callback_iter);
|
||||||
|
}
|
||||||
|
+ RemoveItemFromRaceNetworkRequests(event_id);
|
||||||
|
|
||||||
|
// Run the event callback with the error code.
|
||||||
|
auto event_callback_iter = fetch_event_callbacks_.find(event_id);
|
||||||
|
@@ -1551,52 +1557,11 @@ void ServiceWorkerGlobalScope::StartFetchEvent(
|
||||||
|
|
||||||
|
if (params->race_network_request_loader_factory &&
|
||||||
|
params->request->service_worker_race_network_request_token) {
|
||||||
|
- auto insert_result = race_network_request_loader_factories_.insert(
|
||||||
|
- String(params->request->service_worker_race_network_request_token
|
||||||
|
- ->ToString()),
|
||||||
|
- std::move(params->race_network_request_loader_factory));
|
||||||
|
-
|
||||||
|
- // DumpWithoutCrashing if the token is empty, or not inserted as a new entry
|
||||||
|
- // to |race_network_request_loader_factories_|.
|
||||||
|
- // TODO(crbug.com/1492640) Remove DumpWithoutCrashing once we collect data
|
||||||
|
- // and identify the cause.
|
||||||
|
- static bool has_dumped_without_crashing_for_empty_token = false;
|
||||||
|
- static bool has_dumped_without_crashing_for_not_new_entry = false;
|
||||||
|
- if (!has_dumped_without_crashing_for_empty_token &&
|
||||||
|
- params->request->service_worker_race_network_request_token
|
||||||
|
- ->is_empty()) {
|
||||||
|
- has_dumped_without_crashing_for_empty_token = true;
|
||||||
|
- SCOPED_CRASH_KEY_BOOL(
|
||||||
|
- "SWGlobalScope", "empty_race_token",
|
||||||
|
- params->request->service_worker_race_network_request_token
|
||||||
|
- ->is_empty());
|
||||||
|
- SCOPED_CRASH_KEY_STRING64(
|
||||||
|
- "SWGlobalScope", "race_token_string",
|
||||||
|
- params->request->service_worker_race_network_request_token
|
||||||
|
- ->ToString());
|
||||||
|
- SCOPED_CRASH_KEY_BOOL("SWGlobalScope", "race_insert_new_entry",
|
||||||
|
- insert_result.is_new_entry);
|
||||||
|
- SCOPED_CRASH_KEY_STRING256("SWGlobalScope", "race_request_url",
|
||||||
|
- params->request->url.GetString().Utf8());
|
||||||
|
- base::debug::DumpWithoutCrashing();
|
||||||
|
- }
|
||||||
|
- if (!has_dumped_without_crashing_for_not_new_entry &&
|
||||||
|
- !insert_result.is_new_entry) {
|
||||||
|
- has_dumped_without_crashing_for_not_new_entry = true;
|
||||||
|
- SCOPED_CRASH_KEY_BOOL(
|
||||||
|
- "SWGlobalScope", "empty_race_token",
|
||||||
|
- params->request->service_worker_race_network_request_token
|
||||||
|
- ->is_empty());
|
||||||
|
- SCOPED_CRASH_KEY_STRING64(
|
||||||
|
- "SWGlobalScope", "race_token_string",
|
||||||
|
- params->request->service_worker_race_network_request_token
|
||||||
|
- ->ToString());
|
||||||
|
- SCOPED_CRASH_KEY_BOOL("SWGlobalScope", "race_insert_new_entry",
|
||||||
|
- insert_result.is_new_entry);
|
||||||
|
- SCOPED_CRASH_KEY_STRING256("SWGlobalScope", "race_request_url",
|
||||||
|
- params->request->url.GetString().Utf8());
|
||||||
|
- base::debug::DumpWithoutCrashing();
|
||||||
|
- }
|
||||||
|
+ InsertNewItemToRaceNetworkRequests(
|
||||||
|
+ event_id,
|
||||||
|
+ params->request->service_worker_race_network_request_token.value(),
|
||||||
|
+ std::move(params->race_network_request_loader_factory),
|
||||||
|
+ params->request->url);
|
||||||
|
}
|
||||||
|
|
||||||
|
Request* request = Request::Create(
|
||||||
|
@@ -2808,12 +2773,71 @@ bool ServiceWorkerGlobalScope::SetAttributeEventListener(
|
||||||
|
absl::optional<mojo::PendingRemote<network::mojom::blink::URLLoaderFactory>>
|
||||||
|
ServiceWorkerGlobalScope::FindRaceNetworkRequestURLLoaderFactory(
|
||||||
|
const base::UnguessableToken& token) {
|
||||||
|
- mojo::PendingRemote<network::mojom::blink::URLLoaderFactory> result =
|
||||||
|
- race_network_request_loader_factories_.Take(String(token.ToString()));
|
||||||
|
+ std::unique_ptr<RaceNetworkRequestInfo> result =
|
||||||
|
+ race_network_requests_.Take(String(token.ToString()));
|
||||||
|
if (result) {
|
||||||
|
- return result;
|
||||||
|
+ race_network_request_fetch_event_ids_.erase(result->fetch_event_id);
|
||||||
|
+ return absl::optional<
|
||||||
|
+ mojo::PendingRemote<network::mojom::blink::URLLoaderFactory>>(
|
||||||
|
+ std::move(result->url_loader_factory));
|
||||||
|
}
|
||||||
|
return absl::nullopt;
|
||||||
|
}
|
||||||
|
|
||||||
|
+void ServiceWorkerGlobalScope::InsertNewItemToRaceNetworkRequests(
|
||||||
|
+ int fetch_event_id,
|
||||||
|
+ const base::UnguessableToken& token,
|
||||||
|
+ mojo::PendingRemote<network::mojom::blink::URLLoaderFactory>
|
||||||
|
+ url_loader_factory,
|
||||||
|
+ const KURL& request_url) {
|
||||||
|
+ auto race_network_request_token = String(token.ToString());
|
||||||
|
+ auto info = std::make_unique<RaceNetworkRequestInfo>(
|
||||||
|
+ fetch_event_id, race_network_request_token,
|
||||||
|
+ std::move(url_loader_factory));
|
||||||
|
+ race_network_request_fetch_event_ids_.insert(fetch_event_id, info.get());
|
||||||
|
+ auto insert_result = race_network_requests_.insert(race_network_request_token,
|
||||||
|
+ std::move(info));
|
||||||
|
+
|
||||||
|
+ // DumpWithoutCrashing if the token is empty, or not inserted as a new entry
|
||||||
|
+ // to |race_network_request_loader_factories_|.
|
||||||
|
+ // TODO(crbug.com/1492640) Remove DumpWithoutCrashing once we collect data
|
||||||
|
+ // and identify the cause.
|
||||||
|
+ static bool has_dumped_without_crashing_for_empty_token = false;
|
||||||
|
+ static bool has_dumped_without_crashing_for_not_new_entry = false;
|
||||||
|
+ if (!has_dumped_without_crashing_for_empty_token && token.is_empty()) {
|
||||||
|
+ has_dumped_without_crashing_for_empty_token = true;
|
||||||
|
+ SCOPED_CRASH_KEY_BOOL("SWGlobalScope", "empty_race_token",
|
||||||
|
+ token.is_empty());
|
||||||
|
+ SCOPED_CRASH_KEY_STRING64("SWGlobalScope", "race_token_string",
|
||||||
|
+ token.ToString());
|
||||||
|
+ SCOPED_CRASH_KEY_BOOL("SWGlobalScope", "race_insert_new_entry",
|
||||||
|
+ insert_result.is_new_entry);
|
||||||
|
+ SCOPED_CRASH_KEY_STRING256("SWGlobalScope", "race_request_url",
|
||||||
|
+ request_url.GetString().Utf8());
|
||||||
|
+ base::debug::DumpWithoutCrashing();
|
||||||
|
+ }
|
||||||
|
+ if (!has_dumped_without_crashing_for_not_new_entry &&
|
||||||
|
+ !insert_result.is_new_entry) {
|
||||||
|
+ has_dumped_without_crashing_for_not_new_entry = true;
|
||||||
|
+ SCOPED_CRASH_KEY_BOOL("SWGlobalScope", "empty_race_token",
|
||||||
|
+ token.is_empty());
|
||||||
|
+ SCOPED_CRASH_KEY_STRING64("SWGlobalScope", "race_token_string",
|
||||||
|
+ token.ToString());
|
||||||
|
+ SCOPED_CRASH_KEY_BOOL("SWGlobalScope", "race_insert_new_entry",
|
||||||
|
+ insert_result.is_new_entry);
|
||||||
|
+ SCOPED_CRASH_KEY_STRING256("SWGlobalScope", "race_request_url",
|
||||||
|
+ request_url.GetString().Utf8());
|
||||||
|
+ base::debug::DumpWithoutCrashing();
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void ServiceWorkerGlobalScope::RemoveItemFromRaceNetworkRequests(
|
||||||
|
+ int fetch_event_id) {
|
||||||
|
+ RaceNetworkRequestInfo* info =
|
||||||
|
+ race_network_request_fetch_event_ids_.Take(fetch_event_id);
|
||||||
|
+ if (info) {
|
||||||
|
+ race_network_requests_.erase(info->token);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
} // namespace blink
|
||||||
|
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h
|
||||||
|
index 46c431b395825..ac4cac0b1d8fb 100644
|
||||||
|
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h
|
||||||
|
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h
|
||||||
|
@@ -623,6 +623,14 @@ class MODULES_EXPORT ServiceWorkerGlobalScope final
|
||||||
|
// ServiceWorker.FetchEvent.QueuingTime histogram.
|
||||||
|
void RecordQueuingTime(base::TimeTicks created_time);
|
||||||
|
|
||||||
|
+ void InsertNewItemToRaceNetworkRequests(
|
||||||
|
+ int fetch_event_id,
|
||||||
|
+ const base::UnguessableToken& token,
|
||||||
|
+ mojo::PendingRemote<network::mojom::blink::URLLoaderFactory>
|
||||||
|
+ url_loader_factory,
|
||||||
|
+ const KURL& request_url);
|
||||||
|
+ void RemoveItemFromRaceNetworkRequests(int fetch_event_id);
|
||||||
|
+
|
||||||
|
Member<ServiceWorkerClients> clients_;
|
||||||
|
Member<ServiceWorkerRegistration> registration_;
|
||||||
|
Member<::blink::ServiceWorker> service_worker_;
|
||||||
|
@@ -768,10 +776,17 @@ class MODULES_EXPORT ServiceWorkerGlobalScope final
|
||||||
|
|
||||||
|
blink::BlinkStorageKey storage_key_;
|
||||||
|
|
||||||
|
+ struct RaceNetworkRequestInfo {
|
||||||
|
+ int fetch_event_id;
|
||||||
|
+ String token;
|
||||||
|
+ mojo::PendingRemote<network::mojom::blink::URLLoaderFactory>
|
||||||
|
+ url_loader_factory;
|
||||||
|
+ };
|
||||||
|
// TODO(crbug.com/918702) WTF::HashMap cannot use base::UnguessableToken as a
|
||||||
|
// key. As a workaround uses WTF::String as a key instead.
|
||||||
|
- HashMap<String, mojo::PendingRemote<network::mojom::blink::URLLoaderFactory>>
|
||||||
|
- race_network_request_loader_factories_;
|
||||||
|
+ HashMap<String, std::unique_ptr<RaceNetworkRequestInfo>>
|
||||||
|
+ race_network_requests_;
|
||||||
|
+ HashMap<int, RaceNetworkRequestInfo*> race_network_request_fetch_event_ids_;
|
||||||
|
|
||||||
|
HeapMojoAssociatedRemote<mojom::blink::AssociatedInterfaceProvider>
|
||||||
|
remote_associated_interfaces_{this};
|
@ -0,0 +1,16 @@
|
|||||||
|
diff -up chromium-120.0.6099.56/third_party/libc++/src/include/__config.me chromium-120.0.6099.56/third_party/libc++/src/include/__config
|
||||||
|
--- chromium-120.0.6099.56/third_party/libc++/src/include/__config.me 2023-12-03 00:05:51.254483474 +0100
|
||||||
|
+++ chromium-120.0.6099.56/third_party/libc++/src/include/__config 2023-12-03 00:06:05.872863168 +0100
|
||||||
|
@@ -32,11 +32,7 @@
|
||||||
|
|
||||||
|
// Warn if a compiler version is used that is not supported anymore
|
||||||
|
// LLVM RELEASE Update the minimum compiler versions
|
||||||
|
-# if defined(_LIBCPP_CLANG_VER)
|
||||||
|
-# if _LIBCPP_CLANG_VER < 1500
|
||||||
|
-# warning "Libc++ only supports Clang 15 and later"
|
||||||
|
-# endif
|
||||||
|
-# elif defined(_LIBCPP_APPLE_CLANG_VER)
|
||||||
|
+# if defined(_LIBCPP_APPLE_CLANG_VER)
|
||||||
|
# if _LIBCPP_APPLE_CLANG_VER < 1500
|
||||||
|
# warning "Libc++ only supports AppleClang 15 and later"
|
||||||
|
# endif
|
@ -0,0 +1,26 @@
|
|||||||
|
diff -up chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/starscan/metadata_allocator.h.me chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/starscan/metadata_allocator.h
|
||||||
|
--- chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/starscan/metadata_allocator.h.me 2023-11-26 13:33:11.547409713 +0100
|
||||||
|
+++ chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/starscan/metadata_allocator.h 2023-11-26 13:35:02.679363167 +0100
|
||||||
|
@@ -40,6 +40,11 @@ class MetadataAllocator {
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename U>
|
||||||
|
+ bool operator==(const MetadataAllocator<U>&) const {
|
||||||
|
+ return true;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ template <typename U>
|
||||||
|
bool operator!=(const MetadataAllocator<U>& o) {
|
||||||
|
return !operator==(o);
|
||||||
|
}
|
||||||
|
diff -up chromium-120.0.6099.35/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h.me chromium-120.0.6099.35/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h
|
||||||
|
--- chromium-120.0.6099.35/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h.me 2023-11-22 20:34:11.000000000 +0100
|
||||||
|
+++ chromium-120.0.6099.35/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h 2023-11-26 13:30:38.961724653 +0100
|
||||||
|
@@ -82,6 +82,7 @@ struct FxPartitionAllocAllocator {
|
||||||
|
}
|
||||||
|
|
||||||
|
// There's no state, so they are all the same,
|
||||||
|
+ bool operator==(const FxPartitionAllocAllocator&) const { return true; }
|
||||||
|
bool operator==(const FxPartitionAllocAllocator& that) { return true; }
|
||||||
|
bool operator!=(const FxPartitionAllocAllocator& that) { return false; }
|
||||||
|
};
|
@ -0,0 +1,18 @@
|
|||||||
|
diff -up chromium-120.0.6099.56/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm chromium-120.0.6099.56/ui/gfx/linux/drm_util_linux.cc
|
||||||
|
--- chromium-120.0.6099.56/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm 2023-11-29 22:40:44.000000000 +0100
|
||||||
|
+++ chromium-120.0.6099.56/ui/gfx/linux/drm_util_linux.cc 2023-12-03 10:33:35.468492298 +0100
|
||||||
|
@@ -6,6 +6,14 @@
|
||||||
|
|
||||||
|
#include <drm_fourcc.h>
|
||||||
|
|
||||||
|
+// the libdrm in EL-7 is too old to have this define
|
||||||
|
+#ifndef DRM_FORMAT_P010
|
||||||
|
+#define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0')
|
||||||
|
+#endif
|
||||||
|
+#ifndef DRM_FORMAT_ABGR16161616F
|
||||||
|
+#define DRM_FORMAT_ABGR16161616F fourcc_code('A', 'B', '4', 'H')
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include "base/notreached.h"
|
||||||
|
|
||||||
|
namespace ui {
|
@ -0,0 +1,13 @@
|
|||||||
|
diff -up chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn.me chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn
|
||||||
|
--- chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn.me 2023-11-26 16:14:15.364064126 +0100
|
||||||
|
+++ chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn 2023-11-26 16:41:16.877321990 +0100
|
||||||
|
@@ -21,6 +21,9 @@ if (use_atk) {
|
||||||
|
minor = atspi_version[1]
|
||||||
|
micro = atspi_version[2]
|
||||||
|
|
||||||
|
+ # gn workaround for the error: Assignment had no effect
|
||||||
|
+ print("ATSPI Version: $major.$minor.$micro")
|
||||||
|
+
|
||||||
|
# ATSPI 2.49.90 now defines these for us and it's an error for us to
|
||||||
|
# redefine them on the compiler command line.
|
||||||
|
# See ATSPI 927344a34cd5bf81fc64da4968241735ecb4f03b
|
@ -0,0 +1,24 @@
|
|||||||
|
diff -up chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h.than chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h
|
||||||
|
--- chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h.than 2023-11-26 18:19:11.355117176 +0100
|
||||||
|
+++ chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h 2023-11-26 18:20:21.090366036 +0100
|
||||||
|
@@ -184,7 +184,7 @@ struct Arg {
|
||||||
|
//
|
||||||
|
// Warning: don't just do Arg(NULL) here because in some libcs, NULL is an
|
||||||
|
// alias for nullptr!
|
||||||
|
- Arg(nullptr_t p) : type(INT) {
|
||||||
|
+ Arg(std::nullptr_t p) : type(INT) {
|
||||||
|
integer.i = 0;
|
||||||
|
// Internally, SafeSprintf expects to represent nulls as integers whose
|
||||||
|
// width is equal to sizeof(NULL), which is not necessarily equal to
|
||||||
|
diff -up chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h.than chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h
|
||||||
|
--- chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h.than 2023-12-04 10:20:45.350540897 +0100
|
||||||
|
+++ chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2023-12-04 10:23:17.335339670 +0100
|
||||||
|
@@ -21,7 +21,7 @@ class FragmentDataIteratorBase {
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit FragmentDataIteratorBase(Head& head) : fragment_head_(head) {}
|
||||||
|
- explicit FragmentDataIteratorBase(nullptr_t) {}
|
||||||
|
+ explicit FragmentDataIteratorBase(std::nullptr_t) {}
|
||||||
|
|
||||||
|
Data* GetFragmentData() const {
|
||||||
|
return !IsDone() ? &fragment_head_.at(idx_) : nullptr;
|
@ -0,0 +1,28 @@
|
|||||||
|
diff -up chromium-120.0.6099.35/build/config/compiler/BUILD.gn.than chromium-120.0.6099.35/build/config/compiler/BUILD.gn
|
||||||
|
--- chromium-120.0.6099.35/build/config/compiler/BUILD.gn.than 2023-11-26 17:02:25.647022746 +0100
|
||||||
|
+++ chromium-120.0.6099.35/build/config/compiler/BUILD.gn 2023-11-26 17:15:58.025585358 +0100
|
||||||
|
@@ -616,24 +616,6 @@ config("compiler") {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- # TODO(crbug.com/1488374): This causes binary size growth and potentially
|
||||||
|
- # other problems.
|
||||||
|
- # TODO(crbug.com/1491036): This isn't supported by Cronet's mainline llvm version.
|
||||||
|
- if (default_toolchain != "//build/toolchain/cros:target" &&
|
||||||
|
- !llvm_android_mainline) {
|
||||||
|
- cflags += [
|
||||||
|
- "-mllvm",
|
||||||
|
- "-split-threshold-for-reg-with-hint=0",
|
||||||
|
- ]
|
||||||
|
- if (use_thin_lto && is_a_target_toolchain) {
|
||||||
|
- if (is_win) {
|
||||||
|
- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ]
|
||||||
|
- } else {
|
||||||
|
- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
# TODO(crbug.com/1235145): Investigate why/if this should be needed.
|
||||||
|
if (is_win) {
|
||||||
|
cflags += [ "/clang:-ffp-contract=off" ]
|
@ -0,0 +1,42 @@
|
|||||||
|
diff -up chromium-120.0.6099.35/build/linux/unbundle/libusb.gn.system-libusb chromium-120.0.6099.35/build/linux/unbundle/libusb.gn
|
||||||
|
--- chromium-120.0.6099.35/build/linux/unbundle/libusb.gn.system-libusb 2023-11-22 20:31:32.000000000 +0100
|
||||||
|
+++ chromium-120.0.6099.35/build/linux/unbundle/libusb.gn 2023-11-26 11:46:14.559263668 +0100
|
||||||
|
@@ -1,3 +1,27 @@
|
||||||
|
+# Copyright 2016 The Chromium Authors. All rights reserved.
|
||||||
|
+# Use of this source code is governed by a BSD-style license that can be
|
||||||
|
+# found in the LICENSE file.
|
||||||
|
+
|
||||||
|
+import("//build/config/linux/pkg_config.gni")
|
||||||
|
+import("//build/shim_headers.gni")
|
||||||
|
+
|
||||||
|
+pkg_config("system_libusb") {
|
||||||
|
+ packages = [ "libusb-1.0" ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+shim_headers("libusb_shim") {
|
||||||
|
+ root_path = "src/libusb"
|
||||||
|
+ headers = [
|
||||||
|
+ "libusb.h",
|
||||||
|
+ ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+source_set("libusb") {
|
||||||
|
+ deps = [
|
||||||
|
+ ":libusb_shim",
|
||||||
|
+ ]
|
||||||
|
+ public_configs = [ ":system_libusb" ]
|
||||||
|
+}
|
||||||
|
import("//build/config/linux/pkg_config.gni")
|
||||||
|
import("//build/shim_headers.gni")
|
||||||
|
|
||||||
|
diff -up chromium-120.0.6099.35/build/linux/unbundle/replace_gn_files.py.system-libusb chromium-120.0.6099.35/build/linux/unbundle/replace_gn_files.py
|
||||||
|
--- chromium-120.0.6099.35/build/linux/unbundle/replace_gn_files.py.system-libusb 2023-11-26 11:46:14.559263668 +0100
|
||||||
|
+++ chromium-120.0.6099.35/build/linux/unbundle/replace_gn_files.py 2023-11-26 12:05:20.542665877 +0100
|
||||||
|
@@ -56,6 +56,7 @@ REPLACEMENTS = {
|
||||||
|
'libevent': 'third_party/libevent/BUILD.gn',
|
||||||
|
'libjpeg': 'third_party/libjpeg.gni',
|
||||||
|
'libpng': 'third_party/libpng/BUILD.gn',
|
||||||
|
+ 'libusb': 'third_party/libusb/BUILD.gn',
|
||||||
|
'libsecret' : 'third_party/libsecret/BUILD.gn',
|
||||||
|
'libusb': 'third_party/libusb/BUILD.gn',
|
||||||
|
'libvpx': 'third_party/libvpx/BUILD.gn',
|
@ -0,0 +1,51 @@
|
|||||||
|
diff -up chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc
|
||||||
|
--- chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding 2023-06-07 21:48:37.000000000 +0200
|
||||||
|
+++ chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc 2023-06-17 16:53:20.216628557 +0200
|
||||||
|
@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui
|
||||||
|
void CdmPromiseAdapter::Clear(ClearReason reason) {
|
||||||
|
// Reject all outstanding promises.
|
||||||
|
DCHECK(thread_checker_.CalledOnValidThread());
|
||||||
|
- for (auto& [promise_id, promise] : promises_) {
|
||||||
|
+ for (auto& [p_i, p_e] : promises_) {
|
||||||
|
+ auto& promise_id = p_i;
|
||||||
|
+ auto& promise = p_e;
|
||||||
|
TRACE_EVENT_NESTABLE_ASYNC_END1(
|
||||||
|
"media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id),
|
||||||
|
"status", "cleared");
|
||||||
|
diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc
|
||||||
|
--- chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me 2023-06-19 08:04:02.287072722 +0200
|
||||||
|
+++ chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc 2023-06-19 08:18:24.576814950 +0200
|
||||||
|
@@ -1393,7 +1393,8 @@ void ServiceWorkerContextWrapper::MaybeP
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
- auto [document_url, key, callback] = std::move(*request);
|
||||||
|
+ auto [d_u, key, callback] = std::move(*request);
|
||||||
|
+ auto document_url = d_u;
|
||||||
|
|
||||||
|
DCHECK(document_url.is_valid());
|
||||||
|
TRACE_EVENT1("ServiceWorker",
|
||||||
|
diff -up chromium-120.0.6099.56/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.me chromium-120.0.6099.56/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
|
||||||
|
--- chromium-120.0.6099.56/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.me 2023-12-03 22:17:50.922083200 +0100
|
||||||
|
+++ chromium-120.0.6099.56/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc 2023-12-03 22:22:55.437484343 +0100
|
||||||
|
@@ -3447,7 +3447,8 @@ void GridLayoutAlgorithm::PlaceGridItems
|
||||||
|
DCHECK(out_row_break_between);
|
||||||
|
|
||||||
|
const auto& container_space = ConstraintSpace();
|
||||||
|
- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
|
||||||
|
+ const auto& [grid_items, l_d, tree_size] = sizing_tree.TreeRootData();
|
||||||
|
+ const auto& layout_data = l_d;
|
||||||
|
|
||||||
|
const auto* cached_layout_subtree = container_space.GetGridLayoutSubtree();
|
||||||
|
const auto container_writing_direction =
|
||||||
|
@@ -3611,7 +3612,9 @@ void GridLayoutAlgorithm::PlaceGridItems
|
||||||
|
|
||||||
|
// TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true.
|
||||||
|
const auto& constraint_space = ConstraintSpace();
|
||||||
|
- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
|
||||||
|
+ const auto& [g_i, l_d, tree_size] = sizing_tree.TreeRootData();
|
||||||
|
+ const auto& grid_items = g_i;
|
||||||
|
+ const auto& layout_data = l_d;
|
||||||
|
|
||||||
|
const auto* cached_layout_subtree = constraint_space.GetGridLayoutSubtree();
|
||||||
|
const auto container_writing_direction =
|
@ -1,15 +0,0 @@
|
|||||||
diff -up chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc
|
|
||||||
--- chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm 2020-08-31 09:38:46.043993882 -0400
|
|
||||||
+++ chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc 2020-08-31 09:39:21.599906318 -0400
|
|
||||||
@@ -6,6 +6,11 @@
|
|
||||||
|
|
||||||
#include <drm_fourcc.h>
|
|
||||||
|
|
||||||
+// the libdrm in EL-7 is too old to have this define
|
|
||||||
+#ifndef DRM_FORMAT_P010
|
|
||||||
+#define DRM_FORMAT_P010 DRM_FORMAT_INVALID
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include "base/notreached.h"
|
|
||||||
|
|
||||||
namespace ui {
|
|
@ -1,26 +0,0 @@
|
|||||||
diff -up chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h.el7-extra-operator-equalequal chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h
|
|
||||||
--- chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h.el7-extra-operator-equalequal 2022-03-05 18:37:25.979241754 -0500
|
|
||||||
+++ chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h 2022-03-05 18:37:25.979241754 -0500
|
|
||||||
@@ -39,6 +39,11 @@ class MetadataAllocator {
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename U>
|
|
||||||
+ bool operator==(const MetadataAllocator<U>&) const {
|
|
||||||
+ return true;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ template <typename U>
|
|
||||||
bool operator!=(const MetadataAllocator<U>& o) {
|
|
||||||
return !operator==(o);
|
|
||||||
}
|
|
||||||
diff -up chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h.el7-extra-operator-equalequal chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h
|
|
||||||
--- chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h.el7-extra-operator-equalequal 2022-03-06 19:14:20.892513442 -0500
|
|
||||||
+++ chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h 2022-03-06 19:15:40.412060574 -0500
|
|
||||||
@@ -70,6 +70,7 @@ struct FxPartitionAllocAllocator {
|
|
||||||
}
|
|
||||||
|
|
||||||
// There's no state, so they are all the same,
|
|
||||||
+ bool operator==(const FxPartitionAllocAllocator&) const { return true; }
|
|
||||||
bool operator==(const FxPartitionAllocAllocator& that) { return true; }
|
|
||||||
bool operator!=(const FxPartitionAllocAllocator& that) { return false; }
|
|
||||||
};
|
|
Loading…
Reference in new issue