Weekly WebKit development digest covering graphics and rendering fixes from September 7-14: a PNG decoder cleanup dropping support for libpng older than 1.5.0, several assertion failure fixes in the Layer-Based SVG Engine (LBSE) related to scrolling, filters, and compositing, a fix reducing unnecessary repaints for CSS-filtered composited layers on the Skia compositor, a fix for opaque-layer misclassification with clipping/masking, and a driver-level fix for white noise image artifacts on Intel Arc with the i915 driver. Also links a community blog post on using the WPE Platform API on Raspberry Pi with the latest WebKit main branch.
Source: https://blogs.igalia.com/webkit/blog/2026/wip-77. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Đang tải bình luận…
WebKit vừa thêm hỗ trợ cho directive interactive-widget trong viewport meta, giúp lập trình viên kiểm soát cách layout và viewport thay đổi khi bàn phím ảo xuất hiện trên di động. Tính năng này bắt nguồn từ công trình viewport của Chrome Interop 2022 và đã xuất hiện trong Chrome 108 cùng Firefox 133 trên Android. Hiện tại để thử nghiệm trên WebKit, bạn cần tự build WebKit locally và chạy qua MobileMiniBrowser trên iPhone Simulator vì nó chưa xuất hiện trong Safari Technology Preview. Vẫn chưa rõ khi nào tính năng này sẽ được đưa vào bản Safari công khai, nhưng có thể sẽ xuất hiện trong Safari 27.1.
Kiến thức về tính năng interactive-widget trong WebKit giúp lập trình viên chuẩn bị cho tương lai phát triển ứng dụng di động khi Safari hỗ trợ viewport directive này.
Safari trước đây gặp lỗi khi sử dụng top‑level await vì bộ nạp module của nó còn dựa trên bản đề xuất WHATWG Loader đã bị bỏ và không tuân thủ đầy đủ spec ECMAScript. Nguyên nhân là bộ nạp cũ được viết bằng JavaScript, dẫn tới lỗi “accessed before initialization” và thứ tự đánh giá module không chính xác. Để khắc phục, nhóm WebKit đã viết lại toàn bộ bộ nạp module từ đầu bằng C++ nguyên bản và kiểm tra kỹ lưỡng bằng fuzzing, test262, WPT và các test case do Bun engineers cung cấp. Kết quả là Safari 27 beta và Safari Technology Preview 251 đã полностью hỗ trợ top‑level await mà không còn những lỗi trước đây. Bài học là đầu tư vào việc viết lại thành phần lõi bằng ngôn ngữ native và thực hiện bộ kiểm tra đa dạng giúp đạt được tuân thủ spec và ổn định lâu dài. Nhà phát triển có thể kiểm tra tính năng này ngay trong Safari Technology Preview 251 hoặc bản beta Safari 27 để xác nhận việc top‑level await hoạt động đúng như mong đợi.
Bài này giúp lập trình viên hiểu Safari đã sửa lỗi top-level await ảnh hưởng đến cách module được tải và thực thi.
Bối cảnh: tác giả trước đây cố gắng giảm sự phân tâm bằng cách cài đặt nhiều tiện ích mở rộng (extensions) trên trình duyệt duy nhất. Nguyên nhân kỹ thuật: các tiện ích này thường chạy trong cùng một tiến trình và chia sẻ tài nguyên, vì vậy chúng không thể hoàn toàn chặn các trang web hoặc thông báo không liên quan đến công việc. Hệ quả: khi chuyển sang sử dụng một trình duyệt riêng cho công việc và một trình duyệt khác cho các hoạt động cá nhân, sự phân tán giảm đáng kể và tập trung làm việc cải thiện rõ rệt. Điều đáng học: thay vì continually tinh chỉnh các tiện ích, việc tách môi trường bằng cách sử dụng nhiều trình duyệt có thể giải quyết vấn đề gốc hiệu quả hơn. Điều này gợi ý rằng đối với các vấn đề liên quan đến môi trường làm việc, giải pháp kiến trúc đôi khi vượt qua giải pháp dựa trên phần mềm bổ sung.
Sử dụng trình duyệt riêng cho công việc và cuộc sống riêng giúp loại bỏ sự phân tâm hiệu quả hơn bất kỳ tiện mở rộng nào.
Safari Technology Preview 251 được phát hành cho macOS Golden Gate và macOS Tahoe, chứa một bộ thay đổi lớn của WebKit giữa hai khoảng commit. Nguyên nhân kỹ thuật bao gồm việc bổ sung các tính năng CSS như @supports at-rule(), object-view-box, random-item(), corner-shape và multi-condition @container queries; JavaScript nhận Iterator.prototype.includes(), WebAssembly Memory64, import defer, iterator chunking và joint iteration; HTML thêm popover=hint và Navigation API. Hệ quả là Service Workers, Web Extensions và Web Inspector được mở rộng khả năng, đồng thời có hàng chục bản sửa lỗi trong rendering, SVG, media, networking, WebGPU và WebRTC. Điều đáng học là các nhà phát triển cần kiểm tra tính năng mới và lưu ý việc loại bỏ các giá trị phần trăm không chuẩn của -webkit-line-clamp, margin-trim trong flex/grid và các giao diện SVGPathSegList/SVGPathSeg để phù hợp với SVG 2. Việc theo dõi các bản preview này giúp teams sớm thích nghi với các tiêu chuẩn web đang phát triển và tránh những thay đổi phá vỡ khi phiên bản ổn định được ra mắt.
Lập trình viên nên đọc bài này để cập nhật các tính năng và thay đổi mới nhất trong Safari Technology Preview 251, giúp tối ưu hóa web app và ứng dụng của mình.
Ba tính năng của WebKit là DNS prefetching, WebAuthn Related Origin Requests và WebTransport có thể bypass proxy, khiến lưu lượng truy cập bị rò rỉ trực tiếp từ thiết bị, ảnh hưởng đến các trình duyệt proxy (như Tor hay Psylo) và iCloud Private Relay. Lỗi này đã được khắc phục trong phiên bản Psylo 1.3.1.
Lập trình viên nên đọc để hiểu cách bảo mật proxy và iCloud Private Relay bị lỗ hổng WebKit, giúp họ phát triển các giải pháp bảo vệ an toàn cho ứng dụng proxy hoặc dịch vụ tương tự trong tương lai.
Bản Safari Technology Preview 250 bổ sung nhiều tính năng mới như các thuộc tính CSS (ruby-overhang, ::marker, text-decoration-inset, white-space-trim), hỗ trợ JavaScript Explicit Resource Management, WebAssembly relaxed SIMD, cùng nhiều cải tiến về accessibility, media và Web Inspector. Bản cập nhật này dành cho macOS Golden Gate và Tahoe, dựa trên WebKit từ build 317507 đến 317934.
Lập trình viên phát triển web hoặc WebAssembly nên đọc để cập nhật các tính năng mới như ruby-overhang cho CSS, hỗ trợ fetch() với ReadableStream và cải tiến SIMD trong WebAssembly, giúp tối ưu hóa hiệu suất và tương thích cho dự án của họ.
It's the best of both worlds.
Một bản vá đang được phát triển từ tháng 6 để thay thế Dashicons trong thanh admin và thanh bên bằng WordPress icons, sử dụng hàm wp_get_icon() được giới thiệu trong WordPress 7.1. Sự thay đổi này rất đáng chú ý vì nó thay đổi trực quan giao diện quản trị WordPress mà hàng triệu người dùng nhìn thấy mỗi ngày. Việc chuyển sang wp_get_icon() không chỉ giúp mã nguồn gọn hơn mà còn cho phép WordPress dễ dàng quản lý và tùy biến hệ thống icon trong tương lai. Đây là thay đổi quan trọng với bất kỳ nhà phát triển nào làm việc trên giao diện quản trị WordPress.
Bài viết này giúp bạn hiểu về sự thay đổi Dashicons bằng WordPress icons trong admin bar và menu sử dụng hàm wp_get_icon().
Read the news here, practice coding, follow structured courses and train for IELTS on our sibling products — all connected through one 8 Sync account.
The ecosystem home: product overviews, blog and full pricing.
ExploreLearn along a clear roadmap: videos, auto-graded quizzes, certificates and mentors who ship for a living.
View the roadmap1,000+ DSA problems in Vietnamese, auto-graded across 7 languages — many FREE, right in your browser.
Practice for freeAI grading for all four IELTS skills with detailed rubric feedback.
Try it freeA 22 MB AI IDE for Vietnamese devs.
Download freeOrganizational memory for AI agents.
ExploreAI that staffs your Fanpage and qualifies leads for you.
Try it