diff --git a/7ae60470cdb0bea4548a0f5e8271b359f9450c79.patch b/7ae60470cdb0bea4548a0f5e8271b359f9450c79.patch deleted file mode 100644 index 983c6d1e..00000000 --- a/7ae60470cdb0bea4548a0f5e8271b359f9450c79.patch +++ /dev/null @@ -1,567 +0,0 @@ -From 7ae60470cdb0bea4548a0f5e8271b359f9450c79 Mon Sep 17 00:00:00 2001 -From: Jeffrey Kardatzke -Date: Fri, 5 Feb 2021 03:33:58 +0000 -Subject: [PATCH] vaapi: Update for libva forwards compatibility - -There was a downstream patch applied for protected content for libva. -This patch is now upstreamed, but is not compatible with the downstream -version. This change will allow us to update libva in ChromeOS to an -intermediate version that'll be compatible with both downstream and -upstream. Then we can shift Chrome to the upstream API, and then remove -the downstream compatibility layer from ChromeOS after that and be on -upstream. - -BUG=b:174951211 -TEST=Chrome builds, protected content plays back - -Change-Id: Id06b21daf19a54b340236b354b5f4a828e2362de -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2672690 -Reviewed-by: Andres Calderon Jaramillo -Reviewed-by: J Kardatzke -Commit-Queue: J Kardatzke -Cr-Commit-Position: refs/heads/master@{#850949} ---- - .../h264_vaapi_video_decoder_delegate.cc | 7 + - .../vaapi/h265_vaapi_video_decoder_delegate.h | 7 + - media/gpu/vaapi/va_prot.sigs | 1 - - media/gpu/vaapi/vaapi_utils.h | 7 + - .../gpu/vaapi/vaapi_video_decoder_delegate.cc | 11 +- - .../gpu/vaapi/vaapi_video_decoder_delegate.h | 7 + - media/gpu/vaapi/vaapi_wrapper.cc | 30 +-- - media/gpu/vaapi/vaapi_wrapper.h | 7 + - .../va_protected_content.h | 225 ++---------------- - tools/metrics/histograms/enums.xml | 2 +- - 10 files changed, 75 insertions(+), 229 deletions(-) - -diff --git a/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.cc b/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.cc -index 6e82506082ede..22fa594610540 100644 ---- a/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.cc -+++ b/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.cc -@@ -4,6 +4,13 @@ - - #include "media/gpu/vaapi/h264_vaapi_video_decoder_delegate.h" - -+// TODO(jkardatzke): Remove this once the transition to the new upstream -+// protected content API is complete. This is used to bridge a transition -+// between the libva pull request we used, and what actually landed upstream. -+#ifndef LEGACY_UPSTREAM_PROTECTED_LIBVA -+#define LEGACY_UPSTREAM_PROTECTED_LIBVA -+#endif -+ - #include - - #include "base/memory/aligned_memory.h" -diff --git a/media/gpu/vaapi/h265_vaapi_video_decoder_delegate.h b/media/gpu/vaapi/h265_vaapi_video_decoder_delegate.h -index d152c3df8a90a..986c2b530076e 100644 ---- a/media/gpu/vaapi/h265_vaapi_video_decoder_delegate.h -+++ b/media/gpu/vaapi/h265_vaapi_video_decoder_delegate.h -@@ -5,6 +5,13 @@ - #ifndef MEDIA_GPU_VAAPI_H265_VAAPI_VIDEO_DECODER_DELEGATE_H_ - #define MEDIA_GPU_VAAPI_H265_VAAPI_VIDEO_DECODER_DELEGATE_H_ - -+// TODO(jkardatzke): Remove this once the transition to the new upstream -+// protected content API is complete. This is used to bridge a transition -+// between the libva pull request we used, and what actually landed upstream. -+#ifndef LEGACY_UPSTREAM_PROTECTED_LIBVA -+#define LEGACY_UPSTREAM_PROTECTED_LIBVA -+#endif -+ - #include - - #include "base/memory/scoped_refptr.h" -diff --git a/media/gpu/vaapi/va_prot.sigs b/media/gpu/vaapi/va_prot.sigs -index 1ffcd61778d11..dd13dafef1add 100644 ---- a/media/gpu/vaapi/va_prot.sigs -+++ b/media/gpu/vaapi/va_prot.sigs -@@ -9,5 +9,4 @@ VAStatus vaCreateProtectedSession(VADisplay dpy, VAConfigID config_id, VAProtect - VAStatus vaDestroyProtectedSession(VADisplay dpy, VAProtectedSessionID protected_session); - VAStatus vaAttachProtectedSession(VADisplay dpy, VAContextID reserved, VAProtectedSessionID protected_session); - VAStatus vaDetachProtectedSession(VADisplay dpy, VAContextID reserved); --VAStatus vaProtectedSessionHwUpdate(VADisplay dpy, VAProtectedSessionID protected_session, VABufferID buf_id); - VAStatus vaProtectedSessionExecute(VADisplay dpy, VAProtectedSessionID protected_session, VABufferID buf_id); -\ No newline at end of file -diff --git a/media/gpu/vaapi/vaapi_utils.h b/media/gpu/vaapi/vaapi_utils.h -index 9bcee23ce96d1..fd42ad2a148e3 100644 ---- a/media/gpu/vaapi/vaapi_utils.h -+++ b/media/gpu/vaapi/vaapi_utils.h -@@ -5,6 +5,13 @@ - #ifndef MEDIA_GPU_VAAPI_VAAPI_UTILS_H_ - #define MEDIA_GPU_VAAPI_VAAPI_UTILS_H_ - -+// TODO(jkardatzke): Remove this once the transition to the new upstream -+// protected content API is complete. This is used to bridge a transition -+// between the libva pull request we used, and what actually landed upstream. -+#ifndef LEGACY_UPSTREAM_PROTECTED_LIBVA -+#define LEGACY_UPSTREAM_PROTECTED_LIBVA -+#endif -+ - #include - - #include "base/callback_forward.h" -diff --git a/media/gpu/vaapi/vaapi_video_decoder_delegate.cc b/media/gpu/vaapi/vaapi_video_decoder_delegate.cc -index 07b7b3ce03f1b..a0a8ea67bd8c6 100644 ---- a/media/gpu/vaapi/vaapi_video_decoder_delegate.cc -+++ b/media/gpu/vaapi/vaapi_video_decoder_delegate.cc -@@ -133,11 +133,13 @@ VaapiVideoDecoderDelegate::SetupDecryptDecode( - DCHECK_EQ(protected_session_state_, ProtectedSessionState::kCreated); - - if (encryption_scheme_ == EncryptionScheme::kCenc) { -- crypto_params->encryption_type = -- full_sample ? VA_ENCRYPTION_TYPE_CENC_CTR : VA_ENCRYPTION_TYPE_CTR_128; -+ crypto_params->encryption_type = full_sample -+ ? VA_ENCRYPTION_TYPE_FULLSAMPLE_CTR -+ : VA_ENCRYPTION_TYPE_SUBSAMPLE_CTR; - } else { -- crypto_params->encryption_type = -- full_sample ? VA_ENCRYPTION_TYPE_CENC_CBC : VA_ENCRYPTION_TYPE_CBC; -+ crypto_params->encryption_type = full_sample -+ ? VA_ENCRYPTION_TYPE_FULLSAMPLE_CBC -+ : VA_ENCRYPTION_TYPE_SUBSAMPLE_CBC; - } - - // For multi-slice we may already have segment information in here, so -@@ -224,6 +226,7 @@ VaapiVideoDecoderDelegate::SetupDecryptDecode( - memcpy(crypto_params->wrapped_decrypt_blob, - hw_key_data_map_[decrypt_config_->key_id()].data(), - DecryptConfig::kDecryptionKeySize); -+ crypto_params->key_blob_size = DecryptConfig::kDecryptionKeySize; - crypto_params->segment_info = &segments->front(); - #else // if BUILDFLAG(IS_CHROMEOS_ASH) - protected_session_state_ = ProtectedSessionState::kFailed; -diff --git a/media/gpu/vaapi/vaapi_video_decoder_delegate.h b/media/gpu/vaapi/vaapi_video_decoder_delegate.h -index 1e222a41c543c..aeb48a75bd2c9 100644 ---- a/media/gpu/vaapi/vaapi_video_decoder_delegate.h -+++ b/media/gpu/vaapi/vaapi_video_decoder_delegate.h -@@ -5,6 +5,13 @@ - #ifndef MEDIA_GPU_VAAPI_VAAPI_VIDEO_DECODER_DELEGATE_H_ - #define MEDIA_GPU_VAAPI_VAAPI_VIDEO_DECODER_DELEGATE_H_ - -+// TODO(jkardatzke): Remove this once the transition to the new upstream -+// protected content API is complete. This is used to bridge a transition -+// between the libva pull request we used, and what actually landed upstream. -+#ifndef LEGACY_UPSTREAM_PROTECTED_LIBVA -+#define LEGACY_UPSTREAM_PROTECTED_LIBVA -+#endif -+ - #include - #include - #include -diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc -index 696ffaf00d866..cd2ee37998fbd 100644 ---- a/media/gpu/vaapi/vaapi_wrapper.cc -+++ b/media/gpu/vaapi/vaapi_wrapper.cc -@@ -133,7 +133,7 @@ enum class VaapiFunctions { - kVADestroyProtectedSession = 26, - kVAAttachProtectedSession = 27, - kVADetachProtectedSession = 28, -- kVAProtectedSessionHwUpdate = 29, -+ kVAProtectedSessionHwUpdate_Deprecated = 29, - kVAProtectedSessionExecute = 30, - // Anything else is captured in this last entry. - kOtherVAFunction = 31, -@@ -176,7 +176,7 @@ constexpr std::arraypush_back( -- {VAConfigAttribEncryption, VA_ENCRYPTION_TYPE_CTR_128}); -+ {VAConfigAttribEncryption, VA_ENCRYPTION_TYPE_SUBSAMPLE_CTR}); - required_attribs->push_back( - {VAConfigAttribDecProcessing, VA_DEC_PROCESSING}); - } -@@ -1852,13 +1852,14 @@ bool VaapiWrapper::CreateProtectedSession( - // We have to hold the VABuffer outside of the lock because its destructor - // will acquire the lock when it goes out of scope. We also must do this after - // we create the protected session. -- VAProtectedSessionHwUpdateBuffer hw_update_buf; -+ VAProtectedSessionExecuteBuffer hw_update_buf; - std::unique_ptr hw_update = CreateVABuffer( -- VAProtectedSessionHwUpdateBufferType, sizeof(hw_update_buf)); -+ VAProtectedSessionExecuteBufferType, sizeof(hw_update_buf)); - { - base::AutoLock auto_lock(*va_lock_); - constexpr size_t kHwIdentifierMaxSize = 64; - memset(&hw_update_buf, 0, sizeof(hw_update_buf)); -+ hw_update_buf.function_id = VA_TEE_EXEC_TEE_FUNCID_HW_UPDATE; - hw_update_buf.input.data_size = hw_config.size(); - hw_update_buf.input.data = - static_cast(const_cast(hw_config.data())); -@@ -1868,22 +1869,22 @@ bool VaapiWrapper::CreateProtectedSession( - if (!MapAndCopy_Locked( - hw_update->id(), - {hw_update->type(), hw_update->size(), &hw_update_buf})) { -- LOG(ERROR) << "Failed mapping HwUpdate buf"; -+ LOG(ERROR) << "Failed mapping Execute buf"; - return false; - } - -- VAStatus va_res = vaProtectedSessionHwUpdate( -+ VAStatus va_res = vaProtectedSessionExecute( - va_display_, va_protected_session_id_, hw_update->id()); -- VA_SUCCESS_OR_RETURN(va_res, VaapiFunctions::kVAProtectedSessionHwUpdate, -+ VA_SUCCESS_OR_RETURN(va_res, VaapiFunctions::kVAProtectedSessionExecute, - false); - - ScopedVABufferMapping mapping(va_lock_, va_display_, hw_update->id()); - if (!mapping.IsValid()) { -- LOG(ERROR) << "Failed mapping returned HwUpdate buf"; -+ LOG(ERROR) << "Failed mapping returned Execute buf"; - return false; - } - auto* hw_update_buf_out = -- reinterpret_cast(mapping.data()); -+ reinterpret_cast(mapping.data()); - if (!hw_update_buf_out->output.data_size) { - LOG(ERROR) << "Received empty HW identifier"; - return false; -@@ -1964,10 +1965,9 @@ bool VaapiWrapper::IsProtectedSessionDead() { - if (va_protected_session_id_ == VA_INVALID_ID) - return false; - -- constexpr uint32_t kVaTeeExecGpuFuncIdIsSessionAlive = 0x40000103; - uint8_t alive; - VAProtectedSessionExecuteBuffer tee_exec_buf = {}; -- tee_exec_buf.function_id = kVaTeeExecGpuFuncIdIsSessionAlive; -+ tee_exec_buf.function_id = VA_TEE_EXEC_TEE_FUNCID_IS_SESSION_ALIVE; - tee_exec_buf.input.data_size = 0; - tee_exec_buf.input.data = nullptr; - tee_exec_buf.output.data_size = sizeof(alive); -@@ -2518,7 +2518,7 @@ std::unique_ptr VaapiWrapper::CreateVABuffer(VABufferType type, - base::AutoLock auto_lock(*va_lock_); - TRACE_EVENT0("media,gpu", "VaapiWrapper::CreateVABufferLocked"); - #if BUILDFLAG(IS_CHROMEOS_ASH) -- VAContextID context_id = type == VAProtectedSessionHwUpdateBufferType -+ VAContextID context_id = type == VAProtectedSessionExecuteBufferType - ? va_protected_session_id_ - : va_context_id_; - #else -@@ -2807,8 +2807,8 @@ bool VaapiWrapper::Initialize(CodecMode mode, - for (auto& attrib : required_attribs) { - if (attrib.type == VAConfigAttribEncryption) { - attrib.value = (encryption_scheme == EncryptionScheme::kCbcs) -- ? VA_ENCRYPTION_TYPE_CBC -- : VA_ENCRYPTION_TYPE_CTR_128; -+ ? VA_ENCRYPTION_TYPE_SUBSAMPLE_CBC -+ : VA_ENCRYPTION_TYPE_SUBSAMPLE_CTR; - } - } - } -diff --git a/media/gpu/vaapi/vaapi_wrapper.h b/media/gpu/vaapi/vaapi_wrapper.h -index 29b6864998240..f58723a0e852e 100644 ---- a/media/gpu/vaapi/vaapi_wrapper.h -+++ b/media/gpu/vaapi/vaapi_wrapper.h -@@ -10,6 +10,13 @@ - #ifndef MEDIA_GPU_VAAPI_VAAPI_WRAPPER_H_ - #define MEDIA_GPU_VAAPI_VAAPI_WRAPPER_H_ - -+// TODO(jkardatzke): Remove this once the transition to the new upstream -+// protected content API is complete. This is used to bridge a transition -+// between the libva pull request we used, and what actually landed upstream. -+#ifndef LEGACY_UPSTREAM_PROTECTED_LIBVA -+#define LEGACY_UPSTREAM_PROTECTED_LIBVA -+#endif -+ - #include - #include - #include -diff --git a/third_party/libva_protected_content/va_protected_content.h b/third_party/libva_protected_content/va_protected_content.h -index dfea3ce94a285..c14a77da41389 100644 ---- a/third_party/libva_protected_content/va_protected_content.h -+++ b/third_party/libva_protected_content/va_protected_content.h -@@ -46,6 +46,7 @@ extern "C" { - * @{ - */ - -+#ifdef LEGACY_UPSTREAM_PROTECTED_LIBVA - /** - * - * A protected content function for processing cipher protected content. -@@ -97,16 +98,19 @@ extern "C" { - /** \brief Encryption parameters buffer for content protection usage */ - #define VAEncryptionParameterBufferType ((VABufferType)0x20001) - -+#endif // LEGACY_UPSTREAM_PROTECTED_LIBVA -+ - /**\brief CENC status paramter, used for vendor content protection only. - * The buffer corresponds to #VACencStatusParameters for va/cp*/ - #define VACencStatusParameterBufferType ((VABufferType)0x20002) - -+#ifdef LEGACY_UPSTREAM_PROTECTED_LIBVA - /** attribute values for VAConfigAttribEncryption */ - #define VA_ENCRYPTION_TYPE_NONE 0x00000000 --#define VA_ENCRYPTION_TYPE_CENC_CBC 0x00000002 --#define VA_ENCRYPTION_TYPE_CENC_CTR 0x00000008 --#define VA_ENCRYPTION_TYPE_CTR_128 0x00000010 --#define VA_ENCRYPTION_TYPE_CBC 0x00000020 -+#define VA_ENCRYPTION_TYPE_FULLSAMPLE_CBC 0x00000002 -+#define VA_ENCRYPTION_TYPE_FULLSAMPLE_CTR 0x00000008 -+#define VA_ENCRYPTION_TYPE_SUBSAMPLE_CTR 0x00000010 -+#define VA_ENCRYPTION_TYPE_SUBSAMPLE_CBC 0x00000020 - - /** attribute values for VAConfigAttribContentProtectionSessionMode */ - #define VA_PC_SESSION_MODE_NONE 0x00000000 -@@ -132,18 +136,11 @@ extern "C" { - #define VA_PC_SAMPLE_TYPE_FULLSAMPLE 0x00000001 - #define VA_PC_SAMPLE_TYPE_SUBSAMPLE 0x00000002 - --/** \brief TeeExec Function Codes. */ --typedef enum _VA_TEE_EXEC_FUNCTION_ID { -- VA_TEE_EXEC_TEE_FUNCID_PASS_THROUGH_NONE = 0x0, -- -- // 0x40000000~0x400000FFF reserved for TEE Exec GPU function -- VA_TEE_EXEC_GPU_FUNCID_ENCRYPTION_BLT = 0x40000000, -- VA_TEE_EXEC_GPU_FUNCID_DECRYPTION_BLT = 0x40000001, -+#endif // LEGACY_UPSTREAM_PROTECTED_LIBVA - -- // 0x40001000~0x400001FFF reserved for TEE Exec TEE function -- VA_TEE_EXEC_TEE_FUNCID_PASS_THROUGH = 0x40001000, -- --} VA_TEE_EXEC_FUNCTION_ID; -+/** \brief TeeExec Function Codes. */ -+#define VA_TEE_EXEC_TEE_FUNCID_HW_UPDATE 0x40000002 -+#define VA_TEE_EXEC_TEE_FUNCID_IS_SESSION_ALIVE 0x40000103 - - /** \brief values for the encryption return status. */ - typedef enum { -@@ -159,6 +156,7 @@ typedef enum { - VA_ENCRYPTION_STATUS_UNSUPPORT - } VAEncryptionStatus; - -+#ifdef LEGACY_UPSTREAM_PROTECTED_LIBVA - /** \brief structure for encrypted segment info. */ - typedef struct _VAEncryptionSegmentInfo { - /** \brief The offset relative to the start of the bitstream input in -@@ -212,23 +210,12 @@ typedef struct _VAEncryptionParameters { - * encrypted, i.e. the CENC or CBC1 scheme is being used. - */ - uint32_t blocks_stripe_clear; -+ /* Forwards compatibility */ -+ uint32_t key_blob_size; - /** \brief Reserved bytes for future use, must be zero */ -- uint32_t va_reserved[VA_PADDING_MEDIUM]; -+ uint32_t va_reserved[VA_PADDING_MEDIUM - sizeof(uint32_t)]; - } VAEncryptionParameters; -- --/** \brief structure for VA_TEE_EXEC_GPU_FUNCID_ENCRYPTION_BLT */ --typedef struct _VA_PROTECTED_BLT_PARAMS { -- uint8_t* src_resource; // The source resource which contains the clear data. -- uint8_t* -- dst_resource; // The Destination resource. This resource will contain the -- // encrypted data. It should be allocated by the caller. -- uint32_t width; // The width of the surface in Bytes. -- uint32_t height; // The height of the surface in Bytes (pay attention that -- // for NV12 the height(Bytes) = 1.5*height(Pixel)). -- VAEncryptionParameters* -- enc_params; // The encryption parameters as defined by application -- void* reserved_extension; // The reserved extension for future BLT operations --} VA_PROTECTED_BLT_PARAMS; -+#endif // LEGACY_UPSTREAM_PROTECTED_LIBVA - - /** \brief cenc status parameters, corresponding to - * #VACencStatusParameterBufferType*/ -@@ -311,184 +298,6 @@ typedef struct _VACencSliceParameterBufferH264 { - uint32_t va_reserved[VA_PADDING_MEDIUM]; - } VACencSliceParameterBufferH264; - --/** -- * \brief Slice parameter for HEVC cenc decode in main & main 10 profiles. -- * -- * This structure holds information for \c -- * slice_segment_header() and nal_unit_header() of the slice as -- * defined by the HEVC specification. -- * -- */ --typedef struct _VACencSliceParameterBufferHEVC { -- /** \brief Same as the HEVC bitstream syntax element. */ -- uint8_t nal_unit_type; -- /** \brief Corresponds to the HEVC bitstream syntax element. -- * Same as nuh_temporal_id_plus1 - 1*/ -- uint8_t nuh_temporal_id; -- /** \brief Slice type. -- * Corresponds to HEVC syntax element of the same name. */ -- uint8_t slice_type; -- /** \brief Same as the HEVC bitstream syntax element. */ -- uint16_t slice_pic_order_cnt_lsb; -- /** \brief Indicates EOS_NUT or EOB_NUT is detected in picture. */ -- uint16_t has_eos_or_eob; -- -- union { -- struct { -- /** \brief Same as the HEVC bitstream syntax element */ -- uint32_t no_output_of_prior_pics_flag : 1; -- /** \brief Same as the HEVC bitstream syntax element */ -- uint32_t pic_output_flag : 1; -- /** \brief Same as the HEVC bitstream syntax element */ -- uint32_t colour_plane_id : 2; -- /** \brief Reserved for future use, must be zero */ -- uint32_t reserved : 19; -- } bits; -- uint32_t value; -- } slice_fields; -- -- /** \brief Parameters for driver reference frame set */ -- /**@{*/ -- -- /** \brief number of entries as current before in short-term rps -- * Corresponds to NumPocStCurrBefore as the HEVC specification. */ -- uint8_t num_of_curr_before; -- /** \brief number of entries as current after in short-term rps -- * Corresponds to NumPocStCurrAfter as the HEVC specification. */ -- uint8_t num_of_curr_after; -- /** \brief number of entries as current total in short-term rps*/ -- uint8_t num_of_curr_total; -- /** \brief number of entries as foll in short-term rps -- * Corresponds to NumPocStFoll as the HEVC specification.*/ -- uint8_t num_of_foll_st; -- /** \brief number of entries as current in long-term rps -- * Corresponds to NumPocLtCurr as the HEVC specification. */ -- uint8_t num_of_curr_lt; -- /** \brief number of entries as foll in long-term rps -- * Corresponds to NumPocLtFoll as the HEVC specification.*/ -- uint8_t num_of_foll_lt; -- /** \brief delta poc as short-term current before -- * Corresponds to PocStCurrBefore as the HEVC specification. */ -- int32_t delta_poc_curr_before[8]; -- /** \brief delta poc as short-term current after -- * Corresponds to PocStCurrAfter, as the HEVC specification.*/ -- int32_t delta_poc_curr_after[8]; -- /** \brief delta poc as short-term current total */ -- int32_t delta_poc_curr_total[8]; -- /** \brief delta poc as short-term foll -- * Corresponds to PocStFoll as the HEVC specification.*/ -- int32_t delta_poc_foll_st[16]; -- /** \brief delta poc as long-term current -- * Corresponds to PocLtCurr as the HEVC specification.*/ -- int32_t delta_poc_curr_lt[8]; -- /** \brief delta poc as long-term foll -- * Corresponds to PocLtFoll, as the HEVC specification.*/ -- int32_t delta_poc_foll_lt[16]; -- /** \brief delta poc msb present flag -- * Same as the HEVC bitstream syntax element. */ -- uint8_t delta_poc_msb_present_flag[16]; -- /** \brief long-term reference RPS is used for reference by current picture*/ -- uint8_t is_lt_curr_total[8]; -- /** \brief index of reference picture list. [0] is for P and B slice, [1] is -- * for B slice*/ -- uint8_t ref_list_idx[2][16]; -- /**@}*/ -- /** \brief Pointer to the next #VACencSliceParameterBufferHEVC element, -- * or \c nullptr if there is none.*/ -- void* next; -- -- /** \brief Reserved bytes for future use, must be zero */ -- uint32_t va_reserved[VA_PADDING_MEDIUM]; --} VACencSliceParameterBufferHEVC; -- --/** -- * \brief uncompressed header for VP9 cenc decode -- * -- * This structure holds information for \c -- * uncompressed_header() as defined by the VP9 specification. -- * -- */ --typedef struct _VACencSliceParameterBufferVP9 { -- union { -- struct { -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t profile : 2; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t show_existing_frame_flag : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t frame_to_show_map_idx : 3; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t frame_type : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t show_frame : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t error_resilient_mode : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t intra_only : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t ten_or_twelve_bit : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t color_space : 3; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t color_range : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t subsampling_x : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t subsampling_y : 1; -- /** \brief Corresponds to ref_frame_idx[0] -- * as the VP9 specification */ -- uint32_t ref_frame_idx0 : 3; -- /** \brief Corresponds to ref_frame_sign_bias[LAST_FRAME] -- * as the VP9 specification */ -- uint32_t ref_frame_sign_bias0 : 1; -- /** \brief Corresponds to ref_frame_idx[1] -- * as the VP9 specification */ -- uint32_t ref_frame_idx1 : 3; -- /** \brief Corresponds to ref_frame_sign_bias[GOLDEN_FRAME] -- * as the VP9 specification */ -- uint32_t ref_frame_sign_bias1 : 1; -- /** \brief Corresponds to ref_frame_idx[2] -- * as the VP9 specification */ -- uint32_t ref_frame_idx2 : 3; -- /** \brief Corresponds to ref_frame_sign_bias[ALTREF_FRAME] -- * as the VP9 specification */ -- uint32_t ref_frame_sign_bias2 : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t frame_parallel_decoding_mode : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t render_and_frame_size_different : 1; -- /** \brief Reserved for future use, must be zero */ -- uint32_t reserved : 1; -- } bits; -- uint32_t value; -- } header_fields; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint16_t frame_width_minus1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint16_t frame_height_minus1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint16_t render_width_minus1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint16_t render_height_minus1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint8_t refresh_frame_flags; -- /** \brief Parameters for super frame*/ -- /**@{*/ -- /** \brief Superframe index, from 0 to frames_in_superframe_minus_1. -- * as the VP9 specification */ -- uint8_t sf_index; -- /** \brief Superframe size, corresponds to frame_sizes[ sf_index ] -- * as the VP9 specification */ -- uint32_t sf_frame_size; -- /**@}*/ -- /** \brief Pointer to the next #VACencSliceParameterBufferVP9 element, -- * or \c nullptr if there is none.*/ -- void* next; -- -- /** \brief Reserved bytes for future use, must be zero */ -- uint32_t va_reserved[VA_PADDING_MEDIUM]; --} VACencSliceParameterBufferVP9; -- - /** \brief Cenc Slice Buffer Type*/ - typedef enum { - /** \brief Parsed slice parameters \c VACencSliceParameterBuffer* */ -diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml -index e88db8a3f1201..c1bd0d7db925f 100644 ---- a/tools/metrics/histograms/enums.xml -+++ b/tools/metrics/histograms/enums.xml -@@ -77050,7 +77050,7 @@ Full version information for the fingerprint enum values: - - - -- -+ - - - diff --git a/chromium-100-GLImplementationParts-constexpr.patch b/chromium-100-GLImplementationParts-constexpr.patch deleted file mode 100644 index 437e6729..00000000 --- a/chromium-100-GLImplementationParts-constexpr.patch +++ /dev/null @@ -1,92 +0,0 @@ -From d32156fd3773330eca99e9cba5e18db57aaa1a53 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sat, 19 Feb 2022 10:14:24 +0000 -Subject: [PATCH] GCC: make GLImplementationParts constructors constexpr - -Fix build error in GCC, as the constexpr operator== requires its -invocations to be also constexpr. ---- - ui/gl/gl_implementation.cc | 23 ----------------------- - ui/gl/gl_implementation.h | 25 +++++++++++++++++++++++-- - 2 files changed, 23 insertions(+), 25 deletions(-) - -diff --git a/ui/gl/gl_implementation.cc b/ui/gl/gl_implementation.cc -index e4e5456..3e4a47c 100644 ---- a/ui/gl/gl_implementation.cc -+++ b/ui/gl/gl_implementation.cc -@@ -26,29 +26,6 @@ - - namespace gl { - --ANGLEImplementation MakeANGLEImplementation( -- const GLImplementation gl_impl, -- const ANGLEImplementation angle_impl) { -- if (gl_impl == kGLImplementationEGLANGLE) { -- if (angle_impl == ANGLEImplementation::kNone) { -- return ANGLEImplementation::kDefault; -- } else { -- return angle_impl; -- } -- } else { -- return ANGLEImplementation::kNone; -- } --} -- --GLImplementationParts::GLImplementationParts( -- const ANGLEImplementation angle_impl) -- : gl(kGLImplementationEGLANGLE), -- angle(MakeANGLEImplementation(kGLImplementationEGLANGLE, angle_impl)) {} -- --GLImplementationParts::GLImplementationParts(const GLImplementation gl_impl) -- : gl(gl_impl), -- angle(MakeANGLEImplementation(gl_impl, ANGLEImplementation::kDefault)) {} -- - bool GLImplementationParts::IsValid() const { - if (angle == ANGLEImplementation::kNone) { - return (gl != kGLImplementationEGLANGLE); -diff --git a/ui/gl/gl_implementation.h b/ui/gl/gl_implementation.h -index 376ed58..a2513ea 100644 ---- a/ui/gl/gl_implementation.h -+++ b/ui/gl/gl_implementation.h -@@ -59,8 +59,14 @@ enum class ANGLEImplementation { - }; - - struct GL_EXPORT GLImplementationParts { -- explicit GLImplementationParts(const ANGLEImplementation angle_impl); -- explicit GLImplementationParts(const GLImplementation gl_impl); -+ constexpr explicit GLImplementationParts(const ANGLEImplementation angle_impl) -+ : gl(kGLImplementationEGLANGLE), -+ angle(MakeANGLEImplementation(kGLImplementationEGLANGLE, angle_impl)) {} -+ -+ constexpr explicit GLImplementationParts(const GLImplementation gl_impl) -+ : gl(gl_impl), -+ angle(MakeANGLEImplementation(gl_impl, ANGLEImplementation::kDefault)) { -+ } - - GLImplementation gl = kGLImplementationNone; - ANGLEImplementation angle = ANGLEImplementation::kNone; -@@ -80,6 +86,21 @@ struct GL_EXPORT GLImplementationParts { - bool IsValid() const; - bool IsAllowed(const std::vector& allowed_impls) const; - std::string ToString() const; -+ -+ private: -+ constexpr ANGLEImplementation MakeANGLEImplementation( -+ const GLImplementation gl_impl, -+ const ANGLEImplementation angle_impl) { -+ if (gl_impl == kGLImplementationEGLANGLE) { -+ if (angle_impl == ANGLEImplementation::kNone) { -+ return ANGLEImplementation::kDefault; -+ } else { -+ return angle_impl; -+ } -+ } else { -+ return ANGLEImplementation::kNone; -+ } -+ } - }; - - struct GL_EXPORT GLWindowSystemBindingInfo { --- -2.34.1 - diff --git a/chromium-100-InMilliseconds-constexpr.patch b/chromium-100-InMilliseconds-constexpr.patch deleted file mode 100644 index cf4562a1..00000000 --- a/chromium-100-InMilliseconds-constexpr.patch +++ /dev/null @@ -1,97 +0,0 @@ -From da6e3f6071fdabeb96c0805626418414b4a4cea8 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Wed, 9 Feb 2022 17:56:21 +0000 -Subject: [PATCH] GCC: make base::InMilliseconds(F,RoundedUp) constexpr - -media::DecodeTimestamp uses it in several constexpr methods. ---- - base/time/time.cc | 24 ------------------------ - base/time/time.h | 30 +++++++++++++++++++++++++++--- - 2 files changed, 27 insertions(+), 27 deletions(-) - -diff --git a/base/time/time.cc b/base/time/time.cc -index 0de273e..e0acda2 100644 ---- a/base/time/time.cc -+++ b/base/time/time.cc -@@ -74,30 +74,6 @@ int TimeDelta::InDaysFloored() const { - : std::numeric_limits::max(); - } - --double TimeDelta::InMillisecondsF() const { -- if (!is_inf()) -- return static_cast(delta_) / Time::kMicrosecondsPerMillisecond; -- return (delta_ < 0) ? -std::numeric_limits::infinity() -- : std::numeric_limits::infinity(); --} -- --int64_t TimeDelta::InMilliseconds() const { -- if (!is_inf()) -- return delta_ / Time::kMicrosecondsPerMillisecond; -- return (delta_ < 0) ? std::numeric_limits::min() -- : std::numeric_limits::max(); --} -- --int64_t TimeDelta::InMillisecondsRoundedUp() const { -- if (!is_inf()) { -- const int64_t result = delta_ / Time::kMicrosecondsPerMillisecond; -- // Convert |result| from truncating to ceiling. -- return (delta_ > result * Time::kMicrosecondsPerMillisecond) ? (result + 1) -- : result; -- } -- return delta_; --} -- - double TimeDelta::InMicrosecondsF() const { - if (!is_inf()) - return static_cast(delta_); -diff --git a/base/time/time.h b/base/time/time.h -index c027aab..fb1d78d 100644 ---- a/base/time/time.h -+++ b/base/time/time.h -@@ -216,9 +216,9 @@ class BASE_EXPORT TimeDelta { - constexpr int InMinutes() const; - constexpr double InSecondsF() const; - constexpr int64_t InSeconds() const; -- double InMillisecondsF() const; -- int64_t InMilliseconds() const; -- int64_t InMillisecondsRoundedUp() const; -+ constexpr double InMillisecondsF() const; -+ constexpr int64_t InMilliseconds() const; -+ constexpr int64_t InMillisecondsRoundedUp() const; - constexpr int64_t InMicroseconds() const { return delta_; } - double InMicrosecondsF() const; - constexpr int64_t InNanoseconds() const; -@@ -889,6 +889,30 @@ constexpr int64_t TimeDelta::InSeconds() const { - return is_inf() ? delta_ : (delta_ / Time::kMicrosecondsPerSecond); - } - -+constexpr double TimeDelta::InMillisecondsF() const { -+ if (!is_inf()) -+ return static_cast(delta_) / Time::kMicrosecondsPerMillisecond; -+ return (delta_ < 0) ? -std::numeric_limits::infinity() -+ : std::numeric_limits::infinity(); -+} -+ -+constexpr int64_t TimeDelta::InMilliseconds() const { -+ if (!is_inf()) -+ return delta_ / Time::kMicrosecondsPerMillisecond; -+ return (delta_ < 0) ? std::numeric_limits::min() -+ : std::numeric_limits::max(); -+} -+ -+constexpr int64_t TimeDelta::InMillisecondsRoundedUp() const { -+ if (!is_inf()) { -+ const int64_t result = delta_ / Time::kMicrosecondsPerMillisecond; -+ // Convert |result| from truncating to ceiling. -+ return (delta_ > result * Time::kMicrosecondsPerMillisecond) ? (result + 1) -+ : result; -+ } -+ return delta_; -+} -+ - constexpr int64_t TimeDelta::InNanoseconds() const { - return base::ClampMul(delta_, Time::kNanosecondsPerMicrosecond); - } --- -2.34.1 - diff --git a/chromium-100-SCTHashdanceMetadata-move.patch b/chromium-100-SCTHashdanceMetadata-move.patch deleted file mode 100644 index 90394290..00000000 --- a/chromium-100-SCTHashdanceMetadata-move.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 364dc0067d1c20c7a2d21277a7ec0c4419d9bc11 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 23 Feb 2022 12:18:57 +0100 -Subject: [PATCH] GCC: explicitely move return value of SCTHashdanceMetadata::ToValue - -GCC rejects to do Return Value Optimization in -SCTHashdanceMetadata::ToValue, because the copy constructor is -deleted, and in that scenario RVO is rejected in GCC: - ../../services/network/sct_auditing/sct_auditing_reporter.cc: In member function ‘base::Value network::SCTAuditingReporter::SCTHashdanceMetadata::ToValue() const’: - ../../services/network/sct_auditing/sct_auditing_reporter.cc:191:10: error: use of deleted function ‘base::Value::Value(const base::Value&)’ - 191 | return value; - | ^~~~~ - In file included from ../../services/network/sct_auditing/sct_auditing_reporter.h:14, - from ../../services/network/sct_auditing/sct_auditing_reporter.cc:5: - ../../base/values.h:254:3: note: declared here - 254 | Value(const Value&) = delete; - | ^~~~~ - -Bug: 819294 -Change-Id: I111e51dd10eee7b909d4ac3c0911aac18a589166 ---- - -diff --git a/services/network/sct_auditing/sct_auditing_reporter.cc b/services/network/sct_auditing/sct_auditing_reporter.cc -index a057e8e..365527b 100644 ---- a/services/network/sct_auditing/sct_auditing_reporter.cc -+++ b/services/network/sct_auditing/sct_auditing_reporter.cc -@@ -188,7 +188,7 @@ - kLogIdKey, base::Base64Encode(base::as_bytes(base::make_span(log_id)))); - value.SetKey(kLogMMDKey, base::TimeDeltaToValue(log_mmd)); - value.SetKey(kCertificateExpiry, base::TimeToValue(certificate_expiry)); -- return value; -+ return std::move(value); - } - - // static diff --git a/chromium-100-macro-typo.patch b/chromium-100-macro-typo.patch deleted file mode 100644 index 833f8692..00000000 --- a/chromium-100-macro-typo.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 1183b14db8bd08d731ff3433c436887de00be3aa Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 18 Feb 2022 16:28:25 +0000 -Subject: [PATCH] Fix typo in non-clang GSL_OWNER macro - -GCC build fails because GSL_OWNER is not defined (GSL_OWNER_ was -the one actually declared). - -Bug: 819294 -Change-Id: I1c3d17cb1c08b9bc0e8a888452da9868c308ddb5 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3472080 -Reviewed-by: Daniel Cheng -Commit-Queue: Daniel Cheng -Cr-Commit-Position: refs/heads/main@{#972974} ---- - -diff --git a/base/compiler_specific.h b/base/compiler_specific.h -index eec5810..1ee8074 100644 ---- a/base/compiler_specific.h -+++ b/base/compiler_specific.h -@@ -386,7 +386,7 @@ - #define GSL_OWNER [[gsl::Owner]] - #define GSL_POINTER [[gsl::Pointer]] - #else --#define GSL_OWNER_ -+#define GSL_OWNER - #define GSL_POINTER - #endif - diff --git a/chromium-100.0.4896.60-missing-utility-for-std-exchange.patch b/chromium-100.0.4896.60-missing-utility-for-std-exchange.patch deleted file mode 100644 index 0bcd6c09..00000000 --- a/chromium-100.0.4896.60-missing-utility-for-std-exchange.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-98.0.4758.102/base/third_party/symbolize/symbolize.h.missing-utility-for-std-exchange chromium-98.0.4758.102/base/third_party/symbolize/symbolize.h ---- chromium-98.0.4758.102/base/third_party/symbolize/symbolize.h.missing-utility-for-std-exchange 2022-02-25 22:30:02.833745309 +0000 -+++ chromium-98.0.4758.102/base/third_party/symbolize/symbolize.h 2022-02-25 22:30:02.832745344 +0000 -@@ -58,6 +58,8 @@ - #include "config.h" - #include "glog/logging.h" - -+#include -+ - #ifdef HAVE_SYMBOLIZE - - #include diff --git a/chromium-100.0.4896.75-missing-include-tuple.patch b/chromium-100.0.4896.75-missing-include-tuple.patch deleted file mode 100644 index a354ad51..00000000 --- a/chromium-100.0.4896.75-missing-include-tuple.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-100.0.4896.75/net/base/address_list.h.missing-include-tuple chromium-100.0.4896.75/net/base/address_list.h ---- chromium-100.0.4896.75/net/base/address_list.h.missing-include-tuple 2022-04-08 10:03:31.950894611 -0400 -+++ chromium-100.0.4896.75/net/base/address_list.h 2022-04-08 10:03:43.926970267 -0400 -@@ -8,6 +8,7 @@ - #include - - #include -+#include - #include - #include - diff --git a/chromium-100.0.4896.75-missing-include-vector.patch b/chromium-100.0.4896.75-missing-include-vector.patch deleted file mode 100644 index 4e524d83..00000000 --- a/chromium-100.0.4896.75-missing-include-vector.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-100.0.4896.75/media/capabilities/webrtc_video_stats_db.h.missing-vector chromium-100.0.4896.75/media/capabilities/webrtc_video_stats_db.h ---- chromium-100.0.4896.75/media/capabilities/webrtc_video_stats_db.h.missing-vector 2022-04-11 18:10:09.979195562 -0400 -+++ chromium-100.0.4896.75/media/capabilities/webrtc_video_stats_db.h 2022-04-11 18:10:30.261338074 -0400 -@@ -7,6 +7,7 @@ - - #include - #include -+#include - - #include "base/callback_forward.h" - #include "base/check.h" diff --git a/chromium-100.0.4896.75-old-xkb.patch b/chromium-100.0.4896.75-old-xkb.patch deleted file mode 100644 index e12b2442..00000000 --- a/chromium-100.0.4896.75-old-xkb.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -up chromium-100.0.4896.75/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc.old-xkb chromium-100.0.4896.75/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc ---- chromium-100.0.4896.75/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc.old-xkb 2022-04-08 10:12:14.725197002 -0400 -+++ chromium-100.0.4896.75/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc 2022-04-08 10:13:04.512511489 -0400 -@@ -31,14 +31,6 @@ - #include "ui/events/keycodes/keyboard_code_conversion.h" - #include "ui/events/keycodes/keyboard_code_conversion_xkb.h" - --// xkb_keymap_key_get_mods_for_level is relatively new (introduced in ver 1.0, --// Sep 6, 2020), thus it is not available on some platform, such as Ubuntu --// 18.04, which we still supports. --// Thus declare the function as weak here, so we can check the availability on --// runtime. --extern "C" __attribute__((weak)) decltype( -- xkb_keymap_key_get_mods_for_level) xkb_keymap_key_get_mods_for_level; -- - namespace ui { - - namespace { -@@ -925,18 +917,10 @@ void XkbKeyboardLayoutEngine::SetKeymap( - const xkb_keysym_t* keysyms; - int num_syms = xkb_keymap_key_get_syms_by_level(keymap, keycode, layout, - level, &keysyms); -- if (xkb_keymap_key_get_mods_for_level) { -- xkb_mod_mask_t masks[100]; // Large enough buffer. -- int num_mods = xkb_keymap_key_get_mods_for_level( -- keymap, keycode, layout, level, masks, std::size(masks)); -- AddEntries(base::make_span(keysyms, num_syms), -- base::make_span(masks, num_mods), keycode); -- } else { - // If not, unfortunately, there's no convenient/efficient way - // to take the possible masks. Thus, use mask 0 always. - constexpr xkb_mod_mask_t kMask[] = {0}; - AddEntries(base::make_span(keysyms, num_syms), kMask, keycode); -- } - } - } - } -@@ -1000,10 +984,7 @@ int XkbKeyboardLayoutEngine::UpdateModif - - DomCode XkbKeyboardLayoutEngine::GetDomCodeByKeysym(uint32_t keysym, - uint32_t modifiers) const { -- // If xkb_keymap_key_get_mods_for_level is not available, all entries are -- // stored with modifiers mask is 0. -- if (!xkb_keymap_key_get_mods_for_level) -- modifiers = 0; -+ modifiers = 0; - - auto iter = xkb_keysym_map_.find(XkbKeysymMapKey(keysym, modifiers)); - if (iter == xkb_keysym_map_.end()) { diff --git a/chromium-100.0.4896.75-remoting-extra-qualification.patch b/chromium-100.0.4896.75-remoting-extra-qualification.patch deleted file mode 100644 index 9d4b6250..00000000 --- a/chromium-100.0.4896.75-remoting-extra-qualification.patch +++ /dev/null @@ -1,147 +0,0 @@ -diff -up chromium-100.0.4896.75/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification chromium-100.0.4896.75/remoting/host/mojom/remoting_mojom_traits.h ---- chromium-100.0.4896.75/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification 2022-04-05 20:02:25.525814644 +0000 -+++ chromium-100.0.4896.75/remoting/host/mojom/remoting_mojom_traits.h 2022-04-07 13:35:28.490655471 +0000 -@@ -30,7 +30,7 @@ - namespace mojo { - - template <> --class mojo::StructTraits { -+class StructTraits { - public: - static bool value(bool value) { return value; } - -@@ -41,7 +41,7 @@ class mojo::StructTraits --class mojo::StructTraits { -+class StructTraits { - public: - static float value(float value) { return value; } - -@@ -52,7 +52,7 @@ class mojo::StructTraits --class mojo::StructTraits { -+class StructTraits { - public: - static int32_t value(int32_t value) { return value; } - -@@ -64,7 +64,7 @@ class mojo::StructTraits --class mojo::StructTraits { -+class StructTraits { - public: - static uint32_t value(uint32_t value) { return value; } - -@@ -76,7 +76,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static bool use_update_notifications( -@@ -101,7 +101,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static bool enable_curtaining( -@@ -161,7 +161,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static int32_t width(const ::webrtc::DesktopSize& size) { -@@ -177,7 +177,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static int32_t x(const ::webrtc::DesktopVector& vector) { return vector.x(); } -@@ -243,7 +243,7 @@ struct EnumTraits --class mojo::StructTraits { - public: - static const std::string& mime_type( -@@ -261,7 +261,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static bool pressed(const ::remoting::protocol::KeyEvent& event) { -@@ -297,7 +297,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static absl::optional x( -@@ -386,7 +386,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static const ::webrtc::DesktopSize& dimensions( -@@ -404,7 +404,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static const std::string& text(const ::remoting::protocol::TextEvent& event) { -@@ -416,7 +416,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static uint32_t id(const ::remoting::protocol::TouchEventPoint& event) { -@@ -493,7 +493,7 @@ struct EnumTraits --class mojo::StructTraits { - public: - static ::remoting::protocol::TouchEvent::TouchEventType event_type( -@@ -553,7 +553,7 @@ struct EnumTraits --class mojo::StructTraits { - public: - static ::remoting::protocol::TransportRoute::RouteType type( diff --git a/chromium-101.0.4951.41-remoting-extra-qualification.patch b/chromium-101.0.4951.41-remoting-extra-qualification.patch deleted file mode 100644 index c21ac38b..00000000 --- a/chromium-101.0.4951.41-remoting-extra-qualification.patch +++ /dev/null @@ -1,165 +0,0 @@ -diff -up chromium-101.0.4951.41/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification chromium-101.0.4951.41/remoting/host/mojom/remoting_mojom_traits.h ---- chromium-101.0.4951.41/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification 2022-04-27 20:08:44.312318089 +0000 -+++ chromium-101.0.4951.41/remoting/host/mojom/remoting_mojom_traits.h 2022-04-28 16:11:30.308481321 +0000 -@@ -32,7 +32,7 @@ - namespace mojo { - - template <> --class mojo::StructTraits { -+class StructTraits { - public: - static bool value(bool value) { return value; } - -@@ -43,7 +43,7 @@ class mojo::StructTraits --class mojo::StructTraits { -+class StructTraits { - public: - static float value(float value) { return value; } - -@@ -54,7 +54,7 @@ class mojo::StructTraits --class mojo::StructTraits { -+class StructTraits { - public: - static int32_t value(int32_t value) { return value; } - -@@ -66,7 +66,7 @@ class mojo::StructTraits --class mojo::StructTraits { -+class StructTraits { - public: - static uint32_t value(uint32_t value) { return value; } - -@@ -78,7 +78,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static bool use_update_notifications( -@@ -103,7 +103,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static bool enable_curtaining( -@@ -200,7 +200,7 @@ struct EnumTraits --class mojo::StructTraits { - public: - static int32_t left(const ::webrtc::DesktopRect& rect) { return rect.left(); } -@@ -220,7 +220,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static int32_t width(const ::webrtc::DesktopSize& size) { -@@ -236,7 +236,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static int32_t x(const ::webrtc::DesktopVector& vector) { return vector.x(); } -@@ -475,7 +475,7 @@ struct EnumTraits --class mojo::StructTraits> { - public: - static int32_t timestamp( -@@ -513,7 +513,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static const std::string& mime_type( -@@ -531,7 +531,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static bool pressed(const ::remoting::protocol::KeyEvent& event) { -@@ -567,7 +567,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static absl::optional x( -@@ -656,7 +656,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static const ::webrtc::DesktopSize& dimensions( -@@ -674,7 +674,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static const std::string& text(const ::remoting::protocol::TextEvent& event) { -@@ -686,7 +686,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static uint32_t id(const ::remoting::protocol::TouchEventPoint& event) { -@@ -763,7 +763,7 @@ struct EnumTraits --class mojo::StructTraits { - public: - static ::remoting::protocol::TouchEvent::TouchEventType event_type( -@@ -823,7 +823,7 @@ struct EnumTraits --class mojo::StructTraits { - public: - static ::remoting::protocol::TransportRoute::RouteType type( diff --git a/chromium-102-fenced_frame_utils-include.patch b/chromium-102-fenced_frame_utils-include.patch deleted file mode 100644 index 61f904ba..00000000 --- a/chromium-102-fenced_frame_utils-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7c135a291184b59a59643ed6a8c40b4405ac0175 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Wed, 27 Apr 2022 16:01:01 +0000 -Subject: [PATCH] IWYU: add cstring for std::strlen in fenced_frame_utils - ---- - third_party/blink/common/fenced_frame/fenced_frame_utils.cc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/third_party/blink/common/fenced_frame/fenced_frame_utils.cc b/third_party/blink/common/fenced_frame/fenced_frame_utils.cc -index 9e2d3ad..68f4823 100644 ---- a/third_party/blink/common/fenced_frame/fenced_frame_utils.cc -+++ b/third_party/blink/common/fenced_frame/fenced_frame_utils.cc -@@ -4,6 +4,8 @@ - - #include "third_party/blink/public/common/fenced_frame/fenced_frame_utils.h" - -+#include -+ - #include "base/guid.h" - #include "base/strings/string_util.h" - --- -2.35.1 - diff --git a/chromium-102-regex_pattern-array.patch b/chromium-102-regex_pattern-array.patch deleted file mode 100644 index 18058b1f..00000000 --- a/chromium-102-regex_pattern-array.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/components/autofill/core/browser/BUILD.gn -+++ b/components/autofill/core/browser/BUILD.gn -@@ -54,6 +54,11 @@ action("regex_patterns_inl_h") { - } - - static_library("browser") { -+ if (is_clang) { -+ cflags = [ -+ "-fbracket-depth=1000", -+ ] -+ } - sources = [ - "address_normalization_manager.cc", - "address_normalization_manager.h", diff --git a/chromium-102-swiftshader-template-instantiation.patch b/chromium-102-swiftshader-template-instantiation.patch deleted file mode 100644 index 13584d5b..00000000 --- a/chromium-102-swiftshader-template-instantiation.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 89c498edff683c68df6be0dd224848f4b4af5ae7 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Mon, 25 Apr 2022 13:25:02 +0200 -Subject: [PATCH] GCC: add explicit template instantiation - -Bug: b/223668065 -Change-Id: I97ea197273f2b46b6a47a9fdfbbfb5065fbd8edd -Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/65268 -Kokoro-Result: kokoro -Reviewed-by: Nicolas Capens -Reviewed-by: Alexis Hétu -Commit-Queue: Alexis Hétu -Tested-by: Alexis Hétu ---- - -diff --git a/third_party/swiftshader/third_party/subzero/src/IceInstX8632.cpp b/third_party/swiftshader/third_party/subzero/src/IceInstX8632.cpp -index fe87eee..94cac3b 100644 ---- a/third_party/swiftshader/third_party/subzero/src/IceInstX8632.cpp -+++ b/third_party/swiftshader/third_party/subzero/src/IceInstX8632.cpp -@@ -710,6 +710,11 @@ - } - } - -+template void emitIASRegOpTyGPR(const Cfg *Func, Type Ty, -+ const Variable *Var, -+ const Operand *Src, -+ const GPREmitterRegOp &Emitter); -+ - void emitIASAddrOpTyGPR(const Cfg *Func, Type Ty, const AsmAddress &Addr, - const Operand *Src, const GPREmitterAddrOp &Emitter) { - Assembler *Asm = Func->getAssembler(); -diff --git a/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp b/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp -index 9d655a1..f7097d2 100644 ---- a/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp -+++ b/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp -@@ -698,6 +698,11 @@ - } - } - -+template void emitIASRegOpTyGPR(const Cfg *Func, Type Ty, -+ const Variable *Var, -+ const Operand *Src, -+ const GPREmitterRegOp &Emitter); -+ - void emitIASAddrOpTyGPR(const Cfg *Func, Type Ty, const AsmAddress &Addr, - const Operand *Src, const GPREmitterAddrOp &Emitter) { - Assembler *Asm = Func->getAssembler(); diff --git a/chromium-102-symbolize-include.patch b/chromium-102-symbolize-include.patch deleted file mode 100644 index f4ac31d0..00000000 --- a/chromium-102-symbolize-include.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 9dd0503835dc875807ab63efb1f477bffed2a852 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Mon, 25 Apr 2022 23:18:30 +0000 -Subject: [PATCH] IWYU: add utility for std::exchange - -Bug: 957519 -Change-Id: I307d520fdc34d2452018ed32a505e7e519739410 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3604643 -Reviewed-by: Wez -Commit-Queue: Stephan Hartmann -Cr-Commit-Position: refs/heads/main@{#995855} ---- - -diff --git a/base/third_party/symbolize/patches/0001-expose-object-file-helpers.patch b/base/third_party/symbolize/patches/0001-expose-object-file-helpers.patch -index b7376d8..72900a19 100644 ---- a/base/third_party/symbolize/patches/0001-expose-object-file-helpers.patch -+++ b/base/third_party/symbolize/patches/0001-expose-object-file-helpers.patch -@@ -118,11 +118,12 @@ - index c6f9ec4360ede..00cfa022219e6 100644 - --- a/base/third_party/symbolize/symbolize.h - +++ b/base/third_party/symbolize/symbolize.h --@@ -60,6 +60,8 @@ -+@@ -60,6 +60,9 @@ - - #ifdef HAVE_SYMBOLIZE - - +#include -++#include - + - #if defined(__ELF__) // defined by gcc - #if defined(__OpenBSD__) -diff --git a/base/third_party/symbolize/symbolize.h b/base/third_party/symbolize/symbolize.h -index 99029a9..278078f 100644 ---- a/base/third_party/symbolize/symbolize.h -+++ b/base/third_party/symbolize/symbolize.h -@@ -61,6 +61,7 @@ - #ifdef HAVE_SYMBOLIZE - - #include -+#include - - #if defined(__ELF__) // defined by gcc - #if defined(__OpenBSD__) diff --git a/chromium-103-FrameLoadRequest-type.patch b/chromium-103-FrameLoadRequest-type.patch deleted file mode 100644 index cdace4bf..00000000 --- a/chromium-103-FrameLoadRequest-type.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 491bf840da4f76fa3591cc0aa2f4c19cdbe57ec4 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Thu, 12 May 2022 11:58:29 +0000 -Subject: [PATCH] GCC: fix ambiguous references in blink::FrameLoadRequest - -Add namespace to avoid confusion. ---- - third_party/blink/renderer/core/loader/frame_load_request.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/blink/renderer/core/loader/frame_load_request.h b/third_party/blink/renderer/core/loader/frame_load_request.h -index 444b25c..a86814d 100644 ---- a/third_party/blink/renderer/core/loader/frame_load_request.h -+++ b/third_party/blink/renderer/core/loader/frame_load_request.h -@@ -179,7 +179,7 @@ struct CORE_EXPORT FrameLoadRequest { - impression_ = impression; - } - -- const absl::optional& Impression() const { return impression_; } -+ const absl::optional& Impression() const { return impression_; } - - bool CanDisplay(const KURL&) const; - --- -2.35.1 - diff --git a/chromium-103-SubstringSetMatcher-packed.patch b/chromium-103-SubstringSetMatcher-packed.patch deleted file mode 100644 index ae27bfc4..00000000 --- a/chromium-103-SubstringSetMatcher-packed.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 3d274856e792a361336eb4ae1670bc9c1905f0cb Mon Sep 17 00:00:00 2001 -From: Steinar H. Gunderson -Date: Thu, 12 May 2022 16:42:40 +0200 -Subject: [PATCH] Make AhoCorasickNode 4-aligned. - -This should fix an issue where std::vector could allocate unaligned -memory for AhoCorasickNode, and we'd then return a pointer to -inline_edges, where a caller would expect the pointer to be aligned -but it wasn't. - -Change-Id: Id9dff044c61f8e46062c63b8480b18ebc68c4862 ---- - -diff --git a/base/substring_set_matcher/substring_set_matcher.cc b/base/substring_set_matcher/substring_set_matcher.cc -index e110047..ef0b750 100644 ---- a/base/substring_set_matcher/substring_set_matcher.cc -+++ b/base/substring_set_matcher/substring_set_matcher.cc -@@ -424,7 +424,12 @@ - edges_.inline_edges[num_edges()] = AhoCorasickEdge{label, node}; - if (label == kFailureNodeLabel) { - // Make sure that kFailureNodeLabel is first. -- std::swap(edges_.inline_edges[0], edges_.inline_edges[num_edges()]); -+ // NOTE: We don't use std::swap here, because GCC -+ // doesn't understand that inline_edges[] is 4-aligned -+ // and gives a warning. -+ AhoCorasickEdge temp = edges_.inline_edges[0]; -+ edges_.inline_edges[0] = edges_.inline_edges[num_edges()]; -+ edges_.inline_edges[num_edges()] = temp; - } - --num_free_edges_; - return; -diff --git a/base/substring_set_matcher/substring_set_matcher.cc b/base/substring_set_matcher/substring_set_matcher.cc -index e110047..ef0b750 100644 ---- a/base/substring_set_matcher/substring_set_matcher.h -+++ b/base/substring_set_matcher/substring_set_matcher.h -@@ -154,8 +154,9 @@ - static constexpr uint32_t kEmptyLabel = 0x103; - - // A node in the trie, packed tightly together so that it occupies 12 bytes -- // (both on 32- and 64-bit platforms). -- class AhoCorasickNode { -+ // (both on 32- and 64-bit platforms), but aligned to at least 4 (see the -+ // comment on edges_). -+ class alignas(AhoCorasickEdge) AhoCorasickNode { - public: - AhoCorasickNode(); - ~AhoCorasickNode(); -@@ -178,6 +179,10 @@ - NodeID GetEdgeNoInline(uint32_t label) const; - void SetEdge(uint32_t label, NodeID node); - const AhoCorasickEdge* edges() const { -+ // NOTE: Returning edges_.inline_edges here is fine, because it's -+ // the first thing in the struct (see the comment on edges_). -+ DCHECK_EQ(0u, reinterpret_cast(edges_.inline_edges) % -+ alignof(AhoCorasickEdge)); - return edges_capacity_ == 0 ? edges_.inline_edges : edges_.edges; - } - -@@ -258,6 +263,11 @@ - // in the first slot if it exists (ie., is not equal to kRootID), since we - // need to access that label during every single node we look at during - // traversal. -+ // -+ // NOTE: Keep this the first member in the struct, so that inline_edges gets -+ // 4-aligned (since the class is marked as such, despite being packed. -+ // Otherwise, edges() can return an unaligned pointer marked as aligned -+ // (the unalignedness gets lost). - static constexpr int kNumInlineEdges = 2; - union { - // Out-of-line edge storage, having room for edges_capacity_ elements. diff --git a/chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch b/chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch deleted file mode 100644 index e24f9d89..00000000 --- a/chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-103.0.5060.53/tools/grit/grit/util.py.fix-python3 chromium-103.0.5060.53/tools/grit/grit/util.py ---- chromium-103.0.5060.53/tools/grit/grit/util.py.fix-python3 2022-06-30 19:38:05.483590098 +0000 -+++ chromium-103.0.5060.53/tools/grit/grit/util.py 2022-06-30 19:38:14.024304827 +0000 -@@ -209,7 +209,7 @@ def ReadFile(filename, encoding): - mode = 'rb' - encoding = None - else: -- mode = 'rU' -+ mode = 'r' - - with io.open(filename, mode, encoding=encoding) as f: - return f.read() diff --git a/chromium-104.0.5112.101-system-minizip-header-fix.patch b/chromium-104.0.5112.101-system-minizip-header-fix.patch deleted file mode 100644 index acda4361..00000000 --- a/chromium-104.0.5112.101-system-minizip-header-fix.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc ---- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip 2022-08-18 23:16:03.451728329 +0000 -+++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc 2022-08-18 23:16:23.966049114 +0000 -@@ -21,8 +21,8 @@ limitations under the License. - #include "absl/status/status.h" // from @com_google_absl - #include "absl/strings/str_format.h" // from @com_google_absl - #include "absl/strings/string_view.h" // from @com_google_absl --#include "contrib/minizip/ioapi.h" --#include "contrib/minizip/unzip.h" -+#include -+#include - #include "flatbuffers/flatbuffers.h" // from @flatbuffers - #include "tensorflow/lite/schema/schema_generated.h" - #include "tensorflow_lite_support/cc/common.h" -diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc ---- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip 2022-08-18 23:16:52.463105585 +0000 -+++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc 2022-08-18 23:17:12.849430606 +0000 -@@ -19,8 +19,8 @@ limitations under the License. - #include - #include - --#include "contrib/minizip/ioapi.h" --#include "contrib/minizip/zip.h" -+#include -+#include - #include "flatbuffers/flatbuffers.h" // from @flatbuffers - #include "tensorflow/lite/schema/schema_generated.h" - #include "tensorflow_lite_support/cc/common.h" -diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc ---- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip 2022-08-18 23:18:14.697382850 +0000 -+++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc 2022-08-18 23:18:27.148970583 +0000 -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "contrib/minizip/ioapi.h" -+#include - - namespace tflite { - namespace metadata { -diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h ---- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h.system-minizip 2022-08-18 20:14:28.116854693 +0000 -+++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h 2022-08-18 20:14:28.115854726 +0000 -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "contrib/minizip/ioapi.h" -+#include - - namespace tflite { - namespace metadata { -diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc ---- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip 2022-08-18 23:19:14.807392634 +0000 -+++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc 2022-08-18 23:19:31.177850617 +0000 -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "contrib/minizip/ioapi.h" -+#include - - namespace tflite { - namespace metadata { -diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h ---- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip 2022-08-18 20:14:28.116854693 +0000 -+++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h 2022-08-18 20:14:28.116854693 +0000 -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "contrib/minizip/ioapi.h" -+#include - - namespace tflite { - namespace metadata { diff --git a/chromium-105-AdjustMaskLayerGeometry-ceilf.patch b/chromium-105-AdjustMaskLayerGeometry-ceilf.patch deleted file mode 100644 index e347fa03..00000000 --- a/chromium-105-AdjustMaskLayerGeometry-ceilf.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 385068e1eb1cde9629d18ceee1fd13255c70c806 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Fri, 22 Jul 2022 18:29:24 +0000 -Subject: [PATCH] libstdc++: use math.h in blink::AdjustMaskLayerGeometry - -libstdc++ does not implement std::ceilf. Use ceilf from math.h -instead. - -Bug: 957519 -Change-Id: I03b5e0a1eb73fdeae34d5f3d2f2e9c8871c52543 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3782841 -Commit-Queue: Stephan Hartmann -Reviewed-by: Juanmi Huertas -Cr-Commit-Position: refs/heads/main@{#1027342} ---- - -diff --git a/third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.cc b/third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.cc -index 4abe1d9..b5b43da 100644 ---- a/third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.cc -+++ b/third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.cc -@@ -4,8 +4,9 @@ - - #include "third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.h" - -+#include - #include --#include -+ - #include "third_party/blink/renderer/platform/graphics/paint/geometry_mapper.h" - #include "third_party/blink/renderer/platform/graphics/paint/transform_paint_property_node.h" - #include "ui/gfx/geometry/size.h" -@@ -29,8 +30,7 @@ - // Map a screen pixel into the layer. - GeometryMapper::SourceToDestinationRect(TransformPaintPropertyNode::Root(), - transform, pixel_rect); -- int outset = -- std::ceilf(std::max(pixel_rect.width(), pixel_rect.height()) * 2); -+ int outset = ceilf(std::max(pixel_rect.width(), pixel_rect.height()) * 2); - // Don't expand too far in extreme cases. - constexpr int kMaxOutset = 1000; - outset = std::min(kMaxOutset, outset); diff --git a/chromium-105-Bitmap-include.patch b/chromium-105-Bitmap-include.patch deleted file mode 100644 index 75d01614..00000000 --- a/chromium-105-Bitmap-include.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 8959d9d1c6e4ed083c278ab9e8def20a409052b9 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Fri, 22 Jul 2022 16:51:28 +0000 -Subject: [PATCH] IWYU: add memory for std::unique_ptr in disk_cache::Bitmap - -Bug: 957519 -Change-Id: I123198345e5f9062329b7eabe980f312525c268b -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3779530 -Reviewed-by: Maks Orlovich -Commit-Queue: Stephan Hartmann -Cr-Commit-Position: refs/heads/main@{#1027289} ---- - -diff --git a/net/disk_cache/blockfile/bitmap.h b/net/disk_cache/blockfile/bitmap.h -index 07806cf..9ffa98b9 100644 ---- a/net/disk_cache/blockfile/bitmap.h -+++ b/net/disk_cache/blockfile/bitmap.h -@@ -8,6 +8,8 @@ - #include - #include - -+#include -+ - #include "base/memory/raw_ptr.h" - #include "net/base/net_export.h" - diff --git a/chromium-105-Trap-raw_ptr.patch b/chromium-105-Trap-raw_ptr.patch deleted file mode 100644 index d784052f..00000000 --- a/chromium-105-Trap-raw_ptr.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 632aad0141fe0008fa9babba4f1f514222fa2cda Mon Sep 17 00:00:00 2001 -From: Matthew Denton -Date: Mon, 01 Aug 2022 21:45:28 +0000 -Subject: [PATCH] [Linux sandbox] cleanup TrapRegistry's "atomics" - -TrapRegistry uses some hacky asm statements as compiler memory barriers -to prevent a signal handler from accessing a deleted array (in the case -that the store of the pointer to the new array is reordered after the -deletion of the old array and the signal handler grabs a pointer to the -old array after it's deleted). - -We have std::atomic_signal_fence for this now, so this uses it. - -This also changes the |trap_array_| pointer back to a raw pointer from -a raw_ptr. Usage of raw_ptr might be awkward as it is also accessed in -a signal handler, and in fact |trap_array_| is an owning pointer -anyway so raw_ptr is unnecessary. - -This came up in https://crrev.com/c/3789266 in which the use of raw_ptr -with the hacky compiler barriers was not supported by GCC. - -SMALL ADDITION: This also removes raw_ptr from the arch_sigsys struct; it was a raw pointer to a code instruction and likely would not have worked. It is also never dereferenced (only its value is used). - -NOTE 1: In technicality, all non-local variables accessed by the signal -handler must be either lock-free std::atomics or volatile sig_atomic_t. -None of Chrome's code does this and in fact, glibc just typedefs -sig_atomic_t to int. The std::atomic_signal_fence is enough on any -architecture. - -NOTE 2: This race condition is unlikely to ever happen even without -compiler barriers. The only time we might be modifying the -|trap_array_| and also accessing it from a signal handler, we must -have already applied a seccomp sandbox that uses traps, and now be -applying another one that uses traps. And to replace the deleted object, -the second sandbox must be getting applied in a multithreaded -environment, otherwise there would be no allocations after the free. - -Bug: 819294 - -Change-Id: I9f1cd417446dd863805a303e9b111bc862cb9ae2 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3788911 -Commit-Queue: Matthew Denton -Reviewed-by: Tom Sepez -Cr-Commit-Position: refs/heads/main@{#1030277} ---- - -diff --git a/sandbox/linux/seccomp-bpf/trap.cc b/sandbox/linux/seccomp-bpf/trap.cc -index cb71a9b..b0c0257 100644 ---- a/sandbox/linux/seccomp-bpf/trap.cc -+++ b/sandbox/linux/seccomp-bpf/trap.cc -@@ -12,12 +12,13 @@ - #include - - #include -+#include - #include - #include - - #include "base/compiler_specific.h" - #include "base/logging.h" --#include "base/memory/raw_ptr.h" -+#include "base/memory/raw_ptr_exclusion.h" - #include "build/build_config.h" - #include "sandbox/linux/bpf_dsl/seccomp_macros.h" - #include "sandbox/linux/seccomp-bpf/die.h" -@@ -29,7 +30,9 @@ - namespace { - - struct arch_sigsys { -- raw_ptr ip; -+ // This is not raw_ptr because it is a pointer to a code address given to us -+ // by the kernel. -+ RAW_PTR_EXCLUSION void* ip; - int nr; - unsigned int arch; - }; -@@ -77,11 +80,7 @@ - - namespace sandbox { - --Trap::Trap() -- : trap_array_(nullptr), -- trap_array_size_(0), -- trap_array_capacity_(0), -- has_unsafe_traps_(false) { -+Trap::Trap() { - // Set new SIGSYS handler - struct sigaction sa = {}; - // In some toolchain, sa_sigaction is not declared in struct sigaction. -@@ -239,7 +238,7 @@ - struct arch_seccomp_data data = { - static_cast(SECCOMP_SYSCALL(ctx)), - SECCOMP_ARCH, -- reinterpret_cast(sigsys.ip.get()), -+ reinterpret_cast(sigsys.ip), - {static_cast(SECCOMP_PARM1(ctx)), - static_cast(SECCOMP_PARM2(ctx)), - static_cast(SECCOMP_PARM3(ctx)), -@@ -333,24 +332,11 @@ - TrapKey* new_trap_array = new TrapKey[trap_array_capacity_]; - std::copy_n(old_trap_array, trap_array_size_, new_trap_array); - -- // Language specs are unclear on whether the compiler is allowed to move -- // the "delete[]" above our preceding assignments and/or memory moves, -- // iff the compiler believes that "delete[]" doesn't have any other -- // global side-effects. -- // We insert optimization barriers to prevent this from happening. -- // The first barrier is probably not needed, but better be explicit in -- // what we want to tell the compiler. -- // The clang developer mailing list couldn't answer whether this is a -- // legitimate worry; but they at least thought that the barrier is -- // sufficient to prevent the (so far hypothetical) problem of re-ordering -- // of instructions by the compiler. -- // -- // TODO(mdempsky): Try to clean this up using base/atomicops or C++11 -- // atomics; see crbug.com/414363. -- asm volatile("" : "=r"(new_trap_array) : "0"(new_trap_array) : "memory"); - trap_array_ = new_trap_array; -- asm volatile("" : "=r"(trap_array_) : "0"(trap_array_) : "memory"); -- -+ // Prevent the compiler from moving delete[] before the store of the -+ // |new_trap_array|, otherwise a concurrent SIGSYS may see a |trap_array_| -+ // that still points to |old_trap_array| after it has been deleted. -+ std::atomic_signal_fence(std::memory_order_release); - delete[] old_trap_array; - } - -diff --git a/sandbox/linux/seccomp-bpf/trap.h b/sandbox/linux/seccomp-bpf/trap.h -index cc17d26..37d2029 100644 ---- a/sandbox/linux/seccomp-bpf/trap.h -+++ b/sandbox/linux/seccomp-bpf/trap.h -@@ -10,7 +10,7 @@ - - #include - --#include "base/memory/raw_ptr.h" -+#include "base/memory/raw_ptr_exclusion.h" - #include "sandbox/linux/bpf_dsl/trap_registry.h" - #include "sandbox/linux/system_headers/linux_signal.h" - #include "sandbox/sandbox_export.h" -@@ -75,11 +75,15 @@ - // events. - static Trap* global_trap_; - -- TrapIds trap_ids_; // Maps from TrapKeys to numeric ids -- raw_ptr trap_array_; // Array of TrapKeys indexed by ids -- size_t trap_array_size_; // Currently used size of array -- size_t trap_array_capacity_; // Currently allocated capacity of array -- bool has_unsafe_traps_; // Whether unsafe traps have been enabled -+ TrapIds trap_ids_; // Maps from TrapKeys to numeric ids -+ // Array of TrapKeys indexed by ids. -+ // -+ // This is not a raw_ptr as it is an owning pointer anyway, and is meant to be -+ // used between normal code and signal handlers. -+ RAW_PTR_EXCLUSION TrapKey* trap_array_ = nullptr; -+ size_t trap_array_size_ = 0; // Currently used size of array -+ size_t trap_array_capacity_ = 0; // Currently allocated capacity of array -+ bool has_unsafe_traps_ = false; // Whether unsafe traps have been enabled - }; - - } // namespace sandbox diff --git a/chromium-105-browser_finder-include.patch b/chromium-105-browser_finder-include.patch deleted file mode 100644 index ab464270..00000000 --- a/chromium-105-browser_finder-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 41dca8bd0c5e8ac5197d7477c6f01556fb88fb43 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sun, 14 Aug 2022 08:41:11 +0000 -Subject: [PATCH] IWYU: add vector for std::vector in browser_finder.h - ---- - chrome/browser/ui/browser_finder.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/chrome/browser/ui/browser_finder.h b/chrome/browser/ui/browser_finder.h -index f885be0..ad7a184 100644 ---- a/chrome/browser/ui/browser_finder.h -+++ b/chrome/browser/ui/browser_finder.h -@@ -6,6 +6,7 @@ - #define CHROME_BROWSER_UI_BROWSER_FINDER_H_ - - #include -+#include - - #include "ui/display/types/display_constants.h" - #include "ui/gfx/native_widget_types.h" --- -2.35.1 - diff --git a/chromium-105-raw_ptr-noexcept.patch b/chromium-105-raw_ptr-noexcept.patch deleted file mode 100644 index 0c325248..00000000 --- a/chromium-105-raw_ptr-noexcept.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 72b19a6a725809f872a7e7525c9a83bcbda85ec7 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Mon, 25 Jul 2022 09:19:19 +0000 -Subject: [PATCH] GCC: make raw_ptr move assignment operator noexcept - -Required in content::LevelDBScopesOptions, because move assignment -operator is noexcept too. - -Bug: 3762913 -Change-Id: Ic55ade0e15457eb7349fe24203307972d9030a8e -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3782669 -Reviewed-by: Keishi Hattori -Commit-Queue: Stephan Hartmann -Reviewed-by: Bartek Nowierski -Cr-Commit-Position: refs/heads/main@{#1027669} ---- - -diff --git a/base/memory/raw_ptr.h b/base/memory/raw_ptr.h -index 5d8c1cfd..9a62f03 100644 ---- a/base/memory/raw_ptr.h -+++ b/base/memory/raw_ptr.h -@@ -796,7 +796,7 @@ - return *this; - } - -- ALWAYS_INLINE raw_ptr& operator=(raw_ptr&& p) { -+ ALWAYS_INLINE raw_ptr& operator=(raw_ptr&& p) noexcept { - if (LIKELY(this != &p)) { - Impl::ReleaseWrappedPtr(wrapped_ptr_); - wrapped_ptr_ = p.wrapped_ptr_; diff --git a/chromium-105.0.5195.125-fix-wayland-menu.patch b/chromium-105.0.5195.125-fix-wayland-menu.patch deleted file mode 100644 index a4ce851c..00000000 --- a/chromium-105.0.5195.125-fix-wayland-menu.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc.fix-wayland-menu chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc ---- chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc.fix-wayland-menu 2022-09-23 18:29:51.872286569 +0000 -+++ chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc 2022-09-23 18:30:18.819376074 +0000 -@@ -950,7 +950,7 @@ void WaylandWindow::ProcessPendingBounds - // window has been applied. - SetWindowGeometry(pending_bounds_dip_); - AckConfigure(serial); -- root_surface()->Commit(); -+ connection()->ScheduleFlush(); - } else if (!pending_configures_.empty() && - pending_bounds_dip_.size() == - pending_configures_.back().bounds_dip.size()) { -diff -up chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc.fix-wayland-menu chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc ---- chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc.fix-wayland-menu 2022-09-23 18:30:41.936594397 +0000 -+++ chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc 2022-09-23 18:31:31.703911576 +0000 -@@ -1103,9 +1103,7 @@ TEST_P(WaylandBufferManagerTest, TestCom - EXPECT_CALL(*xdg_surface, AckConfigure(_)).Times(1); - EXPECT_CALL(*mock_surface, Attach(_, _, _)).Times(1); - EXPECT_CALL(*mock_surface, Frame(_)).Times(1); -- // Commit() can be called a second time as part of the configure -> ack -- // sequence. -- EXPECT_CALL(*mock_surface, Commit()).Times(testing::Between(1, 2)); -+ EXPECT_CALL(*mock_surface, Commit()).Times(1); - - ActivateSurface(mock_surface->xdg_surface()); - Sync(); diff --git a/chromium-105.0.5195.52-gn-system.patch b/chromium-105.0.5195.52-gn-system.patch deleted file mode 100644 index e8c0bcc1..00000000 --- a/chromium-105.0.5195.52-gn-system.patch +++ /dev/null @@ -1,207 +0,0 @@ -diff -up chromium-105.0.5195.52/build/linux/unbundle/libusb.gn.gnsystem chromium-105.0.5195.52/build/linux/unbundle/libusb.gn ---- chromium-105.0.5195.52/build/linux/unbundle/libusb.gn.gnsystem 2022-09-01 12:23:27.557313611 +0000 -+++ chromium-105.0.5195.52/build/linux/unbundle/libusb.gn 2022-09-01 12:23:27.557313611 +0000 -@@ -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-105.0.5195.52/build/linux/unbundle/opus.gn.gnsystem chromium-105.0.5195.52/build/linux/unbundle/opus.gn ---- chromium-105.0.5195.52/build/linux/unbundle/opus.gn.gnsystem 2022-08-24 20:27:57.000000000 +0000 -+++ chromium-105.0.5195.52/build/linux/unbundle/opus.gn 2022-09-01 12:41:57.564878845 +0000 -@@ -1,3 +1,164 @@ -+# 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") -+import("//testing/test.gni") -+ -+pkg_config("system_opus") { -+ packages = [ "opus" ] -+} -+ -+shim_headers("opus_shim") { -+ root_path = "src/include" -+ headers = [ -+ "opus_custom.h", -+ "opus_defines.h", -+ "opus_multistream.h", -+ "opus_types.h", -+ "opus.h", -+ ] -+} -+ -+source_set("opus") { -+ deps = [ -+ ":opus_shim", -+ ] -+ public_configs = [ ":system_opus" ] -+} -+ -+config("opus_test_config") { -+ include_dirs = [ -+ "src/celt", -+ "src/silk", -+ ] -+ -+ if (is_win) { -+ defines = [ "inline=__inline" ] -+ } -+ if (is_android) { -+ libs = [ "log" ] -+ } -+ if (is_clang) { -+ cflags = [ "-Wno-absolute-value" ] -+ } -+} -+ -+executable("opus_compare") { -+ sources = [ -+ "src/src/opus_compare.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ "//build/config/sanitizers:deps", -+ "//build/win:default_exe_manifest", -+ ] -+} -+ -+executable("opus_demo") { -+ sources = [ -+ "src/src/opus_demo.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ "//build/config/sanitizers:deps", -+ "//build/win:default_exe_manifest", -+ ] -+} -+ -+test("test_opus_api") { -+ sources = [ -+ "src/tests/test_opus_api.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+test("test_opus_encode") { -+ sources = [ -+ "src/tests/test_opus_encode.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+# GN orders flags on a target before flags from configs. The default config -+# adds -Wall, and this flag have to be after -Wall -- so they need to -+# come from a config and can't be on the target directly. -+config("test_opus_decode_config") { -+ # test_opus_decode passes a null pointer to opus_decode() for an argument -+ # marked as requiring a non-null value by the nonnull function attribute, -+ # and expects opus_decode() to fail. Disable the -Wnonnull option to avoid -+ # a compilation error if -Werror is specified. -+ if (is_posix) { -+ cflags = [ "-Wno-nonnull" ] -+ } -+} -+ -+test("test_opus_decode") { -+ sources = [ -+ "src/tests/test_opus_decode.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ":test_opus_decode_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+test("test_opus_padding") { -+ sources = [ -+ "src/tests/test_opus_padding.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ - # Copyright 2017 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. -diff -up chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py ---- chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py.gnsystem 2022-09-01 12:23:27.558313577 +0000 -+++ chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py 2022-09-01 12:36:01.870847125 +0000 -@@ -52,6 +52,7 @@ REPLACEMENTS = { - 'libjpeg': 'third_party/libjpeg.gni', - 'libjxl' : 'third_party/libjxl/BUILD.gn', - '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', diff --git a/chromium-107.0.5304.101-system-minizip-header-fix.patch b/chromium-107.0.5304.101-system-minizip-header-fix.patch new file mode 100644 index 00000000..5ce7fe53 --- /dev/null +++ b/chromium-107.0.5304.101-system-minizip-header-fix.patch @@ -0,0 +1,65 @@ +diff -up chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc +--- chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip 2022-11-14 11:48:36.877164150 +0100 ++++ chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc 2022-11-14 11:51:55.791949494 +0100 +@@ -27,8 +27,8 @@ limitations under the License. + #include "tensorflow_lite_support/cc/port/status_macros.h" + #include "tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h" + #include "tensorflow_lite_support/metadata/metadata_schema_generated.h" +-#include "third_party/zlib/contrib/minizip/ioapi.h" +-#include "third_party/zlib/contrib/minizip/unzip.h" ++#include ++#include + + namespace tflite { + namespace metadata { +diff -up chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc +--- chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip 2022-11-14 11:48:36.877164150 +0100 ++++ chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc 2022-11-14 11:52:36.233736347 +0100 +@@ -26,8 +26,8 @@ limitations under the License. + #include "tensorflow_lite_support/cc/port/statusor.h" + #include "tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h" + #include "tensorflow_lite_support/metadata/metadata_schema_generated.h" +-#include "third_party/zlib/contrib/minizip/ioapi.h" +-#include "third_party/zlib/contrib/minizip/unzip.h" ++#include ++#include + + namespace tflite { + namespace metadata { +diff -up chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc +--- chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip 2022-11-09 01:41:13.000000000 +0100 ++++ chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc 2022-11-14 11:48:36.877164150 +0100 +@@ -19,7 +19,7 @@ limitations under the License. + #include + + #include "absl/strings/string_view.h" // from @com_google_absl +-#include "contrib/minizip/ioapi.h" ++#include + + namespace tflite { + namespace metadata { +diff -up chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h.system-minizip chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h +diff -up chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc +--- chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip 2022-11-14 11:48:36.877164150 +0100 ++++ chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc 2022-11-14 11:53:57.365294462 +0100 +@@ -19,7 +19,7 @@ limitations under the License. + #include + + #include "absl/strings/string_view.h" // from @com_google_absl +-#include "third_party/zlib/contrib/minizip/ioapi.h" ++#include + + namespace tflite { + namespace metadata { +diff -up chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h +--- chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip 2022-11-14 11:48:36.877164150 +0100 ++++ chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h 2022-11-14 11:54:21.318756738 +0100 +@@ -19,7 +19,7 @@ limitations under the License. + #include + + #include "absl/strings/string_view.h" // from @com_google_absl +-#include "third_party/zlib/contrib/minizip/ioapi.h" ++#include + + namespace tflite { + namespace metadata { diff --git a/chromium-107.0.5304.110-gn-system.patch b/chromium-107.0.5304.110-gn-system.patch new file mode 100644 index 00000000..4c944015 --- /dev/null +++ b/chromium-107.0.5304.110-gn-system.patch @@ -0,0 +1,39 @@ +diff -up chromium-105.0.5195.52/build/linux/unbundle/libusb.gn.gnsystem chromium-105.0.5195.52/build/linux/unbundle/libusb.gn +--- chromium-105.0.5195.52/build/linux/unbundle/libusb.gn.gnsystem 2022-09-01 12:23:27.557313611 +0000 ++++ chromium-105.0.5195.52/build/linux/unbundle/libusb.gn 2022-09-01 12:23:27.557313611 +0000 +@@ -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-105.0.5195.52/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py +--- chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py.gnsystem 2022-09-01 12:23:27.558313577 +0000 ++++ chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py 2022-09-01 12:36:01.870847125 +0000 +@@ -52,6 +52,7 @@ REPLACEMENTS = { + 'libjpeg': 'third_party/libjpeg.gni', + 'libjxl' : 'third_party/libjxl/BUILD.gn', + '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', diff --git a/chromium-103.0.5060.53-remoting-extra-qualification.patch b/chromium-107.0.5304.110-remoting-extra-qualification.patch similarity index 71% rename from chromium-103.0.5060.53-remoting-extra-qualification.patch rename to chromium-107.0.5304.110-remoting-extra-qualification.patch index 37d2acfb..9b9ce184 100644 --- a/chromium-103.0.5060.53-remoting-extra-qualification.patch +++ b/chromium-107.0.5304.110-remoting-extra-qualification.patch @@ -1,7 +1,7 @@ -diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h ---- chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification 2022-06-27 22:16:20.214876025 +0000 -+++ chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h 2022-06-28 12:44:09.663890774 +0000 -@@ -37,7 +37,7 @@ +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 <> @@ -10,7 +10,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo public: static bool value(bool value) { return value; } -@@ -48,7 +48,7 @@ class mojo::StructTraits @@ -19,7 +19,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo public: static float value(float value) { return value; } -@@ -59,7 +59,7 @@ class mojo::StructTraits @@ -28,7 +28,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo public: static int32_t value(int32_t value) { return value; } -@@ -71,7 +71,7 @@ class mojo::StructTraits @@ -37,7 +37,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo public: static uint32_t value(uint32_t value) { return value; } -@@ -83,7 +83,7 @@ class mojo::StructTraits @@ -46,7 +46,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::webrtc::DesktopCaptureOptions> { public: static bool use_update_notifications( -@@ -108,7 +108,7 @@ class mojo::StructTraits @@ -55,7 +55,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::DesktopEnvironmentOptions> { public: static bool enable_curtaining( -@@ -205,7 +205,7 @@ struct EnumTraits @@ -64,7 +64,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::webrtc::DesktopRect> { public: static int32_t left(const ::webrtc::DesktopRect& rect) { return rect.left(); } -@@ -225,7 +225,7 @@ class mojo::StructTraits @@ -73,7 +73,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::webrtc::DesktopSize> { public: static int32_t width(const ::webrtc::DesktopSize& size) { -@@ -241,7 +241,7 @@ class mojo::StructTraits @@ -82,7 +82,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::webrtc::DesktopVector> { public: static int32_t x(const ::webrtc::DesktopVector& vector) { return vector.x(); } -@@ -253,7 +253,7 @@ class mojo::StructTraits @@ -91,7 +91,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::webrtc::MouseCursor> { public: static const webrtc::DesktopSize& image_size( -@@ -506,7 +506,7 @@ struct EnumTraits @@ -100,7 +100,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::std::unique_ptr<::remoting::AudioPacket>> { public: static int32_t timestamp( -@@ -544,7 +544,7 @@ class mojo::StructTraits @@ -109,16 +109,34 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::ClipboardEvent> { public: static const std::string& mime_type( -@@ -562,7 +562,7 @@ class mojo::StructTraits +-class mojo::UnionTraits< ++class UnionTraits< + remoting::mojom::ReadChunkResultDataView, + ::remoting::Result, + ::remoting::protocol::FileTransfer_Error>> { +@@ -606,7 +606,7 @@ class mojo::UnionTraits< + }; + + template <> +-class mojo::StructTraits { + public: + static ::remoting::protocol::FileTransfer_Error_Type type( +@@ -745,7 +745,7 @@ class mojo::UnionTraits< + #endif // BUILDFLAG(IS_WIN) + template <> -class mojo::StructTraits { public: static const ::google::protobuf:: -@@ -576,7 +576,7 @@ class mojo::StructTraits @@ -127,7 +145,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::KeyboardLayout_KeyAction> { public: static remoting::mojom::KeyActionDataView::Tag GetTag( -@@ -609,7 +609,7 @@ class mojo::UnionTraits @@ -136,7 +154,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::KeyboardLayout_KeyBehavior> { public: static const ::google::protobuf::Map< -@@ -967,7 +967,7 @@ struct EnumTraits @@ -145,7 +163,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::KeyEvent> { public: static bool pressed(const ::remoting::protocol::KeyEvent& event) { -@@ -1003,7 +1003,7 @@ class mojo::StructTraits @@ -154,7 +172,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::MouseEvent> { public: static absl::optional x( -@@ -1092,7 +1092,7 @@ class mojo::StructTraits @@ -163,7 +181,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::ScreenResolution> { public: static const ::webrtc::DesktopSize& dimensions( -@@ -1110,7 +1110,7 @@ class mojo::StructTraits @@ -172,7 +190,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::TextEvent> { public: static const std::string& text(const ::remoting::protocol::TextEvent& event) { -@@ -1122,7 +1122,7 @@ class mojo::StructTraits @@ -181,7 +199,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::TouchEventPoint> { public: static uint32_t id(const ::remoting::protocol::TouchEventPoint& event) { -@@ -1199,7 +1199,7 @@ struct EnumTraits @@ -190,7 +208,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::TouchEvent> { public: static ::remoting::protocol::TouchEvent::TouchEventType event_type( -@@ -1259,7 +1259,7 @@ struct EnumTraits @@ -199,7 +217,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::TransportRoute> { public: static ::remoting::protocol::TransportRoute::RouteType type( -@@ -1406,7 +1406,7 @@ struct EnumTraits @@ -208,7 +226,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::VideoLayout> { public: static const ::google::protobuf::RepeatedPtrField< -@@ -1425,7 +1425,7 @@ class mojo::StructTraits diff --git a/chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch b/chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch deleted file mode 100644 index ddb94a07..00000000 --- a/chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc.revert chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc ---- chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc.revert 2017-05-08 14:58:11.767482431 -0400 -+++ chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc 2017-05-08 14:58:37.722960109 -0400 -@@ -790,15 +790,6 @@ void DeviceDataManagerX11::UpdateScrollC - DCHECK(deviceid >= 0 && deviceid < kMaxDeviceNum); - ScrollInfo& info = scroll_data_[deviceid]; - -- bool legacy_scroll_available = -- (scroll_class_info->flags & XIScrollFlagNoEmulation) == 0; -- // If the device's highest resolution is lower than the resolution of xinput1 -- // then use xinput1's events instead (ie. don't configure smooth scrolling). -- if (legacy_scroll_available && -- std::abs(scroll_class_info->increment) <= 1.0) { -- return; -- } -- - switch (scroll_class_info->scroll_type) { - case XIScrollTypeVertical: - info.vertical.number = scroll_class_info->number; diff --git a/chromium-60.0.3112.78-jpeg-nomangle.patch b/chromium-60.0.3112.78-jpeg-nomangle.patch deleted file mode 100644 index 0b758a43..00000000 --- a/chromium-60.0.3112.78-jpeg-nomangle.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h.nomangle chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h ---- chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h.nomangle 2017-08-01 15:29:00.870759406 -0400 -+++ chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h 2017-08-01 15:29:09.326593414 -0400 -@@ -18,10 +18,6 @@ - #ifndef JPEGLIB_H - #define JPEGLIB_H - --/* Begin chromium edits */ --#include "jpeglibmangler.h" --/* End chromium edits */ -- - /* - * First we include the configuration files that record how this - * installation of the JPEG library is set up. jconfig.h can be diff --git a/chromium-68.0.3440.106-master-prefs-path.patch b/chromium-68.0.3440.106-master-prefs-path.patch deleted file mode 100644 index 9304adff..00000000 --- a/chromium-68.0.3440.106-master-prefs-path.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-68.0.3440.106/chrome/browser/first_run/first_run_internal_linux.cc.etc chromium-68.0.3440.106/chrome/browser/first_run/first_run_internal_linux.cc ---- chromium-68.0.3440.106/chrome/browser/first_run/first_run_internal_linux.cc.etc 2018-08-09 03:12:33.444705798 -0400 -+++ chromium-68.0.3440.106/chrome/browser/first_run/first_run_internal_linux.cc 2018-08-09 03:14:46.275754910 -0400 -@@ -19,9 +19,9 @@ bool IsOrganicFirstRun() { - - base::FilePath MasterPrefsPath() { - // The standard location of the master prefs is next to the chrome binary. -+ // ...but we patch it to use /etc/chromium - base::FilePath master_prefs; -- if (!base::PathService::Get(base::DIR_EXE, &master_prefs)) -- return base::FilePath(); -+ master_prefs = base::FilePath("/etc/chromium"); - return master_prefs.AppendASCII(installer::kDefaultMasterPrefs); - } - diff --git a/chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch b/chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch deleted file mode 100644 index 0c60643c..00000000 --- a/chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-70.0.3538.67/base/test/BUILD.gn.nofc chromium-70.0.3538.67/base/test/BUILD.gn ---- chromium-70.0.3538.67/base/test/BUILD.gn.nofc 2018-10-29 11:29:01.356812567 -0400 -+++ chromium-70.0.3538.67/base/test/BUILD.gn 2018-10-29 11:29:12.631584916 -0400 -@@ -209,9 +209,6 @@ static_library("test_support") { - data_deps = [ - "//third_party/test_fonts", - ] -- if (current_toolchain == host_toolchain) { -- data_deps += [ ":do_generate_fontconfig_caches" ] -- } - } - - if (is_ios) { diff --git a/chromium-73.0.3683.75-norar.patch b/chromium-73.0.3683.75-norar.patch deleted file mode 100644 index d61fd9cc..00000000 --- a/chromium-73.0.3683.75-norar.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff -up chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn ---- chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn.nounrar 2019-03-13 08:59:45.988801102 -0400 -+++ chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn 2019-03-13 09:00:20.244977448 -0400 -@@ -64,41 +64,6 @@ if (safe_browsing_mode == 1) { - ] - } - -- source_set("rar_analyzer") { -- sources = [ -- "rar_analyzer.cc", -- "rar_analyzer.h", -- ] -- -- deps = [ -- ":archive_analyzer_results", -- ":download_type_util", -- ":file_type_policies", -- "//base", -- "//base:i18n", -- "//components/safe_browsing:features", -- "//third_party/unrar:unrar", -- ] -- -- defines = [ -- "_FILE_OFFSET_BITS=64", -- "LARGEFILE_SOURCE", -- "RAR_SMP", -- "SILENT", -- -- # The following is set to disable certain macro definitions in the unrar -- # source code. -- "CHROMIUM_UNRAR", -- -- # Disables exceptions in unrar, replaces them with process termination. -- "UNRAR_NO_EXCEPTIONS", -- ] -- -- public_deps = [ -- "//components/safe_browsing:csd_proto", -- ] -- } -- - source_set("disk_image_type_sniffer_mac") { - sources = [ - "disk_image_type_sniffer_mac.cc", -@@ -167,7 +132,6 @@ source_set("safe_browsing") { - ":archive_analyzer_results", - ":binary_feature_extractor", - ":download_type_util", -- ":rar_analyzer", - "//components/safe_browsing:features", - ] - -diff -up chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS.nounrar chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS ---- chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS.nounrar 2019-03-11 18:00:54.000000000 -0400 -+++ chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS 2019-03-13 08:59:26.513282690 -0400 -@@ -1,6 +1,5 @@ - include_rules = [ - "+components/safe_browsing", - "+third_party/protobuf", -- "+third_party/unrar", - "+third_party/zlib", - ] -diff -up chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc ---- chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2019-03-13 08:59:26.518282566 -0400 -+++ chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc 2019-03-13 09:01:03.885935483 -0400 -@@ -48,10 +48,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile - void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, - base::File temporary_file, - AnalyzeRarFileCallback callback) { -+#if 0 - DCHECK(rar_file.IsValid()); - - safe_browsing::ArchiveAnalyzerResults results; - safe_browsing::rar_analyzer::AnalyzeRarFile( - std::move(rar_file), std::move(temporary_file), &results); - std::move(callback).Run(results); -+#else -+ NOTREACHED(); -+#endif - } diff --git a/chromium-75.0.3770.100-epel7-stdc++.patch b/chromium-75.0.3770.100-epel7-stdc++.patch deleted file mode 100644 index e4d62a0e..00000000 --- a/chromium-75.0.3770.100-epel7-stdc++.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-75.0.3770.100/build/config/BUILD.gn.epel7 chromium-75.0.3770.100/build/config/BUILD.gn ---- chromium-75.0.3770.100/build/config/BUILD.gn.epel7 2019-06-20 10:10:03.099549006 -0400 -+++ chromium-75.0.3770.100/build/config/BUILD.gn 2019-06-20 10:10:21.483158162 -0400 -@@ -267,6 +267,7 @@ config("default_libs") { - "dl", - "pthread", - "rt", -+ "stdc++", - ] - } - } diff --git a/chromium-75.0.3770.80-vaapi-i686-fpermissive.patch b/chromium-75.0.3770.80-vaapi-i686-fpermissive.patch deleted file mode 100644 index c44473db..00000000 --- a/chromium-75.0.3770.80-vaapi-i686-fpermissive.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-75.0.3770.80/media/gpu/vaapi/BUILD.gn.i686permissive chromium-75.0.3770.80/media/gpu/vaapi/BUILD.gn ---- chromium-75.0.3770.80/media/gpu/vaapi/BUILD.gn.i686permissive 2019-06-10 14:47:37.315515026 -0400 -+++ chromium-75.0.3770.80/media/gpu/vaapi/BUILD.gn 2019-06-10 14:48:25.250604888 -0400 -@@ -11,6 +11,10 @@ import("//ui/ozone/ozone.gni") - - assert(use_vaapi) - -+config("vaapi_permissive") { -+ cflags = [ "-fpermissive" ] -+} -+ - generate_stubs("libva_stubs") { - extra_header = "va_stub_header.fragment" - sigs = [ "va.sigs" ] -@@ -89,6 +93,8 @@ source_set("vaapi") { - deps += [ "//media/gpu/linux" ] - } - -+ configs += [ ":vaapi_permissive" ] -+ - if (use_x11) { - configs += [ "//build/config/linux:x11" ] - deps += [ "//ui/gfx/x" ] diff --git a/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch b/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch deleted file mode 100644 index cc91d1ef..00000000 --- a/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h ---- chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas 2019-08-09 16:48:13.000000000 +0200 -+++ chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h 2019-08-15 21:04:30.231532746 +0200 -@@ -176,8 +176,8 @@ class CSSLazyPropertyParser - DISALLOW_COPY_AND_ASSIGN(CSSLazyPropertyParser); - }; - --class CORE_EXPORT alignas(Member) alignas( -- CSSPropertyValueMetadata) ImmutableCSSPropertyValueSet -+class CORE_EXPORT ALIGNAS(alignof(Member)) -+ ALIGNAS(alignof(CSSPropertyValueMetadata)) ImmutableCSSPropertyValueSet - : public CSSPropertyValueSet { - public: - ImmutableCSSPropertyValueSet(const CSSPropertyValue*, diff --git a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch deleted file mode 100644 index aec3107f..00000000 --- a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.cc ---- chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr 2019-08-09 16:48:08.000000000 +0200 -+++ chromium-76.0.3809.100/remoting/signaling/message_tracker.cc 2019-08-20 21:29:14.545465656 +0200 -@@ -9,8 +9,7 @@ - namespace remoting { - - // static --const base::TimeDelta MessageTracker::kCleanupInterval = -- base::TimeDelta::FromMinutes(2); -+constexpr base::TimeDelta MessageTracker::kCleanupInterval; - - MessageTracker::MessageTracker() = default; - -diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.h ---- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 22:02:25.625970954 +0200 -+++ chromium-76.0.3809.100/remoting/signaling/message_tracker.h 2019-08-20 21:28:23.371952434 +0200 -@@ -36,7 +36,8 @@ class MessageTracker final { - - // All IDs older than now - kCleanupInterval will be eventually removed, but - // they are not guaranteed to be immediately removed after the interval. -- static const base::TimeDelta kCleanupInterval; -+ static constexpr base::TimeDelta kCleanupInterval = -+ base::TimeDelta::FromMinutes(2); - - void RemoveExpiredIds(); - -diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc diff --git a/chromium-76.0.3809.100-vtable-symbol-undefined.patch b/chromium-76.0.3809.100-vtable-symbol-undefined.patch deleted file mode 100644 index 64532df9..00000000 --- a/chromium-76.0.3809.100-vtable-symbol-undefined.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc ---- chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined 2019-08-20 21:21:24.901899270 +0200 -+++ chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc 2019-08-20 21:19:30.361746211 +0200 -@@ -18,6 +18,7 @@ - #include "net/quic/crypto/proof_verifier_chromium.h" - #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h" - #include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h" -+#include "net/quic/platform/impl/quic_flags_impl.cc" - - DEFINE_QUIC_COMMAND_LINE_FLAG(std::string, - certificate_file, diff --git a/chromium-76.0.3809.132-chromedriver-zlib-fix.patch b/chromium-76.0.3809.132-chromedriver-zlib-fix.patch deleted file mode 100644 index f8b44d03..00000000 --- a/chromium-76.0.3809.132-chromedriver-zlib-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-76.0.3809.132/chrome/test/chromedriver/BUILD.gn.fixme chromium-76.0.3809.132/chrome/test/chromedriver/BUILD.gn ---- chromium-76.0.3809.132/chrome/test/chromedriver/BUILD.gn.fixme 2019-09-10 15:53:02.871463568 -0400 -+++ chromium-76.0.3809.132/chrome/test/chromedriver/BUILD.gn 2019-09-10 16:57:32.281112323 -0400 -@@ -319,6 +319,7 @@ executable("chromedriver") { - "//net/server:http_server", - "//net/traffic_annotation:test_support", - "//services/network/public/mojom", -+ "//third_party/zlib", - ] - } - diff --git a/chromium-77-clang.patch b/chromium-77-clang.patch deleted file mode 100644 index a57b5a45..00000000 --- a/chromium-77-clang.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/base/location.h b/base/location.h -index c07e747..924db1c 100644 ---- a/base/location.h -+++ b/base/location.h -@@ -18,7 +18,7 @@ - - namespace base { - --#if defined(__has_builtin) -+#if defined(__clang__) - // Clang allows detection of these builtins. - #define SUPPORTS_LOCATION_BUILTINS \ - (__has_builtin(__builtin_FUNCTION) && __has_builtin(__builtin_FILE) && \ diff --git a/chromium-77.0.3865.75-base-gcc-no-alignas.patch b/chromium-77.0.3865.75-base-gcc-no-alignas.patch deleted file mode 100644 index 86a2271e..00000000 --- a/chromium-77.0.3865.75-base-gcc-no-alignas.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-77.0.3865.75/base/task/promise/dependent_list.h.base-gcc-no-alignas chromium-77.0.3865.75/base/task/promise/dependent_list.h ---- chromium-77.0.3865.75/base/task/promise/dependent_list.h.base-gcc-no-alignas 2019-09-13 21:45:51.873172347 +0200 -+++ chromium-77.0.3865.75/base/task/promise/dependent_list.h 2019-09-13 21:46:21.661522514 +0200 -@@ -59,7 +59,7 @@ class BASE_EXPORT DependentList { - - // Align Node on an 8-byte boundary to ensure the first 3 bits are 0 and can - // be used to store additional state (see static_asserts below). -- class BASE_EXPORT alignas(8) Node { -+ class BASE_EXPORT ALIGNAS(8) Node { - public: - Node(); - explicit Node(Node&& other) noexcept; diff --git a/chromium-77.0.3865.75-certificate-transparency.patch b/chromium-77.0.3865.75-certificate-transparency.patch deleted file mode 100644 index 82e2958e..00000000 --- a/chromium-77.0.3865.75-certificate-transparency.patch +++ /dev/null @@ -1,539 +0,0 @@ -diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-12 16:09:52.818635106 +0200 -+++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-12 16:11:07.662562005 +0200 -@@ -21,6 +21,7 @@ - #include "components/version_info/version_info.h" - #include "content/public/common/content_switches.h" - #include "content/public/common/user_agent.h" -+#include "services/network/public/cpp/network_service_buildflags.h" - #include "services/network/public/mojom/network_context.mojom.h" - #include "services/network/public/mojom/network_service.mojom.h" - #include "testing/gmock/include/gmock/gmock.h" -@@ -356,3 +357,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont - INSTANTIATE_TEST_SUITE_P(, - SystemNetworkContextManagerFreezeQUICUaBrowsertest, - ::testing::Values(true, false)); -+ -+class SystemNetworkContextManagerCertificateTransparencyBrowsertest -+ : public SystemNetworkContextManagerBrowsertest, -+ public testing::WithParamInterface> { -+ public: -+ SystemNetworkContextManagerCertificateTransparencyBrowsertest() { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ GetParam()); -+ } -+ ~SystemNetworkContextManagerCertificateTransparencyBrowsertest() override { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::nullopt); -+ } -+}; -+ -+#if BUILDFLAG(IS_CT_SUPPORTED) -+IN_PROC_BROWSER_TEST_P( -+ SystemNetworkContextManagerCertificateTransparencyBrowsertest, -+ CertificateTransparencyConfig) { -+ network::mojom::NetworkContextParamsPtr context_params = -+ g_browser_process->system_network_context_manager() -+ ->CreateDefaultNetworkContextParams(); -+ -+ const bool kDefault = -+#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \ -+ !defined(OS_ANDROID) -+ true; -+#else -+ false; -+#endif -+ -+ EXPECT_EQ(GetParam().value_or(kDefault), -+ context_params->enforce_chrome_ct_policy); -+ EXPECT_NE(GetParam().value_or(kDefault), context_params->ct_logs.empty()); -+ -+ if (GetParam().value_or(kDefault)) { -+ bool has_google_log = false; -+ bool has_disqualified_log = false; -+ for (const auto& ct_log : context_params->ct_logs) { -+ has_google_log |= ct_log->operated_by_google; -+ has_disqualified_log |= ct_log->disqualified_at.has_value(); -+ } -+ EXPECT_TRUE(has_google_log); -+ EXPECT_TRUE(has_disqualified_log); -+ } -+} -+#endif -+ -+INSTANTIATE_TEST_SUITE_P( -+ , -+ SystemNetworkContextManagerCertificateTransparencyBrowsertest, -+ ::testing::Values(base::nullopt, true, false)); -diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc ---- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc 2019-09-12 16:09:52.819635118 +0200 -@@ -4,11 +4,13 @@ - - #include "chrome/browser/net/system_network_context_manager.h" - -+#include - #include - #include - #include - - #include "base/bind.h" -+#include "base/build_time.h" - #include "base/command_line.h" - #include "base/feature_list.h" - #include "base/logging.h" -@@ -50,6 +52,7 @@ - #include "content/public/common/mime_handler_view_mode.h" - #include "content/public/common/service_names.mojom.h" - #include "content/public/common/user_agent.h" -+#include "crypto/sha2.h" - #include "mojo/public/cpp/bindings/associated_interface_ptr.h" - #include "net/dns/public/util.h" - #include "net/net_buildflags.h" -@@ -79,6 +82,20 @@ - - namespace { - -+constexpr bool kCertificateTransparencyEnabled = -+#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \ -+ !defined(OS_ANDROID) -+ // Certificate Transparency is only enabled if: -+ // - Desktop (!OS_ANDROID); OS_IOS does not use this file -+ // - base::GetBuildTime() is deterministic to the source (OFFICIAL_BUILD) -+ // - The build in reliably updatable (GOOGLE_CHROME_BUILD) -+ true; -+#else -+ false; -+#endif -+ -+bool g_enable_certificate_transparency = kCertificateTransparencyEnabled; -+ - // The global instance of the SystemNetworkContextmanager. - SystemNetworkContextManager* g_system_network_context_manager = nullptr; - -@@ -658,14 +675,35 @@ SystemNetworkContextManager::CreateDefau - - bool http_09_on_non_default_ports_enabled = false; - #if !defined(OS_ANDROID) -- // CT is only enabled on Desktop platforms for now. -- network_context_params->enforce_chrome_ct_policy = true; -- for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { -- // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. -- network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); -- log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); -- log_info->name = ct_log.log_name; -- network_context_params->ct_logs.push_back(std::move(log_info)); -+ -+ if (g_enable_certificate_transparency) { -+ network_context_params->enforce_chrome_ct_policy = true; -+ network_context_params->ct_log_update_time = base::GetBuildTime(); -+ -+ std::vector operated_by_google_logs = -+ certificate_transparency::GetLogsOperatedByGoogle(); -+ std::vector> disqualified_logs = -+ certificate_transparency::GetDisqualifiedLogs(); -+ for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { -+ // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. -+ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); -+ log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); -+ log_info->name = ct_log.log_name; -+ -+ std::string log_id = crypto::SHA256HashString(log_info->public_key); -+ log_info->operated_by_google = -+ std::binary_search(std::begin(operated_by_google_logs), -+ std::end(operated_by_google_logs), log_id); -+ auto it = std::lower_bound( -+ std::begin(disqualified_logs), std::end(disqualified_logs), log_id, -+ [](const auto& disqualified_log, const std::string& log_id) { -+ return disqualified_log.first < log_id; -+ }); -+ if (it != std::end(disqualified_logs) && it->first == log_id) { -+ log_info->disqualified_at = it->second; -+ } -+ network_context_params->ct_logs.push_back(std::move(log_info)); -+ } - } - - const base::Value* value = -@@ -723,6 +761,12 @@ SystemNetworkContextManager::GetHttpAuth - return CreateHttpAuthDynamicParams(g_browser_process->local_state()); - } - -+void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::Optional enabled) { -+ g_enable_certificate_transparency = -+ enabled.value_or(kCertificateTransparencyEnabled); -+} -+ - network::mojom::NetworkContextParamsPtr - SystemNetworkContextManager::CreateNetworkContextParams() { - // TODO(mmenke): Set up parameters here (in memory cookie store, etc). -diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h ---- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h 2019-09-12 16:09:52.819635118 +0200 -@@ -139,6 +139,12 @@ class SystemNetworkContextManager { - static network::mojom::HttpAuthDynamicParamsPtr - GetHttpAuthDynamicParamsForTesting(); - -+ // Enables Certificate Transparency and enforcing the Chrome Certificate -+ // Transparency Policy. For test use only. Use base::nullopt_t to reset to -+ // the default state. -+ static void SetEnableCertificateTransparencyForTesting( -+ base::Optional enabled); -+ - private: - class URLLoaderFactoryForSystem; - -diff -up chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc 2019-09-12 16:09:52.820635131 +0200 -@@ -4836,7 +4836,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, - browser()->tab_strip_model()->GetActiveWebContents()->GetTitle()); - } - --IN_PROC_BROWSER_TEST_F(PolicyTest, -+IN_PROC_BROWSER_TEST_F(CertificateTransparencyPolicyTest, - CertificateTransparencyEnforcementDisabledForCas) { - net::EmbeddedTestServer https_server_ok(net::EmbeddedTestServer::TYPE_HTTPS); - https_server_ok.SetSSLConfig(net::EmbeddedTestServer::CERT_OK); -diff -up chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 -@@ -8,6 +8,7 @@ - #include "base/callback.h" - #include "base/run_loop.h" - #include "base/test/scoped_feature_list.h" -+#include "chrome/browser/net/system_network_context_manager.h" - #include "chrome/browser/profiles/profile.h" - #include "chrome/browser/ssl/cert_verifier_browser_test.h" - #include "chrome/browser/ui/browser.h" -@@ -27,7 +28,17 @@ namespace { - // received by a server. - class ExpectCTBrowserTest : public CertVerifierBrowserTest { - public: -- ExpectCTBrowserTest() : CertVerifierBrowserTest() {} -+ ExpectCTBrowserTest() : CertVerifierBrowserTest() { -+ // Expect-CT reporting depends on actually enforcing Certificate -+ // Transparency. -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ true); -+ } -+ -+ ~ExpectCTBrowserTest() override { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::nullopt); -+ } - - void SetUpOnMainThread() override { - run_loop_ = std::make_unique(); -diff -up chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 -@@ -433,6 +433,13 @@ class SecurityStateTabHelperTest : publi - SecurityStateTabHelperTest() - : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { - https_server_.ServeFilesFromSourceDirectory(GetChromeTestDataDir()); -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ true); -+ } -+ -+ ~SecurityStateTabHelperTest() override { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::nullopt); - } - - void SetUpOnMainThread() override { -diff -up chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc 2019-09-12 16:09:52.822635155 +0200 -@@ -1853,8 +1853,14 @@ class CertificateTransparencySSLUITest : - public: - CertificateTransparencySSLUITest() - : CertVerifierBrowserTest(), -- https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {} -- ~CertificateTransparencySSLUITest() override {} -+ https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ true); -+ } -+ ~CertificateTransparencySSLUITest() override { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::nullopt); -+ } - - void SetUpOnMainThread() override { - CertVerifierBrowserTest::SetUpOnMainThread(); -diff -up chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h ---- chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-09-09 23:55:14.000000000 +0200 -+++ chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-12 16:09:52.823635168 +0200 -@@ -45,6 +45,19 @@ class ChromeCTPolicyEnforcer : public ne - - void SetClockForTesting(const base::Clock* clock) { clock_ = clock; } - -+ // TODO(https://crbug.com/999240): These are exposed to allow end-to-end -+ // testing by higher layers (i.e. that the ChromeCTPolicyEnforcer is -+ // correctly constructed). When either this issue or https://crbug.com/848277 -+ // are fixed, the configuration can be tested independently, and these can -+ // be removed. -+ const std::vector& operated_by_google_logs_for_testing() { -+ return operated_by_google_logs_; -+ } -+ const std::vector>& -+ disqualified_logs_for_testing() { -+ return disqualified_logs_; -+ } -+ - private: - // Returns true if the log identified by |log_id| (the SHA-256 hash of the - // log's DER-encoded SPKI) has been disqualified, and sets -diff -up chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context.cc ---- chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 -+++ chromium-77.0.3865.75/services/network/network_context.cc 2019-09-12 16:09:52.823635168 +0200 -@@ -36,6 +36,7 @@ - #include "components/prefs/pref_registry_simple.h" - #include "components/prefs/pref_service.h" - #include "components/prefs/pref_service_factory.h" -+#include "crypto/sha2.h" - #include "mojo/public/cpp/bindings/strong_binding.h" - #include "net/base/layered_network_delegate.h" - #include "net/base/load_flags.h" -@@ -1877,16 +1878,6 @@ URLRequestContextOwner NetworkContext::A - base::FeatureList::IsEnabled(features::kNetworkErrorLogging)); - #endif // BUILDFLAG(ENABLE_REPORTING) - --#if BUILDFLAG(IS_CT_SUPPORTED) -- if (params_->enforce_chrome_ct_policy) { -- builder->set_ct_policy_enforcer( -- std::make_unique( -- base::GetBuildTime(), -- certificate_transparency::GetDisqualifiedLogs(), -- certificate_transparency::GetLogsOperatedByGoogle())); -- } --#endif // BUILDFLAG(IS_CT_SUPPORTED) -- - net::HttpNetworkSession::Params session_params; - bool is_quic_force_disabled = false; - if (network_service_ && network_service_->quic_disabled()) -@@ -1936,8 +1927,20 @@ URLRequestContextOwner NetworkContext::A - - #if BUILDFLAG(IS_CT_SUPPORTED) - std::vector> ct_logs; -+ std::vector> disqualified_logs; -+ std::vector operated_by_google_logs; -+ - if (!params_->ct_logs.empty()) { - for (const auto& log : params_->ct_logs) { -+ if (log->operated_by_google || log->disqualified_at) { -+ std::string log_id = crypto::SHA256HashString(log->public_key); -+ if (log->operated_by_google) -+ operated_by_google_logs.push_back(log_id); -+ if (log->disqualified_at) { -+ disqualified_logs.push_back( -+ std::make_pair(log_id, log->disqualified_at.value())); -+ } -+ } - scoped_refptr log_verifier = - net::CTLogVerifier::Create(log->public_key, log->name); - if (!log_verifier) { -@@ -1950,6 +1953,17 @@ URLRequestContextOwner NetworkContext::A - ct_verifier->AddLogs(ct_logs); - builder->set_ct_verifier(std::move(ct_verifier)); - } -+ -+ if (params_->enforce_chrome_ct_policy) { -+ std::sort(std::begin(operated_by_google_logs), -+ std::end(operated_by_google_logs)); -+ std::sort(std::begin(disqualified_logs), std::end(disqualified_logs)); -+ -+ builder->set_ct_policy_enforcer( -+ std::make_unique( -+ params_->ct_log_update_time, disqualified_logs, -+ operated_by_google_logs)); -+ } - #endif // BUILDFLAG(IS_CT_SUPPORTED) - - const base::CommandLine* command_line = -diff -up chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context_unittest.cc ---- chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 -+++ chromium-77.0.3865.75/services/network/network_context_unittest.cc 2019-09-12 16:13:10.479056669 +0200 -@@ -2,6 +2,7 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include - #include - #include - #include -@@ -38,10 +39,12 @@ - #include "base/threading/thread_task_runner_handle.h" - #include "base/time/default_clock.h" - #include "base/time/default_tick_clock.h" -+#include "base/time/time.h" - #include "build/build_config.h" - #include "components/network_session_configurator/browser/network_session_configurator.h" - #include "components/network_session_configurator/common/network_switches.h" - #include "components/prefs/testing_pref_service.h" -+#include "crypto/sha2.h" - #include "mojo/public/cpp/bindings/remote.h" - #include "mojo/public/cpp/bindings/self_owned_receiver.h" - #include "mojo/public/cpp/system/data_pipe_utils.h" -@@ -115,6 +118,11 @@ - #include "url/scheme_host_port.h" - #include "url/url_constants.h" - -+#if BUILDFLAG(IS_CT_SUPPORTED) -+#include "components/certificate_transparency/chrome_ct_policy_enforcer.h" -+#include "services/network/public/mojom/ct_log_info.mojom.h" -+#endif -+ - #if !BUILDFLAG(DISABLE_FTP_SUPPORT) - #include "net/ftp/ftp_auth_cache.h" - #endif // !BUILDFLAG(DISABLE_FTP_SUPPORT) -@@ -5958,6 +5966,72 @@ TEST_F(NetworkContextSplitCacheTest, - true /* was_cached */, true /* is_navigation */); - } - -+#if BUILDFLAG(IS_CT_SUPPORTED) -+TEST_F(NetworkContextTest, CertificateTransparencyConfig) { -+ mojom::NetworkContextParamsPtr params = CreateContextParams(); -+ params->enforce_chrome_ct_policy = true; -+ params->ct_log_update_time = base::Time::Now(); -+ -+ // The log public keys do not matter for the test, so invalid keys are used. -+ // However, because the log IDs are derived from the SHA-256 hash of the log -+ // key, the log keys are generated such that qualified logs are in the form -+ // of four digits (e.g. "0000", "1111"), while disqualified logs are in the -+ // form of four letters (e.g. "AAAA", "BBBB"). -+ -+ for (int i = 0; i < 6; ++i) { -+ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); -+ // Shift to ASCII '0' (0x30) -+ log_info->public_key = std::string(4, 0x30 + static_cast(i)); -+ log_info->name = std::string(4, 0x30 + static_cast(i)); -+ log_info->operated_by_google = i % 2; -+ -+ params->ct_logs.push_back(std::move(log_info)); -+ } -+ for (int i = 0; i < 3; ++i) { -+ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); -+ // Shift to ASCII 'A' (0x41) -+ log_info->public_key = std::string(4, 0x41 + static_cast(i)); -+ log_info->name = std::string(4, 0x41 + static_cast(i)); -+ log_info->operated_by_google = false; -+ log_info->disqualified_at = base::TimeDelta::FromSeconds(i); -+ -+ params->ct_logs.push_back(std::move(log_info)); -+ } -+ std::unique_ptr network_context = -+ CreateContextWithParams(std::move(params)); -+ -+ net::CTPolicyEnforcer* request_enforcer = -+ network_context->url_request_context()->ct_policy_enforcer(); -+ ASSERT_TRUE(request_enforcer); -+ -+ // Completely unsafe if |enforce_chrome_ct_policy| is false. -+ certificate_transparency::ChromeCTPolicyEnforcer* policy_enforcer = -+ reinterpret_cast( -+ request_enforcer); -+ -+ EXPECT_TRUE(std::is_sorted( -+ policy_enforcer->operated_by_google_logs_for_testing().begin(), -+ policy_enforcer->operated_by_google_logs_for_testing().end())); -+ EXPECT_TRUE( -+ std::is_sorted(policy_enforcer->disqualified_logs_for_testing().begin(), -+ policy_enforcer->disqualified_logs_for_testing().end())); -+ -+ EXPECT_THAT( -+ policy_enforcer->operated_by_google_logs_for_testing(), -+ ::testing::UnorderedElementsAreArray({crypto::SHA256HashString("1111"), -+ crypto::SHA256HashString("3333"), -+ crypto::SHA256HashString("5555")})); -+ EXPECT_THAT(policy_enforcer->disqualified_logs_for_testing(), -+ ::testing::UnorderedElementsAre( -+ ::testing::Pair(crypto::SHA256HashString("AAAA"), -+ base::TimeDelta::FromSeconds(0)), -+ ::testing::Pair(crypto::SHA256HashString("BBBB"), -+ base::TimeDelta::FromSeconds(1)), -+ ::testing::Pair(crypto::SHA256HashString("CCCC"), -+ base::TimeDelta::FromSeconds(2)))); -+} -+#endif -+ - } // namespace - - } // namespace network -diff -up chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom ---- chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 -+++ chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom 2019-09-12 16:09:52.824635180 +0200 -@@ -4,6 +4,8 @@ - - module network.mojom; - -+import "mojo/public/mojom/base/time.mojom"; -+ - // A single Certificate Transparency Log configuration. - struct CTLogInfo { - // The DER-encoded SubjectPublicKeyInfo of the log. -@@ -14,4 +16,13 @@ struct CTLogInfo { - // The human-readable, log-supplied log name. Note that this will not be - // translated. - string name; -+ -+ // Whether or not the log should should be considered a Google Log for the -+ // purposes of enforcing the "Certificate Transparency in Chrome" policy. -+ bool operated_by_google = false; -+ -+ // If set, the time since the Unix Epoch when the log was disqualified. This -+ // is used to determine the "once or currently qualified" status of the log. -+ // If the log is currently qualified, this will not be set. -+ mojo_base.mojom.TimeDelta? disqualified_at; - }; -diff -up chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom ---- chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 -+++ chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom 2019-09-12 16:09:52.825635192 +0200 -@@ -239,15 +239,6 @@ struct NetworkContextParams { - [EnableIf=is_android] - bool check_clear_text_permitted = false; - -- // True if the "Certificate Transparency in Chrome" policy (see -- // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should -- // be enforced for certificates and connections. -- // -- // See //net/docs/certificate-transparency.md before setting this flag to -- // true. -- [EnableIf=is_ct_supported] -- bool enforce_chrome_ct_policy = false; -- - // Enables HTTP/0.9 on ports other than 80 for HTTP and 443 for HTTPS. - bool http_09_on_non_default_ports_enabled = false; - -@@ -300,6 +291,15 @@ struct NetworkContextParams { - // servers, so they can discover misconfigurations. - bool enable_certificate_reporting = false; - -+ // True if the "Certificate Transparency in Chrome" policy (see -+ // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should -+ // be enforced for certificates and connections. -+ // -+ // See //net/docs/certificate-transparency.md before setting this flag to -+ // true. -+ [EnableIf=is_ct_supported] -+ bool enforce_chrome_ct_policy = false; -+ - // Enables Expect CT reporting, which sends reports for opted-in sites that - // don't serve sufficient Certificate Transparency information. - [EnableIf=is_ct_supported] -@@ -311,6 +311,13 @@ struct NetworkContextParams { - [EnableIf=is_ct_supported] - array ct_logs; - -+ // When the Certificate Transparency logs in |ct_logs| were last updated. If -+ // |enforce_chrome_ct_policy| is set, and |ct_log_update_time| is not -+ // sufficiently recent, enforcement of the "Certificate Transparency in -+ // Chrome" policy will be disabled. -+ [EnableIf=is_ct_supported] -+ mojo_base.mojom.Time ct_log_update_time; -+ - // Specifies the path to the directory where NSS will store its database. - [EnableIf=is_chromeos] - mojo_base.mojom.FilePath? nss_path; diff --git a/chromium-77.0.3865.75-gcc-abstract-class.patch b/chromium-77.0.3865.75-gcc-abstract-class.patch deleted file mode 100644 index 6d77299e..00000000 --- a/chromium-77.0.3865.75-gcc-abstract-class.patch +++ /dev/null @@ -1,61 +0,0 @@ -From f08cb0022527081c078e8b96062e6c9b4fbda151 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 26 Jul 2019 16:48:06 +0000 -Subject: [PATCH] BinaryUploadService: change parameter passing that cannot afford abstract class - -The method UploadForDeepScanning gets a Request as parameter. But Request is an -abstract class, so GCC will not allow that declaration (polimorphycs should be -passed by reference). Use std::unique_ptr so BinaryUploadService can assume -ownership. - -Bug: 819294 -Change-Id: I9e8c75cc92b01abd704d9049b0421555377da5ba -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1713550 -Reviewed-by: Daniel Rubery -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#681333} ---- - -diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc -index 6430c89..4e90487 100644 ---- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc -+++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc -@@ -10,7 +10,7 @@ - namespace safe_browsing { - - void BinaryUploadService::UploadForDeepScanning( -- BinaryUploadService::Request request) { -+ std::unique_ptr request) { - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - NOTREACHED(); - } -diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h -index d2dfd83..9b6f395 100644 ---- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h -+++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h -@@ -5,6 +5,8 @@ - #ifndef CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ - #define CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ - -+#include -+ - #include "base/callback.h" - #include "components/safe_browsing/proto/webprotect.pb.h" - -@@ -40,6 +42,7 @@ - public: - // |callback| will run on the UI thread. - explicit Request(Callback callback); -+ virtual ~Request() = default; - Request(const Request&) = delete; - Request& operator=(const Request&) = delete; - -@@ -67,7 +70,7 @@ - // Upload the given file contents for deep scanning. The results will be - // returned asynchronously by calling |request|'s |callback|. This must be - // called on the UI thread. -- void UploadForDeepScanning(Request request); -+ void UploadForDeepScanning(std::unique_ptr request); - }; - - } // namespace safe_browsing diff --git a/chromium-77.0.3865.75-harfbuzz-subset.patch b/chromium-77.0.3865.75-harfbuzz-subset.patch deleted file mode 100644 index 55d78d19..00000000 --- a/chromium-77.0.3865.75-harfbuzz-subset.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 27e25336b8316ff3ec4e464058682ed85801fd06 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Mon, 29 Jul 2019 10:54:28 +0000 -Subject: [PATCH] Also link against libharfbuzz-subset when use_system_harfbuzz is true - -When building HarfBuzz as part of Chromium, there is a single source set -with all the files we need in the build. - -Upstream HarfBuzz, on the other hand, produces a few different libraries: -harfbuzz, harfbuzz-icu and harfbuzz-subset. When |use_system_harfbuzz| is -true, we were only looking for (and using) harfbuzz.pc with pkg-config even -though we also use symbols from libharfbuzz-subset.so. This resulted in -errors when linking: - - ld: obj/skia/skia/SkPDFSubsetFont.o: in function `SkPDFSubsetFont(sk_sp, SkPDFGlyphUse const&, SkPDF::Metadata::Subsetter, char const*, int)': - SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x48a): undefined reference to `hb_subset_input_create_or_fail' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x4af): undefined reference to `hb_subset_input_glyph_set' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5d7): undefined reference to `hb_subset_input_set_retain_gids' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5e4): undefined reference to `hb_subset_input_set_drop_hints' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5f3): undefined reference to `hb_subset' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x66f): undefined reference to `hb_subset_input_destroy' - -as reported in -https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/UyJsVJ5QqWo/jSv5z7-rEQAJ - -Change-Id: I997af075c7b7263cd7cc71a63db5b0f93bd1ab59 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715288 -Auto-Submit: Raphael Kubo da Costa -Commit-Queue: Dominik Röttsches -Reviewed-by: Dominik Röttsches -Cr-Commit-Position: refs/heads/master@{#681760} ---- - -diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn -index 37d8e33..72013eb1d 100644 ---- a/third_party/harfbuzz-ng/BUILD.gn -+++ b/third_party/harfbuzz-ng/BUILD.gn -@@ -16,7 +16,10 @@ - "//third_party:freetype_harfbuzz", - "//third_party/freetype:freetype_source", - ] -- packages = [ "harfbuzz" ] -+ packages = [ -+ "harfbuzz", -+ "harfbuzz-subset", -+ ] - } - } else { - config("harfbuzz_config") { diff --git a/chromium-77.0.3865.75-missing-limits.patch b/chromium-77.0.3865.75-missing-limits.patch deleted file mode 100644 index 3ac1770f..00000000 --- a/chromium-77.0.3865.75-missing-limits.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5baf7df7f4c5971dab552897eeef94b194650ce5 Mon Sep 17 00:00:00 2001 -From: Dave Tapuska -Date: Mon, 12 Aug 2019 22:30:13 +0000 -Subject: [PATCH] Fix build failure due to missing include for std::numeric_limits usage. - -Some configurations fail to build, limits should have been included. - -BUG=992832 - -Change-Id: I894ba0543bfcef101c93259e39a31d12ae6d035c -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1747981 -Commit-Queue: Dave Tapuska -Reviewed-by: Mostyn Bramley-Moore -Cr-Commit-Position: refs/heads/master@{#686214} ---- - -diff --git a/third_party/blink/renderer/platform/exported/web_time_range.cc b/third_party/blink/renderer/platform/exported/web_time_range.cc -index 384566a..68d83e1 100644 ---- a/third_party/blink/renderer/platform/exported/web_time_range.cc -+++ b/third_party/blink/renderer/platform/exported/web_time_range.cc -@@ -31,6 +31,7 @@ - #include "third_party/blink/public/platform/web_time_range.h" - - #include -+#include - - namespace blink { - diff --git a/chromium-77.0.3865.75-unbundle-zlib.patch b/chromium-77.0.3865.75-unbundle-zlib.patch deleted file mode 100644 index d6c45ad8..00000000 --- a/chromium-77.0.3865.75-unbundle-zlib.patch +++ /dev/null @@ -1,25 +0,0 @@ -From e1bbdec720a333937bd1b990ae0f7ee97db0d3b0 Mon Sep 17 00:00:00 2001 -From: Your Name -Date: Fri, 28 Jun 2019 15:56:23 +0000 -Subject: [PATCH] update zlib - ---- - third_party/perfetto/gn/BUILD.gn | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn -index c951f5f..297eee3 100644 ---- a/third_party/perfetto/gn/BUILD.gn -+++ b/third_party/perfetto/gn/BUILD.gn -@@ -200,7 +200,7 @@ group("zlib") { - "//buildtools:zlib", - ] - } else if (build_with_chromium) { -- public_configs = [ "//third_party/zlib:zlib_config" ] -+ public_configs = [ "//third_party/zlib:system_zlib" ] - public_deps = [ - "//third_party/zlib", - ] --- -2.21.0 - diff --git a/chromium-77.0.3865.90-linked-hash-set.patch b/chromium-77.0.3865.90-linked-hash-set.patch deleted file mode 100644 index f921f1aa..00000000 --- a/chromium-77.0.3865.90-linked-hash-set.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001 -From: Jeremy Roman -Date: Wed, 07 Aug 2019 13:26:48 +0000 -Subject: [PATCH] WTF: Make LinkedHashSet understand values for which memset initialization would be bad. - -Includes a unit test which fails before, and uses this to fix FontCacheKeyTraits. - -Bug: 980025 -Change-Id: If41f97444c7fd37b9b95d6dadaf3da5689079e9e -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739948 -Reviewed-by: Kentaro Hara -Reviewed-by: Yutaka Hirano -Commit-Queue: Jeremy Roman -Cr-Commit-Position: refs/heads/master@{#684731} ---- - -diff --git a/third_party/blink/renderer/platform/fonts/font_cache_key.h b/third_party/blink/renderer/platform/fonts/font_cache_key.h -index 0efc8fb..90063cb 100644 ---- a/third_party/blink/renderer/platform/fonts/font_cache_key.h -+++ b/third_party/blink/renderer/platform/fonts/font_cache_key.h -@@ -133,6 +133,10 @@ - - struct FontCacheKeyTraits : WTF::SimpleClassHashTraits { - STATIC_ONLY(FontCacheKeyTraits); -+ -+ // std::string's empty state need not be zero in all implementations, -+ // and it is held within FontFaceCreationParams. -+ static const bool kEmptyValueIsZero = false; - }; - - } // namespace blink -diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h b/third_party/blink/renderer/platform/wtf/linked_hash_set.h -index b35b6e9..77e524c 100644 ---- a/third_party/blink/renderer/platform/wtf/linked_hash_set.h -+++ b/third_party/blink/renderer/platform/wtf/linked_hash_set.h -@@ -146,6 +146,11 @@ - LinkedHashSetNodeBase* next) - : LinkedHashSetNodeBase(prev, next), value_(value) {} - -+ LinkedHashSetNode(ValueArg&& value, -+ LinkedHashSetNodeBase* prev, -+ LinkedHashSetNodeBase* next) -+ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {} -+ - LinkedHashSetNode(LinkedHashSetNode&& other) - : LinkedHashSetNodeBase(std::move(other)), - value_(std::move(other.value_)) {} -@@ -445,10 +450,13 @@ - - // The slot is empty when the next_ field is zero so it's safe to zero - // the backing. -- static const bool kEmptyValueIsZero = true; -+ static const bool kEmptyValueIsZero = ValueTraits::kEmptyValueIsZero; - - static const bool kHasIsEmptyValueFunction = true; - static bool IsEmptyValue(const Node& node) { return !node.next_; } -+ static Node EmptyValue() { -+ return Node(ValueTraits::EmptyValue(), nullptr, nullptr); -+ } - - static const int kDeletedValue = -1; - -diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc -index 4c3f899..cd1be00 100644 ---- a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc -+++ b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc -@@ -487,6 +487,7 @@ - }; - - struct Complicated { -+ Complicated() : Complicated(0) {} - Complicated(int value) : simple_(value) { objects_constructed_++; } - - Complicated(const Complicated& other) : simple_(other.simple_) { -@@ -495,9 +496,6 @@ - - Simple simple_; - static int objects_constructed_; -- -- private: -- Complicated() = delete; - }; - - int Complicated::objects_constructed_ = 0; -@@ -731,4 +729,45 @@ - - } // anonymous namespace - -+// A unit type which objects to its state being initialized wrong. -+struct InvalidZeroValue { -+ InvalidZeroValue() = default; -+ InvalidZeroValue(WTF::HashTableDeletedValueType) : deleted_(true) {} -+ ~InvalidZeroValue() { CHECK(ok_); } -+ bool IsHashTableDeletedValue() const { return deleted_; } -+ -+ bool ok_ = true; -+ bool deleted_ = false; -+}; -+ -+template <> -+struct HashTraits : SimpleClassHashTraits { -+ static const bool kEmptyValueIsZero = false; -+}; -+ -+template <> -+struct DefaultHash { -+ struct Hash { -+ static unsigned GetHash(const InvalidZeroValue&) { return 0; } -+ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) { -+ return true; -+ } -+ }; -+}; -+ -+template -+class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {}; -+ -+using InvalidZeroValueSetTypes = -+ testing::Types, -+ ListHashSet, -+ LinkedHashSet>; -+TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes); -+ -+TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) { -+ using Set = TypeParam; -+ Set set; -+ set.insert(InvalidZeroValue()); -+} -+ - } // namespace WTF diff --git a/chromium-78-protobuf-RepeatedPtrField-export.patch b/chromium-78-protobuf-RepeatedPtrField-export.patch deleted file mode 100644 index ddb9e80e..00000000 --- a/chromium-78-protobuf-RepeatedPtrField-export.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/protobuf/src/google/protobuf/repeated_field.h b/third_party/protobuf/src/google/protobuf/repeated_field.h -index b5b193c..4434854 100644 ---- a/third_party/protobuf/src/google/protobuf/repeated_field.h -+++ b/third_party/protobuf/src/google/protobuf/repeated_field.h -@@ -804,7 +804,7 @@ class StringTypeHandler { - // RepeatedPtrField is like RepeatedField, but used for repeated strings or - // Messages. - template --class RepeatedPtrField final : private internal::RepeatedPtrFieldBase { -+class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase { - public: - RepeatedPtrField(); - explicit RepeatedPtrField(Arena* arena); diff --git a/chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch b/chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch deleted file mode 100644 index 6785b092..00000000 --- a/chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h.gcc9 chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h ---- chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h.gcc9 2019-10-23 08:58:16.153251961 -0400 -+++ chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 2019-10-23 08:58:36.896862347 -0400 -@@ -1486,7 +1486,7 @@ struct kernel_stat { - "d"(LSS_SYSCALL_ARG(parent_tidptr)), - "r"(LSS_SYSCALL_ARG(newtls)), - "r"(LSS_SYSCALL_ARG(child_tidptr)) -- : "rsp", "memory", "r8", "r10", "r11", "rcx"); -+ : "memory", "r8", "r10", "r11", "rcx"); - } - LSS_RETURN(int, __res); - } -diff -up chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h ---- chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 2019-10-23 08:58:59.623435488 -0400 -+++ chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h 2019-10-23 08:59:16.113125772 -0400 -@@ -1485,7 +1485,7 @@ struct kernel_stat { - "d"(LSS_SYSCALL_ARG(parent_tidptr)), - "r"(LSS_SYSCALL_ARG(newtls)), - "r"(LSS_SYSCALL_ARG(child_tidptr)) -- : "rsp", "memory", "r8", "r10", "r11", "rcx"); -+ : "memory", "r8", "r10", "r11", "rcx"); - } - LSS_RETURN(int, __res); - } diff --git a/chromium-78.0.3904.70-unbundle-zlib.patch b/chromium-78.0.3904.70-unbundle-zlib.patch deleted file mode 100644 index 155990eb..00000000 --- a/chromium-78.0.3904.70-unbundle-zlib.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-78.0.3904.70/third_party/perfetto/gn/BUILD.gn.unbundle-zlib chromium-78.0.3904.70/third_party/perfetto/gn/BUILD.gn ---- chromium-78.0.3904.70/third_party/perfetto/gn/BUILD.gn.unbundle-zlib 2019-10-23 09:25:44.419884187 -0400 -+++ chromium-78.0.3904.70/third_party/perfetto/gn/BUILD.gn 2019-10-23 09:29:53.553442745 -0400 -@@ -276,7 +276,7 @@ if (enable_perfetto_trace_processor || e - "//buildtools:zlib", - ] - } else { -- public_configs = [ "//third_party/zlib:zlib_config" ] -+ public_configs = [ "//third_party/zlib:system_zlib" ] - public_deps = [ - "//third_party/zlib", - ] diff --git a/chromium-78.0.3904.70-vtable-symbol-undefined.patch b/chromium-78.0.3904.70-vtable-symbol-undefined.patch deleted file mode 100644 index 13751a2a..00000000 --- a/chromium-78.0.3904.70-vtable-symbol-undefined.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-78.0.3904.70/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined chromium-78.0.3904.70/net/quic/platform/impl/quic_default_proof_providers_impl.cc ---- chromium-78.0.3904.70/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined 2019-10-23 09:12:08.754351798 -0400 -+++ chromium-78.0.3904.70/net/quic/platform/impl/quic_default_proof_providers_impl.cc 2019-10-23 09:19:28.278431430 -0400 -@@ -18,6 +18,7 @@ - #include "net/quic/crypto/proof_verifier_chromium.h" - #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h" - #include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h" -+#include "net/quic/platform/impl/quic_flags_impl.cc" - - DEFINE_QUIC_COMMAND_LINE_FLAG( - bool, diff --git a/chromium-79-gcc-ambiguous-nodestructor.patch b/chromium-79-gcc-ambiguous-nodestructor.patch deleted file mode 100644 index d43a091b..00000000 --- a/chromium-79-gcc-ambiguous-nodestructor.patch +++ /dev/null @@ -1,39 +0,0 @@ -From af77dc4014ead3d898fdc8a7a70fe5063ac9b102 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 25 Oct 2019 19:01:29 +0000 -Subject: [PATCH] GCC: use brace-initializer for DohUpgrade vector - -Constructing NoDestructor with parenthesis constructor is ambiguous -in GCC. Use brace-initializer to avoid that problem. This fixes this -build error: - -Bug: 819294 -Change-Id: I00dda42daa1794d11e022f26ac07f92e599d106d -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879910 -Reviewed-by: Eric Orth -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#709569} ---- - -diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc -index 14997c4..637b6f2 100644 ---- a/net/dns/dns_util.cc -+++ b/net/dns/dns_util.cc -@@ -144,7 +144,7 @@ - // DohProviderId histogram suffix list in - // tools/metrics/histograms/histograms.xml. - static const base::NoDestructor> -- upgradable_servers({ -+ upgradable_servers{{ - DohUpgradeEntry( - "CleanBrowsingAdult", - {"185.228.168.10", "185.228.169.11", "2a0d:2a00:1::1", -@@ -215,7 +215,7 @@ - {"9.9.9.9", "149.112.112.112", "2620:fe::fe", "2620:fe::9"}, - {"dns.quad9.net", "dns9.quad9.net"} /* DoT hostname */, - {"https://dns.quad9.net/dns-query", true /* use_post */}), -- }); -+ }}; - return *upgradable_servers; - } - diff --git a/chromium-79-gcc-permissive.patch b/chromium-79-gcc-permissive.patch deleted file mode 100644 index c42d5698..00000000 --- a/chromium-79-gcc-permissive.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 528e9a3e1f25bd264549c4c7779748abfd16bb1c Mon Sep 17 00:00:00 2001 -From: Jan Wilken Dörrie -Date: Fri, 18 Oct 2019 11:45:24 +0000 -Subject: [PATCH] Reland "GCC: Fix base::internal::InvokeFuncImpl" - -This is a reland of 9293d5c86eec1c34fc00716645400b44a14e764e - -Original change's description: -> GCC: Fix base::internal::InvokeFuncImpl -> -> GCC doesn't like that the Value data member has no out-of-line -> definition. The problem is triggered specifically only when compiling -> -> components/services/leveldb/leveldb_database_impl.cc -> -> which has lambda functions returning locally-defined classes. -> -> The current code works as-is in C++17 mode which introduces the concept -> of inline variables, but in C++14 we need either an explicit out-of-line -> definition or a function member instead of a data member. -> -> Use std::integral_constant for defining the value. -> -> Bug: 819294 -> Change-Id: I5c68e14ce3fa9d8b4d8a2cb42d7f9b53938aabf3 -> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1862451 -> Reviewed-by: Jan Wilken Dörrie -> Reviewed-by: Daniel Cheng -> Commit-Queue: Jüri Valdmann -> Cr-Commit-Position: refs/heads/master@{#706384} - -Bug: 819294 -Change-Id: I3d5a52ddc6815516e2239f9347c60de06bf765a2 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1865212 -Reviewed-by: Daniel Cheng -Commit-Queue: Jan Wilken Dörrie -Cr-Commit-Position: refs/heads/master@{#707329} ---- - -diff --git a/base/bind.h b/base/bind.h -index 7a400af..1070ce6 100644 ---- a/base/bind.h -+++ b/base/bind.h -@@ -187,18 +187,15 @@ - // well-formed. Using `Invoker::Run` with a OnceCallback triggers a - // static_assert, which is why the ternary expression does not compile. - // TODO(crbug.com/752720): Remove this indirection once we have `if constexpr`. --template --struct InvokeFuncImpl; -+template -+constexpr auto GetInvokeFunc(std::true_type) { -+ return Invoker::RunOnce; -+} - - template --struct InvokeFuncImpl { -- static constexpr auto Value = &Invoker::RunOnce; --}; -- --template --struct InvokeFuncImpl { -- static constexpr auto Value = &Invoker::Run; --}; -+constexpr auto GetInvokeFunc(std::false_type) { -+ return Invoker::Run; -+} - - template