30246 Commits

Author SHA1 Message Date
Tong Mu
e929c03b54
[Engine] RSuperellipse.contains that reuses C++ implementation (#164857)
This PR implements `RSuperellipse.contains`. Different from the previous
attempt https://github.com/flutter/flutter/pull/164517, this PR
leverages the existing C++ implementation via FFI.

The biggest outcome of this PR is to enable future work that generates
RSE paths in the framework.

## 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-03-27 04:30:50 +00:00
engine-flutter-autoroll
95ef68c95e
Roll Dart SDK from d6acbca8e97a to 4494ffead9af (4 revisions) (#166038)
https://dart.googlesource.com/sdk.git/+log/d6acbca8e97a..4494ffead9af

2025-03-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-231.0.dev
2025-03-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-230.0.dev
2025-03-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-229.0.dev
2025-03-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-228.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-27 04:29:13 +00:00
hellohuanlin
1eae5e7017
[ios][pv]check UIScreen to be nil in platform view overlay setState call (#166024)
A follow up to https://github.com/flutter/flutter/pull/165525

This checks against: 

1. flutterView being nil
2. flutterView's screen being nil
3. flutterView's screen's scale being 0

Again, since we can't repro, I am justing guessing here. 

*List which issues are fixed by this PR. You must list at least one
issue. An issue is not required if the PR fixes something trivial like a
typo.*

Internal only (See previous PR linked above)

*If you had to change anything in the [flutter/tests] repo, include a
link to the migration guide as per the [breaking change policy].*

## 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
2025-03-27 04:03:02 +00:00
Loïc Sharma
5c3bc83f26
Fix CODEOWNERS after monorepo merge (#165217)
GitHub's CODEOWNERS feature [picks the first file it finds in the root,
`.github/`, or `docs/`
directory](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-file-location).
GitHub does not support nested CODEOWNERS files.

For example, this PR updates the embedder API but did not request
reviews from the embedder API reviewers:
https://github.com/flutter/flutter/pull/164577

To fix this, this merges all `CODEOWNERS` files to the root of the repo.

cc @cbracken @chinmaygarde @jmagman as you are added as CODEOWNERS.
2025-03-26 20:32:14 +00:00
Chris Bracken
78d0639743
iOS: Change engine NSAssert to FML_CHECK (#166009)
We assume the engine is non-nil everywhere in the engine, further, this
is a one-time check with near-zero runtime performance -- we're not
creating view controllers at any frequency that will cause a nil check
to cause any impact. This also guarantees that the device logs an error
message that makes clear exactly what happened, even in release builds.

This guarantees that both in debug and release builds, we get useful
logging if a nil engine is passed to the initializer.

The initializer *does* declare the FlutterEngine* parameter to be
non-nil, but this only provides a hint to the compiler and doesn't
prevent nil engines being passed at runtime, or really at compile time;
in our clang toolchain, the following compiles fine:

```objc
FlutterEngine* engine = nil;
FlutterViewController* viewController = [[FlutterViewController alloc] initWithEngine:engine
                                                                              nibName:nil
                                                                               bundle:nil];
```

Long-term, we should resolve
https://github.com/flutter/flutter/issues/157837 and migrate from
FML_CHECK and FML_DCHECK, to using NSAssert agressively in the embedder.

For further details, see my comments here:
https://github.com/flutter/flutter/issues/153971#issuecomment-2755404075

No test changes since this introduces no changes to the debug-mode
builds used in testing.

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

## 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-26 20:19:24 +00:00
LongCatIsLooong
5339d083fd
Fix -[FlutterView focusItemsInRect:] crash (#165454)
Fixes #163999

The backing semanticsObject of the semantics container (which the
container holds a weak ref to) is deallocated after hot restart so
`[rootAccessibilityElement accessibilityElementAtIndex:0]` is returning
`nil`.

## 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-03-26 20:19:23 +00:00
Chinmay Garde
39103d9512
[Impeller] libImpeller: Implement APIs for fetching glyph and line metrics. (#165701)
This patch adds support in the typography subsystem of the public
Impeller API such that users can implement text editing functionality.

* Line metrics for a fully laid out paragraph can be retrieved. The
metrics contain information about offsets into the original code unit
buffer used to create the paragraph. These offsets can be used to
implement functionality that edits whole lines.
* Glyph information for a specific code unit offset, as well as a
coordinate offset relative to the paragraph origin, can be obtained.
This information can be used place decorations (like carets), select
words surrounding the caret (a hit-test), and edit the source buffer to
re-layout the paragraph.
* Word boundaries (as specified in Unicode Standard Annex 29) can be
retrieved to select and modify paragraph subsets by character, word, and
line at caret.

Like in Flutter, the code unit buffers are assumed to be arrays of
UTF-16 bytes. I'd have preferred this to be UTF-8 because the initial
paragraph construction is using UTF-8 bytes. Also, Skia internally seems
to work with UTF-8 too but the interfaces are exposed using UTF-16
(presumably for users like Flutter that work with Dart strings that are
UTF-16). Exposing additional APIs in txt::Paragraph to back this out
seemed onerous. Instead, a UTF-16 assumption for all APIs that retrieve
metrics is made (and documented). It stands to reason that paragraphs
should be constructable using UTF-16 buffers in the public API too. I'll
add that in a subsequent patch as that has little to do with metrics.

Fixes https://github.com/flutter/flutter/issues/165509
2025-03-26 17:34:14 +00:00
Jonah Williams
6b02598b80
[Impeller] Lower min API for MTK down to 31. (#165939)
34 was overly conservative. Most of the bug reports concerned API 29 and
30.
2025-03-26 16:14:27 +00:00
engine-flutter-autoroll
1bfb6ec304
Roll Skia from 6bc9982ca375 to 001a96acfd29 (1 revision) (#165985)
https://skia.googlesource.com/skia.git/+log/6bc9982ca375..001a96acfd29

2025-03-26 michaelludwig@google.com [graphite] Explicitly register
Renderers in RendererProvider

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-26 15:26:27 +00:00
Jonah Williams
200b98769f
[Impeller] re-remove wireframe. (#165929)
Easier just to re-open rather than fix diffs.
2025-03-26 15:15:23 +00:00
engine-flutter-autoroll
0db16effe3
Roll Dart SDK from 9ae62f884cd9 to d6acbca8e97a (1 revision) (#165980)
https://dart.googlesource.com/sdk.git/+log/9ae62f884cd9..d6acbca8e97a

2025-03-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-227.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-26 13:55:20 +00:00
engine-flutter-autoroll
c2fbb36be0
Roll Fuchsia Linux SDK from Aewmpu7l_HniO7aKQ... to iScQOaYHg2aJcF1LX... (#165975)
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-26 11:49:37 +00:00
engine-flutter-autoroll
09cd8bddb5
Roll Dart SDK from 74c5ccfd9140 to 9ae62f884cd9 (1 revision) (#165944)
https://dart.googlesource.com/sdk.git/+log/74c5ccfd9140..9ae62f884cd9

2025-03-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-226.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-26 05:48:41 +00:00
engine-flutter-autoroll
9df6e5b48c
Roll Skia from ea6c40b628e6 to d11d81b56f8c (7 revisions) (#165941)
https://skia.googlesource.com/skia.git/+log/ea6c40b628e6..d11d81b56f8c

2025-03-25 jvanverth@google.com [graphite] Disable ProxyCache use in
ClipAtlas for now.
2025-03-25 jvanverth@google.com [graphite] Add second clip atlas for
SaveRecord ID clips.
2025-03-25 lehoangquyen@google.com GraphiteDawn: small optimization for
blit from MSAA shaders.
2025-03-25 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll
ANGLE from c04839007ac8 to 3cf0e75590af (27 revisions)
2025-03-25 drott@chromium.org [Fontations] Avoid redoing autohinting
analysis work
2025-03-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from f87103691a7a to a66eb387fb8b (5 revisions)
2025-03-25 jvanverth@google.com [graphite] Add use of ProxyCache to
ClipAtlasManager.

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-26 03:44:28 +00:00
Robert Ancell
b39232e610
Move tracking of renderables from FlRenderer to FlEngine (#165848)
Motivated by work on refactoring FlRenderer to FlCompositor.
2025-03-26 03:24:36 +00:00
Robert Ancell
9b0c5c6c1c
Fix regression in semantics update handling. (#165842)
This was shown with the following errors in stdout:
GLib-GObject-CRITICAL **: 11:41:35.775: invalid cast from 'FlEngine' to
'FlView'

This was broken in 554c814ada6419c4ece39a8de5ff38e16cda614b
2025-03-26 00:50:17 +00:00
engine-flutter-autoroll
ca5c87f694
Roll Dart SDK from e28bf080514a to 74c5ccfd9140 (2 revisions) (#165928)
https://dart.googlesource.com/sdk.git/+log/e28bf080514a..74c5ccfd9140

2025-03-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-225.0.dev
2025-03-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-224.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-26 00:13:50 +00:00
Jonah Williams
416af9921c
[Impeller] reland: tighten up the graphics on level 3. (#165912)
relands https://github.com/flutter/flutter/pull/165584

We can't have separate barriers for onscreen because it makes the render
pass incompatible.
2025-03-26 00:12:16 +00:00
Jonah Williams
5efbd2e648
[Impeller] disable GLES tracing unless opted in. (#165887)
GLES tracing may add substantial overhead on some devices. Since this is
only useful when using frame capture tools, and its unlikely anyone that
isn't an engine developer (or who knows how to compile the engine) will
use them - we can turn off with a define.

If there are other usecases we need to cover later this can be made to
use the new flag system.
2025-03-26 00:08:40 +00:00
Gray Mackall
7b1d69606f
Remove problematic stream usage from FlutterView (#162024)
Fixes https://github.com/flutter/flutter/issues/160945.

We should figure out why this stream usage is problematic. See the
comment here
https://github.com/flutter/flutter/issues/160945#issuecomment-2590938971,
that from what I can tell from Android docs it _shouldn't_ be
problematic. But it is causing crashes, and I think it is reasonable to
change it so that it doesn't cause crashes, until we can figure out how
to stop the crashes.

## 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 `///`).
- [ ] 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: Gray Mackall <mackall@google.com>
2025-03-25 22:39:53 +00:00
Jonah Williams
3ba43f7772
[Impeller] remove overriding of sampler mode to decal. (#165908)
Fixes https://github.com/flutter/flutter/issues/165788

We can't remember why we did this.
2025-03-25 21:53:10 +00:00
gaaclarke
cc845eb463
fixed premultiplied colors for antialiased colors (#165839)
Previously line.frag was serving up unpremultiplied colors. This
resulted in weird blending and the antialiasing not showing up in most
cases.

test: existing golden will change

## 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-25 21:11:46 +00:00
Andrew Kolos
bf451c436b
in RBE doc, remove bit about gcloud being included in the engine source (#165005)
Looks like we don't include `gcloud` in the engine src anymore.

<details>

<summary> Pre-launch checklist </summary> 


- [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.

</details>

<!-- 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-25 21:11:46 +00:00
hellohuanlin
8f684b79e2
Replace deprecated openURL API call (#164247)
This PR replace the deprecated `openURL:` API with equivalent
`openURL:options:completionHandler:` API.

*List which issues are fixed by this PR. You must list at least one
issue. An issue is not required if the PR fixes something trivial like a
typo.*
https://github.com/flutter/flutter/issues/164047

*If you had to change anything in the [flutter/tests] repo, include a
link to the migration guide as per the [breaking change policy].*

## 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
2025-03-25 21:11:46 +00:00
Jason Simmons
b4a69f00f9
Release the SurfaceTextureSurfaceProducer's surface in the release method (#165835)
The TextureRegistry.SurfaceProducer interface specifies that callers of
getSurface should not cache the returned surface. Therefore, it should
be safe for SurfaceTextureSurfaceProducer to release this surface when
releasing the texture.

Fixes https://github.com/flutter/flutter/issues/163235
2025-03-25 21:10:58 +00:00
engine-flutter-autoroll
882c4214e3
Roll Skia from 8673a5f66369 to ea6c40b628e6 (4 revisions) (#165889)
https://skia.googlesource.com/skia.git/+log/8673a5f66369..ea6c40b628e6

2025-03-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 2657dba2814d to c04839007ac8 (15 revisions)
2025-03-25 lokokung@google.com [dawn][headers] Use ifdefs / updates for
InstanceDropped renames.
2025-03-25 robertphillips@google.com [graphite] Re-enable Precompilation
tests on TSAN (take 2)
2025-03-25 bungeman@google.com [fontations] Destructure tuple for
clarity

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-25 21:09:57 +00:00
gaaclarke
7e57890718
Refactored content_context.h to move logic out of the header (#165833)
Improvements:
- Includes for generated shader headers removed from content_context.h
- `Variants` moved to .cc
- `CreateIfNeeded` moved to .cc
- `GetPipeline` moved to .cc
- `Variants` are no longer `mutable`
- Shader static_assert linker checks are moved to .cc

## 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-25 21:09:57 +00:00
Jason Simmons
7692c1143e
Update the Dart package creation script to copy source files instead of creating symlinks to the source tree (#165242)
The use of symlinks and the use of a directory as a GN output path may
cause unnecessary rebuilds when Ninja checks file modification times to
determine whether build outputs are up to date.

Also remove various other unused featues that were copied from the
original version of the script in the Mojo project.
2025-03-25 21:08:08 +00:00
Jason Simmons
efd9f148fa
Roll Dart SDK from 31df9f4a0c12 to e28bf080514a (1 revision) (#165893)
https://dart.googlesource.com/sdk.git/+log/31df9f4a0c12..e28bf080514a

2025-03-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-223.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-25 21:08:08 +00:00
auto-submit[bot]
8d484fc4ed
Reverts "[iOS] reduce wide gamut memory by 50% (for onscreen surfaces). (#165601)" (#165915)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#165601
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: jonahwilliams
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: descriptor mismatch not caught in testing. Maybe
missing feature?
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: jonahwilliams
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {gaaclarke}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
If the onscreen surface is opaque, resolve to an alpha-less wide gamut
format. This reduces the bits per color from 40 to 32, which allows us
to fit in a 32 bit texture size, down from 64. This should reduce memory
usage by nearly 50 MB for typical applications.
<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-03-25 19:46:47 +00:00
chunhtai
bf6481104d
Revert "Add set semantics enabled API and wire iOS a11y bridge (#1612… (#165901)
…65)"

This reverts commit 26037dff87ade9d9dee04cc2ef90b3fe5cf0faf3.

<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

PR causes internal test failures

## 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-03-25 18:24:46 +00:00
auto-submit[bot]
8893670e15
Reverts "[Impeller] remove transfer barriers from render pass, drop blit, tighten up graphics on level 3. (#165584)" (#165898)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#165584
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: jonahwilliams
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: render pass compatibility issue.
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: jonahwilliams
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {gaaclarke}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
The change to fix PowerVR barriers regressed Mali (see
https://github.com/flutter/flutter/issues/165538)

We need to tighten the barriers to remove the transfer barrier to get
back mali performance. however, this requires us to drop the usage of
the blit for onscreen restore. not a huge loss imo.

At any rate, all of these changes should be visible in benchmarks.
<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-03-25 16:40:57 +00:00
Mouad Debbar
b02c436c34
[web] Fix semantic scrollable when there are no scroll actions (#165064) 2025-03-25 15:18:54 +00:00
Jonah Williams
e60822e1a6
[iOS] reduce wide gamut memory by 50% (for onscreen surfaces). (#165601)
If the onscreen surface is opaque, resolve to an alpha-less wide gamut
format. This reduces the bits per color from 40 to 32, which allows us
to fit in a 32 bit texture size, down from 64. This should reduce memory
usage by nearly 50 MB for typical applications.
2025-03-25 15:05:06 +00:00
Jonah Williams
33cf3b65bc
[Impeller] remove transfer barriers from render pass, drop blit, tighten up graphics on level 3. (#165584)
The change to fix PowerVR barriers regressed Mali (see
https://github.com/flutter/flutter/issues/165538)

We need to tighten the barriers to remove the transfer barrier to get
back mali performance. however, this requires us to drop the usage of
the blit for onscreen restore. not a huge loss imo.

At any rate, all of these changes should be visible in benchmarks.
2025-03-25 15:04:59 +00:00
engine-flutter-autoroll
9774050f90
Roll Fuchsia Linux SDK from Skjlz6df4TA2nmfI2... to Aewmpu7l_HniO7aKQ... (#165863)
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 jsimmons@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-25 08:38:17 +00:00
Miguel
3632590f5d
[fuchsia] Roll F26 (#165697)
Includes a change to:

- Remove LogSink.Connect and handle unknown interactions in mock.
  This method is gone in F26.

Bug: https://fxbug.dev/405407295

## 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-25 04:29:28 +00:00
engine-flutter-autoroll
c15cb26e32
Roll Dart SDK from 7b1062f9a8df to 31df9f4a0c12 (1 revision) (#165845)
https://dart.googlesource.com/sdk.git/+log/7b1062f9a8df..31df9f4a0c12

2025-03-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-222.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,jsimmons@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-25 01:07:19 +00:00
Jackson Gardner
355129961c
Add debug json mechanism for EngineSceneBuilder. (#165821)
I added some debugging mechanisms that can help create a minimal test
case more easily:

* In debug mode, you can press `Alt+F10` and the engine will generate a
JSON representation of the most recently rendered scene and download it.
* Added a script called `generate_scene_test.dart` which can take that
JSON and generate a dart file which renders a scene with the identical
hierarchy and layout. All the pictures are rendered as squares with
random-ish colors.
2025-03-25 00:24:37 +00:00
engine-flutter-autoroll
838515b967
Roll Skia from 9ba7bf8be99d to 271cd2c4b1bd (2 revisions) (#165837)
https://skia.googlesource.com/skia.git/+log/9ba7bf8be99d..271cd2c4b1bd

2025-03-24 zengyonghust@gmail.com Fix incorrect equality check in
WayRoughlyEqual function. eg. a = (0, 10), b = (0, 100) then largestDiff
will be 0, which will incorrectly judge that a is equal to b.
2025-03-24 kjlubick@google.com Introduce SkRasterPipelineContexts
namespace

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 jsimmons@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-24 23:26:19 +00:00
engine-flutter-autoroll
844c31a683
Roll Skia from 22f5a70db6b3 to 9ba7bf8be99d (5 revisions) (#165825)
https://skia.googlesource.com/skia.git/+log/22f5a70db6b3..9ba7bf8be99d

2025-03-24 lehoangquyen@google.com graphite: Use approx sizes for MSAA
textures.
2025-03-24 michaelludwig@google.com Reland "Reland "[graphite] Convert
drawPath to drawPoints for lines""
2025-03-24 robertphillips@google.com Revert "[graphite] Re-enable
Precompilation tests on TSAN"
2025-03-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 5ad52bb056fe to acafa2b3b5e2 (2 revisions)
2025-03-24 borenet@google.com [infra] Add jobs for new Chromebooks

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 jsimmons@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-24 20:59:07 +00:00
chunhtai
26037dff87
Add set semantics enabled API and wire iOS a11y bridge (#161265)
fixes https://github.com/flutter/flutter/issues/158399

old pr https://github.com/flutter/engine/pull/56691

previously the only correct way to enable semantics is that ios
embedding receive signal from native OS, it call SetSemanticsEnabled to
shell and then to dart to enable semantics tree generation.

If for some reason framework decide to enable semantics first, e.g.
through SemanticsBinding.instance.ensureSemantics(typically due to
integration test or ci that wants to test semantics), the update will be
dropped in shell. Even if it later on receive signal from native OS to
turn on semantics, it can't construct the complete accessibility tree in
embedding because the updatesemantics sends diff update and previous
updates are gone forever. It will end up in a broken state.

This pr changes so that the only source of truth will be in the
framework side. When framework starts generating the the semantics tree,
it will call SetSemanticsTreeEnabled through dart:ui, and the embedding
needs to prepare itself to accept semantics update after receiving the
message.

This however require some refactoring on iOS embedding because it will
only create a11y bridge when receiving OS notification when assitive
technologies turns on.

This requires three phase transition

add an empty dart:ui API setSemanticsTreeEnabled
makes framework calls the empty API.
merge this pr with actual implementation of setSemanticsTreeEnabled

I will do the android part in a separate pr


## 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-03-24 20:11:13 +00:00
engine-flutter-autoroll
85235a41f6
Roll Dart SDK from e00a58dc8fe7 to 7b1062f9a8df (1 revision) (#165823)
https://dart.googlesource.com/sdk.git/+log/e00a58dc8fe7..7b1062f9a8df

2025-03-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-221.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,jsimmons@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-24 19:50:17 +00:00
Yegor
e717b6c30e
[web] skip image_to_byte_data_test.dart in Firefox (#165678)
Most of our tests that need graphics already skip Firefox. This test
somehow was lucky enough to pass in Firefox until the latest Ubuntu
upgrade. It is finally failing as expected, so skipping.

Co-authored-by: Kevin Moore <kevmoo@users.noreply.github.com>
2025-03-24 17:44:04 +00:00
gaaclarke
84cd384682
Implements anti-aliased lines (#164734)
issue: https://github.com/flutter/flutter/issues/138682
design doc:
https://docs.google.com/document/d/19I6ToHCMlSgSava-niFWzMLGJEAd-rYiBQEGOMu8IJg/edit?tab=t.0

This puts an experimental line drawing approach behind the following
flags:
  - iOS: `FLTAntialiasLines` boolean, default NO
- Android: `io.flutter.embedding.android.ImpellerAntialiasLines`
boolean, default false

Right now they just support DrawLines and don't support line caps.

A test was added that works as a playground for vulkan, opengles and
metal. Only the Metal version was turned into a golden test though here.

## 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-24 17:32:11 +00:00
hellohuanlin
4cb18b3e21
[ios][pv]fix platform view crash due to screenScale=0 (#165525)
This is a regression introduced by:
https://github.com/flutter/flutter/pull/162785/files#diff-b08b98ecaa5bd434f8b4181793f2dad9389c32c5b8cdedb52b01a2d3355f51a9R26

It's reported by one of the customers. We are not able to reproduce it. 

It's likely that `flutterView` itself is `nil` (rather than
`flutterView.screen` being `nil`), because we reset `flutterView` when
backgrounding the app

*List which issues are fixed by this PR. You must list at least one
issue. An issue is not required if the PR fixes something trivial like a
typo.*

b/403598670

*If you had to change anything in the [flutter/tests] repo, include a
link to the migration guide as per the [breaking change policy].*

## 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-24 17:32:11 +00:00
Jackson Gardner
b34ad4acf0
[skwasm] Fix clip rect occlusion rect calculation. (#165446)
The clip region is always expressed in the global coordinates. Hence, we
should do the intersection with the clip *after* transforming the
rectangle to global coordinates.

This fixes https://github.com/dart-lang/sdk/issues/59993

---------

Co-authored-by: Mouad Debbar <mouad.debbar@gmail.com>
2025-03-24 16:55:08 +00:00
Jason Simmons
08d2703016
Roll libcxx to bd557f6f (#165621)
Changes required for this roll:
* addition of LLVM libc (which is now a dependency of libcxx)
* updates the to license script
* patching the verify_exported check to allow some symbols added by
libcxx
* annotations for clang-tidy warnings
2025-03-24 15:39:26 +00:00
engine-flutter-autoroll
7b0be2e57e
Roll Dart SDK from 13e950e67c2a to e00a58dc8fe7 (1 revision) (#165791)
https://dart.googlesource.com/sdk.git/+log/13e950e67c2a..e00a58dc8fe7

2025-03-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-220.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,jsimmons@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-24 14:34:27 +00:00
engine-flutter-autoroll
3dad107b35
Roll Fuchsia Linux SDK from Btjuc6db5cj3okKa5... to Skjlz6df4TA2nmfI2... (#165772)
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 jsimmons@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-24 05:58:25 +00:00