sigmundch
f88cde1e01
[dyn_modules] simplify CI now that dart2bytecode is prebuilt by default ( #167851 )
...
This makes a couple changes to the ddm bots:
* removes the host configuration: now the DartSDK has dart2bytecode
included by default, so we no longer need to build a custom host. None
of the ddm flags were necessary on the host-build except for that tool.
* removes the `--no-prebuilt-dart-sdk` from the target builds: turns out
this was not needed because all artifacts that require building with
`--dart-dynamic-modules` were not part of the dart sdk, but built by the
flutter bot already. That includes the runtime (libflutter.so) and
gen_snapshot.
Note: the change to the Dart SDK has landed, but not rolled yet. It
should be OK, however, to land the two changes out of order.
b/393719931
cc @zanderso - FYI
cc @jiahaog - note this PR will require an internal change to fetch the
bytecode compiler from the default host going forward
## 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].
- [ ] 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 `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Co-authored-by: Sigmund Cherem < 2049220+sigmundch@users.noreply.github.com>
2025-04-29 23:43:56 +00:00
Jason Simmons
3131d5a826
Roll Skia to 25bba45c7b25 ( #168012 )
...
Requires some updates to golden images that are now encoded differently
due to changes in Skia's PNG codec.
See
https://skia.googlesource.com/skia/+/25bba45c7b253ed3a735ae6c6d32173fbf5cc9e7
2025-04-29 21:37:26 +00:00
Camille Simon
6c15c4587f
[Android] Implement setting sensitive content, take 2 ( #167815 )
...
> [!NOTE]
> This PR lands https://github.com/flutter/flutter/pull/158473 (closed
due to confusing git-isms). Please see that PR for all comments and
discussion on landing this feature.
### Overview
Implements setting content sensitivity on Android via a new widget
called `SensitiveContent` that currently will only function on Android.
### How it's implemented
There are three different content sensitivity levels:
[`autoSensitive`](https://developer.android.com/reference/android/view/View#CONTENT_SENSITIVITY_AUTO ),
[`sensitive`](https://developer.android.com/reference/android/view/View#CONTENT_SENSITIVITY_SENSITIVE ),
[`notSensitive`](https://developer.android.com/reference/android/view/View#CONTENT_SENSITIVITY_NOT_SENSITIVE ).
All except `autoSensitive` behave as their Android counterpart level
behaves (see links on the levels); for Flutter, `autoSensitive` will
behave the same as `notSensitive` though it is implemented as if it
works (see https://github.com/flutter/flutter/issues/160879 for more
details.
In any given Flutter view, each `SensitiveContent` widget sets a content
sensitivity level and there may be multiple `SensitiveContent` widgets
in the widget tree at a time, but only the most severe content
sensitivity level in the tree will be maintained in order to ensure
secure content remains obscured during screen projection. This means
that even widgets that are not visible may still impact the overall
content sensitivity of the entire Flutter view (see
https://github.com/flutter/flutter/issues/160051 for more details).
Under the hood, the implementation uses method channels. Theoretically,
this could cause a delay in setting the content sensitivity level and a
Flutter view being obscured during screen projection on time, so we will
investigate using JNIgen in the future (see
https://github.com/flutter/flutter/issues/160050 for more details). Over
the method channel, the framework will send a Flutter view ID and
content sensitivity level to the engine to set the expected content
sensitivity level for the view.
### Timeline
#### Required for feature shipping
- Land this PR with the method channel implementation of content
sensitivity.
#### Short-term follow up tasks
- Ensure every `FlutterView` has a unique ID for the native
`SensitiveContentPlugin` to identify them by:
https://github.com/flutter/flutter/pull/162685
- Add `SensitiveContent` widget to relevant Flutter widgets:
https://github.com/flutter/flutter/issues/167302
#### Long-term follow up tasks
- Convert this PR to use JNIgen:
https://github.com/flutter/flutter/issues/160050 . Verify no frames are
dropped, revealing sensitive content during media projection:
https://github.com/flutter/flutter/issues/164820 .
#### Stretch goals
- Make the `SensitiveContent` widget sensitive to the visibility of
child widgets: https://github.com/flutter/flutter/issues/160051
- Implement `autoSensitivity` mode:
https://github.com/flutter/flutter/issues/160879
- Investigate backwards compatibility for APIs < 35:
https://github.com/flutter/flutter/issues/159208
### Open questions
- ~Is it okay to hard-code the `FlutterActivity` and `FlutterFragment`
view IDs? Does this impact add-to-app in any way? I assume we would need
extenders of those classes to use a different view ID than the hardcoded
one.~ Approach not used.
- ~Should we expose `autoSensitive` for now? If so, what behavior should
it have?~ Exposing `autoSensitive` as if it works.
### One way to test this PR (rough steps)
1. Create a Flutter app that has some number of `SensitiveContent`
widgets.
9. Run the app on an emulator/device that runs API 35 and has the Google
meets app downloaded.
10. Start a Google meets meeting and screen share (works with full
screen and single app mode).
11. Join the Google meets meeting from another device and witness a
blacked out screen if content has been marked sensitive.
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-29 20:58:29 +00:00
Narek Malkhasyan
9eddcb7ba4
Deprecated methods that call setStatusBarColor, setNavigationBarColor, setNavigationBarDividerColor ( #165737 )
...
Added @deprecated annotation and explanation to methods that use these
methods: setStatusBarColor, setNavigationBarColor,
setNavigationBarDividerColor
This PR partially addresses #165327
---------
Co-authored-by: Reid Baker <1063596+reidbaker@users.noreply.github.com>
Co-authored-by: Camille Simon <43054281+camsim99@users.noreply.github.com>
Co-authored-by: Camille Simon <camillesimon@google.com>
2025-04-29 19:13:23 +00:00
engine-flutter-autoroll
ae80d692ee
Roll Fuchsia Linux SDK from dtMOzWwcSUe3z6-1c... to RlQprtM7XbYtyrgDz... ( #167981 )
...
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-04-29 09:27:19 +00:00
Chinmay Garde
f9f6953ef7
Revert "[Impeller] Make incremental builds faster when tinkering on the compiler." ( #167965 )
...
Reverts flutter/flutter#167492
Makes things slower if the sources are newer than the outputs.
2025-04-29 04:25:30 +00:00
Chris Bracken
b0e52e51f7
Add ConnectionCollection and Swift test ( #167962 )
...
This rewrites the ConnectionCollection C++ class and its test to Swift.
This ensures we're successfully able to write/run XCTests written in
Swift.
It also adds new tests for ConnectionCollection:
* Verifies connection IDs are > 0.
* Verifies connection IDs are unique.
* Verifies the IDs of error connections are as specified.
## Pre-launch Checklist
- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-29 03:07:22 +00:00
Jonah Williams
e7e4fa56cc
[Impeller] report application version info as 2.0 ( #167961 )
...
Update the reported engine so we can distinguish 3.27 engines from
(eventually) newer engines.
2025-04-29 00:52:26 +00:00
engine-flutter-autoroll
b261c51609
Roll Skia from f64ea333611d to 33e56395c03a (4 revisions) ( #167963 )
...
https://skia.googlesource.com/skia.git/+log/f64ea333611d..33e56395c03a
2025-04-28 robertphillips@google.com [graphite] Add ability to reduce
Image and YUVImage Precompile combinations
2025-04-28 jmbetancourt@google.com [skcapture] add a capturing canvas to
enable dynamic skia-wide canvas recordings
2025-04-28 nscobie@google.com Move SkGainmapShader::Make overload
definition out of header
2025-04-28 nscobie@google.com Rename SkEmbossMaskFilter::EmbossLight
back to SkEmbossMaskFilter::Light
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
bungeman@google.com ,chinmaygarde@google.com,kjlubick@google.com on the
revert to ensure that a human
is aware of the problem.
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-28 23:29:15 +00:00
Chris Bracken
c5deaa2747
iOS: extract config_ios_test ( #167958 )
...
Creates a config for iOS test targets, which includes framework,
library, and swiftmodule paths for for XCTest and other SDK testing
libraries.
This patch:
* Merges `config_ios` and `config_swift`. `config_swift` was equivalent
to `config_ios` but just with additional `swiftargs`. Since `swiftargs`
is ignored in Obj-C targets, we can just merge the two for simplicity.
* Adds a `config_ios_test` which adds:
* `$ios_platform_path/Developer/Library/Frameworks` to the framework
search path, used for XCTest.framework in Obj-C/Swift builds.
* `$ios_platform_path/Developer/usr/lib` to the include path, use for
XCTest.swiftmodule in Swift builds.
* `$ios_platform_path/Developer/usr/lib` to the lib dirs used by the
linker when building Swift code.
Note that we manually pass the `-F` flag via `cflags` (Obj-C) and
`swiftflags` (Swift) for the framework search path _as well as_ via the
more general `framework_dirs` param. This is because our macOS/iOS
compiler toolchain doesn't correctly translate `framework_dirs` into the
compiler invocation for either Obj-C or Swift builds, _but_ it's
correctly passed to linker invocations in our toolchain.
As a followup, I'll update our toolchain to translate the contents of
`framework_dirs` to the appropriate `-F` flags passed to the compilers.
Issue: https://github.com/flutter/flutter/issues/167592
## Pre-launch Checklist
- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-28 23:03:15 +00:00
Chris Bracken
34f8df3c84
iOS,macOS: Merge iOS, macOS config ( #167945 )
...
Merges iOS and macOS configuration and SDK finder scripts:
* //build/mac/find_sdk.py and //build/ios/config/ios_sdk.py merge to
//build/mac/apple_sdk.py.
* //build/config/ios/ios_sdk.gni and //build/config/mac/mac_sdk.gni
merge to //build/config/apple/apple_sdk.gni. gn args for macOS are
available on all builds with `host_os == "mac"`. gn args for iOS are
available on builds where `is_ios` is true (in place of the existing
conditional import logic). Merging the two allows us to check all
Apple SDK-related variable for anything missing and run `apple_sdk.py`
a maximum of once across all Apple platforms.
* Adds `Platforms` directory to `//flutter/prebuilts`, which contains
Apple platform symlinks for `iPhoneOS`, `iPhoneSimulator`, `MacOSX`.
Adds `ios_device_platform_path`, `ios_simulator_platform_path`,
`mac_platform_path` gn args to hold these paths. Adds logic to
`//flutter/tools/gn` to locate these paths and prepopulate these args
from them to avoid running the script as part of the build.
These are used to link to Swift core libs for each platform where
necessary, as well as (for tests) test frameworks and `.swiftmodule`s
like XCTest.framework.
* Eliminates `Library/Frameworks` symlink from `//flutter/prebuilts`.
This path is a subdirectory of each of the platform directories above.
It was used to populate `platform_frameworks_path` in
`//flutter/shell/platform/darwin/ios/BUILD.gn` using sort of sketchy
relative-path logic.
Further, the existing logic for greating the link was buggy for runs
of `ios_sdk.py` where the `--sdk` option was not specified (i.e. all
runs where `--as-gclient-hook` were specified). Without this option,
we cycle through both `iphoneos` and `iphonesimulator` SDKs, and since
this symlink was written on each iteration through the `SDKs` list, it
was always linked to the `Library/Frameworks` directory for the last
item in the list: `iPhoneSimulator.platform`. The platform arg for the
current build is now resolved to `ios_platform_path` from which we
resolve `$ios_platform_path/Developer/Library/Frameworks`.
A follow-up patch will refactor the iOS build file to extract an iOS
test config that eliminates some of the unnecessary duplication of
cc_flags, swiftflags, and ld_flags across targets.
Issue: https://github.com/flutter/flutter/issues/167592
## Pre-launch Checklist
- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-28 21:03:59 +00:00
engine-flutter-autoroll
69da944f9e
Roll Skia from a8e9b6aa2b40 to f64ea333611d (3 revisions) ( #167947 )
...
https://skia.googlesource.com/skia.git/+log/a8e9b6aa2b40..f64ea333611d
2025-04-28 jvanverth@google.com Reland "[graphite] Add allocation checks
to BasicDrawAtlas test."
2025-04-28 jvanverth@google.com [graphite] Add command line options to
run tools with no MSAA
2025-04-28 ccameron@chromium.org SkGainmapShader: Use
SkShader::makeWithWorkingColorSpace
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
bungeman@google.com ,chinmaygarde@google.com,kjlubick@google.com on the
revert to ensure that a human
is aware of the problem.
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-28 19:26:01 +00:00
Chinmay Garde
c37156e5cf
Forward mnemonics for compiled actions. ( #167511 )
...
Previously, mnemonics specified in templates that used compiled_action
and compiled_action_foreach would not be forwarded. This made actions
like ImpellerC invocation unable to tag themselves. As Ninja builds
progressed, only a mysterious ACTION label would be emitted for all
ImpellerC edges. Now, the edges tag themselves.
2025-04-28 18:19:20 +00:00
Jason Simmons
3fad2e2616
Roll ICU to c9fb4b3a6fb5 ( #167691 )
2025-04-28 18:14:57 +00:00
gaaclarke
bee65f3a4f
Reduces the compile size of Pipelines and ContentContext ( #167671 )
...
This reduces the size of ContentContext by introducing generic
superclass versions of `RenderPipelineHandle` and `Variants` which
allows the compiler to put most of the .text in the superclasses.
testing: no new functionality, refactor
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-28 17:56:03 +00:00
Chris Bracken
2ca6284ce3
iOS,macOS: delete run_command_with_retry ( #167908 )
...
`//build/mac/find_sdk.py` and `//build/config/ios/ios_sdk.py` contain a
copy-pasted function to run a given command with a specified number of
retries and a timeout. This code was added in
https://github.com/flutter/buildroot/pull/876 in response to timeouts on
the mac bots in relation to
https://github.com/flutter/flutter/issues/157636 , and is no longer
necessary.
This is a pre-factoring patch to reduce the size of the upcoming merge
of iOS and macOS SDK config/resolving infrastructure.
No tests, since this is a refactor with no change in functionality.
Issue: https://github.com/flutter/flutter/issues/167592
## Pre-launch Checklist
- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-28 17:47:15 +00:00
Yegor
c790bb111a
[web] denull some of text_editing.dart ( #166595 )
...
According to
485d6b8ae3/packages/flutter/lib/src/services/text_input.dart (L1086) ,
the framework never sends null values for any of the fields. So there's
no need for the engine to do all the null handling.
---------
Co-authored-by: Mouad Debbar <mouad.debbar@gmail.com>
2025-04-28 16:25:03 +00:00
Matej Knopp
aadc23a804
Reland "[Windows] Enable merged platform and UI thread by default" ( #167472 )
...
This relands https://github.com/flutter/flutter/pull/163726 without
changes.
The likely reason for flakiness was
https://github.com/flutter/flutter/pull/166918
(https://github.com/flutter/flutter/issues/167418#issuecomment-2816376678 ).
<!--
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.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-28 14:14:17 +00:00
engine-flutter-autoroll
5f93d1a874
Roll Fuchsia Linux SDK from QtmaCk4UgT3_zCY8t... to dtMOzWwcSUe3z6-1c... ( #167912 )
...
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 chinmaygarde@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-04-28 07:12:27 +00:00
Chris Bracken
dba788a63b
iOS: remove unused ios_sdk.gni import ( #167909 )
...
Neither `use_ios_simulator` nor any other variable from ios_sdk.gni is
used in //build/toolchain/clang.gni.
This is a pre-factoring patch to reduce the size of the upcoming merge
of iOS and macOS SDK config/resolving infrastructure.
Issue: https://github.com/flutter/flutter/issues/167592
## Pre-launch Checklist
- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-28 06:22:18 +00:00
Chris Bracken
45e7de58d0
macOS: remove unused mac_sdk_min ( #167907 )
...
This variable is no longer used in //build/mac/find_sdk.py or in our
build. It was removed in flutter/buildroot#912 . Previously, we worked
out the SDK path from a list of available SDKs, and used mac_sdk_min as
a filter. We now use `xcrun --sdk macosx --show-sdk-path` to get the SDK
path and no longer need this variable.
This is a pre-factoring patch to reduce the size of the upcoming merge
of iOS and macOS SDK config/resolving infrastructure.
No test changes since this is dead code elimination.
Issue: https://github.com/flutter/flutter/issues/167592
## Pre-launch Checklist
- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-28 04:19:36 +00:00
Chris Bracken
7895450c0b
iOS: Re-enable iOS unittests ( #167893 )
...
Re-enables iOS unittests, which were inadvertently disabled as part of
#167530 .
This extracts out `enable_ios_unittests` for readability/re-usability
across the build system, and better documents `enable_unittests` as
specifically being for platform-portable unit tests that can be run on
general-purpose operating systems such as macOS, Fuchsia, Linux, but not
specific target OSes such as iOS/Android that require executables to be
built against platform SDKs as installable apps.
Issue: https://github.com/flutter/flutter/issues/144791
## Pre-launch Checklist
- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-28 04:13:43 +00:00
engine-flutter-autoroll
1e5926ab93
Roll Dart SDK from 340ee0bc50e2 to 8fe61b2d428b (1 revision) ( #167905 )
...
https://dart.googlesource.com/sdk.git/+log/340ee0bc50e2..8fe61b2d428b
2025-04-28 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-63.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 chinmaygarde@google.com ,dart-vm-team@google.com on the revert
to ensure that a human
is aware of the problem.
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-28 02:53:26 +00:00
engine-flutter-autoroll
cabb97bf7e
Roll Dart SDK from 23d165839a7e to 340ee0bc50e2 (1 revision) ( #167891 )
...
https://dart.googlesource.com/sdk.git/+log/23d165839a7e..340ee0bc50e2
2025-04-27 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-62.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 chinmaygarde@google.com ,dart-vm-team@google.com on the revert
to ensure that a human
is aware of the problem.
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-27 11:29:28 +00:00
engine-flutter-autoroll
983e43b521
Roll Fuchsia Linux SDK from caltX4YRjHb_6V5Rw... to QtmaCk4UgT3_zCY8t... ( #167886 )
...
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 chinmaygarde@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-04-27 04:13:35 +00:00
Chris Bracken
769d6d41b8
Support Swift in the iOS embedder ( #167530 )
...
Adds a `swift` tool to the gn mac toolchain and wires up support for
Swift `source_set` targets. Ports `FlutterUIPressProxy` to Swift.
`gn` toolchain modifications include:
* Removes `//flutter/third_party/libcxx/include` and
`//flutter/third_party/libcxxabi/include` from the default
`include_dirs` on all `source_set` targets, and instead adds them via
`cflags` and `cflags_cc` so they continue to be picked up by C, C++,
Obj-C, Obj-C++ targets. Flutter's custom libc++ library headers should
be picked up by C, C++, Objective-C, and Objective-C++ targets, but not
Swift targets. Swift code does not use libc++ directly, but many Apple
core libraries such as Foundation.framework are implemented in
Objective-C/Objective-C++ and directly or indirectly rely on Apple's
libc++ implementation in System.framework. Because of this, and because
Swift compiles use Clang modules, we should ensure the correct (Apple)
libc++ is picked up from Swift targets by ensuring our own libc++ is
not.
* Adds a default empty list for `swiftflags` to `source_set` targets.
This list is used by for Swift `source_set` targets by the `swift` tool
in the gn toolchain.
* Adds a `//build/config/ios:compiler` config to
`engine/src/build/config/ios/BUILD.gn`. This sets default `swiftflags`
for iOS targets. This attribute is (only) used by the new `swift` tool
in the toolchain.
* Adds `-g` to `swiftflags` for debug (unopt) builds in
`engine/src/build/config/compiler/BUILD.gn`.
* Adds a `swift` tool to the gn toolchain that invokes `swiftc.py` to
perform compilation and generate a bridging header. This tool is invoked
automatically by gn for Swift `source_set` targets.
* Adds `//build/toolchain/apple/swiftc.py`, a wrapper script around
`swiftc` in Xcode's Swift toolchain. This script ensures builds are
invoked hermetically using a new build cache directory for the emitted
swiftmodule, precompiled header, and bridging header, for each compile.
The outputs are then copied into the gn output directory. Also adds
supporting script `//build/toolchain/apple/get_tool_mtime.py` and data
`//build/toolchain/apple/swift_const_gather_protocols.json`, both used
by `swiftc.py`.
* Adds a `cxx_module` tool to the gn toolchain that supports clang
module-based compiles. This is used for libc++ transitively via
System.framework and others that rely on it.
`gn` variable modifications include:
* Adds `apple_host_toolchain_path` variable in
`engine/src/build/config/apple/apple_sdk.gni`. This is set using
`//build/mac/find_sdk.py` to the path of Xcode's
`XcodeDefault.xctoolchain`. This is where Xcode's `swiftc` tool and some
Swift libraries are located. This will be used to create a symlink in
the `//flutter/prebuilts/SDKs` directory to locate Swift tooling during
builds.
* Updates `enging/src/tools/gn` to pre-populate that path as we do with
other Xcode SDK path symlinks, to improve performance.
* Adds `ios_swift_lib_paths` in
`engine/src/build/config/ios/ios_sdk.gni` which holds the path of Swift
shared libraries for either iOS physical device or simulator targets.
This is within the appropriate `iphone` or `iphonesimulator` SDK
directory within Xcode.
`verify_exported.dart` changes:
* Allow exported symbols that match regexp
`^_\$s\d+InternalFlutterSwift`. To allow Swift symbols to be exported in
an Objective-C bridging header, they must be `public` or `open`. We only
ever use these types internally within the framework and never publish
these types in a public header. Like `_InternalFlutter` Obj-C symbols,
we allow `InternalFlutterSwift` symbols, as they are clearly marked as
internal and an end user would need to reverse engineer out their own
header to use them.
* Allow Obj-C symbols in the `(__DATA,__data)` and
`(__DATA_CONST,__const)` in addition to the existing Mach-O sections, so
long as it matches the existing criteria.
Finally, this patch adds Swift code to the embedder and embedder tests
as proof of concept and to prevent regressions. This ports
`FlutterUIPressProxy` and its subclass `FakeUIPressProxy` to Swift in
order to verify both:
* Objective-C imports of Swift via a bridging header
* Swift imports of Swift via a bridging header
Issue: https://github.com/flutter/flutter/issues/144791
## Pre-launch Checklist
- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-26 18:59:22 +00:00
engine-flutter-autoroll
2a350ab36c
Roll Dart SDK from bddb7f44a538 to 23d165839a7e (1 revision) ( #167883 )
...
https://dart.googlesource.com/sdk.git/+log/bddb7f44a538..23d165839a7e
2025-04-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-61.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 chinmaygarde@google.com ,dart-vm-team@google.com on the revert
to ensure that a human
is aware of the problem.
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-26 18:47:28 +00:00
engine-flutter-autoroll
76c59bc9cd
Roll Dart SDK from dc6ad1866ded to bddb7f44a538 (3 revisions) ( #167867 )
...
https://dart.googlesource.com/sdk.git/+log/dc6ad1866ded..bddb7f44a538
2025-04-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-60.0.dev
2025-04-26 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-59.0.dev
2025-04-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-58.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 chinmaygarde@google.com ,dart-vm-team@google.com on the revert
to ensure that a human
is aware of the problem.
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-26 06:46:29 +00:00
engine-flutter-autoroll
f092e06e2d
Roll Skia from 1161451d903b to 50ed51d9e529 (2 revisions) ( #167865 )
...
https://skia.googlesource.com/skia.git/+log/1161451d903b..50ed51d9e529
2025-04-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from ac1b0b870946 to 299f5f19d010 (4 revisions)
2025-04-25 kjlubick@google.com Enable C++20 for some Bazel builds
(skslc)
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
chinmaygarde@google.com ,jmbetancourt@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-26 02:50:37 +00:00
engine-flutter-autoroll
def562a07e
Roll Fuchsia Linux SDK from Kf_RtNWkgzeuJbZo2... to caltX4YRjHb_6V5Rw... ( #167862 )
...
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 chinmaygarde@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-04-26 02:00:19 +00:00
engine-flutter-autoroll
a6b1fd2e57
Roll Dart SDK from 2790fef88d68 to dc6ad1866ded (2 revisions) ( #167852 )
...
https://dart.googlesource.com/sdk.git/+log/2790fef88d68..dc6ad1866ded
2025-04-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-57.0.dev
2025-04-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-56.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 chinmaygarde@google.com ,dart-vm-team@google.com on the revert
to ensure that a human
is aware of the problem.
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-25 22:24:32 +00:00
Chris Bracken
1cc4d32992
iOS: Drop iOS 13.0 @available checks ( #167833 )
...
After migrating our iOS deployment target to 13.0 in #167737 , these
checks are no longer necessary.
Issue: https://github.com/flutter/flutter/issues/167735
## Pre-launch Checklist
- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-25 21:39:53 +00:00
engine-flutter-autoroll
0f1fb96211
Roll Skia from de42a0c4337b to 1161451d903b (2 revisions) ( #167844 )
...
https://skia.googlesource.com/skia.git/+log/de42a0c4337b..1161451d903b
2025-04-25 danieldilan@google.com Allow mask filters to effect shading
properties for autolayer
2025-04-25 borenet@google.com [infra] Update OS dimension for Windows
GCE VMs
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
chinmaygarde@google.com ,jmbetancourt@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-25 21:38:01 +00:00
Jim Graham
e7e19fb5bd
Impeller will stroke paths directly from the original path via iteration ( #167422 )
...
Currently stroking paths in Impeller goes through a few steps:
- [Once per path object, if reused] If necessary, convert a source Skia
path to an Impeller path
- Ask the Impeller path object to create a polyline, with only line
segments each potentially marked as "coming from a curve"
- Widen the polyline treating curves specially
- render the widened vertex list
This PR attempts to streamline that process by iterating the original
curve and widening the strokes from that. It will require no conversion
of the path from SkPath to impeller::Path (if it was created as an
SkPath as is done for all ui.Path objects). It also avoids the
intermediate polyline stage. It will also produce fewer outline vertices
since it attempts to recognize which vertices are produced by the prior
and future line segments and avoid duplicating them.
2025-04-25 18:18:09 +00:00
Jonah Williams
c0c12a759e
[Impeller] reland: defer impeller context initialization onto the raster thread. ( #167765 )
...
Attempt to speed up vulkan startup by ensuring vulkan driver
initialization happens on raster thread. Prev. we immediately
initialized the impeller::Context, unfortunately setting up the vulkan
context can take upwards of 100ms. This time is running on the platform
thread and blocking startup.
Instead, I attempt to hide/defer as much as possible what backend is
being used - this requires us to access the impeller context via a
shared_future in some cases instead of immediately knowing it is valid.
2025-04-25 18:01:19 +00:00
Matan Lurey
5da19ccfbc
Move backfill: "false" out of properties, make it a boolean. ( #167820 )
...
Towards https://github.com/flutter/flutter/issues/167755 .
Cocoon supports both formats at the moment, so this a NOP.
2025-04-25 17:26:07 +00:00
zhongliugo
f01be78706
web: Use aria-current as fallback for aria-selected ( #167672 )
...
<!--
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
-->
Use aria-current as fallback for aria-selected.
Please check the Proposal section in the issue #167147 .
after the change demo:
https://aria-selected-04172025.web.app/
https://aria-current-04222025.web.app/
issue to fix: #167147
## 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].
- [ ] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-25 16:53:17 +00:00
Jonah Williams
7d2dea222c
[Impeller] Slimpeller Android prototype. ( #167608 )
...
Demonstate potential code size reduction from android slimpeller.
2025-04-25 16:32:11 +00:00
Reid Baker
d6b1702e5f
Update platform views documentation with 4 standard names and abbreviations ( #167752 )
...
After talking with @gmackall we are going to try to standardize on
Virtual Display (VD)
Hybrid Composition (HC)
Texture Layer Hybrid Composition (TLHC)
Hybrid Composition++ (HCPP)
for our documentation covering android platform views and how we
describe the code to each other.
For example HC++ would be discouraged, so would referring to HC as
expensive.
This pr also removes TargetSdk since that annotation has been deprecated
for a number of years and can be wholly replaced by the already used
RequiresApi annotations.
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [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-04-25 14:26:44 +00:00
engine-flutter-autoroll
0cff5a3a45
Roll Dart SDK from 88e2c816be30 to 2790fef88d68 (3 revisions) ( #167807 )
...
https://dart.googlesource.com/sdk.git/+log/88e2c816be30..2790fef88d68
2025-04-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-55.0.dev
2025-04-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-54.0.dev
2025-04-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-53.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 chinmaygarde@google.com ,dart-vm-team@google.com on the revert
to ensure that a human
is aware of the problem.
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-25 13:56:27 +00:00
engine-flutter-autoroll
b9e982614b
Roll Skia from 7104f1487466 to e5dcffd10068 (1 revision) ( #167787 )
...
https://skia.googlesource.com/skia.git/+log/7104f1487466..e5dcffd10068
2025-04-24 jamesgk@google.com [graphite] Support lifting nested shader
expressions
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
chinmaygarde@google.com ,jmbetancourt@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-25 01:50:42 +00:00
engine-flutter-autoroll
5574a51f56
Roll Fuchsia Linux SDK from kv7EzI7mADDgRbtmL... to Kf_RtNWkgzeuJbZo2... ( #167775 )
...
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 chinmaygarde@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-04-24 23:34:07 +00:00
Tong Mu
83483976ec
[Impeller] Adds oval shortcut to DisplayListMatrixClipState::clip{RRect,RSuperellipse} ( #164519 )
...
Fixes https://github.com/flutter/flutter/issues/163717
## Pre-launch Checklist
- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-24 21:00:56 +00:00
engine-flutter-autoroll
7b229e71b1
Roll Dart SDK from 73641e1ef4f2 to 88e2c816be30 (1 revision) ( #167746 )
...
https://dart.googlesource.com/sdk.git/+log/73641e1ef4f2..88e2c816be30
2025-04-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-52.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 chinmaygarde@google.com ,dart-vm-team@google.com on the revert
to ensure that a human
is aware of the problem.
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-04-24 20:41:19 +00:00
Gray Mackall
ce51065f81
[HCPP] Add filltype support for clipPath mutator ( #167571 )
...
Fixes https://github.com/flutter/flutter/issues/164808 .
Also overhauls the test app so that we can apply clippers independently
of each other.
Looks like (with a weirdly small box)
<img
src="https://github.com/user-attachments/assets/b290ea2e-79b8-46cd-93c2-5fe6024ba5d2 "
width="200" />
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
---------
Co-authored-by: Gray Mackall <mackall@google.com>
2025-04-24 20:16:04 +00:00
Chris Bracken
09d4dabd6d
iOS: Update minimum iOS version to 13.0 ( #167737 )
...
This updates the Flutter minimum iOS version from 12.0 to 13.0, adds a
migrator for existing apps, and updates our own examples, tests, and
benchmark apps to 13.0. A follow-up patch will drop iOS 13 `@available`
checks in the embedder.
This is required in order to use Swift in the embedder and not need to
bundle the Swift runtime libs in every app that uses Flutter. Swift
stable ABI
As of March 2025, usage of iOS is well below 1%, see example public
usage data here:
https://telemetrydeck.com/survey/apple/iOS/majorSystemVersions/
This patch makes the following changes:
1. Updates ios_deployment_target from 12.0 to 13.0.
2. Changes templates to `IPHONEOS_DEPLOYMENT_TARGET`,
`MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
3. Adds migrator for Podfile part to migrate `platform :ios, '11.0'` ->
`platform :ios, '12.0'`
4. Compiles with `-miphoneos-version-min=12.0`
5. Runs the migrator on all example apps and integration tests.
6. Updates examples, tests to iOS 13 deployment target
It also updates `verify_exported.dart`:
* iOS 13 introduces stricter separation of const and non-const global
symbols. Previously, these were declared in the Mach-O `__DATA` section
which may be mapped read-write, but now they're in a dedicated
`__DATA_CONST` section which is mapped read-only. This adds
`(__DATA_CONST,__const)` to the allowlist with the same enforcement on
exported symbol naming as before.
See also (ios_deployment_target):
* https://github.com/flutter/buildroot/pull/808
* https://github.com/flutter/buildroot/pull/574
See also (template, migrator):
* https://github.com/flutter/flutter/pull/62902
* https://github.com/flutter/flutter/pull/85174
* https://github.com/flutter/flutter/pull/101963
* https://github.com/flutter/flutter/pull/140478
Issue: https://github.com/flutter/flutter/issues/167735
## Pre-launch Checklist
- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-24 20:15:13 +00:00
Jonah Williams
d2d453fdc5
[Impeller] fix playground validation errors in imgui overlay. ( #167491 )
...
Fixes https://github.com/flutter/flutter/issues/167316
Recycling the render passes didn't account for a render pass changing
from MSAA to non-MSAA.
2025-04-24 20:06:00 +00:00
auto-submit[bot]
bf108a5474
Reverts "[Impeller] defer impeller context initialization onto the raster thread. ( #167527 )" ( #167748 )
...
<!-- start_original_pr_link -->
Reverts: flutter/flutter#167527
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: gmackall
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: failing postsubmit `Linux_mokey
flutter_engine_group_performance`
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: jonahwilliams
<!-- end_original_pr_author -->
<!-- start_reviewers -->
Reviewed By: {jason-simmons}
<!-- end_reviewers -->
<!-- start_revert_body -->
This change reverts the following previous change:
Attempt to speed up vulkan startup by ensuring vulkan driver
initialization happens on raster thread. Prev. we immediately
initialized the impeller::Context, unfortunately setting up the vulkan
context can take upwards of 100ms. This time is running on the platform
thread and blocking startup.
Instead, I attempt to hide/defer as much as possible what backend is
being used - this requires us to access the impeller context via a
shared_future in some cases instead of immediately knowing it is valid.
<!-- end_revert_body -->
Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-04-24 19:20:38 +00:00
Jonah Williams
97f358fd0a
[Impeller] defer impeller context initialization onto the raster thread. ( #167527 )
...
Attempt to speed up vulkan startup by ensuring vulkan driver
initialization happens on raster thread. Prev. we immediately
initialized the impeller::Context, unfortunately setting up the vulkan
context can take upwards of 100ms. This time is running on the platform
thread and blocking startup.
Instead, I attempt to hide/defer as much as possible what backend is
being used - this requires us to access the impeller context via a
shared_future in some cases instead of immediately knowing it is valid.
2025-04-24 17:35:25 +00:00
Reid Baker
46ef0dea2f
Remove flutter engine repo links ( #167481 )
...
3 notable places I did not migrate.
1. engine/src/flutter/docs/Engine-disk-footprint.md treemaps and what
hash is used for what upload.
1. engine/src/flutter/lib/gpu/pubspec.yaml, I didnt want this pr to
update code that could need to be reverted and I didnt know what to do
to test that publishing would not break or cause a downstream breakage.
1. engine/src/flutter/build/zip_bundle.gni I wasnt sure how to test my
changes.
Reviewers: Please let me know if you want a different link or if you
would prefer something unmodified.
Commits:
- **Replace triage links with equivalents, change pull request to
generic flutter/flutter, replace code search link with equivalent**
- **Change link from flutter/engine to engine folder, modify link text
to team**
- **replace engine repo link with engine folder, replace text repo with
folder**
- **replace engine specific security info with flutter generic**
- **replace engine roller comment with a skia roller equivalent**
- **link to same file in new location**
- **Remove comment that some code lives in flutter/flutter and some in
flutter/engine**
- **Say to bump dart in flutter/flutter without mentioning engine**
- **Replace documentation with new locations**
- **replace code printed comments with new locations**
Partially addresses https://github.com/flutter/flutter/issues/167478
## 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-04-24 15:15:21 +00:00