30246 Commits

Author SHA1 Message Date
Matan Lurey
997f742ac5
Fix ISSUE_TEMPLATE Ordering: 10 < 9, but 10 > 09 (#166455)
Unfortunately `10_google3_bug.yml` comes before `2_bug.yml`.

This changes the name (slightly) of the issue templates based on the
instructions from GitHub on what to do when you have 10+ issue templates
(as a side-note: I wonder if we need/still use umbrella bugs for the
feature tracker, or two types of performance bugs)
2025-04-03 00:24:34 +00:00
Yegor
fbbe0f9e7a
[a11y] add SemanticsValidationResult (#165935)
Add `SemanticsValidationResult` to semantics that maps onto
`aria-invalid`.

Fixes https://github.com/flutter/flutter/issues/162142
2025-04-02 22:00:19 +00:00
engine-flutter-autoroll
a22e3fec6e
Roll Skia from 52cbb917fffd to 75a0ec473181 (21 revisions) (#166484)
https://skia.googlesource.com/skia.git/+log/52cbb917fffd..75a0ec473181

2025-04-02 thomsmit@google.com [graphite] Align the new pendingBase to
the stride of incoming elements.
2025-04-02 nicolettep@google.com [graphite] Add Vulkan render pass and
texture changes to support reading from the dst texture
2025-04-02 nicolettep@google.com [graphite] Align DrawPass and
RenderPassDesc dst read strategy
2025-04-02 drott@chromium.org [Fontations] Path not modified for
advanced metrics, PostScript name
2025-04-02 bungeman@google.com [fontations] Set font format in
onGetAdvancedMetrics
2025-04-02 jvanverth@google.com Make VertexFiller backend independent.
2025-04-02 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 5b6a0bdc7c48 to b0afd1a16c52 (2 revisions)
2025-04-02 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from bbf92d12266d to c9956ce0c4be (9 revisions)
2025-04-02 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 1411699ba4cd to bd7a6d4fe2b1 (27 revisions)
2025-04-01 danieldilan@google.com Implement asImageFilter for
SkShaderMaskFilter
2025-04-01 robertphillips@google.com [graphite] Expand
PrecompileContext::reportPipelineStats
2025-04-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 12ef946decd5 to 5b6a0bdc7c48 (3 revisions)
2025-04-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skcms
from 1e365691d01a to 374c10637d4a (1 revision)
2025-04-01 bungeman@google.com Fix gn side fontations sources
2025-04-01 robertphillips@google.com Add
SK_HISTOGRAM_CUSTOM_EXACT_LINEAR
2025-04-01 sharaks@google.com Merge 2 release notes into
RELEASE_NOTES.md
2025-04-01 sharaks@google.com Update Skia milestone to 137
2025-04-01 egdaniel@google.com Plumb SurfaceDrawContext through
asFragmentProcessor calls.
2025-04-01 borenet@google.com [infra] Older versions of setarch require
a parameter
2025-04-01 robertphillips@google.com Address TSAN issue in
GrSurfaceProxy::backingStoreDimensions
2025-04-01 jamesgk@google.com [ganesh] Fix blank screen when creating
offscreen surface

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC aaclarke@google.com,egdaniel@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-02 21:29:46 +00:00
gaaclarke
25f7c15dd7
Started pixel aligning hairlines (#166351)
fixes https://github.com/flutter/flutter/issues/162378
builds from: https://github.com/flutter/flutter/pull/165079
gets rid of the line artifacts in
https://github.com/flutter/flutter/issues/165689

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-02 21:28:58 +00:00
Jackson Gardner
34ea67bdbf
Reland "[skwasm] Dynamic Threading" (#166454)
This is a reland of https://github.com/flutter/flutter/pull/164748,
which was reverted here: https://github.com/flutter/flutter/pull/165350

It was reverted due to some issues in the flutter packages roller:
https://github.com/flutter/flutter/issues/165347

The unit test in flutter/packages was modified to be more deterministic
and less affected by minor timing differences:
https://github.com/flutter/packages/pull/8920

So this is basically being relanded without any significant changes,
since the downstream tests have been fixed.
2025-04-02 21:27:09 +00:00
Tong Mu
f2e0a2afb3
[dart:ui] Add Path.addRSuperellipse (#166045)
This PR adds `Path.addRSuperellipse` to `dart:ui`. This is needed to
implement a parity class to `RoundedRectangleBorder` as discussed
[here](https://github.com/flutter/flutter/pull/164857#issuecomment-2715637356).

<details>
<summary>
Obsolete description, no longer applicable
</summary>
I want to reuse the existing algorithm created for impeller stroking.
The existing algorithm is moved from `path_builder.cc` to
`round_superellipse_param.cc`, and a delegated is added so that the same
algorithm can output for different path classes.

I'm not 100% sure this is _the_ best way to implement this, but I've
tried some methods in vain.
* `DlPathReceiver` added in
https://github.com/flutter/flutter/pull/164753 sounds like a similar
concept as the delegate created in this PR. I tried to use that but not
only are the methods private, they're neither in an accessible
directory.
* I also thought of converting an impeller `Path` to a skia path, but it
seems that the impeller path isn't designed to be traversed.
* Another possibility is that we refactor impeller stroking to be based
on the triangles instead of path, a direction we agreed to eventually
move toward, which allows avoiding code share at all. I've briefly read
the code in `StrokePathGeometry` and have some ideas but also something
uncertain, so I didn't choose this path for now.
</details>

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-02 21:27:08 +00:00
Jonah Williams
901b0f1afe
[Impeller] cache for text shadows. (#166228)
Fixes https://github.com/flutter/flutter/issues/164303
Fixes https://github.com/flutter/flutter/issues/165116

When rendering a text shadow, cache the resulting snapshot for at least
one frame. Only attempts to content-aware hash for single glyphs
(Icons). in other cases the exact layout may be different enough that
its not worth trying to cache.
2025-04-02 20:29:14 +00:00
engine-flutter-autoroll
d90c9611b3
Roll Dart SDK from 4e1f02bc704f to b8b4076b1237 (7 revisions) (#166474)
https://dart.googlesource.com/sdk.git/+log/4e1f02bc704f..b8b4076b1237

2025-04-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-257.0.dev
2025-04-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-256.0.dev
2025-04-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-255.0.dev
2025-04-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-254.0.dev
2025-04-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-253.0.dev
2025-04-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-252.0.dev
2025-04-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-251.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC aaclarke@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-02 20:08:19 +00:00
engine-flutter-autoroll
a0b1b32534
Roll Dart SDK from b4d374ec59ec to 4e1f02bc704f (2 revisions) (#166342)
https://dart.googlesource.com/sdk.git/+log/b4d374ec59ec..4e1f02bc704f

2025-04-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-250.0.dev
2025-04-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-249.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC aaclarke@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-01 16:33:23 +00:00
engine-flutter-autoroll
fbe64c68d8
Roll Dart SDK from 6b07a09cbd2d to b4d374ec59ec (2 revisions) (#166321)
https://dart.googlesource.com/sdk.git/+log/6b07a09cbd2d..b4d374ec59ec

2025-04-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-248.0.dev
2025-04-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-247.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC aaclarke@google.com,dart-vm-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-01 11:15:09 +00:00
Robert Ancell
be79e0a0a6
Rename FlRenderer to FlCompositorOpenGL (#166037)
Matches the Flutter engine compositor and is similar to the Windows
embedder classes.
2025-04-01 04:04:08 +00:00
Kevin Moore
8b0cf61ebd
[engine, web_ui] Fix instances of library_private_types_in_public_api (#166156)
Not all of them, but many. Make a lot of functions private
2025-04-01 02:36:52 +00:00
engine-flutter-autoroll
ccc520523b
Roll Dart SDK from 509faa921c95 to 6b07a09cbd2d (1 revision) (#166301)
https://dart.googlesource.com/sdk.git/+log/509faa921c95..6b07a09cbd2d

2025-03-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-246.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com,jimgraham@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-01 02:36:52 +00:00
Jonah Williams
49ebe507a9
[Impeller] small cpu perf for text contents. (#166199)
* Compute scaling matrices once per frame instead of per glyph.
* Use index buffer to avoid performing redundant computations for second
triangle.
2025-04-01 01:37:20 +00:00
gaaclarke
576cdb40ff
[impeller] fixes diagonal antialiased lines (#166298)
fixes https://github.com/flutter/flutter/issues/166276

This fixes antialiased diagonal lines being a different width by doing
all prefiltered math in unrotated space, then applying a rotation to the
line. This avoids the oddity in the gpu gems 2 math.

## after photo

![IMG_7582](https://github.com/user-attachments/assets/26158d23-5416-420f-b092-18cbe00c7d57)

## without antialias

![IMG_7581](https://github.com/user-attachments/assets/fb913e56-15b1-46b4-af34-e4c7235eb21f)

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-01 00:39:19 +00:00
engine-flutter-autoroll
d5fd808455
Roll Skia from 5f262bd2cbb4 to 4b07443e6071 (10 revisions) (#166299)
https://skia.googlesource.com/skia.git/+log/5f262bd2cbb4..4b07443e6071

2025-03-31 lukasza@chromium.org [rust png] Disable checksum verification
when fuzzing.
2025-03-31 jvanverth@google.com [graphite] Add allocation checks to
BasicDrawAtlas test.
2025-03-31 lehoangquyen@google.com GraphiteDawn: enable SSBO for compat
mode.
2025-03-31 michaelludwig@google.com [graphite] Consolidate VkPipeline
creation functions
2025-03-31 borenet@google.com [infra] Add jobs for migrated NUCs
2025-03-31 jvanverth@google.com [graphite] Free backing data for Plots
when we no longer need it.
2025-03-31 lokokung@google.com [dawn][headers] Remove ifdefs / updates
for InstanceDropped renames.
2025-03-31 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 2b7c95ec76d5 to 1648e664337c (1 revision)
2025-03-31 borenet@google.com [infra] Remove remaining Debian10 tasks
2025-03-31 kjlubick@google.com Release CanvasKit v0.40.0

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC egdaniel@google.com,jimgraham@google.com,kjlubick@google.com
on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-01 00:34:23 +00:00
Jim Graham
0a22ff9962
[Impeller] Directly tessellate conics to linear path segments (#166165)
Impeller has been approximating conic segments with a pair of quadratic
segments - a simplification that only works well for simple 90 degree
circular conics, but is a poor approximation for tighter conics.

We now approximate a reasonable number of line segments to approximate
the conic with directly and directly flatten the conics into the
tessellation buffers.
2025-03-31 23:38:38 +00:00
engine-flutter-autoroll
dc905a37d7
Roll Dart SDK from c5fa06710bb6 to 509faa921c95 (1 revision) (#166283)
https://dart.googlesource.com/sdk.git/+log/c5fa06710bb6..509faa921c95

2025-03-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-245.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com,jimgraham@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-03-31 20:42:34 +00:00
Koji Wakamiya
02bdfd2a6c
[Engine][iOS] Cancel animation when recieved UIKeyboardWillHideNotification with duration 0.0 (#164884)
fix https://github.com/flutter/flutter/issues/112281

The event log output shows that `UIKeyboardWillHideNotification` occurs
immediately after `UIKeyboardWillShowNotification`. However, the
animation is not cancelled in response to
`UIKeyboardWillHideNotification`.

This PR adds animation cancellation processing in response to
`UIKeyboardWillHideNotification` with duration 0.0.


https://github.com/user-attachments/assets/df0dbc6a-504b-476e-97ce-30e7ff40835f

test app: https://github.com/koji-1009/pm_behavior_test

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Victoria Ashworth <15619084+vashworth@users.noreply.github.com>
2025-03-31 19:27:13 +00:00
gbbosak
8e3fee85a1
[fuchsia] Remove explicit LogSink and InspectSink routing and use dictionaries instead (#162780)
This is a Fuchsia change to prepare for future changes to the SDK.
LogSink and InspectSink will soon be routed through dictionaries, rather
than explicitly. For RealmBuilders, we need to route both the dictionary
and the protocol (to preserve compatibility). For CML files, we need to
use the shards in the SDK instead of using explicit routes. Once the SDK
shard is updated, then all SDK consumers should receive new routes.
However, not everyone will necessarily be updated at the same time,
which is the reason for keeping compatibility routes in RealmBuilder (to
prepare for the soft transition).

b/394681733

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [(Google employee)] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [X (exempt, SDK mechanical change only)] I added new tests to check
the change I am making, or this PR is [test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X (unable to test on Fuchsia, I believe it has to be merged to be
tested)] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Chinmay Garde <chinmaygarde@google.com>
2025-03-31 19:24:26 +00:00
Jonah Williams
1d39997fcb
[Impeller] remove validation warning ignores. (#166205)
We have validation enabled on CI and these don't seem to fail now that
I've removed the VVL ignore.

Fixes https://github.com/flutter/flutter/issues/149111
2025-03-31 17:22:52 +00:00
Jonah Williams
290a85e7f2
[Impeller] handle shader ordering bug on macOS. (#165937)
Fixes https://github.com/flutter/flutter/issues/165740

if a user declares interleaved `float` and `sampler2D` uniforms, then we
can screw up the binding order.

This only manifests on platforms where we don't combine all float/scalar
uniform values into a single struct. We should probably start doing that
for metal, but refactoring there is out of scope for this patch.

I enabled a large number of skipped tests we probably should have turned
on by now. oops.

---------

Co-authored-by: gaaclarke <30870216+gaaclarke@users.noreply.github.com>
2025-03-31 17:21:04 +00:00
engine-flutter-autoroll
9870afdc0c
Roll Dart SDK from b9c35e05feb5 to c5fa06710bb6 (1 revision) (#166251)
https://dart.googlesource.com/sdk.git/+log/b9c35e05feb5..c5fa06710bb6

2025-03-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-244.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com,jimgraham@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-03-31 15:23:43 +00:00
Jonah Williams
8d7e8608b3
[Impeller] fix min filter for GL external textures. (#166224)
Fixes https://github.com/flutter/flutter/issues/165976

Pass through sampler options for oes external textures.
2025-03-31 00:18:20 +00:00
engine-flutter-autoroll
b2730aa81b
Roll Skia from 10f4cf9a817d to b6a3bbd1d153 (13 revisions) (#166231)
https://skia.googlesource.com/skia.git/+log/10f4cf9a817d..b6a3bbd1d153

2025-03-30 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
Update SKP version
2025-03-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from eceae48c8bd7 to db3d8a0eebf7 (1 revision)
2025-03-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 1412d2269228 to eceae48c8bd7 (1 revision)
2025-03-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from f72f0eb3c0f3 to 1412d2269228 (5 revisions)
2025-03-28 bungeman@google.com [pdf] Add option to emit outline from tag
tree
2025-03-28 jvanverth@google.com [graphite] Add ProxyCache support to
RasterPathAtlas.
2025-03-28 bungeman@google.com [pdf] Allow marking artifacts
2025-03-28 lukasza@chromium.org [rust png] Map `CompressionLevel::kLow`
to `Fastest` rather than `Fast`.
2025-03-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 7f9757f8082d to f72f0eb3c0f3 (13 revisions)
2025-03-28 jmbetancourt@google.com [MSKP] update Android MSKP capture
documentation
2025-03-28 jvanverth@google.com [graphite] Fix SkBitmap creation for
ClipAtlas ProxyCache use.
2025-03-28 borenet@google.com [infra] Fixes for BazelTest and ChromeOS
after updating VMs
2025-03-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from 8826cf6cfeb7 to 66a8850fbf4b (14 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC egdaniel@google.com,jimgraham@google.com,kjlubick@google.com
on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-03-31 00:08:24 +00:00
engine-flutter-autoroll
05b5e79105
Roll Dart SDK from bcb7649e965a to b9c35e05feb5 (1 revision) (#166202)
https://dart.googlesource.com/sdk.git/+log/bcb7649e965a..b9c35e05feb5

2025-03-29 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-243.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com,jimgraham@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-03-29 19:18:24 +00:00
engine-flutter-autoroll
801e536761
Roll Dart SDK from a7701559f616 to bcb7649e965a (1 revision) (#166189)
https://dart.googlesource.com/sdk.git/+log/a7701559f616..bcb7649e965a

2025-03-29 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-242.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com,jimgraham@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-03-29 14:03:38 +00:00
engine-flutter-autoroll
1d7a97c0ad
Roll Dart SDK from 30ea8c4e622f to a7701559f616 (1 revision) (#166185)
https://dart.googlesource.com/sdk.git/+log/30ea8c4e622f..a7701559f616

2025-03-29 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-241.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com,jimgraham@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-03-29 08:47:31 +00:00
Dustin Green
13b74844bd
[fuchsia][sysmem2] switch to sysmem2 tokens (#166120)
Now that fuchsia protocols can convey sysmem2 tokens, avoid token
conversions.

fixes #166121

[cl/741415017](http://cl/741415017) per
[go/flutter-fuchsia-pr-policy](http://go/flutter-fuchsia-pr-policy)

## Pre-launch Checklist

- [y] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [y] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [y] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [y] I signed the [CLA].
- [y] I listed at least one issue that this PR fixes in the description
above.
- [na] I updated/added relevant documentation (doc comments with `///`).
- [tbd] I added new tests to check the change I am making, or this PR is
[test-exempt].
  - identical functionalilty; covered by existing tests
- [na] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [y] All existing and new tests are passing.
2025-03-29 05:30:40 +00:00
engine-flutter-autoroll
59e617af38
Roll Dart SDK from 65fe9906a916 to 30ea8c4e622f (2 revisions) (#166181)
https://dart.googlesource.com/sdk.git/+log/65fe9906a916..30ea8c4e622f

2025-03-29 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-240.0.dev
2025-03-28 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-239.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com,jimgraham@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-03-29 03:25:26 +00:00
Jonah Williams
4617b0c842
move around shaders in vertices uber 1/2 (#166180)
Still failed to compile on the P10. Moving shaders around until it works
(now it works).
2025-03-29 02:40:58 +00:00
Jonah Williams
6467d5c3c5
[Impeller] optimize drawImageRect with blend and matrix color filter. (#165998)
Fixes https://github.com/flutter/flutter/issues/165959

Flame uses a lot of individual calls to drawImageRect w/ blend color
filters to color the sprites. This is much slower with Impeller today,
because we convert this into:

```
saveLayer(color filter)
drawImageRect
restore
```

Instead, we can detect this case and convert to a call to drawAtlas.
drawAtlas will use the porter-duff shader which removes the saveLayer
entirely. We could do this optimization while recording, but for now its
fine to do in dispatch.

We do have a snapshot optimization that catches "normal" image usage,
but it doesn't apply in the flame case as the source rects are sampling
from a larger texture and we don't have a way to pass those through the
snapshot system.

## Before

<img
src="https://github.com/user-attachments/assets/faada042-843f-4f15-af20-9baf862f66fd"
width="200"/>


## After

<img
src="https://github.com/user-attachments/assets/c83e061c-190f-4613-a725-88e16b776c04"
width="200"/>

---------

Co-authored-by: gaaclarke <30870216+gaaclarke@users.noreply.github.com>
2025-03-29 01:33:08 +00:00
gaaclarke
713d906125
Started clamping scaled antialias lines size (#166149)
fixes https://github.com/flutter/flutter/issues/165994

Now vertices and e value calculations are driven by the clamping that is
happening in ComputeCorners.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-03-28 22:24:40 +00:00
Jason Simmons
c068f67437
Roll Dart SDK from 4494ffead9af to 65fe9906a916 (7 revisions) (#166162)
https://dart.googlesource.com/sdk.git/+log/4494ffead9af..65fe9906a916

2025-03-28 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-238.0.dev 2025-03-28
dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version
3.8.0-237.0.dev 2025-03-28
dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version
3.8.0-236.0.dev 2025-03-27
dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version
3.8.0-235.0.dev 2025-03-27
dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version
3.8.0-234.0.dev 2025-03-27
dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version
3.8.0-233.0.dev 2025-03-27
dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version
3.8.0-232.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com,jimgraham@google.com on the revert to
ensure that a human is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Co-authored-by: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
2025-03-28 22:18:11 +00:00
gaaclarke
751924dbc9
[impeller] refactored LineContents to make it more testable, added tests (#166035)
issue https://github.com/flutter/flutter/issues/165994

This makes the sample radius properly fixed in pixel coordinates. I
don't know if we want to scale them based on dpi. This tweak also made
it so we no longer have lines that disappear with the setting (width:2,
scale:0.2). We have proper unit tests so we can reason about this stuff
correctly.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-03-28 19:45:06 +00:00
Jonah Williams
5e18e591dc
[Impeller] allow newer powervr gpu to use Vulkan. (#165520)
Not to be landed until https://github.com/flutter/flutter/pull/165497
lands.

We don't both to parse the model number until CXT and DXT as all prior
models shouldn't be used.
2025-03-28 18:08:08 +00:00
Srujan Gaddam
7cfaf04fa9
[web] Remove package:js in favor of dart:js_interop (#165324)
Removes package:js and uses dart:js_interop instead

This is taken directly from
https://github.com/flutter/flutter/pull/164254 and will be iterated on.

----

Initial commit is the original PR % rebasing. Follow-up commits address
test/analysis failures and commits after those clean up JS interop code:

- Remove remaining uses of `@staticInterop`.
- Code that uses JSBoolean, JSString, or JSNumber are mostly
historical relics due to not supporting primitives in externals.
Remove the redirecting functions and let the compiler handles the
conversions.
- Replace domInstanceOfString calls with isA and add @JS annotations
to all extension types where needed.
- Remove unnecessary @JS annotations.
- Remove unneeded implements JSObject clauses.
- Standardize naming of extension types in some cases.
- Remove JSVoid in favor of void.
- Enabled invalid_runtime_checks_with_js_interop_types lint.
- Removed unnecessary JSUint8Array constructors.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

---------

Co-authored-by: Kevin Moore <kevmoo@google.com>
2025-03-28 17:43:50 +00:00
engine-flutter-autoroll
5e94f8a9d4
Roll Fuchsia Linux SDK from djUjSTaAtl0ETQSBR... to v7PGvypiiWLO8PbsZ... (#166136)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC jimgraham@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-03-28 16:38:09 +00:00
Jonah Williams
7bbcfe08d3
[Impeller] split vertices uber into 2 shaders. (#165938)
Works around compilation error on newer phone (ask me offline). Required
for https://github.com/flutter/flutter/issues/162033
2025-03-28 16:36:59 +00:00
hellohuanlin
cbcdd7dcf2
[ios][pv]fully revert the UIScreen.main deprecated API change (#166080)
This PR fully reverts https://github.com/flutter/flutter/pull/162785

Due to crash from an internal customer

Fixes https://github.com/flutter/flutter/issues/165648


## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Jenn Magder <magder@google.com>
2025-03-28 04:19:41 +00:00
engine-flutter-autoroll
61f001e5eb
Roll Skia from b5b6f29d690f to 10f4cf9a817d (8 revisions) (#166111)
https://skia.googlesource.com/skia.git/+log/b5b6f29d690f..10f4cf9a817d

2025-03-27 bungeman@google.com Allow unfound "Noto Emoji" in
FontMgr_Iter test
2025-03-27 nscobie@google.com Use Android's global default cpp_std
2025-03-27 kjlubick@google.com Make ANGLE build with c++20
2025-03-27 kjlubick@google.com Add workaround for compiling with c++20
on Windows
2025-03-27 borenet@google.com [infra] Replace Debian10 GCE tasks with
Ubuntu 24.04
2025-03-27 robertphillips@google.com [graphite] Add
PrecompileContext::reportPipelineStats entry point
2025-03-27 egdaniel@google.com Remove unused makeSpecial factories from
Ganesh Device.
2025-03-27 drott@chromium.org [Fontations] Structure ffi.rs into modules

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jimgraham@google.com,kjlubick@google.com,maxhudnell@google.com
on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-03-28 03:21:10 +00:00
Jonah Williams
202d6b7994
[CI] remove check for exact golden files. (#166031)
Instead make sure at least 1 png is generated.

---------

Co-authored-by: Matan Lurey <matanlurey@users.noreply.github.com>
2025-03-28 03:19:24 +00:00
Robert Ancell
bfe95d3819
Move OpenGL context management to FlOpenGLManager (#166025)
This helps to make a non-OpenGL FlRenderer
2025-03-28 00:37:05 +00:00
Jonah Williams
d6ec7d4dc0
[android] only release background image readers on Android 14. (#165942)
Fixes https://github.com/flutter/flutter/issues/163561
Fixes https://github.com/flutter/flutter/issues/156488
Fixes https://github.com/flutter/flutter/issues/156489
Fixes https://github.com/flutter/flutter/issues/163520

Forked from https://github.com/flutter/flutter/pull/163692


Only release background image readers on Android 14. I believe reader
disposal is the ultimate cause of
https://github.com/flutter/flutter/issues/162147 , where older android
devices don't seem to handle backgrounding the same way we expect on
newer devices. The result of this is a crash in HWUI, which is
unexpected.

Since we only ever did the background release to work around an ANdroid
14 bug, and because it breaks other functionality like background
playback - we should remove it for all targets besides 14.
2025-03-27 23:31:52 +00:00
Victoria Ashworth
975a677529
Make iOS Flutter framework extension-safe (#165346)
Our current
[adoption/documentation](https://docs.flutter.dev/platform-integration/ios/app-extensions)
for iOS Extensions does not currently work because it's disallowed to
nest bundles (see https://github.com/flutter/flutter/issues/142531).

As of [Xcode
13](https://developer.apple.com/documentation/xcode-release-notes/xcode-13-release-notes/#:~:text=Linking%20Swift%20packages%20from%20application%20extension%20targets%20or%20watchOS%20applications%20no%20longer%20emits%20unresolvable%20warnings%20about%20linking%20to%20libraries%20not%20safe%20for%20use%20in%20application%20extensions%2E),
linking to frameworks that contain non-extension-safe code no longer
gives warnings (or blocks from App Store it seems). Therefore, it has
become a runtime issue to ensure non-extension-safe code is not used.

Previously, we were building and shipping 2 separate
Flutter.xcframeworks. One that was extension-safe and one that was not.

This PR removes the "extension_safe" framework and instead makes the
entire framework extension-safe by annotating non-extension-safe code
with `NS_EXTENSION_UNAVAILABLE_IOS` and ensuring that code is not used
at runtime if the bundle is for an app extension.

This PR also disables wide gamut for app extensions to decrease the
chances of crashes (see
https://github.com/flutter/flutter/issues/165086).

Fixes https://github.com/flutter/flutter/issues/142531.
 
 ---
 
For reference:

App extensions were first evaluated in
https://flutter.dev/go/app-extensions. Here is the reasoning why neither
method described there is opportune.

Option 1 -
I did look into splitting the framework into 2 frameworks (one with all
extension-safe code and one with the non-extension-safe code). However,
the original idea was to use objc Categories/Extensions - this doesn’t
quite fit our needs. Categories/Extensions only allow you to add new
methods/properties, not override existing ones. We could hypothetically
add new methods, but that would require the user to change their code to
use the new methods.

I also looked into subclasses which does allow overrides, but it would
also require the user to change their code to use the new class.

We could do method swizzling, but opinion of that on the internet is
that it's not very safe.

I’m of the opinion that anything that requires the user to change code
isn’t super feasible due to plugins.

Option 2 -
We could still do the 2 frameworks but rename one to
`FlutterExtentionSafe`. This works without users needing to change any
code (including imports like `@import Flutter` / `#import
<Flutter/Flutter.h>`). I believe the reason this works is because at
compile time, it finds the `Flutter` framework on the framework search
path and it imports in the headers. Then at link time,
`FlutterExtentionSafe` is explicitly linked so it uses that framework
first when checking for symbols and since it finds all the symbols in
`FlutterExtentionSafe`, it doesn’t need/try to auto-link the `Flutter`
framework (despite `Flutter` being the framework imported).

This seems precarious to me since we’re relying on Xcode to not
auto-link the `Flutter` framework. If for some reason `Flutter`
framework did get auto-linked (such as the user using a symbol that’s
not in the `FlutterExtensionSafe` framework but is in the `Flutter`
framework - this is unlikely though), we’d get name collision issues

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-03-27 18:51:17 +00:00
engine-flutter-autoroll
caa68fc679
Roll Skia from 11375a498f6b to b5b6f29d690f (4 revisions) (#166060)
https://skia.googlesource.com/skia.git/+log/11375a498f6b..b5b6f29d690f

2025-03-27 kjlubick@google.com Remove old Skolo ChromeOS jobs
2025-03-27 kjlubick@google.com Add const to operator== and operator!=
2025-03-27 robertphillips@google.com [graphite] Add more Precompilation
UMA stats
2025-03-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 7079800bfae4 to 7f9757f8082d (4 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jimgraham@google.com,kjlubick@google.com,maxhudnell@google.com
on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-03-27 15:38:53 +00:00
Jason Simmons
e17287da31
[Impeller] Move to the new location before rendering a stroke path contour containing only one point (#165940)
Fixes https://github.com/flutter/flutter/issues/165190
2025-03-27 15:27:03 +00:00
gaaclarke
31ed3b7b83
Scale aa lines (#165917)
fixes https://github.com/flutter/flutter/issues/165905

Notice that the horizontal lines both have about 1 pixel of blurring for
both scales.

<img width="687" alt="Screenshot 2025-03-25 at 1 09 16 PM"
src="https://github.com/user-attachments/assets/b65dc1bf-6bf3-44d0-9605-95b51efc932c"
/>

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-03-27 15:23:26 +00:00
engine-flutter-autoroll
2befeb9e04
Roll Fuchsia Linux SDK from iScQOaYHg2aJcF1LX... to djUjSTaAtl0ETQSBR... (#166055)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC jimgraham@google.com,zra@google.com on the revert to ensure
that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-03-27 13:58:36 +00:00
engine-flutter-autoroll
4d24ba4df2
Roll Skia from 001a96acfd29 to 67a236832d64 (9 revisions) (#166033)
https://skia.googlesource.com/skia.git/+log/001a96acfd29..67a236832d64

2025-03-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 006a8300ca77 to 7079800bfae4 (7 revisions)
2025-03-26 lukasza@chromium.org [rust png] Sanitize the size of `PLTE`
and `tRNS` chunks.
2025-03-26 jvanverth@google.com [graphite] Fix SkBitmap creation in
ClipAtlasManager.
2025-03-26 lukasza@chromium.org [rust png] Split `#ifdef` for `kLow` and
`kMedium` compression mapping.
2025-03-26 drott@chromium.org Update exporter sources to generate a file
list for Fontations
2025-03-26 danieldilan@google.com Implement asImageFilter for
SkTableMaskFilter
2025-03-26 jamesgk@google.com Fix viewer on Mac + GL
2025-03-26 kjlubick@google.com Remove IntelIrisPlus Mac jobs
2025-03-26 kjlubick@google.com Add stages to more easily visualize/debug
SkRasterPipeline

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jimgraham@google.com,kjlubick@google.com,maxhudnell@google.com
on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-03-27 04:32:07 +00:00