Changeset 286011 in webkit
- Timestamp:
- Nov 18, 2021, 10:05:05 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 9 added
- 10 edited
-
ChangeLog (modified) (1 diff)
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/TestExpectations (modified) (1 diff)
-
LayoutTests/fast/images/jpegxl-as-image-expected.html (added)
-
LayoutTests/fast/images/jpegxl-as-image.html (added)
-
LayoutTests/fast/images/jpegxl-image-decoding-expected.txt (added)
-
LayoutTests/fast/images/jpegxl-image-decoding.html (added)
-
LayoutTests/fast/images/resources/green-313x313.jxl (added)
-
LayoutTests/platform/wincairo/TestExpectations (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/platform/ImageDecoders.cmake (modified) (3 diffs)
-
Source/WebCore/platform/MIMETypeRegistry.cpp (modified) (1 diff)
-
Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp (modified) (3 diffs)
-
Source/WebCore/platform/image-decoders/jpegxl (added)
-
Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.cpp (added)
-
Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.h (added)
-
Source/WebCore/platform/win/MIMETypeRegistryWin.cpp (modified) (1 diff)
-
Source/cmake/FindJPEGXL.cmake (added)
-
Source/cmake/OptionsWinCairo.cmake (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r285950 r286011 1 2021-11-18 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com> 2 3 Implement JPEG XL image decoder using libjxl 4 https://bugs.webkit.org/show_bug.cgi?id=233113 5 6 Reviewed by Michael Catanzaro. 7 8 This patch introduces the initial version of JPEG XL image decoder. 9 JPEG XL is a royalty-free raster-graphics file format that supports 10 both lossy and lossless compression and is experimentally supported by 11 Chrome, FireFox, and Edge. 12 The image decoder implemented by this patch uses libjxl, a reference 13 implementation of JPEG XL decoder (and encoder). JPEG XL animations 14 will be supported later. 15 16 * Source/cmake/FindJPEGXL.cmake: Added. 17 * Source/cmake/OptionsWinCairo.cmake: Enable JPEG XL support if 18 libjxl is available. 19 1 20 2021-11-17 Patrick Angle <pangle@apple.com> 2 21 -
trunk/LayoutTests/ChangeLog
r286002 r286011 1 2021-11-18 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com> 2 3 Implement JPEG XL image decoder using libjxl 4 https://bugs.webkit.org/show_bug.cgi?id=233113 5 6 Reviewed by Michael Catanzaro. 7 8 This patch introduces the initial version of JPEG XL image decoder. 9 JPEG XL is a royalty-free raster-graphics file format that supports 10 both lossy and lossless compression and is experimentally supported by 11 Chrome, FireFox, and Edge. 12 The image decoder implemented by this patch uses libjxl, a reference 13 implementation of JPEG XL decoder (and encoder). JPEG XL animations 14 will be supported later. 15 16 * TestExpectations: Skip JPEG XL tests by default. 17 * fast/images/jpegxl-as-image-expected.html: Added. 18 * fast/images/jpegxl-as-image.html: Added. 19 * fast/images/jpegxl-image-decoding-expected.txt: Added. 20 * fast/images/jpegxl-image-decoding.html: Added. 21 * fast/images/resources/green-313x313.jxl: Added. 22 * platform/wincairo/TestExpectations: Skip JPEG XL tests until 23 WebKitReqirements release with libjxl. 24 1 25 2021-11-18 Martin Robinson <mrobinson@webkit.org> 2 26 -
trunk/LayoutTests/TestExpectations
r286002 r286011 132 132 fast/images/animated-avif.html [ Skip ] 133 133 http/tests/images/avif-partial-load-crash.html [ Skip ] 134 135 # These tests don't have to be platform-specific, but they are only implemented on WinCairo now. 136 fast/images/jpegxl-image-decoding.html [ Skip ] 137 fast/images/jpegxl-as-image.html [ Skip ] 134 138 135 139 # Only applicable on platforms with dark mode support -
trunk/LayoutTests/platform/wincairo/TestExpectations
r285097 r286011 273 273 fast/layers/prevent-hit-test-during-layout.html [ Skip ] 274 274 275 275 # JPEG XL is disabled until WebKitRequirements is released with libjxl 276 fast/images/jpegxl-as-image.html [ Skip ] 277 fast/images/jpegxl-image-decoding.html [ Skip ] 276 278 277 279 # DataTransferItems is not yet implemented -
trunk/Source/WebCore/ChangeLog
r286001 r286011 1 2021-11-18 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com> 2 3 Implement JPEG XL image decoder using libjxl 4 https://bugs.webkit.org/show_bug.cgi?id=233113 5 6 Reviewed by Michael Catanzaro. 7 8 This patch introduces the initial version of JPEG XL image decoder. 9 JPEG XL is a royalty-free raster-graphics file format that supports 10 both lossy and lossless compression and is experimentally supported by 11 Chrome, FireFox, and Edge. 12 The image decoder implemented by this patch uses libjxl, a reference 13 implementation of JPEG XL decoder (and encoder). JPEG XL animations 14 will be supported later. 15 16 Tests: LayoutTests\fast\images\jpegxl-as-image.html 17 LayoutTests\fast\images\jpegxl-image-decoding.html 18 19 * platform/ImageDecoders.cmake: Add JPEGXLImageDecoder.cpp if 20 USE(JPEGXL) is turned on. 21 * platform/MIMETypeRegistry.cpp: JPEG XL mime type added. 22 * platform/image-decoders/ScalableImageDecoder.cpp: JPEG XL signature 23 added. 24 * platform/image-decoders/jpegxl/JPEGXLImageDecoder.cpp: Added. 25 * platform/image-decoders/jpegxl/JPEGXLImageDecoder.h: Added. 26 * platform/win/MIMETypeRegistryWin.cpp: The .jxl file extension added. 27 1 28 2021-11-18 Alan Bujtas <zalan@apple.com> 2 29 -
trunk/Source/WebCore/platform/ImageDecoders.cmake
r276238 r286011 7 7 "${WEBCORE_DIR}/platform/image-decoders/jpeg" 8 8 "${WEBCORE_DIR}/platform/image-decoders/jpeg2000" 9 "${WEBCORE_DIR}/platform/image-decoders/jpegxl" 9 10 "${WEBCORE_DIR}/platform/image-decoders/png" 10 11 "${WEBCORE_DIR}/platform/image-decoders/webp" … … 30 31 platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp 31 32 33 platform/image-decoders/jpegxl/JPEGXLImageDecoder.cpp 34 32 35 platform/image-decoders/png/PNGImageDecoder.cpp 33 36 … … 51 54 endif () 52 55 56 if (JPEGXL_FOUND) 57 list(APPEND WebCore_LIBRARIES JPEGXL::jxl) 58 endif () 59 53 60 if (USE_CAIRO) 54 61 list(APPEND WebCore_SOURCES -
trunk/Source/WebCore/platform/MIMETypeRegistry.cpp
r285936 r286011 111 111 #if !USE(CG) && USE(OPENJPEG) 112 112 "image/jpeg2000", 113 #endif 114 #if USE(JPEGXL) 115 "image/jxl", 113 116 #endif 114 117 #if PLATFORM(IOS_FAMILY) -
trunk/Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp
r278338 r286011 39 39 #if USE(WEBP) 40 40 #include "WEBPImageDecoder.h" 41 #endif 42 #if USE(JPEGXL) 43 #include "JPEGXLImageDecoder.h" 41 44 #endif 42 45 … … 108 111 #endif 109 112 113 #if USE(JPEGXL) 114 bool matchesJPEGXLSignature(const uint8_t* contents, size_t length) 115 { 116 JxlSignature signature = JxlSignatureCheck(contents, length); 117 return signature != JXL_SIG_NOT_ENOUGH_BYTES && signature != JXL_SIG_INVALID; 118 } 119 #endif 120 110 121 bool matchesBMPSignature(char* contents) 111 122 { … … 161 172 if (matchesWebPSignature(contents)) 162 173 return WEBPImageDecoder::create(alphaOption, gammaAndColorProfileOption); 174 #endif 175 176 #if USE(JPEGXL) 177 if (matchesJPEGXLSignature(reinterpret_cast<const uint8_t*>(contents), length)) 178 return JPEGXLImageDecoder::create(alphaOption, gammaAndColorProfileOption); 163 179 #endif 164 180 -
trunk/Source/WebCore/platform/win/MIMETypeRegistryWin.cpp
r263923 r286011 100 100 mimetypeMap.add("wmlc", "application/vnd.wap.wmlc"); 101 101 mimetypeMap.add("m4a", "audio/x-m4a"); 102 #if USE(JPEGXL) 103 mimetypeMap.add("jxl", "image/jxl"); 104 #endif 102 105 } 103 106 String result = mimetypeMap.get(ext); -
trunk/Source/cmake/OptionsWinCairo.cmake
r285734 r286011 25 25 if (LCMS2_FOUND) 26 26 SET_AND_EXPOSE_TO_BUILD(USE_LCMS ON) 27 endif () 28 29 find_package(JPEGXL) 30 if (JPEGXL_FOUND) 31 SET_AND_EXPOSE_TO_BUILD(USE_JPEGXL ON) 27 32 endif () 28 33
Note:
See TracChangeset
for help on using the changeset viewer.