Bug 199094

Summary: [WPE][GTK] Bump minimum versions of GLib, GTK, libsoup, ATK, GStreamer, and Cairo
Product: WebKit Reporter: Michael Catanzaro <mcatanzaro>
Component: WebKitGTKAssignee: Michael Catanzaro <mcatanzaro>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, cgarcia, mcatanzaro, pnormand
Priority: P2    
Version: WebKit Nightly Build   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
Patch cgarcia: review+, pnormand: commit-queue-

Description Michael Catanzaro 2019-06-20 17:41:33 PDT
We can remove a lot of preprocessor guards in our code if we bump the minimum required versions of certain dependencies:

GStreamer 1.8 -> 1.10
GTK 3.6 -> 3.22
ATK 2.16
libsoup 2.42 -> 2.54
glib 2.40 -> 2.44
cairo 1.14

I'm being extremely conservative with all these dependency bumps. All of these versions are already available in Debian Stretch, which we no longer support building on anyway due to GCC 7 requirement.

We still have a few preprocessor guards remaining for everything here except glib and cairo, but this removes the vast majority of them. Deleting code is fun!
Comment 1 Michael Catanzaro 2019-06-20 17:44:47 PDT
Also there were some fallthroughs in the a11y code that seemed plainly incorrect, which this fixes.
Comment 2 Michael Catanzaro 2019-06-20 18:30:40 PDT
Created attachment 372607 [details]
Patch
Comment 3 Carlos Garcia Campos 2019-06-20 22:30:34 PDT
Could yopu explain in the ChangeLog where the new numbers come from? Are those the versions of the deps in Debian stretch? what about other distros?
Comment 4 Philippe Normand 2019-06-21 00:50:36 PDT
Comment on attachment 372607 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=372607&action=review

> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:-406
> -#if GST_CHECK_VERSION(1, 11, 0)
>          gst_structure_set(structure, "context", GST_TYPE_GL_CONTEXT, gstGLContext(), nullptr);
> -#else
> -        gst_structure_set(structure, "context", GST_GL_TYPE_CONTEXT, gstGLContext(), nullptr);
> -#endif

This one needs to remain, and s/11/12/
Comment 5 Michael Catanzaro 2019-06-21 07:08:03 PDT
(In reply to Carlos Garcia Campos from comment #3)
> Could yopu explain in the ChangeLog where the new numbers come from? Are
> those the versions of the deps in Debian stretch? what about other distros?

The new versions are MIN(whatever's available in Stretch, whatever we have a CHECK_VERSION for). E.g. we have ATK_CHECK_VERSIONs looking for very recent ATKs like 2.30 or whatever, but only ATK 2.22 is available in Stretch, and the highest CHECK_VERSION we have below 2.22 is 2.16, so I set the minimum to 2.16.

Other distros should all be at least as new as Stretch or they will no longer be able to update.

(In reply to Philippe Normand from comment #4) 
> This one needs to remain, and s/11/12/

Oops, good catch!
Comment 6 Michael Catanzaro 2019-06-21 07:16:34 PDT
> (In reply to Philippe Normand from comment #4) 
> > This one needs to remain, and s/11/12/
> 
> Oops, good catch!

I also missed removing runtime checks for 1.8 and 1.10 using webkitGstCheckVersion().
Comment 7 Michael Catanzaro 2019-06-21 07:20:04 PDT
Committed r246677: <https://trac.webkit.org/changeset/246677>