diff -up chromium-116.0.5845.96/cc/paint/paint_op_writer.h.me chromium-116.0.5845.96/cc/paint/paint_op_writer.h --- chromium-116.0.5845.96/cc/paint/paint_op_writer.h.me 2023-08-16 19:09:48.998173285 +0200 +++ chromium-116.0.5845.96/cc/paint/paint_op_writer.h 2023-08-16 21:13:44.442431527 +0200 @@ -104,7 +104,16 @@ class CC_PAINT_EXPORT PaintOpWriter { private: template - static constexpr size_t SerializedSizeSimple(); + static constexpr size_t SerializedSizeSimple() { + static_assert(!std::is_pointer_v); + return base::bits::AlignUp(sizeof(T), kDefaultAlignment); + } + // size_t is always serialized as uint64_t to make the serialized result + // portable between 32bit and 64bit processes. + template <> + constexpr size_t SerializedSizeSimple() { + return base::bits::AlignUp(sizeof(uint64_t), kDefaultAlignment); + } public: // SerializedSize() returns the maximum serialized size of the given type or @@ -115,7 +124,10 @@ class CC_PAINT_EXPORT PaintOpWriter { // deserialization, and make it possible to allow dynamic sizing for some // data types (see the specialized/overloaded functions). template - static constexpr size_t SerializedSize(); + static constexpr size_t SerializedSize() { + static_assert(std::is_arithmetic_v || std::is_enum_v); + return SerializedSizeSimple(); + } template static constexpr size_t SerializedSize(const T& data); static size_t SerializedSize(const PaintImage& image); @@ -360,19 +372,6 @@ class CC_PAINT_EXPORT PaintOpWriter { const bool enable_security_constraints_; }; -template -constexpr size_t PaintOpWriter::SerializedSizeSimple() { - static_assert(!std::is_pointer_v); - return base::bits::AlignUp(sizeof(T), kDefaultAlignment); -} - -// size_t is always serialized as two uint32_ts to make the serialized result -// portable between 32bit and 64bit processes. -template <> -constexpr size_t PaintOpWriter::SerializedSizeSimple() { - return base::bits::AlignUp(2 * sizeof(uint32_t), kDefaultAlignment); -} - template <> constexpr size_t PaintOpWriter::SerializedSize() { return SerializedSizeSimple() + // fGainmapRatioMin @@ -386,11 +385,6 @@ constexpr size_t PaintOpWriter::Serializ } template -constexpr size_t PaintOpWriter::SerializedSize() { - static_assert(std::is_arithmetic_v || std::is_enum_v); - return SerializedSizeSimple(); -} -template constexpr size_t PaintOpWriter::SerializedSize(const T& data) { return SerializedSizeSimple(); }