![Page 1: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/1.jpg)
![Page 2: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/2.jpg)
State of the ${kit}(kit=WebKitGTK+)
Adrián PérezIgalia
![Page 3: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/3.jpg)
WebKit BasicsIncludes WebKitGTK+
![Page 4: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/4.jpg)
What is WebKit?
#webkitgtk #fosdem 4/24
![Page 5: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/5.jpg)
What is WebKitGTK+?
#webkitgtk #fosdem 5/24
![Page 6: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/6.jpg)
What is WebKit2?
#webkitgtk #fosdem 6/24
![Page 7: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/7.jpg)
Who is using it?
#webkitgtk #fosdem 7/24
![Page 8: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/8.jpg)
Previously on WebKitGTK+…Stable release 1.10.x
#webkitgtk #fosdem
Now enabled by default:
New features:
Boatloads of bugfixes.WebKit2GTK+ API augmented, nearing stabilization:
·GeolocationWebGLWeb Timing
---
·Accelerated compositingSmooth scrollingFull-screen modeHTML5 History APIWebAudioJSC LLint
------
··
To happen with GNOME 3.8, including Epiphany.WebKit1GTK+ API will still be maintained for a while.
--
8/24
![Page 9: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/9.jpg)
WebKit2 nowState of the art
#webkitgtk #fosdem
WebKit2 announced in April 2010Apple has released Safari using itCross-platform internal C API existsOne Two Qt browsers out there in the wild
WebKitGTK+ is the next to have support ☺
····
N9 browser: uses the C APISnowshoe: uses Qt5
--
·
9/24
![Page 10: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/10.jpg)
So… How's WebKit2GTK+ doing?The evil is in the details
Doing nicely:
#webkitgtk #fosdem
The basics have been working for quite a whileMost of the small details are already in place as of 1.10:
··
Context menusWeb inspectorFaviconsOn-disk cacheSpell checkingPrinting supportDocumentation, GI annotations…
-------
10/24
![Page 11: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/11.jpg)
WebKit2 changes(For developers)
![Page 12: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/12.jpg)
WebKit1GTK+Goal: same API for WebKit1GTK+ and WebKit2GTK+
#webkitgtk #fosdem
GtkWidget *wkt = webkit_web_view_new ();WebKitWebSettings *settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (wkt))/* Configure using the the “settings” object */GtkWidget *win = gtk_window_new (GTK_WINDOW_TOPLEVEL);gtk_container_add (GTK_CONTAINER (win), wkt);webkit_web_view_load_uri (WEBKIT_WEB_VIEW (wkt), "http://fosdem.org");gtk_widget_show_all (win);gtk_main ();
C
12/24
![Page 13: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/13.jpg)
WebKit2GTK+Goal: same API for WebKit1GTK+ and WebKit2GTK+
#webkitgtk #fosdem
GtkWidget *wkt = webkit_web_view_new ();WebKitSettings *settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (wkt))/* Configure using the the “settings” object */GtkWidget *win = gtk_window_new (GTK_WINDOW_TOPLEVEL);gtk_container_add (GTK_CONTAINER (win), wkt);webkit_web_view_load_uri (WEBKIT_WEB_VIEW (wkt), "http://fosdem.org");gtk_widget_show_all (win);gtk_main ();
C
There are some changes, though!For simple uses changes are none or minimalStart porting your application now!
···
13/24
![Page 14: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/14.jpg)
Differences are small(–ish)
#webkitgtk #fosdem
Some classes renamed (mostly removing “Web”):
Some new classes (mostly new fatures):
Some classes gone away (no longer needed, or missing):
·WebKitWebSettings → WebKitSettingsWebKitWebPlugin → WebKitPluginWebKitWebHistoryItem → WebKitBackForwardListItem…
----
·WebKitContextMenu
WebKitSecurityManager
…
---
·WebKitWebPluginDatabase
WebKitWebFrame
…
---
14/24
![Page 15: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/15.jpg)
What next?A sneak peek
![Page 16: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/16.jpg)
To the future… and beyondSlicker media controls
New media controls
Old media controls
#webkitgtk #fosdem 16/24
![Page 17: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/17.jpg)
To the future… and beyondWebKitGTK+ on Wayland with WebGL
#webkitgtk #fosdem
0:51
17/24
![Page 18: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/18.jpg)
To the future… and beyondEpiphany overview
Epiphany overview
#webkitgtk #fosdem 18/24
![Page 19: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/19.jpg)
To the future… and beyondEpiphany “UXperiments”
#webkitgtk #fosdem
0:00
19/24
![Page 20: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/20.jpg)
To the future… and beyondAnd more!
#webkitgtk #fosdem
Text rendering with HarfbuzzGObject Introspection for WebKit2GTK+GStreamer 1.0 for multimediaHW accelerated video renderingWebP and Opus supportNative notificationsWeb applicationsPrint previewWin32 (printing, IPC, etc.)…${FEATURE}
···········
20/24
![Page 21: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/21.jpg)
Wrapping upConclusions, everybody ♥ these
![Page 22: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/22.jpg)
Conclusionstl;dr
#webkitgtk #fosdem
Mature port, widely usedReleased regularly, every ~6 monthsWell maintainedUseable for developing serious browsersScales from desktop to embeddedWebKit2GTK+ API nearing completion, stabilization approaching
WebKit1GTK+ API still being maintained
······
Beta since 3.6Epiphany adopting it for 3.8
--
·New features and improvements for WebKit2GTK+ first-
22/24
![Page 23: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/23.jpg)
ContributingEvery single bit matters
#webkitgtk #fosdem
bugs.webkit.orgwebkitgtk.orgwebkit.org
···
Mailing lists:·[email protected]
--
IRC channels on irc.freenode.net:·#webkitgtk+
#webkit
--
23/24
![Page 24: NLW : HE.LW* 7. - Igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq de ohg e \g hidx ow 1 hz ihdwx uhv % r dwor dg vr ie x jil[hv : he](https://reader031.vdocuments.site/reader031/viewer/2022041214/5e034428d9e2ea2f204288c4/html5/thumbnails/24.jpg)
Thank You!…and enjoy the rest of FOSDEM
twitter @aperezdcwww perezdecastro.orggithub github.com/aperezdc