Diff
Modified: trunk/ChangeLog (276237 => 276238)
--- trunk/ChangeLog 2021-04-19 06:57:16 UTC (rev 276237)
+++ trunk/ChangeLog 2021-04-19 08:16:42 UTC (rev 276238)
@@ -1,3 +1,15 @@
+2021-04-19 Philippe Normand <[email protected]>
+
+ [WPE][GTK] Enable AVIF decoder as experimental feature and unskip tests
+ https://bugs.webkit.org/show_bug.cgi?id=224663
+
+ Reviewed by Xabier Rodriguez-Calvar.
+
+ Make the USE_AVIF option public and enable it as experimental feature.
+
+ * Source/cmake/OptionsGTK.cmake:
+ * Source/cmake/OptionsWPE.cmake:
+
2021-04-16 Philippe Normand <[email protected]>
[CMake] UBSan build fixes
Modified: trunk/LayoutTests/ChangeLog (276237 => 276238)
--- trunk/LayoutTests/ChangeLog 2021-04-19 06:57:16 UTC (rev 276237)
+++ trunk/LayoutTests/ChangeLog 2021-04-19 08:16:42 UTC (rev 276238)
@@ -1,3 +1,12 @@
+2021-04-19 Philippe Normand <[email protected]>
+
+ [WPE][GTK] Enable AVIF decoder as experimental feature and unskip tests
+ https://bugs.webkit.org/show_bug.cgi?id=224663
+
+ Reviewed by Xabier Rodriguez-Calvar.
+
+ * platform/gtk/TestExpectations: Unskip avif tests.
+
2021-04-18 Manuel Rego Casasnovas <[email protected]>
[selectors] Update :focus-visible tests from WPT
Modified: trunk/LayoutTests/platform/gtk/TestExpectations (276237 => 276238)
--- trunk/LayoutTests/platform/gtk/TestExpectations 2021-04-19 06:57:16 UTC (rev 276237)
+++ trunk/LayoutTests/platform/gtk/TestExpectations 2021-04-19 08:16:42 UTC (rev 276238)
@@ -113,11 +113,6 @@
imported/w3c/web-platform-tests/service-workers/service-worker/fetch-audio-tainting.https.html [ Pass ]
-# Temporarily skip avif related tests until the gtk port enables avif as default.
-fast/images/avif-image-decoding.html [ Skip ]
-fast/images/avif-as-image.html [ Skip ]
-fast/images/animated-avif.html [ Skip ]
-
#////////////////////////////////////////////////////////////////////////////////////////
# End of PASSING tests. See below where to put expected failures.
#////////////////////////////////////////////////////////////////////////////////////////
Modified: trunk/Source/WebCore/ChangeLog (276237 => 276238)
--- trunk/Source/WebCore/ChangeLog 2021-04-19 06:57:16 UTC (rev 276237)
+++ trunk/Source/WebCore/ChangeLog 2021-04-19 08:16:42 UTC (rev 276238)
@@ -1,3 +1,18 @@
+2021-04-19 Philippe Normand <[email protected]>
+
+ [WPE][GTK] Enable AVIF decoder as experimental feature and unskip tests
+ https://bugs.webkit.org/show_bug.cgi?id=224663
+
+ Reviewed by Xabier Rodriguez-Calvar.
+
+ Refactor the AVIF build options out of the GTK port so they can be reused by other CMake ports.
+
+ * PlatformGTK.cmake:
+ * platform/ImageDecoders.cmake:
+ * platform/image-decoders/avif/AVIFImageDecoder.cpp:
+ * platform/image-decoders/avif/AVIFImageReader.cpp:
+ * platform/image-decoders/avif/AVIFUniquePtr.h:
+
2021-04-18 Wenson Hsieh <[email protected]>
Selected image overlay text should never be visible
Modified: trunk/Source/WebCore/PlatformGTK.cmake (276237 => 276238)
--- trunk/Source/WebCore/PlatformGTK.cmake 2021-04-19 06:57:16 UTC (rev 276237)
+++ trunk/Source/WebCore/PlatformGTK.cmake 2021-04-19 08:16:42 UTC (rev 276238)
@@ -37,20 +37,6 @@
"${WEBCORE_DIR}/platform/text/gtk"
)
-if (USE_AVIF)
- list(APPEND WebCore_PRIVATE_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/platform/image-decoders/avif"
- )
- list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS
- platform/image-decoders/avif/AVIFUniquePtr.h
- )
- list(APPEND WebCore_SOURCES
- platform/image-decoders/avif/AVIFImageDecoder.cpp
- platform/image-decoders/avif/AVIFImageReader.cpp
- )
- list(APPEND WebCore_LIBRARIES AVIF::AVIF)
-endif ()
-
if (USE_WPE_RENDERER)
list(APPEND WebCore_INCLUDE_DIRECTORIES
"${WEBCORE_DIR}/platform/graphics/libwpe"
Modified: trunk/Source/WebCore/platform/ImageDecoders.cmake (276237 => 276238)
--- trunk/Source/WebCore/platform/ImageDecoders.cmake 2021-04-19 06:57:16 UTC (rev 276237)
+++ trunk/Source/WebCore/platform/ImageDecoders.cmake 2021-04-19 08:16:42 UTC (rev 276238)
@@ -1,5 +1,6 @@
list(APPEND WebCore_PRIVATE_INCLUDE_DIRECTORIES
"${WEBCORE_DIR}/platform/image-decoders"
+ "${WEBCORE_DIR}/platform/image-decoders/avif"
"${WEBCORE_DIR}/platform/image-decoders/bmp"
"${WEBCORE_DIR}/platform/image-decoders/gif"
"${WEBCORE_DIR}/platform/image-decoders/ico"
@@ -13,6 +14,9 @@
platform/image-decoders/ScalableImageDecoder.cpp
platform/image-decoders/ScalableImageDecoderFrame.cpp
+ platform/image-decoders/avif/AVIFImageDecoder.cpp
+ platform/image-decoders/avif/AVIFImageReader.cpp
+
platform/image-decoders/bmp/BMPImageDecoder.cpp
platform/image-decoders/bmp/BMPImageReader.cpp
@@ -51,3 +55,10 @@
platform/image-decoders/cairo/ImageBackingStoreCairo.cpp
)
endif ()
+
+if (USE_AVIF)
+ list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS
+ platform/image-decoders/avif/AVIFUniquePtr.h
+ )
+ list(APPEND WebCore_LIBRARIES AVIF::AVIF)
+endif ()
Modified: trunk/Source/WebCore/platform/image-decoders/avif/AVIFImageDecoder.cpp (276237 => 276238)
--- trunk/Source/WebCore/platform/image-decoders/avif/AVIFImageDecoder.cpp 2021-04-19 06:57:16 UTC (rev 276237)
+++ trunk/Source/WebCore/platform/image-decoders/avif/AVIFImageDecoder.cpp 2021-04-19 08:16:42 UTC (rev 276238)
@@ -24,6 +24,9 @@
*/
#include "config.h"
+
+#if USE(AVIF)
+
#include "AVIFImageDecoder.h"
#include "AVIFImageReader.h"
@@ -127,3 +130,5 @@
}
}
+
+#endif // USE(AVIF)
Modified: trunk/Source/WebCore/platform/image-decoders/avif/AVIFImageReader.cpp (276237 => 276238)
--- trunk/Source/WebCore/platform/image-decoders/avif/AVIFImageReader.cpp 2021-04-19 06:57:16 UTC (rev 276237)
+++ trunk/Source/WebCore/platform/image-decoders/avif/AVIFImageReader.cpp 2021-04-19 08:16:42 UTC (rev 276238)
@@ -24,6 +24,9 @@
*/
#include "config.h"
+
+#if USE(AVIF)
+
#include "AVIFImageReader.h"
#include "AVIFImageDecoder.h"
@@ -129,3 +132,5 @@
}
}
+
+#endif // USE(AVIF)
Modified: trunk/Source/WebCore/platform/image-decoders/avif/AVIFUniquePtr.h (276237 => 276238)
--- trunk/Source/WebCore/platform/image-decoders/avif/AVIFUniquePtr.h 2021-04-19 06:57:16 UTC (rev 276237)
+++ trunk/Source/WebCore/platform/image-decoders/avif/AVIFUniquePtr.h 2021-04-19 08:16:42 UTC (rev 276238)
@@ -25,6 +25,8 @@
#pragma once
+#if USE(AVIF)
+
#include <avif/avif.h>
#include <memory>
@@ -45,3 +47,5 @@
};
} // namespace WebCore
+
+#endif // USE(AVIF)
Modified: trunk/Source/cmake/OptionsGTK.cmake (276237 => 276238)
--- trunk/Source/cmake/OptionsGTK.cmake 2021-04-19 06:57:16 UTC (rev 276237)
+++ trunk/Source/cmake/OptionsGTK.cmake 2021-04-19 08:16:42 UTC (rev 276238)
@@ -68,24 +68,24 @@
WEBKIT_OPTION_DEFINE(ENABLE_GTKDOC "Whether or not to use generate gtkdoc." PUBLIC OFF)
WEBKIT_OPTION_DEFINE(ENABLE_INTROSPECTION "Whether to enable GObject introspection." PUBLIC ON)
WEBKIT_OPTION_DEFINE(ENABLE_QUARTZ_TARGET "Whether to enable support for the Quartz windowing target." PUBLIC ON)
+WEBKIT_OPTION_DEFINE(ENABLE_WAYLAND_TARGET "Whether to enable support for the Wayland windowing target." PUBLIC ON)
WEBKIT_OPTION_DEFINE(ENABLE_X11_TARGET "Whether to enable support for the X11 windowing target." PUBLIC ON)
-WEBKIT_OPTION_DEFINE(ENABLE_WAYLAND_TARGET "Whether to enable support for the Wayland windowing target." PUBLIC ON)
+WEBKIT_OPTION_DEFINE(USE_AVIF "Whether to enable support for AVIF images." PUBLIC ${ENABLE_EXPERIMENTAL_FEATURES})
WEBKIT_OPTION_DEFINE(USE_GTK4 "Whether to enable usage of GTK4 instead of GTK3." PUBLIC OFF)
WEBKIT_OPTION_DEFINE(USE_LCMS "Whether to enable support for image color management using libcms2." PUBLIC ON)
+WEBKIT_OPTION_DEFINE(USE_LIBHYPHEN "Whether to enable the default automatic hyphenation implementation." PUBLIC ON)
WEBKIT_OPTION_DEFINE(USE_LIBNOTIFY "Whether to enable the default web notification implementation." PUBLIC ON)
-WEBKIT_OPTION_DEFINE(USE_LIBHYPHEN "Whether to enable the default automatic hyphenation implementation." PUBLIC ON)
WEBKIT_OPTION_DEFINE(USE_LIBSECRET "Whether to enable the persistent credential storage using libsecret." PUBLIC ON)
WEBKIT_OPTION_DEFINE(USE_OPENGL_OR_ES "Whether to use OpenGL or ES." PUBLIC ${USE_OPENGL_OR_ES_DEFAULT})
WEBKIT_OPTION_DEFINE(USE_OPENJPEG "Whether to enable support for JPEG2000 images." PUBLIC ON)
WEBKIT_OPTION_DEFINE(USE_SOUP2 "Whether to enable usage of Soup 2 instead of Soup 3." PUBLIC ON)
+WEBKIT_OPTION_DEFINE(USE_SYSTEMD "Whether to enable journald logging" PUBLIC ON)
WEBKIT_OPTION_DEFINE(USE_WOFF2 "Whether to enable support for WOFF2 Web Fonts." PUBLIC ON)
WEBKIT_OPTION_DEFINE(USE_WPE_RENDERER "Whether to enable WPE rendering" PUBLIC ON)
-WEBKIT_OPTION_DEFINE(USE_SYSTEMD "Whether to enable journald logging" PUBLIC ON)
# Private options specific to the GTK port. Changing these options is
# completely unsupported. They are intended for use only by WebKit developers.
WEBKIT_OPTION_DEFINE(USE_ANGLE_WEBGL "Whether to use ANGLE as WebGL backend." PRIVATE OFF)
-WEBKIT_OPTION_DEFINE(USE_AVIF "Whether to enable support for AVIF images." PRIVATE OFF)
WEBKIT_OPTION_DEPEND(ENABLE_3D_TRANSFORMS USE_OPENGL_OR_ES)
WEBKIT_OPTION_DEPEND(ENABLE_ASYNC_SCROLLING USE_OPENGL_OR_ES)
Modified: trunk/Source/cmake/OptionsWPE.cmake (276237 => 276238)
--- trunk/Source/cmake/OptionsWPE.cmake 2021-04-19 06:57:16 UTC (rev 276237)
+++ trunk/Source/cmake/OptionsWPE.cmake 2021-04-19 08:16:42 UTC (rev 276238)
@@ -71,12 +71,13 @@
# there is a strong reason we should support changing the value of the option,
# and the option is not relevant to any other WebKit ports.
WEBKIT_OPTION_DEFINE(ENABLE_GTKDOC "Whether or not to use generate gtkdoc." PUBLIC OFF)
+WEBKIT_OPTION_DEFINE(ENABLE_WPE_QT_API "Whether to enable support for the Qt5/QML plugin" PUBLIC ${ENABLE_DEVELOPER_MODE})
+WEBKIT_OPTION_DEFINE(USE_AVIF "Whether to enable support for AVIF images." PUBLIC ${ENABLE_EXPERIMENTAL_FEATURES})
+WEBKIT_OPTION_DEFINE(USE_LCMS "Whether to enable support for image color management using libcms2." PUBLIC ON)
WEBKIT_OPTION_DEFINE(USE_OPENJPEG "Whether to enable support for JPEG2000 images." PUBLIC ON)
+WEBKIT_OPTION_DEFINE(USE_SOUP2 "Whether to enable usage of Soup 2 instead of Soup 3." PUBLIC ON)
+WEBKIT_OPTION_DEFINE(USE_SYSTEMD "Whether to enable journald logging" PUBLIC ON)
WEBKIT_OPTION_DEFINE(USE_WOFF2 "Whether to enable support for WOFF2 Web Fonts." PUBLIC ON)
-WEBKIT_OPTION_DEFINE(ENABLE_WPE_QT_API "Whether to enable support for the Qt5/QML plugin" PUBLIC ${ENABLE_DEVELOPER_MODE})
-WEBKIT_OPTION_DEFINE(USE_SYSTEMD "Whether to enable journald logging" PUBLIC ON)
-WEBKIT_OPTION_DEFINE(USE_SOUP2 "Whether to enable usage of Soup 2 instead of Soup 3." PUBLIC ON)
-WEBKIT_OPTION_DEFINE(USE_LCMS "Whether to enable support for image color management using libcms2." PUBLIC ON)
# Private options specific to the WPE port.
WEBKIT_OPTION_DEFINE(USE_GSTREAMER_HOLEPUNCH "Whether to enable GStreamer holepunch" PRIVATE OFF)
@@ -208,6 +209,13 @@
SET_AND_EXPOSE_TO_BUILD(XR_USE_GRAPHICS_API_OPENGL TRUE)
endif ()
+if (USE_AVIF)
+ find_package(AVIF 0.9.0)
+ if (NOT AVIF_FOUND)
+ message(FATAL_ERROR "libavif 0.9.0 is required for USE_AVIF.")
+ endif ()
+endif ()
+
if (USE_SYSTEMD)
find_package(Systemd)
if (Systemd_FOUND)