Skip to content

Commit

Permalink
cr-patches: update for 6167
Browse files Browse the repository at this point in the history
  • Loading branch information
licy183 committed Feb 6, 2024
1 parent daf5e2b commit 8d58ed6
Show file tree
Hide file tree
Showing 19 changed files with 1,595 additions and 4 deletions.
19 changes: 19 additions & 0 deletions common-files/chromium-patches/add-missing-typename-8/6167.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
--- a/base/functional/bind_internal.h
+++ b/base/functional/bind_internal.h
@@ -1533,12 +1533,12 @@
typename Param>
struct ParamCanBeBound {
private:
- using UnwrappedParam = BindArgument<i>::template ForwardedAs<
+ using UnwrappedParam = typename BindArgument<i>::template ForwardedAs<
Unwrapped>::template ToParamWithType<Param>;
- using ParamStorage = BindArgument<i>::template ToParamWithType<
+ using ParamStorage = typename BindArgument<i>::template ToParamWithType<
Param>::template StoredAs<Storage>;
- using BoundStorage =
- BindArgument<i>::template BoundAs<Arg>::template StoredAs<Storage>;
+ using BoundStorage = typename BindArgument<i>::template BoundAs<
+ Arg>::template StoredAs<Storage>;

// We forbid callbacks from using raw_ptr as a parameter. However, we allow
// `MayBeDangling<T>` iff the callback argument was created using
11 changes: 11 additions & 0 deletions common-files/chromium-patches/add-missing-typename-9/6167.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- a/mojo/public/cpp/bindings/array_traits.h
+++ b/mojo/public/cpp/bindings/array_traits.h
@@ -90,7 +90,7 @@
{ c[i] } -> std::same_as<typename Container::reference>;
}
struct ArrayTraits<Container> {
- using Element = Container::value_type;
+ using Element = typename Container::value_type;

// vector-like containers have no built-in null.
static bool IsNull(const Container& c) { return false; }
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
--- a/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
+++ b/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
@@ -691,8 +691,9 @@

if (const auto* layout_subtree =
GetConstraintSpace().GetGridLayoutSubtree()) {
- auto& [grid_items, layout_data, subtree_size] =
- sizing_tree.CreateSizingData();
+ auto& sizing_data = sizing_tree.CreateSizingData();
+ auto& grid_items = sizing_data.grid_items;
+ auto& layout_data = sizing_data.layout_data;

const auto& node = Node();
grid_items =
@@ -730,8 +731,9 @@
const auto& track_collection = (track_direction == kForColumns)
? layout_data.Columns()
: layout_data.Rows();
- const auto& [begin_set_index, end_set_index] =
- grid_item.SetIndices(track_direction);
+ const auto& set_indices = grid_item.SetIndices(track_direction);
+ const auto& begin_set_index = set_indices.begin;
+ const auto& end_set_index = set_indices.end;

return (grid_item.BaselineGroup(track_direction) == BaselineGroup::kMajor)
? track_collection.MajorBaseline(begin_set_index)
@@ -1043,8 +1045,9 @@
const auto& track_collection = (track_direction == kForColumns)
? subgridded_item.Columns(writing_mode)
: subgridded_item.Rows(writing_mode);
- const auto& [begin_set_index, end_set_index] =
- subgridded_item->SetIndices(track_collection.Direction());
+ const auto& set_indices = subgridded_item->SetIndices(track_collection.Direction());
+ const auto& begin_set_index = set_indices.begin;
+ const auto& end_set_index = set_indices.end;

const LayoutUnit extra_margin =
(subgridded_item->BaselineGroup(track_direction) == BaselineGroup::kMajor)
@@ -1236,8 +1239,9 @@
: subgridded_item.Rows(writing_mode);

const auto margins = ComputeMarginsFor(space, item_style, constraint_space);
- const auto& [begin_set_index, end_set_index] =
- subgridded_item->SetIndices(track_collection.Direction());
+ const auto& set_indices = subgridded_item->SetIndices(track_collection.Direction());
+ const auto& begin_set_index = set_indices.begin;
+ const auto& end_set_index = set_indices.end;

const auto margin_sum =
(is_for_columns ? margins.InlineSum() : margins.BlockSum()) +
@@ -1656,8 +1660,10 @@
// in first/last baseline alignment within its start-most/end-most shared
// alignment context along that axis"
// https://www.w3.org/TR/css-align-3/#baseline-sharing-group
- const auto& [begin_set_index, end_set_index] =
- grid_item.SetIndices(track_direction);
+ const auto& set_indices = grid_item.SetIndices(track_direction);
+ const auto& begin_set_index = set_indices.begin;
+ const auto& end_set_index = set_indices.end;
+
if (grid_item.BaselineGroup(track_direction) == BaselineGroup::kMajor) {
track_collection.SetMajorBaseline(begin_set_index, baseline);
} else {
@@ -1917,8 +1923,9 @@
bool* opt_needs_additional_pass) const {
DCHECK(sizing_subtree);

- auto& [grid_items, layout_data, subtree_size] =
- sizing_subtree.SubtreeRootData();
+ auto& sizing_data = sizing_subtree.SubtreeRootData();
+ auto& grid_items = sizing_data.grid_items;
+ auto& layout_data = sizing_data.layout_data;

const bool is_for_columns = track_direction == kForColumns;
const bool has_non_definite_track =
@@ -2062,8 +2069,10 @@
const GridSizingSubtree& sizing_subtree,
const CallbackFunc& callback_func,
bool should_compute_min_max_sizes) const {
- auto& [grid_items, layout_data, subtree_size] =
- sizing_subtree.SubtreeRootData();
+ auto& sizing_data = sizing_subtree.SubtreeRootData();
+ auto& grid_items = sizing_data.grid_items;
+ auto& layout_data = sizing_data.layout_data;
+ auto& subtree_size = sizing_data.subtree_size;

// If we know this subtree doesn't have nested subgrids we can exit early
// instead of iterating over every grid item looking for them.
@@ -3527,7 +3536,9 @@
DCHECK(out_row_break_between);

const auto& container_space = GetConstraintSpace();
- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
+ const auto& sizing_data = sizing_tree.TreeRootData();
+ const auto& grid_items = sizing_data.grid_items;
+ const auto& layout_data = sizing_data.layout_data;

const auto* cached_layout_subtree = container_space.GetGridLayoutSubtree();
const auto container_writing_direction =
@@ -3691,7 +3702,9 @@

// TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true.
const auto& constraint_space = GetConstraintSpace();
- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
+ const auto& sizing_data = sizing_tree.TreeRootData();
+ const auto& grid_items = sizing_data.grid_items;
+ const auto& layout_data = sizing_data.layout_data;

const auto* cached_layout_subtree = constraint_space.GetGridLayoutSubtree();
const auto container_writing_direction =
@@ -4395,8 +4408,9 @@
DCHECK(!grid_item.IsOutOfFlow());
DCHECK(!grid_item.is_subgridded_to_parent_grid);

- const auto& [begin_set_index, end_set_index] =
- grid_item.SetIndices(track_collection.Direction());
+ const auto& set_indices = grid_item.SetIndices(track_collection.Direction());
+ const auto& begin_set_index = set_indices.begin;
+ const auto& end_set_index = set_indices.end;

if (start_offset) {
*start_offset = track_collection.GetSetOffset(begin_set_index);
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -1861,28 +1861,6 @@
# TODO(thakis): Only for no_chromium_code? http://crbug.com/912662
"-Wno-ignored-pragma-optimize",
]
-
- if (!is_nacl) {
- cflags += [
- # TODO(crbug.com/1343975) Evaluate and possibly enable.
- "-Wno-deprecated-builtins",
-
- # TODO(crbug.com/1352183) Evaluate and possibly enable.
- "-Wno-bitfield-constant-conversion",
-
- # TODO(crbug.com/1412713) Evaluate and possibly enable.
- "-Wno-deprecated-this-capture",
-
- # TODO(https://crbug.com/1491833): Fix and re-enable.
- "-Wno-invalid-offsetof",
-
- # 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",
- ]
- }
}

# Some builders, such as Cronet, use a different version of Clang than
58 changes: 54 additions & 4 deletions common-files/chromium-patches/metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@
"add-missing-typename-7/6099.patch": {
"start": 6099
},
"add-missing-typename-8/6167.patch": {
"start": 6167
},
"add-missing-typename-9/6167.patch": {
"start": 6167
},
"angle-fix-atomic/5615.patch": {
"start": 5615
},
Expand All @@ -35,7 +41,8 @@
"start": 4389
},
"atspi-mark-possibly-unused-gn-variables/6045.patch": {
"start": 6045
"start": 6045,
"end": 6166
},
"autofill_i18n_api-no-constexpr-string/6099.patch": {
"start": 6099
Expand Down Expand Up @@ -68,7 +75,11 @@
"end": 6098
},
"blink-fix-structured-binding-declaration/6099.patch": {
"start": 6099
"start": 6099,
"end": 6166
},
"blink-fix-structured-binding-declaration/6167.patch": {
"start": 6167
},
"blink-font-constructor/5845.patch": {
"start": 5845
Expand Down Expand Up @@ -316,7 +327,11 @@
"end": 6098
},
"compiler-remove-unsupported-flags/6099.patch": {
"start": 6099
"start": 6099,
"end": 6166
},
"compiler-remove-unsupported-flags/6167.patch": {
"start": 6167
},
"compiler-use-android-target/4389.patch": {
"start": 4389,
Expand Down Expand Up @@ -445,7 +460,8 @@
"start": 5845
},
"partition_alloc-use-std_nullptr_t/6099.patch": {
"start": 6099
"start": 6099,
"end": 6166
},
"perfetto-no-android-jni/5359.patch": {
"start": 5359
Expand All @@ -463,6 +479,22 @@
"start": 4389,
"end": 4389
},
"remove-usage-vector-three_way_compare/6167.patch": {
"start": 6167
},
"remove-xorg-from-build-deps/6167.patch": {
"start": 6159,
"end": 6225
},
"resource_attribution-query_params-no-constexpr-operator-equal/6167.patch": {
"start": 6167
},
"revert-blink-v8-cxx20/6167.patch": {
"start": 6167
},
"revert-rust-qr-scanner/6167.patch": {
"start": 6167
},
"revert-split-out-ios-shared-feed-protos/5615.patch": {
"start": 5615,
"end": 5615
Expand Down Expand Up @@ -521,6 +553,9 @@
"unrar-no-lutimes/4389.patch": {
"start": 4389
},
"use-std_to_address-from-libcxx/6167.patch": {
"start": 6167
},
"v8-do-not-use-builtin-mul/5481.patch": {
"start": 5481
},
Expand Down Expand Up @@ -597,6 +632,9 @@
"y-loss_based_bwe_v2_config-constructor/6099.patch": {
"start": 6099
},
"y-mime_util_xdg-file_info-consturctor/6167.patch": {
"start": 6167
},
"y-race_network_request_info-constructor/6099.patch": {
"start": 6099
},
Expand All @@ -614,6 +652,9 @@
"start": 4961,
"end": 5005
},
"z-iwyu-blink-include-mutex/6167.patch": {
"start": 6167
},
"z-iwyu-blink-include-variant/5845.patch": {
"start": 5845,
"end": 5845
Expand Down Expand Up @@ -644,6 +685,15 @@
"start": 5735,
"end": 5844
},
"z-iwyu-crypto-hkdf-include-vector/6167.patch": {
"start": 6167
},
"z-iwyu-display_color_management-include-string/6167.patch": {
"start": 6167
},
"z-iwyu-gfx-include-bitset/6167.patch": {
"start": 6167
},
"z-iwyu-ipcz-include-memory/5938.patch": {
"start": 5938,
"end": 5992
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
In libcxx, three-way comparison operator <=> in std::vector is implemented since commit [1],
which is not landed in NDK r26, so remove this usage.

This reverts https://github.com/chromium/chromium/commit/0e55c3c70e8f492a83faa85e1af5053986c3167f.

[1]: https://github.com/llvm/llvm-project/commit/55ec808a889726e0547b7e2f0aa12bc197f6d163

--- a/base/containers/flat_tree.h
+++ b/base/containers/flat_tree.h
@@ -350,8 +350,24 @@
return lhs.body_ == rhs.body_;
}

- friend auto operator<=>(const flat_tree& lhs, const flat_tree& rhs) {
- return lhs.body_ <=> rhs.body_;
+ friend bool operator!=(const flat_tree& lhs, const flat_tree& rhs) {
+ return !(lhs == rhs);
+ }
+
+ friend bool operator<(const flat_tree& lhs, const flat_tree& rhs) {
+ return lhs.body_ < rhs.body_;
+ }
+
+ friend bool operator>(const flat_tree& lhs, const flat_tree& rhs) {
+ return rhs < lhs;
+ }
+
+ friend bool operator>=(const flat_tree& lhs, const flat_tree& rhs) {
+ return !(lhs < rhs);
+ }
+
+ friend bool operator<=(const flat_tree& lhs, const flat_tree& rhs) {
+ return !(lhs > rhs);
}

friend void swap(flat_tree& lhs, flat_tree& rhs) noexcept { lhs.swap(rhs); }
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
https://github.com/chromium/chromium/commit/062769f739bb91aedbeeb396e5db9d92dbcc7c0e

--- a/build/install-build-deps.py
+++ b/build/install-build-deps.py
@@ -374,7 +374,6 @@ def lib_list():
"libxrender1",
"libxtst6",
"x11-utils",
- "xorg", # TODO(crbug.com/1417069): Experimental.
"xvfb",
"zlib1g",
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
error: defaulted definition of equality comparison operator cannot be declared constexpr because it invokes a non-constexpr comparison function

--- a/components/performance_manager/resource_attribution/query_params.h
+++ b/components/performance_manager/resource_attribution/query_params.h
@@ -27,8 +27,7 @@
QueryParams(const QueryParams& other);
QueryParams& operator=(const QueryParams& other);

- friend constexpr bool operator==(const QueryParams&,
- const QueryParams&) = default;
+ friend bool operator==(const QueryParams&, const QueryParams&) = default;

// Individual resource contexts to measure.
std::set<ResourceContext> resource_contexts;
Loading

0 comments on commit 8d58ed6

Please sign in to comment.