ASSIGNED Bug 215300
Address additional review feedback from r265360
https://bugs.webkit.org/show_bug.cgi?id=215300
Summary Address additional review feedback from r265360
Kenneth Russell
Reported 2020-08-07 16:26:24 PDT
From Bug 183438: - Refactor copyPremultipliedToPremultiplied and copyUnpremultipliedToUnpremultiplied in Source/WebCore/platform/graphics/ImageBufferBackend.cpp . - Remove comment which was added in place of the previous assert in copyImagePixelsAccelerated in Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.cpp .
Attachments
Said Abou-Hallawa
Comment 1 2020-08-10 16:30:41 PDT
Also - The members: m_originClean, m_premultiplyAlpha and m_forciblyPremultiplyAlpha of ImageBitmap can be replaced by ImageBuffer::SerializationState. This will eliminate the need to sync the members of ImageBitmap and ImageBuffer::SerializationState. Also the whole struct can be copied in many places from std::pair<std::unique_ptr<ImageBuffer>, ImageBuffer::SerializationState> to ImageBitmap and vice versa.
Said Abou-Hallawa
Comment 2 2020-08-12 10:19:13 PDT
Another approach is to make SerializationState enum class type and have an OptionSet< SerializationState> be stored in ImageBitmap: enum class SerializationState { OriginClean = 1 << 0, PremultiplyAlpha = 1 << 1, ForciblyPremultiplyAlpha = 1 << 2, }; class ImageBitmap { public: bool originClean() const { return m_serializationState.contains(SerializationState::OriginClean); } private: OptionSet<SerializationState> m_serializationState; };
Radar WebKit Bug Importer
Comment 3 2020-08-14 16:27:40 PDT
Note You need to log in before you can comment on or make changes to this bug.