parent
ce1821d821
commit
2f9dd6729b
@ -1,237 +0,0 @@
|
|||||||
diff -up chromium-107.0.5304.110/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification chromium-107.0.5304.110/remoting/host/mojom/remoting_mojom_traits.h
|
|
||||||
--- chromium-107.0.5304.110/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification 2022-11-20 19:56:00.897740616 +0100
|
|
||||||
+++ chromium-107.0.5304.110/remoting/host/mojom/remoting_mojom_traits.h 2022-11-21 09:21:47.967180137 +0100
|
|
||||||
@@ -42,7 +42,7 @@
|
|
||||||
namespace mojo {
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::BoolDataView, bool> {
|
|
||||||
+class StructTraits<remoting::mojom::BoolDataView, bool> {
|
|
||||||
public:
|
|
||||||
static bool value(bool value) { return value; }
|
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::FloatDataView, float> {
|
|
||||||
+class StructTraits<remoting::mojom::FloatDataView, float> {
|
|
||||||
public:
|
|
||||||
static float value(float value) { return value; }
|
|
||||||
|
|
||||||
@@ -64,7 +64,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::Int32DataView, int32_t> {
|
|
||||||
+class StructTraits<remoting::mojom::Int32DataView, int32_t> {
|
|
||||||
public:
|
|
||||||
static int32_t value(int32_t value) { return value; }
|
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::UInt32DataView, uint32_t> {
|
|
||||||
+class StructTraits<remoting::mojom::UInt32DataView, uint32_t> {
|
|
||||||
public:
|
|
||||||
static uint32_t value(uint32_t value) { return value; }
|
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::DesktopCaptureOptionsDataView,
|
|
||||||
+class StructTraits<remoting::mojom::DesktopCaptureOptionsDataView,
|
|
||||||
::webrtc::DesktopCaptureOptions> {
|
|
||||||
public:
|
|
||||||
static bool use_update_notifications(
|
|
||||||
@@ -113,7 +113,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::DesktopEnvironmentOptionsDataView,
|
|
||||||
+class StructTraits<remoting::mojom::DesktopEnvironmentOptionsDataView,
|
|
||||||
::remoting::DesktopEnvironmentOptions> {
|
|
||||||
public:
|
|
||||||
static bool enable_curtaining(
|
|
||||||
@@ -210,7 +210,7 @@ struct EnumTraits<remoting::mojom::Deskt
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::DesktopRectDataView,
|
|
||||||
+class StructTraits<remoting::mojom::DesktopRectDataView,
|
|
||||||
::webrtc::DesktopRect> {
|
|
||||||
public:
|
|
||||||
static int32_t left(const ::webrtc::DesktopRect& rect) { return rect.left(); }
|
|
||||||
@@ -230,7 +230,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::DesktopSizeDataView,
|
|
||||||
+class StructTraits<remoting::mojom::DesktopSizeDataView,
|
|
||||||
::webrtc::DesktopSize> {
|
|
||||||
public:
|
|
||||||
static int32_t width(const ::webrtc::DesktopSize& size) {
|
|
||||||
@@ -246,7 +246,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::DesktopVectorDataView,
|
|
||||||
+class StructTraits<remoting::mojom::DesktopVectorDataView,
|
|
||||||
::webrtc::DesktopVector> {
|
|
||||||
public:
|
|
||||||
static int32_t x(const ::webrtc::DesktopVector& vector) { return vector.x(); }
|
|
||||||
@@ -258,7 +258,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::MouseCursorDataView,
|
|
||||||
+class StructTraits<remoting::mojom::MouseCursorDataView,
|
|
||||||
::webrtc::MouseCursor> {
|
|
||||||
public:
|
|
||||||
static const webrtc::DesktopSize& image_size(
|
|
||||||
@@ -511,7 +511,7 @@ struct EnumTraits<remoting::mojom::Audio
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::AudioPacketDataView,
|
|
||||||
+class StructTraits<remoting::mojom::AudioPacketDataView,
|
|
||||||
::std::unique_ptr<::remoting::AudioPacket>> {
|
|
||||||
public:
|
|
||||||
static int32_t timestamp(
|
|
||||||
@@ -549,7 +549,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::ClipboardEventDataView,
|
|
||||||
+class StructTraits<remoting::mojom::ClipboardEventDataView,
|
|
||||||
::remoting::protocol::ClipboardEvent> {
|
|
||||||
public:
|
|
||||||
static const std::string& mime_type(
|
|
||||||
@@ -567,7 +567,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::UnionTraits<
|
|
||||||
+class UnionTraits<
|
|
||||||
remoting::mojom::ReadChunkResultDataView,
|
|
||||||
::remoting::Result<std::vector<uint8_t>,
|
|
||||||
::remoting::protocol::FileTransfer_Error>> {
|
|
||||||
@@ -606,7 +606,7 @@ class mojo::UnionTraits<
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::FileTransferErrorDataView,
|
|
||||||
+class StructTraits<remoting::mojom::FileTransferErrorDataView,
|
|
||||||
::remoting::protocol::FileTransfer_Error> {
|
|
||||||
public:
|
|
||||||
static ::remoting::protocol::FileTransfer_Error_Type type(
|
|
||||||
@@ -745,7 +745,7 @@ class mojo::UnionTraits<
|
|
||||||
#endif // BUILDFLAG(IS_WIN)
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::KeyboardLayoutDataView,
|
|
||||||
+class StructTraits<remoting::mojom::KeyboardLayoutDataView,
|
|
||||||
::remoting::protocol::KeyboardLayout> {
|
|
||||||
public:
|
|
||||||
static const ::google::protobuf::
|
|
||||||
@@ -759,7 +759,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::UnionTraits<remoting::mojom::KeyActionDataView,
|
|
||||||
+class UnionTraits<remoting::mojom::KeyActionDataView,
|
|
||||||
::remoting::protocol::KeyboardLayout_KeyAction> {
|
|
||||||
public:
|
|
||||||
static remoting::mojom::KeyActionDataView::Tag GetTag(
|
|
||||||
@@ -792,7 +792,7 @@ class mojo::UnionTraits<remoting::mojom:
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::KeyBehaviorDataView,
|
|
||||||
+class StructTraits<remoting::mojom::KeyBehaviorDataView,
|
|
||||||
::remoting::protocol::KeyboardLayout_KeyBehavior> {
|
|
||||||
public:
|
|
||||||
static const ::google::protobuf::Map<
|
|
||||||
@@ -1150,7 +1150,7 @@ struct EnumTraits<remoting::mojom::Layou
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::KeyEventDataView,
|
|
||||||
+class StructTraits<remoting::mojom::KeyEventDataView,
|
|
||||||
::remoting::protocol::KeyEvent> {
|
|
||||||
public:
|
|
||||||
static bool pressed(const ::remoting::protocol::KeyEvent& event) {
|
|
||||||
@@ -1186,7 +1186,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::MouseEventDataView,
|
|
||||||
+class StructTraits<remoting::mojom::MouseEventDataView,
|
|
||||||
::remoting::protocol::MouseEvent> {
|
|
||||||
public:
|
|
||||||
static absl::optional<int32_t> x(
|
|
||||||
@@ -1275,7 +1275,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::ScreenResolutionDataView,
|
|
||||||
+class StructTraits<remoting::mojom::ScreenResolutionDataView,
|
|
||||||
::remoting::ScreenResolution> {
|
|
||||||
public:
|
|
||||||
static const ::webrtc::DesktopSize& dimensions(
|
|
||||||
@@ -1293,7 +1293,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::TextEventDataView,
|
|
||||||
+class StructTraits<remoting::mojom::TextEventDataView,
|
|
||||||
::remoting::protocol::TextEvent> {
|
|
||||||
public:
|
|
||||||
static const std::string& text(const ::remoting::protocol::TextEvent& event) {
|
|
||||||
@@ -1305,7 +1305,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::TouchEventPointDataView,
|
|
||||||
+class StructTraits<remoting::mojom::TouchEventPointDataView,
|
|
||||||
::remoting::protocol::TouchEventPoint> {
|
|
||||||
public:
|
|
||||||
static uint32_t id(const ::remoting::protocol::TouchEventPoint& event) {
|
|
||||||
@@ -1382,7 +1382,7 @@ struct EnumTraits<remoting::mojom::Touch
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::TouchEventDataView,
|
|
||||||
+class StructTraits<remoting::mojom::TouchEventDataView,
|
|
||||||
::remoting::protocol::TouchEvent> {
|
|
||||||
public:
|
|
||||||
static ::remoting::protocol::TouchEvent::TouchEventType event_type(
|
|
||||||
@@ -1442,7 +1442,7 @@ struct EnumTraits<remoting::mojom::Trans
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::TransportRouteDataView,
|
|
||||||
+class StructTraits<remoting::mojom::TransportRouteDataView,
|
|
||||||
::remoting::protocol::TransportRoute> {
|
|
||||||
public:
|
|
||||||
static ::remoting::protocol::TransportRoute::RouteType type(
|
|
||||||
@@ -1589,7 +1589,7 @@ struct EnumTraits<remoting::mojom::Proto
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::VideoLayoutDataView,
|
|
||||||
+class StructTraits<remoting::mojom::VideoLayoutDataView,
|
|
||||||
::remoting::protocol::VideoLayout> {
|
|
||||||
public:
|
|
||||||
static const ::google::protobuf::RepeatedPtrField<
|
|
||||||
@@ -1608,7 +1608,7 @@ class mojo::StructTraits<remoting::mojom
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
-class mojo::StructTraits<remoting::mojom::VideoTrackLayoutDataView,
|
|
||||||
+class StructTraits<remoting::mojom::VideoTrackLayoutDataView,
|
|
||||||
::remoting::protocol::VideoTrackLayout> {
|
|
||||||
public:
|
|
||||||
static int64_t screen_id(
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up chromium-108.0.5359.124/content/public/common/content_features.cc.me chromium-108.0.5359.124/content/public/common/content_features.cc
|
|
||||||
--- chromium-108.0.5359.124/content/public/common/content_features.cc.me 2022-12-24 11:02:56.417773922 +0100
|
|
||||||
+++ chromium-108.0.5359.124/content/public/common/content_features.cc 2022-12-24 11:04:41.641696681 +0100
|
|
||||||
@@ -1479,7 +1479,7 @@ BASE_FEATURE(kRetryGetVideoCaptureDevice
|
|
||||||
// Wayland display server.
|
|
||||||
BASE_FEATURE(kWebRtcPipeWireCapturer,
|
|
||||||
"WebRTCPipeWireCapturer",
|
|
||||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
|
||||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
|
||||||
#endif // defined(WEBRTC_USE_PIPEWIRE)
|
|
||||||
|
|
||||||
enum class VideoCaptureServiceConfiguration {
|
|
@ -0,0 +1,41 @@
|
|||||||
|
From 3e1e86ac882ae0ce4b9ec50834a4ff8becd912ab Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Date: Mon, 19 Dec 2022 16:59:46 +0000
|
||||||
|
Subject: [PATCH] GCC: move pragmas in blink::CanvasResourceProvider
|
||||||
|
|
||||||
|
GCC does not allow using #pragma inside an enum.
|
||||||
|
|
||||||
|
Bug: 819294
|
||||||
|
Change-Id: I637b5a616b080d17bb719aae9ec8cf06d0f8c464
|
||||||
|
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4111848
|
||||||
|
Reviewed-by: Stephen Chenney <schenney@chromium.org>
|
||||||
|
Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Cr-Commit-Position: refs/heads/main@{#1084983}
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h
|
||||||
|
index e898397f..214ab01 100644
|
||||||
|
--- a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h
|
||||||
|
+++ b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h
|
||||||
|
@@ -68,6 +68,8 @@
|
||||||
|
public:
|
||||||
|
// These values are persisted to logs. Entries should not be renumbered and
|
||||||
|
// numeric values should never be reused.
|
||||||
|
+#pragma GCC diagnostic push
|
||||||
|
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||||
|
enum ResourceProviderType {
|
||||||
|
kTexture [[deprecated]] = 0,
|
||||||
|
kBitmap = 1,
|
||||||
|
@@ -79,11 +81,9 @@
|
||||||
|
kPassThrough = 7,
|
||||||
|
kSwapChain = 8,
|
||||||
|
kSkiaDawnSharedImage [[deprecated]] = 9,
|
||||||
|
-#pragma GCC diagnostic push
|
||||||
|
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||||
|
kMaxValue = kSkiaDawnSharedImage,
|
||||||
|
-#pragma GCC diagnostic pop
|
||||||
|
};
|
||||||
|
+#pragma GCC diagnostic pop
|
||||||
|
|
||||||
|
// The following parameters attempt to reach a compromise between not flushing
|
||||||
|
// too often, and not accumulating an unreasonable backlog. Flushing too
|
@ -0,0 +1,41 @@
|
|||||||
|
From b4e56d22275cae5a910463a966a96345430a83ea Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ivan Murashov <ivan.murashov@lge.com>
|
||||||
|
Date: Sat, 17 Dec 2022 12:06:01 +0000
|
||||||
|
Subject: [PATCH] libstdc++: Don't use const members in std::vector in password_manager::CredentialUIEntry
|
||||||
|
|
||||||
|
Otherwise build fails when building with use_custom_libcxx=false.
|
||||||
|
The error example:
|
||||||
|
std::vector must have a non-const, non-volatile value_type
|
||||||
|
|
||||||
|
Implementation of std::vector in libstdc++ does not allow const.
|
||||||
|
|
||||||
|
Bug: 957519
|
||||||
|
Change-Id: I089de2d52df25138d74dbf01fdf61d6301b4d871
|
||||||
|
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4111037
|
||||||
|
Reviewed-by: Mohamed Amir Yosef <mamir@chromium.org>
|
||||||
|
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
|
||||||
|
Cr-Commit-Position: refs/heads/main@{#1084697}
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/components/password_manager/core/browser/ui/credential_ui_entry.cc b/components/password_manager/core/browser/ui/credential_ui_entry.cc
|
||||||
|
index 1e0766a..a9a34f7 100644
|
||||||
|
--- a/components/password_manager/core/browser/ui/credential_ui_entry.cc
|
||||||
|
+++ b/components/password_manager/core/browser/ui/credential_ui_entry.cc
|
||||||
|
@@ -97,7 +97,7 @@
|
||||||
|
// For cases when the notes differ within grouped passwords (e.g: a
|
||||||
|
// credential exists in both account and profile stores), respective notes
|
||||||
|
// should be concatenated and linebreak used as a delimiter.
|
||||||
|
- std::vector<const std::u16string> notes_with_duplicates;
|
||||||
|
+ std::vector<std::u16string> notes_with_duplicates;
|
||||||
|
for (const auto& form : forms) {
|
||||||
|
// Only notes with an empty `unique_display_name` are supported in the
|
||||||
|
// settings UI.
|
||||||
|
@@ -109,7 +109,7 @@
|
||||||
|
}
|
||||||
|
auto unique_notes =
|
||||||
|
base::MakeFlatSet<std::u16string>(std::move(notes_with_duplicates));
|
||||||
|
- note = base::JoinString(std::vector<const std::u16string>(
|
||||||
|
+ note = base::JoinString(std::vector<std::u16string>(
|
||||||
|
unique_notes.begin(), unique_notes.end()),
|
||||||
|
u"\n");
|
||||||
|
|
@ -0,0 +1,37 @@
|
|||||||
|
From 795c311aae4b718585bc6194189f061000c823a1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Date: Fri, 23 Dec 2022 14:28:55 +0000
|
||||||
|
Subject: [PATCH] libstdc++: fix narrowing in blink::DarkModeLABColorSpace
|
||||||
|
|
||||||
|
Clang-14 errors out with narrowing from double to float. Use std::pow
|
||||||
|
instead.
|
||||||
|
---
|
||||||
|
.../renderer/platform/graphics/dark_mode_lab_color_space.h | 5 +++--
|
||||||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h b/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h
|
||||||
|
index 999c3e5..c18ea7b 100644
|
||||||
|
--- a/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h
|
||||||
|
+++ b/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h
|
||||||
|
@@ -125,7 +125,7 @@ class DarkModeLABColorSpace {
|
||||||
|
// https://en.wikipedia.org/wiki/CIELAB_color_space#Reverse_transformation.
|
||||||
|
SkV3 FromXYZ(const SkV3& v) const {
|
||||||
|
auto f = [](float x) {
|
||||||
|
- return x > kSigma3 ? pow(x, 1.0f / 3.0f)
|
||||||
|
+ return x > kSigma3 ? std::pow(x, 1.0f / 3.0f)
|
||||||
|
: x / (3 * kSigma2) + 4.0f / 29.0f;
|
||||||
|
};
|
||||||
|
|
||||||
|
@@ -145,7 +145,8 @@ class DarkModeLABColorSpace {
|
||||||
|
// https://en.wikipedia.org/wiki/CIELAB_color_space#Forward_transformation.
|
||||||
|
SkV3 ToXYZ(const SkV3& lab) const {
|
||||||
|
auto invf = [](float x) {
|
||||||
|
- return x > kSigma ? pow(x, 3.0f) : 3.0f * kSigma2 * (x - 4.0f / 29.0f);
|
||||||
|
+ return x > kSigma ? std::pow(x, 3.0f)
|
||||||
|
+ : 3.0f * kSigma2 * (x - 4.0f / 29.0f);
|
||||||
|
};
|
||||||
|
|
||||||
|
SkV3 v = {Clamp(lab.x, 0.0f, 100.0f), Clamp(lab.y, -128.0f, 128.0f),
|
||||||
|
--
|
||||||
|
2.38.2
|
||||||
|
|
@ -0,0 +1,30 @@
|
|||||||
|
From 63027c62eaa1b6c5b0d2762a511f1611b15d3728 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Date: Mon, 19 Dec 2022 13:56:17 +0000
|
||||||
|
Subject: [PATCH] libstdc++: fix incomplete type of download::InProgressDownloadManager
|
||||||
|
|
||||||
|
Destructor of std::unique_ptr in libstdc++ uses sizeof() which
|
||||||
|
requires full definition of download::InProgressDownloadManager
|
||||||
|
for return type of content::BrowserContext::
|
||||||
|
RetrieveInProgressDownloadManager().
|
||||||
|
|
||||||
|
Bug: 957519
|
||||||
|
Change-Id: If99aa8d52238bacb1cb559a300e14ed3a05b7297
|
||||||
|
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4111526
|
||||||
|
Reviewed-by: Bo Liu <boliu@chromium.org>
|
||||||
|
Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Cr-Commit-Position: refs/heads/main@{#1084924}
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/content/browser/browser_context.cc b/content/browser/browser_context.cc
|
||||||
|
index 6180969..22e9dbb 100644
|
||||||
|
--- a/content/browser/browser_context.cc
|
||||||
|
+++ b/content/browser/browser_context.cc
|
||||||
|
@@ -30,6 +30,7 @@
|
||||||
|
#include "base/unguessable_token.h"
|
||||||
|
#include "build/build_config.h"
|
||||||
|
#include "build/chromeos_buildflags.h"
|
||||||
|
+#include "components/download/public/common/in_progress_download_manager.h"
|
||||||
|
#include "components/services/storage/privileged/mojom/indexed_db_control.mojom.h"
|
||||||
|
#include "content/browser/blob_storage/chrome_blob_storage_context.h"
|
||||||
|
#include "content/browser/browser_context_impl.h"
|
@ -0,0 +1,29 @@
|
|||||||
|
From 07f0a87e4409f27854b3a1d17f270a3497f38947 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Date: Mon, 19 Dec 2022 19:07:37 +0000
|
||||||
|
Subject: [PATCH] GCC: use fabsf in ui::NativeThemeBase::OutlineColor
|
||||||
|
|
||||||
|
Template deduction fails for base::clamp, because return type of
|
||||||
|
fabs is double and all other parameters are float.
|
||||||
|
|
||||||
|
Bug: 819294
|
||||||
|
Change-Id: I34f1c9c99d13f69097d899bfcb0526cbdf4fe1c1
|
||||||
|
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4110869
|
||||||
|
Reviewed-by: Peter Kasting <pkasting@chromium.org>
|
||||||
|
Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Cr-Commit-Position: refs/heads/main@{#1085034}
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/ui/native_theme/native_theme_base.cc b/ui/native_theme/native_theme_base.cc
|
||||||
|
index 169c60c..36db49a 100644
|
||||||
|
--- a/ui/native_theme/native_theme_base.cc
|
||||||
|
+++ b/ui/native_theme/native_theme_base.cc
|
||||||
|
@@ -1336,7 +1336,7 @@
|
||||||
|
// The following code has been tested to look OK with all of the
|
||||||
|
// default GTK themes.
|
||||||
|
SkScalar min_diff = base::clamp((hsv1[1] + hsv2[1]) * 1.2f, 0.28f, 0.5f);
|
||||||
|
- SkScalar diff = base::clamp(fabs(hsv1[2] - hsv2[2]) / 2, min_diff, 0.5f);
|
||||||
|
+ SkScalar diff = base::clamp(fabsf(hsv1[2] - hsv2[2]) / 2, min_diff, 0.5f);
|
||||||
|
|
||||||
|
if (hsv1[2] + hsv2[2] > 1.0)
|
||||||
|
diff = -diff;
|
@ -0,0 +1,26 @@
|
|||||||
|
From c69b818a9fce2bf0fb81b280d6f4cc15e6fdb8af Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Date: Fri, 16 Dec 2022 17:13:43 +0000
|
||||||
|
Subject: [PATCH] GCC: fix incomplete type of gl::Presenter
|
||||||
|
|
||||||
|
GCC requires full definition of gl::Presenter for return type
|
||||||
|
of gl::GLOzoneEGL::CreateGLContext() with base::scoped_refptr.
|
||||||
|
---
|
||||||
|
ui/ozone/common/gl_ozone_egl.cc | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/ui/ozone/common/gl_ozone_egl.cc b/ui/ozone/common/gl_ozone_egl.cc
|
||||||
|
index 9b1d37e..e745dd7 100644
|
||||||
|
--- a/ui/ozone/common/gl_ozone_egl.cc
|
||||||
|
+++ b/ui/ozone/common/gl_ozone_egl.cc
|
||||||
|
@@ -13,6 +13,7 @@
|
||||||
|
#include "ui/gl/gl_share_group.h"
|
||||||
|
#include "ui/gl/gl_surface.h"
|
||||||
|
#include "ui/gl/gl_utils.h"
|
||||||
|
+#include "ui/gl/presenter.h"
|
||||||
|
|
||||||
|
namespace ui {
|
||||||
|
|
||||||
|
--
|
||||||
|
2.37.4
|
||||||
|
|
@ -0,0 +1,74 @@
|
|||||||
|
From 200fc7c3ec95bc86f6afb55ca3c691e923463104 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Leonid Baraz <lbaraz@chromium.org>
|
||||||
|
Date: Mon, 19 Dec 2022 21:46:04 +0000
|
||||||
|
Subject: [PATCH] GCC: fix usage of decltype in reporting::StorageQueue
|
||||||
|
|
||||||
|
GCC does not allow to use decltype for the default value of
|
||||||
|
a function parameter.
|
||||||
|
|
||||||
|
Bug: 819294
|
||||||
|
Change-Id: I7ebb255634375ce889933f8b67acb10f0e56ca8d
|
||||||
|
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4111548
|
||||||
|
Reviewed-by: Leonid Baraz <lbaraz@chromium.org>
|
||||||
|
Commit-Queue: Leonid Baraz <lbaraz@chromium.org>
|
||||||
|
Reviewed-by: Hong Xu <xuhong@google.com>
|
||||||
|
Cr-Commit-Position: refs/heads/main@{#1085129}
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/components/reporting/storage/storage_queue.cc b/components/reporting/storage/storage_queue.cc
|
||||||
|
index c546d55a..49e0f2c 100644
|
||||||
|
--- a/components/reporting/storage/storage_queue.cc
|
||||||
|
+++ b/components/reporting/storage/storage_queue.cc
|
||||||
|
@@ -203,7 +203,6 @@
|
||||||
|
encryption_module_(encryption_module),
|
||||||
|
compression_module_(compression_module) {
|
||||||
|
DETACH_FROM_SEQUENCE(storage_queue_sequence_checker_);
|
||||||
|
- DCHECK(write_contexts_queue_.empty());
|
||||||
|
}
|
||||||
|
|
||||||
|
StorageQueue::~StorageQueue() {
|
||||||
|
@@ -2133,9 +2132,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
void StorageQueue::TestInjectErrorsForOperation(
|
||||||
|
- base::RepeatingCallback<
|
||||||
|
- Status(test::StorageQueueOperationKind operation_kind, int64_t)>
|
||||||
|
- handler) {
|
||||||
|
+ test::ErrorInjectionHandlerType handler) {
|
||||||
|
test_injection_handler_ = handler;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/components/reporting/storage/storage_queue.h b/components/reporting/storage/storage_queue.h
|
||||||
|
index 39edd8b..04d5f9f 100644
|
||||||
|
--- a/components/reporting/storage/storage_queue.h
|
||||||
|
+++ b/components/reporting/storage/storage_queue.h
|
||||||
|
@@ -52,6 +52,9 @@
|
||||||
|
kWriteLowDiskSpace,
|
||||||
|
};
|
||||||
|
|
||||||
|
+using ErrorInjectionHandlerType =
|
||||||
|
+ base::RepeatingCallback<Status(test::StorageQueueOperationKind, int64_t)>;
|
||||||
|
+
|
||||||
|
} // namespace test
|
||||||
|
|
||||||
|
// Storage queue represents single queue of data to be collected and stored
|
||||||
|
@@ -142,8 +145,7 @@
|
||||||
|
// can be returned as a resulting operation status too.
|
||||||
|
// If `handler` is null, error injections is disabled.
|
||||||
|
void TestInjectErrorsForOperation(
|
||||||
|
- base::RepeatingCallback<Status(test::StorageQueueOperationKind, int64_t)>
|
||||||
|
- handler = decltype(handler)());
|
||||||
|
+ test::ErrorInjectionHandlerType handler = base::NullCallback());
|
||||||
|
|
||||||
|
// Access queue options.
|
||||||
|
const QueueOptions& options() const { return options_; }
|
||||||
|
@@ -492,8 +494,7 @@
|
||||||
|
// Test only: records callback to be invoked. It will be called with operation
|
||||||
|
// kind and seq id, and will return Status (non-OK status indicates the
|
||||||
|
// failure to be injected). In production code must be null.
|
||||||
|
- base::RepeatingCallback<Status(test::StorageQueueOperationKind, int64_t)>
|
||||||
|
- test_injection_handler_;
|
||||||
|
+ test::ErrorInjectionHandlerType test_injection_handler_{base::NullCallback()};
|
||||||
|
|
||||||
|
// Weak pointer factory (must be last member in class).
|
||||||
|
base::WeakPtrFactory<StorageQueue> weakptr_factory_{this};
|
@ -0,0 +1,28 @@
|
|||||||
|
From da8029438ea8f00a154cb6a1bbc8243de39690de Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Date: Sun, 18 Dec 2022 22:11:58 +0000
|
||||||
|
Subject: [PATCH] GCC: remove redundant template parameter from SyncIterator
|
||||||
|
|
||||||
|
GCC 12 in C++20 mode does not allow this anymore.
|
||||||
|
|
||||||
|
Bug: 819294
|
||||||
|
Change-Id: I6b22d3919f08fb72a5b1d69eea59c6e95259c16f
|
||||||
|
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4111547
|
||||||
|
Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Reviewed-by: Kentaro Hara <haraken@chromium.org>
|
||||||
|
Cr-Commit-Position: refs/heads/main@{#1084808}
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/sync_iterator.py b/third_party/blink/renderer/bindings/scripts/bind_gen/sync_iterator.py
|
||||||
|
index 1d67fa2..9cec5094 100644
|
||||||
|
--- a/third_party/blink/renderer/bindings/scripts/bind_gen/sync_iterator.py
|
||||||
|
+++ b/third_party/blink/renderer/bindings/scripts/bind_gen/sync_iterator.py
|
||||||
|
@@ -36,7 +36,7 @@
|
||||||
|
member_initializer_list=[
|
||||||
|
"${base_class_name}(source, kind)",
|
||||||
|
]),
|
||||||
|
- CxxFuncDeclNode(name="~${class_name}",
|
||||||
|
+ CxxFuncDeclNode(name="~SyncIterator",
|
||||||
|
arg_decls=[],
|
||||||
|
return_type="",
|
||||||
|
override=True,
|
@ -0,0 +1,94 @@
|
|||||||
|
From df728d2e2fe8284316ed083c5a210bca1e50986e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jose Dapena Paz <jdapena@igalia.com>
|
||||||
|
Date: Mon, 16 Jan 2023 12:53:21 +0100
|
||||||
|
Subject: [PATCH] GCC: fix distributed point functions build in ARM64 with SVE
|
||||||
|
|
||||||
|
SVE build is broken in ARM64, because distributed_point_functions
|
||||||
|
is trying to use operator& and operator|.
|
||||||
|
|
||||||
|
Bug:819294
|
||||||
|
Change-Id: I465efa475ed59031a2cfaf4172ef9fbd8bb05050
|
||||||
|
---
|
||||||
|
dpf/internal/evaluate_prg_hwy.cc | 34 ++++++++++++++------------------
|
||||||
|
1 file changed, 15 insertions(+), 19 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/dpf/internal/evaluate_prg_hwy.cc b/dpf/internal/evaluate_prg_hwy.cc
|
||||||
|
index 3d743f4..a1dd8e0 100644
|
||||||
|
--- a//third_party/distributed_point_functions/code/dpf/internal/evaluate_prg_hwy.cc
|
||||||
|
+++ b//third_party/distributed_point_functions/code/dpf/internal/evaluate_prg_hwy.cc
|
||||||
|
@@ -124,14 +124,14 @@ auto IsBitSet(D d, const V input, int index) {
|
||||||
|
|
||||||
|
// Compute input AND index_64 on 64-bit integers.
|
||||||
|
auto input_64 = hn::BitCast(d64, input);
|
||||||
|
- input_64 &= index_64;
|
||||||
|
+ input_64 = hn::And(input_64, index_64);
|
||||||
|
|
||||||
|
// Take the OR of every two adjacent 64-bit integers. This ensures that each
|
||||||
|
// half of an 128-bit block is nonzero iff at least one half was nonzero.
|
||||||
|
- input_64 |= hn::Shuffle01(input_64);
|
||||||
|
+ input_64 = hn::Or(input_64, hn::Shuffle01(input_64));
|
||||||
|
|
||||||
|
// Compute a 64-bit mask that checks which integers are nonzero.
|
||||||
|
- return input_64 != hn::Zero(d64);
|
||||||
|
+ return hn::Ne(input_64, hn::Zero(d64));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dummy struct to get HWY_ALIGN as a number, for testing if an array of
|
||||||
|
@@ -236,24 +236,20 @@ absl::Status EvaluateSeedsHwy(
|
||||||
|
// Apply correction.
|
||||||
|
const auto correction_seed = hn::LoadDup128(
|
||||||
|
d64, reinterpret_cast<const uint64_t*>(correction_seeds + j));
|
||||||
|
- vec_0 ^=
|
||||||
|
- hn::BitCast(d8, hn::IfThenElseZero(control_mask_0, correction_seed));
|
||||||
|
- vec_1 ^=
|
||||||
|
- hn::BitCast(d8, hn::IfThenElseZero(control_mask_1, correction_seed));
|
||||||
|
- vec_2 ^=
|
||||||
|
- hn::BitCast(d8, hn::IfThenElseZero(control_mask_2, correction_seed));
|
||||||
|
- vec_3 ^=
|
||||||
|
- hn::BitCast(d8, hn::IfThenElseZero(control_mask_3, correction_seed));
|
||||||
|
+ vec_0 = hn::Xor(vec_0, hn::BitCast(d8, hn::IfThenElseZero(control_mask_0, correction_seed)));
|
||||||
|
+ vec_1 = hn::Xor(vec_1, hn::BitCast(d8, hn::IfThenElseZero(control_mask_1, correction_seed)));
|
||||||
|
+ vec_2 = hn::Xor(vec_2, hn::BitCast(d8, hn::IfThenElseZero(control_mask_2, correction_seed)));
|
||||||
|
+ vec_3 = hn::Xor(vec_3, hn::BitCast(d8, hn::IfThenElseZero(control_mask_3, correction_seed)));
|
||||||
|
|
||||||
|
// Extract control bit for next level.
|
||||||
|
const auto next_control_mask_0 = IsBitSet(d8, vec_0, 0);
|
||||||
|
const auto next_control_mask_1 = IsBitSet(d8, vec_1, 0);
|
||||||
|
const auto next_control_mask_2 = IsBitSet(d8, vec_2, 0);
|
||||||
|
const auto next_control_mask_3 = IsBitSet(d8, vec_3, 0);
|
||||||
|
- vec_0 &= clear_lowest_bit;
|
||||||
|
- vec_1 &= clear_lowest_bit;
|
||||||
|
- vec_2 &= clear_lowest_bit;
|
||||||
|
- vec_3 &= clear_lowest_bit;
|
||||||
|
+ vec_0 = hn::And(vec_0, clear_lowest_bit);
|
||||||
|
+ vec_1 = hn::And(vec_1, clear_lowest_bit);
|
||||||
|
+ vec_2 = hn::And(vec_2, clear_lowest_bit);
|
||||||
|
+ vec_3 = hn::And(vec_3, clear_lowest_bit);
|
||||||
|
|
||||||
|
// Perform control bit correction.
|
||||||
|
const auto correction_control_mask_left =
|
||||||
|
@@ -321,10 +317,10 @@ absl::Status EvaluateSeedsHwy(
|
||||||
|
// Apply correction.
|
||||||
|
const auto correction_seed = hn::LoadDup128(
|
||||||
|
d64, reinterpret_cast<const uint64_t*>(correction_seeds + j));
|
||||||
|
- vec ^= hn::BitCast(d8, hn::IfThenElseZero(control_mask, correction_seed));
|
||||||
|
+ vec = hn::Xor(vec, hn::BitCast(d8, hn::IfThenElseZero(control_mask, correction_seed)));
|
||||||
|
// Extract control bit for next level.
|
||||||
|
const auto next_control_mask = IsBitSet(d8, vec, 0);
|
||||||
|
- vec &= clear_lowest_bit;
|
||||||
|
+ vec = hn::And(vec, clear_lowest_bit);
|
||||||
|
|
||||||
|
// Perform control bit correction.
|
||||||
|
const auto correction_control_mask_left =
|
||||||
|
@@ -376,9 +372,9 @@ absl::Status EvaluateSeedsHwy(
|
||||||
|
// Perform seed correction.
|
||||||
|
const auto correction_seed = hn::LoadDup128(
|
||||||
|
d64, reinterpret_cast<const uint64_t*>(correction_seeds + j));
|
||||||
|
- vec ^= hn::BitCast(d8, hn::IfThenElseZero(control_mask, correction_seed));
|
||||||
|
+ vec = hn::Xor(vec, hn::BitCast(d8, hn::IfThenElseZero(control_mask, correction_seed)));
|
||||||
|
const auto next_control_mask = IsBitSet(d8, vec, 0);
|
||||||
|
- vec &= clear_lowest_bit;
|
||||||
|
+ vec = hn::And(vec, clear_lowest_bit);
|
||||||
|
const auto correction_control_mask_left =
|
||||||
|
correction_controls_left[j] ? mask_all_one : mask_all_zero;
|
||||||
|
const auto correction_control_mask_right =
|
@ -0,0 +1,28 @@
|
|||||||
|
From 3084e834a211e85f6a17e6f8dceb6b44117211d2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Date: Wed, 21 Dec 2022 19:22:46 +0000
|
||||||
|
Subject: [PATCH] GCC: fix conflicting type for kCustomizeChromeColors
|
||||||
|
|
||||||
|
GCC cannot match auto with previous declaration.
|
||||||
|
|
||||||
|
Bug: 819294
|
||||||
|
Change-Id: Ie648daaf264fb2ea177ac46c8a510d481f6fa2f4
|
||||||
|
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4110870
|
||||||
|
Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
|
||||||
|
Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Cr-Commit-Position: refs/heads/main@{#1086011}
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_colors.cc b/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_colors.cc
|
||||||
|
index 2fccadb..383c9e5 100644
|
||||||
|
--- a/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_colors.cc
|
||||||
|
+++ b/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_colors.cc
|
||||||
|
@@ -31,5 +31,6 @@
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
-const auto kCustomizeChromeColors = MakeCustomizeChromeColors(
|
||||||
|
- std::make_index_sequence<std::size(kCustomizeChromeColorIds)>{});
|
||||||
|
+const decltype(kCustomizeChromeColors) kCustomizeChromeColors =
|
||||||
|
+ MakeCustomizeChromeColors(
|
||||||
|
+ std::make_index_sequence<std::size(kCustomizeChromeColorIds)>{});
|
@ -0,0 +1,31 @@
|
|||||||
|
From bd3af998439424886c641279b6f9bb6e950c7142 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Date: Sun, 18 Dec 2022 16:12:29 +0000
|
||||||
|
Subject: [PATCH] GCC: make raw_ptr::operator bool constexpr
|
||||||
|
|
||||||
|
Required because autofill::internal::FormForest uses it in
|
||||||
|
a constexpr method.
|
||||||
|
|
||||||
|
Bug: 819294
|
||||||
|
Change-Id: Ib2258c9d98c2e7f88ad192b517b487f834a87481
|
||||||
|
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4110924
|
||||||
|
Reviewed-by: Bartek Nowierski <bartekn@chromium.org>
|
||||||
|
Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Cr-Commit-Position: refs/heads/main@{#1084785}
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/base/memory/raw_ptr.h b/base/memory/raw_ptr.h
|
||||||
|
index 4191f0e..a22f64b7 100644
|
||||||
|
--- a/base/memory/raw_ptr.h
|
||||||
|
+++ b/base/memory/raw_ptr.h
|
||||||
|
@@ -1301,7 +1301,9 @@
|
||||||
|
// possible, so use it only if absolutely necessary (e.g. for const_cast).
|
||||||
|
PA_ALWAYS_INLINE T* get() const { return GetForExtraction(); }
|
||||||
|
|
||||||
|
- explicit PA_ALWAYS_INLINE operator bool() const { return !!wrapped_ptr_; }
|
||||||
|
+ constexpr explicit PA_ALWAYS_INLINE operator bool() const {
|
||||||
|
+ return !!wrapped_ptr_;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
template <typename U = T,
|
||||||
|
typename Unused = std::enable_if_t<
|
@ -0,0 +1,34 @@
|
|||||||
|
From 740d1102e3fdaaed5441b5656205df9d7e422c3a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Date: Tue, 20 Dec 2022 20:41:12 +0000
|
||||||
|
Subject: [PATCH] GCC: add cast for vector types in url/url_canon_internal.cc
|
||||||
|
|
||||||
|
GCC requires lax vector conversion for converting __vector(16) to
|
||||||
|
SIMD types. Add explicit cast instead.
|
||||||
|
|
||||||
|
Bug: 819294
|
||||||
|
Change-Id: Icfc9d3586350af469bfd9d83b355d94806430c43
|
||||||
|
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4110786
|
||||||
|
Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
|
||||||
|
Cr-Commit-Position: refs/heads/main@{#1085617}
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/url/url_canon_internal.cc b/url/url_canon_internal.cc
|
||||||
|
index e4f7949..f621920 100644
|
||||||
|
--- a/url/url_canon_internal.cc
|
||||||
|
+++ b/url/url_canon_internal.cc
|
||||||
|
@@ -49,11 +49,11 @@
|
||||||
|
auto mask = b >= 0x24 && b <= 0x7e && b != 0x27 && b != 0x3c && b != 0x3e;
|
||||||
|
|
||||||
|
#ifdef __SSE2__
|
||||||
|
- if (_mm_movemask_epi8(mask) != 0xffff) {
|
||||||
|
+ if (_mm_movemask_epi8(reinterpret_cast<__m128i>(mask)) != 0xffff) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
- if (vminvq_u8(mask) == 0) {
|
||||||
|
+ if (vminvq_u8(reinterpret_cast<uint8x16_t>(mask)) == 0) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
#endif
|
@ -0,0 +1,33 @@
|
|||||||
|
From 15d123009b7e987e946309cd5724ae17f376bd16 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Date: Sun, 18 Dec 2022 16:26:02 +0100
|
||||||
|
Subject: [PATCH] GCC: fix selection of IMMEDIATE_CRASH
|
||||||
|
|
||||||
|
immediate_crash.h still uses V8_CC_GCC define to determine which
|
||||||
|
IMMEDIATE_CRASH macro is used. This should be V8_CC_GNU instead.
|
||||||
|
Otherwise weird compile errors are happening with turboshaft.
|
||||||
|
|
||||||
|
Bug: chromium:819294
|
||||||
|
Change-Id: Id77fe7406ae16a804e1e466844f81d6c728ec008
|
||||||
|
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4111849
|
||||||
|
Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
|
||||||
|
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
|
||||||
|
Cr-Commit-Position: refs/heads/main@{#84923}
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/src/base/immediate-crash.h b/src/base/immediate-crash.h
|
||||||
|
index 770cb27..ce6240b 100644
|
||||||
|
--- a/v8/src/base/immediate-crash.h
|
||||||
|
+++ b/v8/src/base/immediate-crash.h
|
||||||
|
@@ -140,9 +140,9 @@
|
||||||
|
[] { TRAP_SEQUENCE_(); }(); \
|
||||||
|
} while (false)
|
||||||
|
|
||||||
|
-#endif // !V8_CC_GCC
|
||||||
|
+#endif // !V8_CC_GNU
|
||||||
|
|
||||||
|
-#if defined(__clang__) || V8_CC_GCC
|
||||||
|
+#if defined(__clang__) || V8_CC_GNU
|
||||||
|
|
||||||
|
// __builtin_unreachable() hints to the compiler that this is noreturn and can
|
||||||
|
// be packed in the function epilogue.
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,198 @@
|
|||||||
|
From 916641c08de44e0a915df223d55781c6c912717c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nikolaos Papaspyrou <nikolaos@chromium.org>
|
||||||
|
Date: Thu, 19 Jan 2023 13:43:10 +0100
|
||||||
|
Subject: [PATCH] [heap] Move the Stack object from ThreadLocalTop to Isolate
|
||||||
|
|
||||||
|
Stack information is thread-specific and, until now, it was stored in a
|
||||||
|
field in ThreadLocalTop. This CL moves stack information to the isolate
|
||||||
|
and makes sure to update the stack start whenever a main thread enters
|
||||||
|
the isolate. At the same time, the Stack object is refactored and
|
||||||
|
simplified.
|
||||||
|
|
||||||
|
As a side effect, after removing the Stack object, ThreadLocalTop
|
||||||
|
satisfies the std::standard_layout trait; this fixes some issues
|
||||||
|
observed with different C++ compilers.
|
||||||
|
|
||||||
|
Bug: v8:13630
|
||||||
|
Bug: v8:13257
|
||||||
|
Change-Id: I026a35af3bc6999a09b21f277756d4454c086343
|
||||||
|
|
||||||
|
(stripped tests)
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/src/execution/isolate.cc b/src/execution/isolate.cc
|
||||||
|
index 31536a1..22b8492 100644
|
||||||
|
--- a/v8/src/execution/isolate.cc
|
||||||
|
+++ b/v8/src/execution/isolate.cc
|
||||||
|
@@ -3069,21 +3069,23 @@
|
||||||
|
void Isolate::RecordStackSwitchForScanning() {
|
||||||
|
Object current = root(RootIndex::kActiveContinuation);
|
||||||
|
DCHECK(!current.IsUndefined());
|
||||||
|
- thread_local_top()->stack_.ClearStackSegments();
|
||||||
|
- wasm::StackMemory* stack = Managed<wasm::StackMemory>::cast(
|
||||||
|
- WasmContinuationObject::cast(current).stack())
|
||||||
|
- .get()
|
||||||
|
- .get();
|
||||||
|
+ stack().ClearStackSegments();
|
||||||
|
+ wasm::StackMemory* wasm_stack =
|
||||||
|
+ Managed<wasm::StackMemory>::cast(
|
||||||
|
+ WasmContinuationObject::cast(current).stack())
|
||||||
|
+ .get()
|
||||||
|
+ .get();
|
||||||
|
current = WasmContinuationObject::cast(current).parent();
|
||||||
|
- heap()->SetStackStart(reinterpret_cast<void*>(stack->base()));
|
||||||
|
+ heap()->SetStackStart(reinterpret_cast<void*>(wasm_stack->base()));
|
||||||
|
// We don't need to add all inactive stacks. Only the ones in the active chain
|
||||||
|
// may contain cpp heap pointers.
|
||||||
|
while (!current.IsUndefined()) {
|
||||||
|
auto cont = WasmContinuationObject::cast(current);
|
||||||
|
- auto* stack = Managed<wasm::StackMemory>::cast(cont.stack()).get().get();
|
||||||
|
- thread_local_top()->stack_.AddStackSegment(
|
||||||
|
- reinterpret_cast<const void*>(stack->base()),
|
||||||
|
- reinterpret_cast<const void*>(stack->jmpbuf()->sp));
|
||||||
|
+ auto* wasm_stack =
|
||||||
|
+ Managed<wasm::StackMemory>::cast(cont.stack()).get().get();
|
||||||
|
+ stack().AddStackSegment(
|
||||||
|
+ reinterpret_cast<const void*>(wasm_stack->base()),
|
||||||
|
+ reinterpret_cast<const void*>(wasm_stack->jmpbuf()->sp));
|
||||||
|
current = cont.parent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -3371,23 +3373,13 @@
|
||||||
|
Isolate* saved_isolate = isolate->TryGetCurrent();
|
||||||
|
SetIsolateThreadLocals(isolate, nullptr);
|
||||||
|
isolate->set_thread_id(ThreadId::Current());
|
||||||
|
- if (saved_isolate) {
|
||||||
|
- isolate->thread_local_top()->stack_ =
|
||||||
|
- std::move(saved_isolate->thread_local_top()->stack_);
|
||||||
|
- } else {
|
||||||
|
- isolate->heap()->SetStackStart(base::Stack::GetStackStart());
|
||||||
|
- }
|
||||||
|
+ isolate->heap()->SetStackStart(base::Stack::GetStackStart());
|
||||||
|
|
||||||
|
bool owns_shared_isolate = isolate->owns_shared_isolate_;
|
||||||
|
Isolate* maybe_shared_isolate = isolate->shared_isolate_;
|
||||||
|
|
||||||
|
isolate->Deinit();
|
||||||
|
|
||||||
|
- // Restore the saved isolate's stack.
|
||||||
|
- if (saved_isolate)
|
||||||
|
- saved_isolate->thread_local_top()->stack_ =
|
||||||
|
- std::move(isolate->thread_local_top()->stack_);
|
||||||
|
-
|
||||||
|
#ifdef DEBUG
|
||||||
|
non_disposed_isolates_--;
|
||||||
|
#endif // DEBUG
|
||||||
|
@@ -4652,6 +4644,10 @@
|
||||||
|
void Isolate::Enter() {
|
||||||
|
Isolate* current_isolate = nullptr;
|
||||||
|
PerIsolateThreadData* current_data = CurrentPerIsolateThreadData();
|
||||||
|
+
|
||||||
|
+ // Set the stack start for the main thread that enters the isolate.
|
||||||
|
+ heap()->SetStackStart(base::Stack::GetStackStart());
|
||||||
|
+
|
||||||
|
if (current_data != nullptr) {
|
||||||
|
current_isolate = current_data->isolate_;
|
||||||
|
DCHECK_NOT_NULL(current_isolate);
|
||||||
|
diff --git a/src/execution/isolate.h b/src/execution/isolate.h
|
||||||
|
index afc3d0b..415e476 100644
|
||||||
|
--- a/v8/src/execution/isolate.h
|
||||||
|
+++ b/v8/src/execution/isolate.h
|
||||||
|
@@ -32,6 +32,7 @@
|
||||||
|
#include "src/execution/stack-guard.h"
|
||||||
|
#include "src/handles/handles.h"
|
||||||
|
#include "src/handles/traced-handles.h"
|
||||||
|
+#include "src/heap/base/stack.h"
|
||||||
|
#include "src/heap/factory.h"
|
||||||
|
#include "src/heap/heap.h"
|
||||||
|
#include "src/heap/read-only-heap.h"
|
||||||
|
@@ -2028,6 +2029,8 @@
|
||||||
|
SimulatorData* simulator_data() { return simulator_data_; }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+ ::heap::base::Stack& stack() { return stack_; }
|
||||||
|
+
|
||||||
|
#ifdef V8_ENABLE_WEBASSEMBLY
|
||||||
|
wasm::StackMemory*& wasm_stacks() { return wasm_stacks_; }
|
||||||
|
// Update the thread local's Stack object so that it is aware of the new stack
|
||||||
|
@@ -2526,6 +2529,9 @@
|
||||||
|
// The mutex only guards adding pages, the retrieval is signal safe.
|
||||||
|
base::Mutex code_pages_mutex_;
|
||||||
|
|
||||||
|
+ // Stack information for the main thread.
|
||||||
|
+ ::heap::base::Stack stack_;
|
||||||
|
+
|
||||||
|
#ifdef V8_ENABLE_WEBASSEMBLY
|
||||||
|
wasm::StackMemory* wasm_stacks_;
|
||||||
|
#endif
|
||||||
|
diff --git a/src/execution/thread-local-top.cc b/src/execution/thread-local-top.cc
|
||||||
|
index c115ae0..05cc20b 100644
|
||||||
|
--- a/v8/src/execution/thread-local-top.cc
|
||||||
|
+++ b/v8/src/execution/thread-local-top.cc
|
||||||
|
@@ -37,7 +37,6 @@
|
||||||
|
current_embedder_state_ = nullptr;
|
||||||
|
failed_access_check_callback_ = nullptr;
|
||||||
|
thread_in_wasm_flag_address_ = kNullAddress;
|
||||||
|
- stack_ = ::heap::base::Stack();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ThreadLocalTop::Initialize(Isolate* isolate) {
|
||||||
|
@@ -45,12 +44,8 @@
|
||||||
|
isolate_ = isolate;
|
||||||
|
thread_id_ = ThreadId::Current();
|
||||||
|
#if V8_ENABLE_WEBASSEMBLY
|
||||||
|
- stack_.SetStackStart(base::Stack::GetStackStart(),
|
||||||
|
- v8_flags.experimental_wasm_stack_switching);
|
||||||
|
thread_in_wasm_flag_address_ = reinterpret_cast<Address>(
|
||||||
|
trap_handler::GetThreadInWasmThreadLocalAddress());
|
||||||
|
-#else
|
||||||
|
- stack_.SetStackStart(base::Stack::GetStackStart(), false);
|
||||||
|
#endif // V8_ENABLE_WEBASSEMBLY
|
||||||
|
#ifdef USE_SIMULATOR
|
||||||
|
simulator_ = Simulator::current(isolate);
|
||||||
|
diff --git a/src/execution/thread-local-top.h b/src/execution/thread-local-top.h
|
||||||
|
index 43fec0a..989c817 100644
|
||||||
|
--- a/v8/src/execution/thread-local-top.h
|
||||||
|
+++ b/v8/src/execution/thread-local-top.h
|
||||||
|
@@ -10,7 +10,6 @@
|
||||||
|
#include "include/v8-unwinder.h"
|
||||||
|
#include "src/common/globals.h"
|
||||||
|
#include "src/execution/thread-id.h"
|
||||||
|
-#include "src/heap/base/stack.h"
|
||||||
|
#include "src/objects/contexts.h"
|
||||||
|
#include "src/utils/utils.h"
|
||||||
|
|
||||||
|
@@ -30,7 +29,7 @@
|
||||||
|
// TODO(all): This is not particularly beautiful. We should probably
|
||||||
|
// refactor this to really consist of just Addresses and 32-bit
|
||||||
|
// integer fields.
|
||||||
|
- static constexpr uint32_t kSizeInBytes = 30 * kSystemPointerSize;
|
||||||
|
+ static constexpr uint32_t kSizeInBytes = 25 * kSystemPointerSize;
|
||||||
|
|
||||||
|
// Does early low-level initialization that does not depend on the
|
||||||
|
// isolate being present.
|
||||||
|
@@ -147,9 +146,6 @@
|
||||||
|
|
||||||
|
// Address of the thread-local "thread in wasm" flag.
|
||||||
|
Address thread_in_wasm_flag_address_;
|
||||||
|
-
|
||||||
|
- // Stack information.
|
||||||
|
- ::heap::base::Stack stack_;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace internal
|
||||||
|
diff --git a/src/heap/heap.cc b/src/heap/heap.cc
|
||||||
|
index f4b7da0..6efd486 100644
|
||||||
|
--- a/v8/src/heap/heap.cc
|
||||||
|
+++ b/v8/src/heap/heap.cc
|
||||||
|
@@ -5830,9 +5830,7 @@
|
||||||
|
#endif // V8_ENABLE_WEBASSEMBLY
|
||||||
|
}
|
||||||
|
|
||||||
|
-::heap::base::Stack& Heap::stack() {
|
||||||
|
- return isolate_->thread_local_top()->stack_;
|
||||||
|
-}
|
||||||
|
+::heap::base::Stack& Heap::stack() { return isolate_->stack(); }
|
||||||
|
|
||||||
|
void Heap::StartTearDown() {
|
||||||
|
// Finish any ongoing sweeping to avoid stray background tasks still accessing
|
@ -1,17 +0,0 @@
|
|||||||
diff -up chromium-60.0.3112.78/third_party/libpng/pnglibconf.h.noprefix chromium-60.0.3112.78/third_party/libpng/pnglibconf.h
|
|
||||||
--- chromium-60.0.3112.78/third_party/libpng/pnglibconf.h.noprefix 2017-08-01 14:42:54.321986758 -0400
|
|
||||||
+++ chromium-60.0.3112.78/third_party/libpng/pnglibconf.h 2017-08-01 14:43:01.493845832 -0400
|
|
||||||
@@ -225,13 +225,4 @@
|
|
||||||
#define PNG_USER_CHUNK_MALLOC_MAX 4000000L
|
|
||||||
/* end of chromium settings */
|
|
||||||
|
|
||||||
-/* chromium prefixing */
|
|
||||||
-/*
|
|
||||||
- * This is necessary to build multiple copies of libpng. We need this while pdfium builds
|
|
||||||
- * its own copy of libpng.
|
|
||||||
- */
|
|
||||||
-#define PNG_PREFIX
|
|
||||||
-#include "pngprefix.h"
|
|
||||||
-/* end of chromium prefixing */
|
|
||||||
-
|
|
||||||
#endif /* PNGLCONF_H */
|
|
@ -1,18 +0,0 @@
|
|||||||
diff -up chromium-90.0.4430.93/third_party/llvm/lldb/test/API/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV.aarch64 chromium-90.0.4430.93/third_party/llvm/lldb/test/API/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV
|
|
||||||
diff -up chromium-90.0.4430.93/third_party/llvm/lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_process_SIGSEGV.aarch64 chromium-90.0.4430.93/third_party/llvm/lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_process_SIGSEGV
|
|
||||||
diff -up chromium-90.0.4430.93/third_party/llvm/lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.aarch64 chromium-90.0.4430.93/third_party/llvm/lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV
|
|
||||||
diff -up chromium-90.0.4430.93/third_party/pdfium/third_party/libpng16/pngprefix.h.aarch64 chromium-90.0.4430.93/third_party/pdfium/third_party/libpng16/pngprefix.h
|
|
||||||
--- chromium-90.0.4430.93/third_party/pdfium/third_party/libpng16/pngprefix.h.aarch64 2021-05-03 14:08:47.184438786 -0400
|
|
||||||
+++ chromium-90.0.4430.93/third_party/pdfium/third_party/libpng16/pngprefix.h 2021-05-03 14:09:59.289797317 -0400
|
|
||||||
@@ -458,4 +458,11 @@
|
|
||||||
#define png_zlib_inflate PDFIUM_png_zlib_inflate
|
|
||||||
#define png_zstream_error PDFIUM_png_zstream_error
|
|
||||||
|
|
||||||
+#if PNG_ARM_NEON_IMPLEMENTATION == 1
|
|
||||||
+#define png_riffle_palette_neon PDFIUM_png_riffle_palette_neon
|
|
||||||
+#define png_do_expand_palette_rgba8_neon PDFIUM_png_do_expand_palette_rgba8_neon
|
|
||||||
+#define png_do_expand_palette_rgb8_neon PDFIUM_png_do_expand_palette_rgb8_neon
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+
|
|
||||||
#endif // PNGPREFIX_H
|
|
Loading…
Reference in new issue