-
-
Notifications
You must be signed in to change notification settings - Fork 92
feat: chrome m144 #1182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: chrome m144 #1182
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR updates the Skia dependency to Chrome M144 and implements logic to preserve trailing moveTo commands during path transformations, which were previously lost during Skia's path creation process. Additionally, funding information has been added to all platform-specific package.json files.
- Updated Skia submodule from M143 to M144
- Fixed path transformation functions to preserve trailing
moveTooperations - Added GitHub Sponsors funding metadata across all platform packages
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| skia | Updated submodule commit to M144 version |
| skia-c/skia_c.cpp | Enhanced skiac_path_transform and skiac_path_transform_self to detect and restore trailing moveTo commands after transformation |
| README.md | Updated Skia version badge from M143 to M144 |
| README-zh.md | Updated Skia version badge from M143 to M144 |
| npm/win32-x64-msvc/package.json | Added GitHub Sponsors funding information |
| npm/win32-arm64-msvc/package.json | Added GitHub Sponsors funding information |
| npm/linux-x64-musl/package.json | Added GitHub Sponsors funding information |
| npm/linux-x64-gnu/package.json | Added GitHub Sponsors funding information |
| npm/linux-riscv64-gnu/package.json | Added GitHub Sponsors funding information |
| npm/linux-arm64-musl/package.json | Added GitHub Sponsors funding information |
| npm/linux-arm64-gnu/package.json | Added GitHub Sponsors funding information |
| npm/linux-arm-gnueabihf/package.json | Added GitHub Sponsors funding information |
| npm/darwin-x64/package.json | Added GitHub Sponsors funding information |
| npm/darwin-arm64/package.json | Added GitHub Sponsors funding information |
| npm/android-arm64/package.json | Added GitHub Sponsors funding information |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Problem Summary
The
skiac_path_transform_selffunction in skia-c/skia_c.cpp drops trailing moveTo commands when transforming a path. This causes bugs like the closePath-arc test failure wheremoveTo calls between arcs are lost, resulting in lines being drawn instead of separate subpaths.
Root Cause
Skia intentionally trims trailing moveTo verbs in SkPathData::MakeNoCheck() via trim_trailing_move() because trailing moveTo creates "empty contours" which Skia considers invalid
for immutable paths.
The problematic data flow:
Solution
Fix skiac_path_transform_self to preserve trailing moveTo by:
Note
Upgrades Skia to Chrome m144, fixes Path2D transform to retain trailing moveTo, adjusts ARMv7 build flags, updates CI to build armv7, and adds funding metadata to npm packages.
skia-c/skia_c.cpp):moveToinskiac_path_transformandskiac_path_transform_selfby detecting/restoring the final move afterSkPath::makeTransform.scripts/build-skia.js):armv7-unknown-linux-gnueabihf, disableSkPathDatabackend (-DSK_DISABLE_PATHDATA) and settarget_cpu="armv7a"to avoid zlib CRC32 issue..github/workflows/CI.yaml):build-armv7-linux-gnueabihfjob and makepublishdepend on it.chrome/m144inREADME.mdandREADME-zh.md.npm/*/package.json):fundingfield to platform-specific packages.Written by Cursor Bugbot for commit 850f8ae. This will update automatically on new commits. Configure here.