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
Byoungchan Lee
ffcc383848
[flutter_tools] Fix VS Code package.json path on macOS with case-sensitive file system ( #163409 )
...
This PR corrects the path to VS Code's `package.json` in `flutter
doctor` for macOS with a case-sensitive file system. The correct
directory name is `Resources`, but the existing code incorrectly uses
`resources`.
On a case-insensitive file system (the macOS default), this issue does
not appear. However, on a case-sensitive file system, `flutter doctor`
fails to detect the VS Code version correctly.
Fixes #163408 .
<!--
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
-->
*Replace this paragraph with a description of what this PR is changing
or adding, and why. Consider including before/after screenshots.*
*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.*
*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.
- [ ] 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.
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 16:35:15 +00:00
Andrew Kolos
228a011707
Delete some verbose vm service logging ( #162709 )
...
Deletes some logging that should no longer be needed.
<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-28 13:43:13 +00:00
Andrew Kolos
cb40f1b8fd
Get analytics welcome message under test ( #162627 )
...
Fixes https://github.com/flutter/flutter/issues/160374
For this I resorted to a unit test directly against `exitWithHooks`
(which is called when the tool is shutting down). An integration test
against a "fresh" tool checkout would probably be more resilient, but
I'm not sure if a more heavyweight test is worth it.
<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-28 13:41:28 +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
Kishan Rathore
a59795e812
Refactor: Migrate Date picker from MaterialState and MaterialStateProperty ( #164972 )
...
Refactor: Migrate Date picker from MaterialState and
MaterialStateProperty to WidgetState and WidgetStateProperty
Part 1 of: #161052
Part 2 will contain addition of `selectedBackgroundColor` and
`selectedForegroundColor` which fully adds the requested feature.
## 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.
- [x] All existing and new tests are passing.
2025-03-27 23:29:29 +00:00
Mitchell Goodwin
6816e6dbba
Mark Linux customer tests as flaky ( #166103 )
...
Marks tests as flaky to unblock tree. Related to #166102
2025-03-27 22:49:36 +00:00
Reid Baker
fd168e1192
Move app link settings task configuration to kotlin ( #165819 )
...
- **Inital conversion and single test case**
- **Task registered with name**
- **Test can handle multiple variants**
- **configuration for baseOutput setup**
- **Test passing**
- **formatting**
- **Use constant with upppercase**
- **Replace flutter.groovy version of
addTasksForOutputsAppLinkSettings**
Fixes #164393
Helpful commands:
`
JAVA_HOME=/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home/
./gradlew test --info --tests
"com.flutter.gradle.FlutterPluginUtilsTest"` from
packages/flutter_tools/gradle
`flutter test
test/integration.shard/android_gradle_outputs_app_link_settings_test.dart`
from packages/flutter_tools
## 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.
2025-03-27 18:53:08 +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
Ben Konyi
3efb8cc359
[ Widget Preview ] Display an error widget when an exception is thrown while defining the widget tree ( #166005 )
...
Example exception thrown trying to invoke `Directory.current` in a
widget constructor:

2025-03-27 18:47:51 +00:00
Saptarshi Adhikari
cfef140ba9
Removed not working hyperlinks to ScriptCategory values ( #165395 )
...
<!--
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
-->
## Description
Removing the hyperlinks to ScriptCategory values which are not working
with only `code text`.
---
## Screenshots
### Before :
<img width="1024" alt="image"
src="https://github.com/user-attachments/assets/1721527b-f0d5-4d72-a6e4-bfde6d81e7fb "
/>
ScriptCategory.englishLike hyperlink not working:
<img width="1006" alt="image"
src="https://github.com/user-attachments/assets/81ff9d06-0007-4edf-958b-f2d5284ee3dd "
/>
### After :
<img width="1014" alt="image"
src="https://github.com/user-attachments/assets/48dd2299-f71b-4978-9e10-db40827215b6 "
/>
---
- Fixes #164877
---
## 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:47:48 +00:00
yakagami
479c4bb224
add PointerDeviceKind to ScaleStartDetails ( #165096 )
...
Adds the `PointerDeviceKind` of the scale start event to
`ScaleStartDetails`, which is currently missing.
This is a bug according to #115061 . Additionally, according to the docs:
>Having both a pan gesture recognizer and a scale gesture recognizer is
redundant; scale is a superset of pan. Just use the scale gesture
recognizer.
See also #135936 for similar issues and the PRs fixing them.
If multiple pointers are contacting the screen at scale start, then the
`PointerDeviceKind` of the first pointer is used. In practice this
should be good enough as I don't know of any UI that expects you to use
two different pointer kinds at the same time. However, if this is an
issue, we could either give a list of pointers with their kinds or a set
of all active `PointerDeviceKind`s. I don't think this is necessary
though.
Closes #115061 .
## 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:44:17 +00:00
Ben Konyi
16fc684886
Fix build_android_host_app_with_module_source device lab tests ( #166077 )
...
Fixes a type error where String was expected but JavaVersion was
inferred.
2025-03-27 17:42:48 +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
Ben Konyi
7cb926a33d
Reapply "[ Device Lab ] Upgrade Device Lab projects to Java 18" ( #166016 ) ( #166059 )
...
This reverts commit
8dccbc33df .
Find/replace didn't catch the use of `jvmTarget = "1.8"` in
`dev/integration_tests/android_engine_test/android/app/build.gradle` and
`android_engine_test` needed to have `"com.android.application"`
updated.
2025-03-27 15:07:22 +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
fa148f6cfe
Roll Skia from 67a236832d64 to 11375a498f6b (2 revisions) ( #166046 )
...
https://skia.googlesource.com/skia.git/+log/67a236832d64..11375a498f6b
2025-03-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 7831e2ad53fd to f841d12a4189 (7 revisions)
2025-03-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from c5a1c32fe166 to 8826cf6cfeb7 (48 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 08:55:35 +00:00
Danny Tuppeny
53b87635b0
[flutter_tool] Handle RPCErrorKind.kConnectionDisposed ( #164299 )
...
There's currently a lot of code that handles RPC Errors that contain the
text "Service connection disposed" because the error originally did not
have a unique error code.
A new error code was added in
https://dart-review.googlesource.com/c/sdk/+/381501 but it's not
currently used because it won't be caught by existing code.
This change updates all places that check for this text, and now also
handle the new error code in preperation for the code changing in
future.
See https://github.com/flutter/flutter/issues/153471
cc @bkonyi
## 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.
Issue listed, but this change does not directly fix it, it just prepares
for a related future change that will simplify handling these errors
without string checks
- [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].
2025-03-27 08:51:38 +00:00
Luka S
c575638443
Update documentation on TextPainter to note default color differences ( #165048 )
...
This change only changes the documentation of `TextPainter`.
Previously, the documentation was incorrect in stating that the default
text color was white. It changes depending on platform to be contrasted
to the canvas' background color.
This is in an "important" box because it affects apps working on native
& web, and is relatively easy to miss.
It may be worth documenting this elsewhere?
Fixes #165047
## 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.
- [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 04:45:08 +00:00
Muhammad Ahmer Khan
9ad5fc233b
docs: fix ListView reference in SliverList documentation ( #165827 )
...
**Description**
This pull request fixes a minor documentation issue in the SliverList
reference, where a missing closing bracket ] in the ListView reference
could lead to confusion when reading the docs.
By correcting this, we improve the readability and clarity of the
documentation for Flutter developers referencing the SliverList widget.
**Why is this change needed?**
- Proper documentation is essential for developers to understand Flutter
widgets efficiently.
- The missing bracket could cause confusion for new contributors and
developers reading the API documentation.
- While this is a small fix, ensuring high-quality documentation aligns
with Flutter’s commitment to a great developer experience.
**Screenshot Before Fixing**
<img width="615" alt="Screenshot 2025-03-25 at 12 08 15 AM"
src="https://github.com/user-attachments/assets/d714d15d-5c78-46cf-8e7e-7347a788f9c7 "
/>
**Screenshot After Fixing**
<img width="578" alt="Screenshot 2025-03-25 at 12 20 20 AM"
src="https://github.com/user-attachments/assets/59dce920-1901-4d89-a598-f9e79a07a2d2 "
/>
**Joining the Flutter Open-Source Community**
This is my first open-source contribution to Flutter, and I’m very
excited to start contributing more to the project! 🚀
## 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.
2025-03-27 04:43:31 +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
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
d366471727
Roll Fuchsia Test Scripts from 42PT3J378bdexn4ck... to AEdsljKmUiPk92Wvv... ( #166028 )
...
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-test-scripts-flutter
Please CC chrome-fuchsia-engprod@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:14 +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
flutter-pub-roller-bot
dff327e4f5
Roll pub packages ( #165932 )
...
This PR was generated by `flutter update-packages --force-upgrade`.
2025-03-27 04:27:26 +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
Robert Ancell
3b6d9666f8
Remove Linux engine PR link ( #164878 )
...
Remove the link to PRs on the obsolete engine repo
2025-03-26 22:53:59 +00:00
Ben Konyi
8dccbc33df
Revert "[ Device Lab ] Upgrade Device Lab projects to Java 18" ( #166016 )
...
Reverts flutter/flutter#165987
Reason for revert: multiple gradlew failures on devicelab tests
2025-03-26 20:51: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
Mouad Debbar
d5751be500
High contrast color scheme based on system forced colors ( #165068 )
...
This PR introduces a `bool useSystemColors` parameter to the `ThemeData`
constructor.
The goal from this PR is to enable users to easily create high contrast
themes that are based on system colors for their `MaterialApp`:
```dart
MaterialApp(
theme: ThemeData.light(),
darkTheme: ThemeData.dark(),
highContrastTheme: ThemeData(useSystemColors: true, ...),
highContrastDarkTheme: ThemeData(useSystemColors: true, ...),
)
```
The `MaterialApp` widget will automatically pick the correct one of the
4 themes based on system settings (light/dark mode, high contrast
enabled/disabled).
Depends on https://github.com/flutter/flutter/pull/164933
Closes https://github.com/flutter/flutter/issues/118853
2025-03-26 19:25:07 +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
Lasse R.H. Nielsen
9e829cbd92
Make realAsyncZone run microtasks and timers in the correct zone. ( #162731 )
...
Current implementation runs timers and microtask callbacks in the root
zone. That assumes that the top-level `scheduleMicrotask` or `Timer`
constructors have been used, which have so far wrapped the callback with
`runCallbackGuarded` before calling the zone implementation.
That means that doing `zone.scheduleMicrotask` directly would not ensure
that the microtask was run in the correct zone. If a `run` handler
throws, it wouldn't be caught.
This change makes the `realAsyncZone` do whatever the root zone would do
if its `ZoneDelegate` got called with the intended zone and arguments.
That should be consistent with the current behavior, and be compatible
with incoming bug-fixes to the platform `Zone` behavior.
Prepares Flutter for landing
https://dart-review.googlesource.com/c/sdk/+/406961
which is currently blocked (so this indirectly fixes
https://github.com/dart-lang/sdk/issues/59913 ).
There are no new tests, the goal is that all existing tests keep
running, and that they keep doing so when the Dart CL lands. Currently
that CL only breaks one test, the
`dev/automated_tests/test_smoke_test/fail_test_on_exception_after_test.dart`
test which threw the error-after-test in the root zone instead of the
test zone. This change fixes that.
2025-03-26 17:14:04 +00:00
Ben Konyi
8297e44993
[ Hot Restart ] Fix possible hang due to unhandled exception in UI isolates on hot restart ( #165693 )
...
Possible fix for https://github.com/flutter/flutter/issues/161466
2025-03-26 16:50:07 +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
Ben Konyi
c376ca22dd
[ Device Lab ] Upgrade Device Lab projects to Java 18 ( #165987 )
...
Should resolve issues related to the following messages being output on
stderr:
```
warning: [options] source value 8 is obsolete and will be removed in a future release"
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
```
Fixes https://github.com/flutter/flutter/issues/165973
2025-03-26 15:32: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
99880751f6
Roll Skia from d1b71ea5e580 to 6bc9982ca375 (1 revision) ( #165958 )
...
https://skia.googlesource.com/skia.git/+log/d1b71ea5e580..6bc9982ca375
2025-03-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 3cf0e75590af to 7831e2ad53fd (5 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-26 10:35:17 +00:00
engine-flutter-autoroll
98f50d7c57
Roll Skia from d11d81b56f8c to d1b71ea5e580 (1 revision) ( #165948 )
...
https://skia.googlesource.com/skia.git/+log/d11d81b56f8c..d1b71ea5e580
2025-03-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from a66eb387fb8b to 006a8300ca77 (5 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-26 08:14:27 +00:00