Porting desktop ABP to mobile Safari
summary
Porting Adblock Plus from Safari Content Blockers to Manifest V3 web extensions on iOS uses the existing ABP desktop SDK, a Safari polyfill for missing extension APIs, and Xcode Cloud unit tests (XCTest/Swift testing) plus Kotlin/Appium end-to-end tests in GitLab CI with plans for custom macOS runners. Content blocker limits (no snippets, no background list updates) force workarounds like polling every second for Swift→JS state, domain redirection via /etc/hosts for test servers, long DNR compile times, and only a third migrated of users enabling the extension fully.
AI-written summary · about
chapters (11)
- 0:00Introduction and speaker welcome
- 1:24Background and April 2025 release
- 5:43Safari content blocker limitations
- 8:34Transition to Safari web extensions
- 12:04Lessons learned during migration
- 16:43User migration challenges
- 20:05Q&A on Safari engine updates
- 21:32Q&A on DNR and cosmetic filters
- 24:05Q&A on DNR rule compilation
- 25:10Q&A on Safari API changes
- 27:19Closing remarks
related talks
02mIs ad blocking good for advertisers?
31mBreaking the Limits of PWAs with JavaScript APIs
29mEverything You Ever Wanted To Know About Cross-Browser Web Extensions
25mExtension Breakdown...
41mCross browser extensions – lets make one
28mBrowser Extensions with Flutter
22mCross browser extensions - lets make one
35mEvolving Chrome Extensions with Manifest V3
