feat: chrome m144#1182
Merged
Brooooooklyn merged 8 commits intomainfrom Dec 21, 2025
Merged
Conversation
Contributor
There was a problem hiding this comment.
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.
This was referenced Dec 21, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.