5050
5151### What is Servo❓
5252
53+ <div class =" fragment " >
54+
5355A ** web rendering engine** written in ** Rust**
5456
55- <div style =" display : flex ; flex-wrap : wrap ; width : 15em ; gap : 1em ; margin-inline : auto ; margin-block : 1em ; background : white ; padding : 1em ; padding-top : 0.5em ; border-radius : 1em ;" >
57+ </div >
58+
59+ <div class="fragment" style="display: flex; flex-wrap: wrap; width: 15em; gap: 1em; margin-inline: auto; margin-top: 1em; background: white; padding: 1em; padding-top: 0.5em; border-radius: 1em; justify-content: center;
60+ ">
5661 <div class =" feature " >
5762 <img src="/img/home-embeddable.png" alt="Embeddable icon"/>
5863 <strong style="color: #4fc066;">Embeddable</strong>
@@ -100,6 +105,11 @@ A **web rendering engine** written in **Rust**
100105
101106TODO: Video showing Servo opening some pages and windows
102107
108+ - Open servo.org
109+ - Browse a bit, opening a blog post, maybe open GitHub, usual wikipedia search
110+ - Open a new window, open lichess, start to play
111+ - Go back to the other window, search for FOSDEM or go to the website, and browse a bit more
112+
103113----
104114
105115### Main highlights (2023-) ✨
@@ -130,7 +140,32 @@ TODO: Video showing Servo opening some pages and windows
130140
131141----
132142
133- TODO: WebDriver demo
143+ ### WebDriver demo 🤖
144+
145+ * Open Servo with ` --webdriver=7002 `
146+ * Command line commands to take a screenshot:
147+
148+ ``` sh
149+ SESSIONID=$( curl -H ' Content-Type: application/json' -X POST
150+ -d ' {"capabilities": {}}'
151+ http://127.0.0.1:7002/session
152+ | jq -r " .value.sessionId" )
153+
154+ curl -v http://127.0.0.1:7002/session/${SESSIONID} /screenshot
155+ | jq -r " .value" | base64 -d > screenshot.png
156+ ```
157+
158+ Check [ ` servo-screenshot ` experiment] ( https://github.com/mrego/servo-toys/tree/main/servo-screenshot )
159+
160+ ----
161+
162+ ### New projects using Servo 🚧
163+
164+ * [ ** Servo GTK** ] ( https://github.com/nacho/servo-gtk ) : A GTK4 library that embeds the Servo web engine
165+ * [ ** Slint Servo Example** ] ( https://github.com/slint-ui/slint/tree/master/examples/servo ) : Integrate Servo web engine as WebView component for Slint
166+ * [ ** Polo** ] ( https://github.com/Ranrar/Marco/tree/servo ) : A lightweight Markdown viewer
167+
168+ See [ ` servo.org/made-with ` ] ( https://servo.org/made-with/ ) for more examples
134169
135170-----
136171
@@ -139,13 +174,17 @@ TODO: WebDriver demo
139174
140175----
141176
142- ### Wider scope 🦀
177+ ### Rust 🦀
143178
144179* ** Rust programming language**
145- * Started by Mozilla in parallel with the Servo project
146- * Language has been influenced by Servo's needs
147- * Servo as a proof that is a serious systems programming language
148- * [ ** Popular Servo crates/libraries** ] ( https://crates.io/teams/github:servo:cargo-publish ) : rust-url, html5ever, etc.
180+ * Started by Mozilla in parallel with
181+ the Servo project
182+ * Language design was influenced
183+ by Servo's requirements
184+ * Servo proved that Rust could be
185+ a serious systems-level language
186+ * [ ** Popular Servo crates/libraries** ] ( https://crates.io/teams/github:servo:cargo-publish ) :
187+ rust-url, html5ever, etc.
149188* Chromium is ** starting to use Rust**
150189
151190----
@@ -155,7 +194,8 @@ TODO: WebDriver demo
155194* ** Show it is possible** to start from scratch
156195* ** Similar principles** : closely follow specs terminology and structure
157196* ** Innovation** :
158- * Architectural: multi-core and parallel since the beginning
197+ * Architectural: multi-core and parallel
198+ since inception
159199 * Allow experimentation
160200 * New ways to implement the web platform
161201
@@ -176,7 +216,8 @@ TODO: WebDriver demo
176216
177217* Shared test suite for the web platform
178218* Servo auto-syncs WPT in both directions ↔️
179- * More than ** 450 PRs** by ` servo-wpt-sync ` (261 in 2025)
219+ * More than ** 450 PRs** by ` servo-wpt-sync `
220+ (261 in 2025)
180221* Infra: Update docker image to Ubuntu 22.04
181222
182223----
@@ -193,52 +234,81 @@ TODO: WebDriver demo
193234
194235----
195236
196- TODO Examples
237+ #### Example: Session history
238+
239+ <div style =" font-size : smaller ;" >
240+ <img style =" border-radius : 1em ; box-shadow : 0.25em 0.25em 1em black ; width : 50% ; float : right ; margin-top : 1.2em ;" src =" /img/a-model-of-navigation-history.png " alt =" Screenshot of paper 'A model of navigation history' by Connor G. Brewster & Alan Jeffrey, August, 2016 " />
241+ <ul style =" display : inline ;" >
242+ <li style="margin-left: 1em;">Paper: <a href="https://arxiv.org/abs/1608.05444"><strong>A Model of Navigation History</strong></a><br>by Connor G. Brewster<br>& Alan Jeffrey</li>
243+ <li style="margin-left: 1em;">Helped to solve a long standing issue:<br><a href="https://github.com/whatwg/html/issues/1454"><code>whatwg/html#1454</code></a></li>
244+ </ul >
245+ </div >
246+
247+ ----
248+
249+ #### Example: CSS2 tables interop issues
197250
198- https://github.com/whatwg/html/issues/1454#issuecomment-241317285
251+ < div style = " font-size : smaller ; width : 70 % ; " >
199252
200- https://github.com/w3c/css-houdini-drafts/issues?q=is%3Aissue%20state%3Aclosed%20author%3Aasajeffrey
253+ * CSS tables implementation
254+ * Found many interop issues:
255+ * [ ` w3c/csswg-drafts#11489 ` ] ( https://github.com/w3c/csswg-drafts/issues/11489 )
256+ * [ ` w3c/csswg-drafts#11799 ` ] ( https://github.com/w3c/csswg-drafts/issues/11799 )
257+ * [ ` w3c/csswg-drafts#12689 ` ] ( https://github.com/w3c/csswg-drafts/issues/12689 )
258+ * ...
259+ * ** Better WPT pass-rate than WebKit**
201260
202- https://github.com/whatwg/html/issues/12016
261+ <br >
262+ <br >
263+ <br >
264+ <br >
265+ <br >
266+ <br >
203267
204- https://github.com/w3c/csswg-drafts/issues/13149
268+ </ div >
205269
206- https://github.com/w3c/csswg-drafts/issues/12852
270+ <img style =" border-radius : 1em ; box-shadow : 0.25em 0.25em 1em black ; position : absolute ; right : 1em ; top : 3em ; padding : 0.5em ; background : white ; width : 7em ;" src =" /img/css-talbes-issue-11489.png " alt =" Screenshot of example on issue https://github.com/w3c/csswg-drafts/issues/11489 " />
271+ <img style =" border-radius : 1em ; box-shadow : 0.25em 0.25em 1em black ; position : absolute ; left : 3em ; top : 10.5em ; padding : 0.5em ; background : white ; width : 11em ;" src =" /img/css-talbes-issue-11799.png " alt =" Screenshot of example on issue https://github.com/w3c/csswg-drafts/issues/11799 " />
272+ <img style =" border-radius : 1em ; box-shadow : 0.25em 0.25em 1em black ; position : absolute ; right : 2em ; top : 11.5em ; padding : 0.5em ; background : white ; width : 5em ;" src =" /img/css-talbes-issue-12689.png " alt =" Screenshot of example on issue https://github.com/w3c/csswg-drafts/issues/12689 " />
207273
208274----
209275
210276### Conclusions 📌
211277
212278* New web engines ** help the wider ecosystem**
213- * ** Improve specs** and identify interop issues
214- * ** Increase test coverage** covering corner cases
215- * Provide ** new ways to use the web platform**
279+ * ** Improve specs** and identify ** interop issues**
280+ * ** Increase test coverage**
281+ including missing corner cases
282+ * Provide ** novel approaches to use the Web**
216283* ** Diversification** : healthier platform
217284
218285-----
219286
220- ## Join the project 🤝
287+ ### Join the project 🤝
221288
222- * GitHub: [ ` github.com/servo ` ] ( https://github.com/servo )
223- * Chat: [ ` servo.zulipchat.com ` ] ( https://servo.zulipchat.com/ )
224- 225- * Sponsor: [ GitHub] ( https://github.com/sponsors/servo ) & [ Open Collective] ( https://opencollective.com/servo )
289+ * GitHub 💻 : [ ` github.com/servo ` ] ( https://github.com/servo )
290+ * Chat 💬 : [ ` servo.zulipchat.com ` ] ( https://servo.zulipchat.com/ )
291+ 292+ * Sponsor 💰 : [ GitHub] ( https://github.com/sponsors/servo ) & [ Open Collective] ( https://opencollective.com/servo )
226293
227- <div style =" text-align : center ; margin : 1em ;" >
294+ <div style =" text-align : center ; margin : 1em ; margin-bottom : 0 em ; " >
228295
229296Looking into ** growing a healthy community around the project**
230297
231298</div >
232299
233- -----
300+ ----
234301
235- ## Test Servo & Report issues 🧪
302+ ### Test Servo & Report issues 🧪
236303
237- * Download: [ ` servo.org/download ` ] ( https://servo.org/download )
238- * Issues: [ ` github.com/servo/servo/issues ` ] ( https://github.com/servo/servo/issues )
239- * Discussions: [ ` github.com/servo/servo/discussions ` ] ( https://github.com/servo/servo/discussions )
304+ * Download ⬇️
305+ [ ` servo.org/download ` ] ( https://servo.org/download )
306+ * Issues 🐛
307+ [ ` github.com/servo/servo/issues ` ] ( https://github.com/servo/servo/issues )
308+ * Discussions 🗫:
309+ [ ` github.com/servo/servo/discussions ` ] ( https://github.com/servo/servo/discussions )
240310
241- <div style =" text-align : center ; margin : 1em ;" >
311+ <div style =" text-align : center ; margin : 1em ; margin-bottom : 0 em ; " >
242312
243313** Play with Servo** and
244314** let us know your experience**
@@ -251,7 +321,7 @@ Looking into **growing a healthy community around the project**
251321
252322## Thanks 🙏
253323
254- <div style =" float : left ; font-size : 70 % ; text-align : left ; padding : 0.5 em ;" >
324+ <div style =" float : left ; text-align : left ;" >
255325
256326** [ ` servo.org ` ] ( https://servo.org ) **
257327
@@ -261,7 +331,7 @@ Looking into **growing a healthy community around the project**
261331
262332</div >
263333
264- <img src =" /img/servo-qr.png " style =" width : 20% ; margin-left : 3 em ;" alt =" QR code with Servo logo pointing to servo.org website " />
334+ <img src =" /img/servo-qr.png " style =" width : 20% ; margin-left : 1 em ;" alt =" QR code with Servo logo pointing to servo.org website " />
265335
266336<img src =" /img/servo-color-positive-no-container.svg " style =" width : 30% ; margin : 1em ;" alt =" Servo logo " />
267337
0 commit comments