[webkit-gtk] WebKitGTK+ VS Apple WebKit

Adrian Perez de Castro aperez at igalia.com
Wed Jan 25 06:59:04 PST 2017

Hello Andrea,

On Wed, 25 Jan 2017 10:04:43 +0000, Andrea Giammarchi <andrea.giammarchi at gmail.com> wrote:
> Hello there,
>   I've recently read this announcement:
> https://twitter.com/webkit/status/823967381026263040
> which as summary says:
> "New @WebKit features in Safari 10.1 with the macOS 10.12.4 & iOS 10.3
> betas: CSS Grid, Fetch, and so much more. "
> I am a GNOME on ArchLinux happy user but Web, which AFAIK is based on
> WebKit2GTK+, does not have even half the features Safari or WebKit Nightly
> has on Apple OS.
> I wonder if there's any browser, even experimental or from AUR, that uses
> latest features that land on Safari or if such browser has a special fork
> and development is different from what lands on Web or WebKitGTK based
> browsers.

The following is a quick breakdown, without including Safari-specific

- Working as of WebKitGTK+ 2.14.3 (some of them have been available even in
  earlier versions):

	- Fetch API, demo: https://addyosmani.com/demos/fetch-api/
	- IndexedDB, demo: https://robnyman.github.io/html5demos/indexeddb/
	- EmcmaScript 2016 & 2017: Whatever JavaScriptCore supports, is included
	  in WebKitGTK+, exactly the same as in Apple's ports.
    - CSS Grid Layout, demo: http://gridbyexample.com/examples/
	  (Actually, the team implementing it works at Igalia with us, and we have
	  had it enabled a few versions back already!)
    - Improved Web Inspector Debugging. Again, we use the same code as Apple
	  for the inspector.

- Working at least partially, but I have doubts about how the GTK+ handles

	- CSS Deep Colors: Again, we use the same CSS support code as Apple, so
	  confident the new syntax is parsed even without trying :-D. Cannot
	  guarantee that the internal color representation used by our port can
	  represent with enough precision. AFAIK Cairo uses floating point
	  components for representing colors, which is more than enough, but that
	  alone may not be enough to output the colors defined in CSS to a screen
	  with a wide color gamut.

- Not working yet, but IMHO likely to be easily doable (e.g. activatable at
  build time, without needing additional support in the port):

	- HTML Custom Elements, demo: https://webkit.org/wp-content/uploads/custom-element-demo.html
    - Input Events, demo: http://jsfiddle.net/girlie_mac/sfxYG/
    - Interactive form validation, demo: http://codepen.io/cdumez/full/zoOZmZ/
	  (Funnily enough, I see no errors in the inspector console, dunno why
	  it wouldn't work.)

- Not working yet, may need port-specific support code:

	- Pointer Lock, demo: https://mdn.github.io/pointer-lock-demo/
    - Gamepad API, demo: http://html5gamepad.com/
	  (IIRC, there was some WIP patches for this being done at some point.)
    - HTML5 Download Attribute, demo: http://cdn.sixrevisions.com/0435-01_html5_download_attribute_demo/html5download-demo.html
    - Reduced Motion Media Query: This shouldn't be too difficult, the CSS
	  parsing is handled by common code, but we lack in the GTK+ port an API
	  to tell WebKit whether to use items with the “prefers-reduced-motion”
	  CSS media query.

> Thanks for any sort of clarification.

Hopefully the list above helps. As you can see, WebKitGTK+ does not fare
badly, and some of the new features may be activatable at build time without
needing to add new port-specific code.


🎩 Adrián

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://lists.webkit.org/pipermail/webkit-gtk/attachments/20170125/8ddc3735/attachment.sig>

More information about the webkit-gtk mailing list