You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _posts/2025-11-02-this-month-in-servo.md
+31-1Lines changed: 31 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,9 +22,39 @@ Servo now supports several new web platform features:
22
22
<img src="{{ '/img/blog/2025-11-diffie.png' | url }}" alt="servoshell nightly showing new support CompressionStream and synthetic bold">
23
23
</figure>
24
24
25
-
In **servoshell** for **Android**, you can now enable **experimental mode** with <!-- TODO how many? --> just a few taps (@jdm, #40054), use the **software keyboard** (@jdm, #40009), deliver **touch events** to web content (@mrobinson, #40240), and dismiss the location field (@jdm, #40049).
25
+
<script>
26
+
(functionmakeVideoPlayersClickable() {
27
+
addEventListener("toggle", event=> {
28
+
constdetails=event.target.closest("details");
29
+
console.log(details, details.open);
30
+
if (!details?.open) {
31
+
return;
32
+
}
33
+
constvideo=details.querySelector("video");
34
+
video?.fastSeek(0);
35
+
video?.play();
36
+
console.log(details, video);
37
+
}, true);
38
+
})();
39
+
</script>
40
+
41
+
In **servoshell**for**Android**, you can now enable **experimental mode**with just two taps (@jdm, #40054), use the **software keyboard** (@jdm, #40009), deliver **touch events** to web content (@mrobinson, #40240), and dismiss the location field (@jdm, #40049).
26
42
**Pinch zoom** is now fully supported in both Servo and **servoshell**, taking into account the locations of pinch inputs (@mrobinson, @atbrakhi, #40083) and allowing keyboard scrolling when zoomed in (@mrobinson, @atbrakhi, #40108).
27
43
44
+
<figure>
45
+
<div style="display:flex">
46
+
<details style="position:relative;width:50%">
47
+
<video src="{{ '/img/blog/2025-11-experimental.webm' | url }}" style="position:absolute;margin:0;inset:0;pointer-events:none" loading="lazy">servoshell on Android showing GitHub loaded with an internal error, then enabling experimental mode in the settings menu, then reloading the page successfully (click to pause)</video>
48
+
<summary style="display:block"><img src="{{ '/img/blog/2025-11-experimental.jpg' | url }}" style="margin:0" loading="lazy"><div style="position:absolute;inset:0;display:flex;justify-content:center;align-items:center;color:#1192e8;font-size:7em;cursor:pointer;-webkit-text-stroke:1rem color-mix(in oklch,#1192e8,black 20%);user-select:none" alt="servoshell on Android showing GitHub loaded with an internal error, then enabling experimental mode in the settings menu, then reloading the page successfully (click to play)">▶</div></summary>
49
+
</details>
50
+
<details style="position:relative;width:50%">
51
+
<video src="{{ '/img/blog/2025-11-input.webm' | url }}" style="position:absolute;margin:0;inset:0;pointer-events:none" loading="lazy">servoshell on Android showing a page that opens the software keyboard and listens for touch events (click to pause)</video>
52
+
<summary style="display:block"><img src="{{ '/img/blog/2025-11-input.jpg' | url }}" style="margin:0" loading="lazy"><div style="position:absolute;inset:0;display:flex;justify-content:center;align-items:center;color:#1192e8;font-size:7em;cursor:pointer;-webkit-text-stroke:1rem color-mix(in oklch,#1192e8,black 20%);user-select:none" alt="servoshell on Android showing a page that opens the software keyboard and listens for touch events (click to play)">▶</div></summary>
53
+
</details>
54
+
</div>
55
+
<figcaption>servoshell on Android. <strong>Left:</strong> you can now turn on experimental mode in the settings menu. <strong>Right:</strong> we now support the soft keyboard and touch events.</figcaption>
56
+
</figure>
57
+
28
58
**AbortController** and **AbortSignal** are now **enabled by default** (@jdm, @TimvdLippe, #40079, #39943), after implementing **AbortSignal.timeout()** (@Taym95, #40032) and fixing **throwIfAborted()** on **AbortSignal** (@Taym95, #40224).
29
59
If this is the first time you’ve heard of them, you might be surprised how important they are for real-world web compat!
30
60
[**Over 40%**](https://webstatus.dev/features/aborting) of Google Chrome page loads at least *check* if they are supported, and many popular websites including GitHub and Discord are broken without them.
0 commit comments