b1d0ffb6d2deda7ad0a67e1ef49e72b330c2fecb
29998 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b1d0ffb6d2 |
[Windows] Make lifecycle manager updates atomic (#164872)
Required for multi-window. On windows the `LifecycleManager` currently sends the lifecycle event as soon as windows message is processed. This however causes problems when changing focus between application windows. When switching focus from HWND1 to HWND2, HWND1 first gets unfocused, followed by HWND2 getting focused. After HWND1 gets unfocused, `LifecycleManager` immediately notifies the framework that the application is inactive, which is wrong as the application never went into inactive state, followed by subsequent call to put the application in resumed state when HWND2 is focused. Because this happens very quickly, sometimes focus manager gets into inconsistent state. To resolve this `LifecycleManager` should gather the all the changes while window sends the messages and then notify the framework atomically in next run loop turn. This PR also simplifies the logic in `LifecycleManager` through which the application state is derived from window states. This PR removes engine forcing `resumed` lifecycle state at startup. I'm not entirely sure what the point of this was - the state can and should be determined solely from window states, this just seems to muddy the state logic. Also it happens before the framework is even listening to state changes. The mutex in `WindowsLifecycleManager` is removed. Not sure why it was there. ## 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: Matthew Kosarek <matt.kosarek@canonical.com> Co-authored-by: Harlen Batagelo <hbatagelo@gmail.com> Co-authored-by: Loïc Sharma <737941+loic-sharma@users.noreply.github.com> |
||
|
|
91d195f642 |
[macOS] Prepare TextInputPlugin for multi-view (#164014)
Notable changes: - `FlutterTextInputPlugin` is now owned by `FlutterEngine`. - `FlutterTextInputPlugin` is only associated with a `FlutterViewController` while having active IME connection. - Changed private state of `TextInputPlugin` from properties to ivars. There is no need for these to be properties, and the state was accessed both as ivars and properties which seemed inconsistent. - Updated test to reflect the changes I've also tested everything including voice-over to make sure accessibility didn't regress. ## 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 |
||
|
|
92fdf29e6f |
[Linux] Move rendering to raster thread (#161879)
Fixes https://github.com/flutter/flutter/issues/155045 *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 --------- Co-authored-by: Robert Ancell <robert.ancell@canonical.com> |
||
|
|
7b07e597f5 |
Roll Skia from b9f4a95a5976 to d1c5490ca749 (1 revision) (#164961)
https://skia.googlesource.com/skia.git/+log/b9f4a95a5976..d1c5490ca749 2025-03-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 6c2737be88ac to f38a081cdea4 (6 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 codefu@google.com,danieldilan@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 |
||
|
|
dbbfa2ff31 |
[Impeller] Workaround for mismatched transform in preroll vs paint for text frames. (#164931)
Fixes https://github.com/flutter/flutter/issues/164606 When we preroll the text frame, we record the scale/transform used to compute the size and subpixel position. Use this same size + transform for the subsequent paint so that it is not possible for it to mismatch. This is not really a fix for the underlying issue where the subpixel position may be mismatched. |
||
|
|
9e5906fc15 |
Roll Dart SDK from d70b123c77d4 to 2d5dfe32cf2e (#164948)
https://dart.googlesource.com/sdk.git/+log/d70b123c77d4115f332652c9bb21ac46a2456889..2d5dfe32cf2e6b3c3d6b396885502a5402b4fc72/
[2d5dfe3](https://dart.googlesource.com/sdk.git/+/2d5dfe32cf2e6b3c3d6b396885502a5402b4fc72)
[Version
3.8.0-171.0.dev](https://dart.googlesource.com/sdk.git/+/2d5dfe32cf2e6b3c3d6b396885502a5402b4fc72)
by Dart CI · 5 days ago
[3.8.0-171.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.8.0-171.0.dev)
[33286f9](https://dart.googlesource.com/sdk.git/+/33286f9cbb09885f4b40264ecd388a86d1aa436f)
[Roll Fuchsia SDK from 27.20250303.4.1 to
27.20250304.5.1](https://dart.googlesource.com/sdk.git/+/33286f9cbb09885f4b40264ecd388a86d1aa436f)
by DEPS Autoroller · 5 days ago
[d9b0213](https://dart.googlesource.com/sdk.git/+/d9b0213e69bba34fe57f8755a180a0ed4d6a32f8)
[CQ. Use null assert instead of type cast for declaredFragment, where
possible.](https://dart.googlesource.com/sdk.git/+/d9b0213e69bba34fe57f8755a180a0ed4d6a32f8)
by Konstantin Shcheglov · 5 days ago
[1335dfc](https://dart.googlesource.com/sdk.git/+/1335dfcb7103de5f40e48548e036de19f862658b)
[DAS: Consolidate containsAny
helper](https://dart.googlesource.com/sdk.git/+/1335dfcb7103de5f40e48548e036de19f862658b)
by Sam Rawlins · 5 days ago
[a296f24](https://dart.googlesource.com/sdk.git/+/a296f24193285858832eec4a0c4f449180239cdf)
[Elements. Deprecate
'augmented'.](https://dart.googlesource.com/sdk.git/+/a296f24193285858832eec4a0c4f449180239cdf)
by Konstantin Shcheglov · 5 days ago
[174f64f](https://dart.googlesource.com/sdk.git/+/174f64f4df27f9cacd6218f89e98f643b75a4136)
[Elements. Deprecate V1 element
visitors.](https://dart.googlesource.com/sdk.git/+/174f64f4df27f9cacd6218f89e98f643b75a4136)
by Konstantin Shcheglov · 5 days ago
[217ec28](https://dart.googlesource.com/sdk.git/+/217ec28ac9f2b610ebff28193fa47bfc318903be)
[Version
3.8.0-170.0.dev](https://dart.googlesource.com/sdk.git/+/217ec28ac9f2b610ebff28193fa47bfc318903be)
by Dart CI · 5 days ago
[3.8.0-170.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.8.0-170.0.dev)
[e4cd515](https://dart.googlesource.com/sdk.git/+/e4cd515df697343dd0a372efc24b9738dfef88fa)
[[dart2wasm] Optimize fused json+utf8 decoder
performance](https://dart.googlesource.com/sdk.git/+/e4cd515df697343dd0a372efc24b9738dfef88fa)
by Martin Kustermann · 5 days ago
[b2c5870](https://dart.googlesource.com/sdk.git/+/b2c5870a2e0fdbb55f541370af9252d8584b48ae)
[[analytics] sort lints in report
collection](https://dart.googlesource.com/sdk.git/+/b2c5870a2e0fdbb55f541370af9252d8584b48ae)
by pq · 5 days ago
[4ee4acc](https://dart.googlesource.com/sdk.git/+/4ee4acc93cbd4905b0115f5c5a8cc735ad0a8cd6)
[DAS: Tidy docs and API in
import_library.dart](https://dart.googlesource.com/sdk.git/+/4ee4acc93cbd4905b0115f5c5a8cc735ad0a8cd6)
by Sam Rawlins · 5 days ago
[9ccf69b](https://dart.googlesource.com/sdk.git/+/9ccf69b90c800c184f643e121140f73bcdd1674b)
[[ddc] Delete unsound null safety from
runtime](https://dart.googlesource.com/sdk.git/+/9ccf69b90c800c184f643e121140f73bcdd1674b)
by Nicholas Shahan · 5 days ago
[00c9992](https://dart.googlesource.com/sdk.git/+/00c99925fce71cc02c49230439ff7720c08f7876)
[[ddc] Delete unsound null safety from the
compiler](https://dart.googlesource.com/sdk.git/+/00c99925fce71cc02c49230439ff7720c08f7876)
by Nicholas Shahan · 5 days ago
[b8dbdda](https://dart.googlesource.com/sdk.git/+/b8dbdda316420113451976bf98dc82335293b6ee)
[[DAS] Fixes instance members completion on dart
docs](https://dart.googlesource.com/sdk.git/+/b8dbdda316420113451976bf98dc82335293b6ee)
by FMorschel · 5 days ago
[a9e37e2](https://dart.googlesource.com/sdk.git/+/a9e37e26449b38717f999d72aeb5b776dad20b27)
[[analyzer] Add warnings to test expectations rather than
ignoring.](https://dart.googlesource.com/sdk.git/+/a9e37e26449b38717f999d72aeb5b776dad20b27)
by Paul Berry · 5 days ago
[b70685e](https://dart.googlesource.com/sdk.git/+/b70685ed17b1fa521f1f8d4e5257f56fafe8a6b5)
[[vm, simarm64] Handle FFI
callbacks.](https://dart.googlesource.com/sdk.git/+/b70685ed17b1fa521f1f8d4e5257f56fafe8a6b5)
by Ryan Macnak · 5 days ago
[6eeba69](https://dart.googlesource.com/sdk.git/+/6eeba6924d8c5b9fc104f9d4358238f5f20ce499)
[Version
3.8.0-169.0.dev](https://dart.googlesource.com/sdk.git/+/6eeba6924d8c5b9fc104f9d4358238f5f20ce499)
by Dart CI · 5 days ago
[3.8.0-169.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.8.0-169.0.dev)
[34e54a4](https://dart.googlesource.com/sdk.git/+/34e54a466190b2fcfb607ee607c76635f5a301a0)
[[analysis_server] Support properties in line values behind a
flag](https://dart.googlesource.com/sdk.git/+/34e54a466190b2fcfb607ee607c76635f5a301a0)
by Danny Tuppeny · 5 days ago
[0865762](https://dart.googlesource.com/sdk.git/+/086576297b9003873b2c89518340603f43daccfa)
[Cleanup after element model
migration](https://dart.googlesource.com/sdk.git/+/086576297b9003873b2c89518340603f43daccfa)
by Keerti Parthasarathy · 5 days ago
[b251a6f](https://dart.googlesource.com/sdk.git/+/b251a6f8e459d35e83e4c2c1fa0755d512596d8f)
[Add a completion test to verify scoping
rules.](https://dart.googlesource.com/sdk.git/+/b251a6f8e459d35e83e4c2c1fa0755d512596d8f)
by Keerti Parthasarathy · 5 days ago
[199bc8f](https://dart.googlesource.com/sdk.git/+/199bc8f50edcd9c75145528c68d95c0e594ee085)
[[cfe] Fix some CFE
tests](https://dart.googlesource.com/sdk.git/+/199bc8f50edcd9c75145528c68d95c0e594ee085)
by Johnni Winther · 5 days ago
[ee32a22](https://dart.googlesource.com/sdk.git/+/ee32a22712b64006b98a3923ff77f4d9476e2f84)
[[gardening] Make standalone/regress_52715_test more
robust](https://dart.googlesource.com/sdk.git/+/ee32a22712b64006b98a3923ff77f4d9476e2f84)
by Martin Kustermann · 5 days ago
[7ac7948](https://dart.googlesource.com/sdk.git/+/7ac794883907304b9c7a31798d94b792e664e096)
[Version
3.8.0-168.0.dev](https://dart.googlesource.com/sdk.git/+/7ac794883907304b9c7a31798d94b792e664e096)
by Dart CI · 5 days ago
[3.8.0-168.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.8.0-168.0.dev)
[d3027d5](https://dart.googlesource.com/sdk.git/+/d3027d5ba440e0472d3859df60fd25c037b69db0)
[[gardening] Make new test work also in obfuscation
modified](https://dart.googlesource.com/sdk.git/+/d3027d5ba440e0472d3859df60fd25c037b69db0)
by Martin Kustermann · 6 days ago
[7f43b34](https://dart.googlesource.com/sdk.git/+/7f43b34b6b0e16077a65fb3593b339036cbc93b9)
[Adjust `hasObviousType` to include negated numeric
literals](https://dart.googlesource.com/sdk.git/+/7f43b34b6b0e16077a65fb3593b339036cbc93b9)
by Erik Ernst · 6 days ago
[16dc25b](https://dart.googlesource.com/sdk.git/+/16dc25bb4fad01043b001079931a065e67e3eb95)
[Version
3.8.0-167.0.dev](https://dart.googlesource.com/sdk.git/+/16dc25bb4fad01043b001079931a065e67e3eb95)
by Dart CI · 6 days ago
[3.8.0-167.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.8.0-167.0.dev)
[f702c93](https://dart.googlesource.com/sdk.git/+/f702c93b1ae96ad5c92caa483f33960c5df62f6f)
[[analysis server] Sort members more
consistant](https://dart.googlesource.com/sdk.git/+/f702c93b1ae96ad5c92caa483f33960c5df62f6f)
by Jens Johansen · 6 days ago
[d99a44e](https://dart.googlesource.com/sdk.git/+/d99a44eadca1f78c6c30d7a913ef11c91e6d647c)
[Version
3.8.0-166.0.dev](https://dart.googlesource.com/sdk.git/+/d99a44eadca1f78c6c30d7a913ef11c91e6d647c)
by Dart CI · 6 days ago
[3.8.0-166.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.8.0-166.0.dev)
[dfb20b1](https://dart.googlesource.com/sdk.git/+/dfb20b1522ea574daabd8ea460dc52e313ed2a74)
[Augment. Disable most element model, resolution, diagnoatics
tests.](https://dart.googlesource.com/sdk.git/+/dfb20b1522ea574daabd8ea460dc52e313ed2a74)
by Konstantin Shcheglov · 6 days ago
[a9a2eb1](https://dart.googlesource.com/sdk.git/+/a9a2eb1b7379bebde7ef6c03e7166c5e9db448b7)
[Version
3.8.0-165.0.dev](https://dart.googlesource.com/sdk.git/+/a9a2eb1b7379bebde7ef6c03e7166c5e9db448b7)
by Dart CI · 6 days ago
[3.8.0-165.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.8.0-165.0.dev)
[4967abb](https://dart.googlesource.com/sdk.git/+/4967abbb3a85b2ff7f27f0033cee2008eefdbd00)
[[cfe] Handle dot shorthand
invocations.](https://dart.googlesource.com/sdk.git/+/4967abbb3a85b2ff7f27f0033cee2008eefdbd00)
by Kallen Tu · 6 days ago
[7139b68](https://dart.googlesource.com/sdk.git/+/7139b68c690bb1fdabf0ab8007e9c191aaf2dcb3)
[[DEPS] Update firefox, d8, jsshell, and
jsc](https://dart.googlesource.com/sdk.git/+/7139b68c690bb1fdabf0ab8007e9c191aaf2dcb3)
by Srujan Gaddam · 6 days ago
[f7d62a5](https://dart.googlesource.com/sdk.git/+/f7d62a5ec6651808bdc6418721771e1ed8a2c773)
[[DAS] Fixes rename FieldFormalParameter outside
library](https://dart.googlesource.com/sdk.git/+/f7d62a5ec6651808bdc6418721771e1ed8a2c773)
by FMorschel · 6 days ago
[7382fe9](https://dart.googlesource.com/sdk.git/+/7382fe9d0abc8f9d1b2dd45d3dff00701b3a15e8)
[Remove legacy support from shared type analyzer and flow
analysis.](https://dart.googlesource.com/sdk.git/+/7382fe9d0abc8f9d1b2dd45d3dff00701b3a15e8)
by Paul Berry · 6 days ago
[aeb2581](https://dart.googlesource.com/sdk.git/+/aeb2581f30da0452b0fc101767bd86785ed5dbc0)
[[vm] Use toString when generating stacktrace in isolate error
handler](https://dart.googlesource.com/sdk.git/+/aeb2581f30da0452b0fc101767bd86785ed5dbc0)
by Mylo Fawcett · 6 days ago
[68eea5b](https://dart.googlesource.com/sdk.git/+/68eea5bb13c060b25b6c53ef27436ba30ba9210c)
[[analyzer] Add Fragment.offset
getter.](https://dart.googlesource.com/sdk.git/+/68eea5bb13c060b25b6c53ef27436ba30ba9210c)
by Paul Berry · 6 days ago
[9ee4414](https://dart.googlesource.com/sdk.git/+/9ee441453668d37bf379365015130efec4cf634f)
[[analysis_server] Add a diagnostic page to stream the analysis
PerformanceLog](https://dart.googlesource.com/sdk.git/+/9ee441453668d37bf379365015130efec4cf634f)
by Danny Tuppeny · 6 days ago
[fe6f87f](https://dart.googlesource.com/sdk.git/+/fe6f87f1370925450b6a8dc1be686bcbd143515b)
[[analyzer] Fix dead code reporting in property access and
is/as.](https://dart.googlesource.com/sdk.git/+/fe6f87f1370925450b6a8dc1be686bcbd143515b)
by Paul Berry · 6 days ago
[24f9911](https://dart.googlesource.com/sdk.git/+/24f991115357bc79c6b70e79de70e9beff410371)
[Version
3.8.0-164.0.dev](https://dart.googlesource.com/sdk.git/+/24f991115357bc79c6b70e79de70e9beff410371)
by Dart CI · 6 days ago
[3.8.0-164.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.8.0-164.0.dev)
[29c24db](https://dart.googlesource.com/sdk.git/+/29c24dbe2728ec7f3a2895a51ddb8aa0f2fb7d23)
[[analyzer] Annotate experimental and deprecated APIs in api.txt
file](https://dart.googlesource.com/sdk.git/+/29c24dbe2728ec7f3a2895a51ddb8aa0f2fb7d23)
by Paul Berry · 6 days ago
[7661785](https://dart.googlesource.com/sdk.git/+/76617858bd257a5357c8f69ff3d6a95ccb9fad00)
[Roll Clang from 84af3ee5124d to
0454dd8c48cd](https://dart.googlesource.com/sdk.git/+/76617858bd257a5357c8f69ff3d6a95ccb9fad00)
by DEPS Autoroller · 6 days ago
[c19e5ce](https://dart.googlesource.com/sdk.git/+/c19e5ce2274acdddb7284aec1040df972c23a22c)
[Roll BoringSSL from 673e61fc215b to 5e73d0302c50 (1
revision)](https://dart.googlesource.com/sdk.git/+/c19e5ce2274acdddb7284aec1040df972c23a22c)
by DEPS Autoroller · 6 days ago
[e6baf6a](https://dart.googlesource.com/sdk.git/+/e6baf6a7b24494a25d513d8de146665db5919ac6)
[Roll gn from 3d0d3445f67d to
eabc4de478e6](https://dart.googlesource.com/sdk.git/+/e6baf6a7b24494a25d513d8de146665db5919ac6)
by DEPS Autoroller · 6 days ago
[d217d92](https://dart.googlesource.com/sdk.git/+/d217d92cbcc0fea1c5c0e33bf6ce8f2da557a143)
[Roll Fuchsia SDK from 27.20250228.4.1 to
27.20250303.4.1](https://dart.googlesource.com/sdk.git/+/d217d92cbcc0fea1c5c0e33bf6ce8f2da557a143)
by DEPS Autoroller · 6 days ago
[7fbec00](https://dart.googlesource.com/sdk.git/+/7fbec0089524bcfa070ed7df4d726ea4b4b3437b)
[[vm, simarm64] Handle FFI
callouts.](https://dart.googlesource.com/sdk.git/+/7fbec0089524bcfa070ed7df4d726ea4b4b3437b)
by Ryan Macnak · 6 days ago
[961aa05](https://dart.googlesource.com/sdk.git/+/961aa056b4ffebf2e0447aac6dfdf1690f5180e9)
[analyzer: Warn about doc-import combinators and
prefixes](https://dart.googlesource.com/sdk.git/+/961aa056b4ffebf2e0447aac6dfdf1690f5180e9)
by Sam Rawlins · 6 days ago
[f057e13](https://dart.googlesource.com/sdk.git/+/f057e13e31cc23f0ee9f9462c2010bce0f0e0335)
[[dart2wasm] Add BoxedInt immutable array cache to support
dart:convert.](https://dart.googlesource.com/sdk.git/+/f057e13e31cc23f0ee9f9462c2010bce0f0e0335)
by Nate Biggs · 6 days ago
[7d7af3b](https://dart.googlesource.com/sdk.git/+/7d7af3bf0971ac2a1077bc5dab43783bfedee7f6)
[[io] Remove assertion for socket timeout exception
contents.](https://dart.googlesource.com/sdk.git/+/7d7af3bf0971ac2a1077bc5dab43783bfedee7f6)
by Brian Quinlan · 6 days ago
[f2f09f1](https://dart.googlesource.com/sdk.git/+/f2f09f14239958786d9684e246b3c0a198abdc98)
[Version
3.8.0-163.0.dev](https://dart.googlesource.com/sdk.git/+/f2f09f14239958786d9684e246b3c0a198abdc98)
by Dart CI · 6 days ago
[3.8.0-163.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.8.0-163.0.dev)
[388f22a8](https://dart.googlesource.com/sdk.git/+/388f22a88bc809b5938f3f1a70bb760ab3c65e4a)
[analyzer: Migrate call sites of Substitution.fromPairs to
.fromPairs2](https://dart.googlesource.com/sdk.git/+/388f22a88bc809b5938f3f1a70bb760ab3c65e4a)
by Sam Rawlins · 6 days ago
[9349e0e](https://dart.googlesource.com/sdk.git/+/9349e0e72051ebdd507cee7b7ab5bb23791e3028)
[Version
3.8.0-162.0.dev](https://dart.googlesource.com/sdk.git/+/9349e0e72051ebdd507cee7b7ab5bb23791e3028)
by Dart CI · 6 days ago
[3.8.0-162.0.dev](https://dart.googlesource.com/sdk.git/+/refs/tags/3.8.0-162.0.dev)
[
|
||
|
|
4fef40c0f6 |
[Impeller] OpenGL MSAA for desktop/web devices. (#163939)
Add support for MSAA without the render to texture extension. This allows our CI goldens to run with anti aliasing. Fixes https://github.com/flutter/flutter/issues/158360 (again) |
||
|
|
1beba504d9 |
Roll Skia from 95d0fb365d73 to b9f4a95a5976 (6 revisions) (#164937)
https://skia.googlesource.com/skia.git/+log/95d0fb365d73..b9f4a95a5976 2025-03-10 jvanverth@google.com Revert "[graphite] Add TextAtlasManager::freeGpuResources()." 2025-03-10 bungeman@google.com Only call format_message when needed 2025-03-10 jvanverth@google.com [graphite] Add TextAtlasManager::freeGpuResources(). 2025-03-10 egdaniel@google.com Reland "Fix need query for copyOnWrite for dual-proxies Ganesh images." 2025-03-10 jvanverth@google.com [graphite] Possible fixes for ClipAtlasManager PGO crash. 2025-03-10 fmalita@google.com Suppress new tests on lottie-web perf bots 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 codefu@google.com,danieldilan@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 |
||
|
|
95e10121a8 |
[Impeller] Fixes to YUV imports on Android, Incomplete read of pipeline cache data, missing enabled extensions. (#164744)
- Handle textures that require a YUV import but aren't an undefined format. - INCOMPLETE is actually a success case for the pipeline cache. CERTAIN drivers ALWAYS return incomplete, even when they wrote all the data. Probably an off by one or something like that... - Ensures Optional AndroidExtensions are enabled - Only creates a YUV conversion if necessary |
||
|
|
b2a4a05683 |
[skwasm] Dynamic Threading (#164748)
This switches skwasm over from the emscripten pthreads implementation to emscripten's "wasm workers" threading implementation. The pthreads implementation simply will not run at all in a non-crossOriginIsolated context, but the wasm workers implementation only fails if we actually attempt to spawn a thread. This means we can actually choose whether to use a single-threaded or multi-threaded strategy at runtime, which means we don't have to build two variants of skwasm for single- vs multi-threaded. |
||
|
|
d6c4153332 |
Roll Fuchsia Linux SDK from U-zlyIZrZRbr9I6gv... to ngvNj-Ffcrgs_jPdQ... (#164926)
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 codefu@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 |
||
|
|
ffaec10986 |
Roll Skia from 4ac86f17f2d4 to 95d0fb365d73 (3 revisions) (#164917)
https://skia.googlesource.com/skia.git/+log/4ac86f17f2d4..95d0fb365d73 2025-03-10 lukasza@chromium.org [rust png] Stop supporting old `png` 0.17 versions. 2025-03-10 kjlubick@google.com Remove legacy mismatched blit code 2025-03-10 tingshao@microsoft.com Move definition of SkSVGDOM::MakeFromStream to cpp file 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 codefu@google.com,danieldilan@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 |
||
|
|
b16430b2fd |
[macOS] Enable Impeller by default on macOS. (#164572)
Enables impeller by default on macOS devices. An opt out can still be configured by passing --no-enable-impeller or using the FLTEnableImpeller / NO setting in the Info.plist. |
||
|
|
93c8ed0775 |
Roll Fuchsia Linux SDK from 6tAcm4hdtXPE55GJP... to U-zlyIZrZRbr9I6gv... (#164868)
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 codefu@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 |
||
|
|
95aee5b6b8 |
Roll Fuchsia Linux SDK from ixl5bKWCqsRiYGvps... to 6tAcm4hdtXPE55GJP... (#164838)
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 codefu@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 |
||
|
|
99d21c80d4 |
Roll Skia from b29851b2ada6 to 916caa2f0102 (1 revision) (#164835)
https://skia.googlesource.com/skia.git/+log/b29851b2ada6..916caa2f0102 2025-03-07 egdaniel@google.com Revert "Fix need query for copyOnWrite for dual-proxies Ganesh images." 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 codefu@google.com,kjlubick@google.com,michaelludwig@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 |
||
|
|
a7e276a20d |
[Impeller] add capability check for extended range formats. (#164817)
Fixes https://github.com/flutter/flutter/issues/164794 We support devices that do not support XR formats. If we try to decode to an XR format this will fail at runtime. |
||
|
|
83781ae65c |
RoundSuperellipse algorithm v3: Ultrawideband heuristic formula (#164755)
This PR revises the algorithm for RoundSuperellipses, replacing the current "max ratio" approximation with an algorithm that works for ratios from 2.0 to infinity. The previous "max ratio" approximation, which replaces the middle of edges with straight lines when the ratio is above 2.3, turns out to produce results too close to classic RRects. After reexamining the shapes and more calculation, I discovered that the max-ratio approximation is flawed. Even squircles with with really high ratios (~100) have a significant part of the edges that must not be approximated by straight lines. The new version is much closer to native. ### Comparison Native: (Notice the long wedgy gap at the end of curves) <img src="https://github.com/user-attachments/assets/61b60191-7d45-4c49-9e09-b0422243cd8c" width="400"/> Before PR: (Notice the short wedgy gap at the end of curves) <img src="https://github.com/user-attachments/assets/15ea374b-4b16-4187-aaa4-94f432fbb61e" width="400"/> After PR: <img src="https://github.com/user-attachments/assets/973ef4d1-7c26-44a9-b45e-10d109d5618b" width="400"/> Another example (after PR). Even though the rectangular RSE has ratios of around 4, there are still curvature near the middle section of edges, which can be identified with the help of antialias pixels. <img width="838" alt="image" src="https://github.com/user-attachments/assets/5078d098-c582-48a8-81e5-615909def675" /> ### Details I found that `n` has really good linearity towards larger ratios. <img width="844" alt="image" src="https://github.com/user-attachments/assets/73e99e45-a0f0-450b-8e2b-f6fd97082958" /> I also found a good candidate for the precomputed unknown (called `k_xJ`), which has a smooth curve at the beginning and almost straight line towards larger `n`, removing the need to cap the scope of application of the formula. <img width="1203" alt="image" src="https://github.com/user-attachments/assets/67664898-2dbd-4f00-a9ba-d76030cf3742" /> The algorithm for paths are also updated in a similar way and approximated the Bezier factors with heuristic formulae for bigger `n`s. I've also verified that the path deviates from the geometry by no more than 0.01% over the range of n [15, 100] Theoretically removing "stretch" should simplify the algorithms. Unfortunately I had to spend more lines to process cases of zero radii, which were conveniently handled by stretches. ## 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 |
||
|
|
8b29bc6d8a |
Roll Skia from cbc7e99d6c2f to b29851b2ada6 (10 revisions) (#164812)
https://skia.googlesource.com/skia.git/+log/cbc7e99d6c2f..b29851b2ada6 2025-03-07 fmalita@google.com [skottie] Roll lottie-samples to include new regression test assets 2025-03-07 bungeman@google.com Remove and de-duplicate Android FontMgr streams 2025-03-07 egdaniel@google.com Fix need query for copyOnWrite for dual-proxies Ganesh images. 2025-03-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll shaders-base from 81fa6c51b85b to 536def9c5709 2025-03-07 kjlubick@google.com Update documentation about rolling into Chromium 2025-03-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from 7b44b80c0fac to 9ee87e7f230f 2025-03-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-base from cc91ae26ecef to bfb2f80c0482 2025-03-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-base from 18808c894e65 to b07c254904bc 2025-03-07 lukasza@chromium.org [rust png] Update `png` from 0.17.15 to 0.18.0-rc 2025-03-07 michaelludwig@google.com [skif] Fix device-to-layer bounds mapping 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 codefu@google.com,kjlubick@google.com,michaelludwig@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 |
||
|
|
74a8d79e14 |
[Impeller] dont redundantly set stencil reference on vulkan backend. (#164763)
Cache the last stencil reference in RenderPassVK. If the requested stencil reference is set to the same value, don't update it on the cmd buffer. Hypothetical performance improvement, but easy to do. |
||
|
|
c0e6f90652 |
Use Python 3.12 to run the yapf formatter if no lower version is available (#164807)
Python 3.12 still provides the dependencies required by yapf (such as lib2to3) |
||
|
|
d14d2505f3 |
[Impeller] Store the TextureGLES cached framebuffer object as a reactor handle (#164761)
TextureGLES references may be owned by garbage collected objects. If a GC drops the last reference to a TextureGLES, then the TextureGLES destructor will run on a thread that does not have an EGL context. That will cause failures when the destructor tries to delete the cached FBO held by the TextureGLES. This PR replaces the raw FBO handle with a ReactorGLES untracked handle. The ReactorGLES will schedule deletion of the underlying FBO on a thread that can call GLES APIs. |
||
|
|
d9f48174fc |
Roll Skia from 79f8af105a61 to 32c1931117b8 (1 revision) (#164782)
https://skia.googlesource.com/skia.git/+log/79f8af105a61..32c1931117b8 2025-03-07 kjlubick@google.com Remove staging flag around DawnTextureInfo 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 codefu@google.com,kjlubick@google.com,michaelludwig@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 |
||
|
|
e190868b71 |
Roll Fuchsia Linux SDK from fhm5z889sA5T1AQao... to ixl5bKWCqsRiYGvps... (#164780)
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 codefu@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 |
||
|
|
f1090285df |
Clip layers reduce rrects and paths to simpler shapes when possible (#164693)
Flutter code can pass clips in the widget tree down as Path objects even if they were originally simpler shapes. We now catch those simplifications in the clip_*_layer code and perform reduced operations in their place. |
||
|
|
a45d325bad |
[Impeller] test empty snapshot and allocation failure. (#164668)
Speculative fix for https://github.com/flutter/flutter/issues/164628 If our render target allocation failed, we need to bail out of toImage so that we don't crash. Adds a test that simulates this by asking for a 0x0 texture. |
||
|
|
dadb05cf8e |
Roll Skia from 263308ea4386 to cc74d34e7e68 (2 revisions) (#164746)
https://skia.googlesource.com/skia.git/+log/263308ea4386..cc74d34e7e68 2025-03-06 bungeman@google.com Use SkTypefaceID instead of uint32_t 2025-03-06 bungeman@google.com Use SkGlyphID instead of uint16_t 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 codefu@google.com,kjlubick@google.com,michaelludwig@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 |
||
|
|
e0b9869468 |
Adds aria-controls support (#163894)
<!-- 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 --> adding a new property in semantics properties called controlsVisibilityOfNodes, where developer can assign SemanticsProperties.identifier of other nodes to indicates which nodes' visibilities this node controls fixes https://github.com/flutter/flutter/issues/162125 ## 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 |
||
|
|
66e910d27e |
Migrate Mutators to DisplayList/Impeller geometry (#164258)
Mutator types and MutatorsStack will now use DisplayList/Impeller geometry objects. |
||
|
|
50f6b48e85 |
Roll Skia from ccd8cc23aa94 to 263308ea4386 (1 revision) (#164728)
https://skia.googlesource.com/skia.git/+log/ccd8cc23aa94..263308ea4386 2025-03-06 jamesgk@google.com [graphite] Specialization for clamp image tiling 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 codefu@google.com,kjlubick@google.com,michaelludwig@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 |
||
|
|
321fbc0e7e |
Roll Skia from fefecd49e03a to ccd8cc23aa94 (1 revision) (#164712)
https://skia.googlesource.com/skia.git/+log/fefecd49e03a..ccd8cc23aa94 2025-03-06 kjlubick@google.com Style and readability cleanups for MaskFilterBase and DrawBase 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 codefu@google.com,kjlubick@google.com,michaelludwig@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 |
||
|
|
d778ed25a4 |
[web] Detect scrollable semantics nodes more reliably (#164491)
When a text field is inside a scrollable, and the virtual keyboard shows up, it (sometimes) makes the scrollable semantics node have a 0 extent. In that case, the scrollable node has no scroll actions attached. In the web engine, we detect that as a change of roles (from scrollable to generic) which causes a DOM mutation above the text field, so the browser shifts focus to the `<body>`. In order to avoid this bug, this PR changes how we detect a scrollable node by checking for the [`hasImplicitScrolling`](https://api.flutter.dev/flutter/dart-ui/SemanticsFlag/hasImplicitScrolling-constant.html) flag. Fixes https://github.com/flutter/flutter/issues/154741 |
||
|
|
099e6d39fe |
[windows] wire the focus request and the focus events through the Windows platform (#164296)
## What's changed? - When a view is focused or unfocused, an event is now sent to the engine. This makes it so the proper view has focus when the corresponding window is focused. Thus, global shortcuts now work across views 🎉 - Applications can request for a particular view to be focused, which causes the corresponding window to be focused - Wrote unit tests for all of this ## How To Test 1. Merge `windows/view_focus_event` into [canonical/foundation](https://github.com/canonical/flutter/tree/foundation) 2. Create a new app: ```dart import 'dart:ui'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; void main() { final RegularWindowController controller1 = RegularWindowController(size: const Size(640, 480)); final RegularWindowController controller2 = RegularWindowController(size: const Size(640, 480)); runWidget(ViewCollection( views: [ RegularWindow(controller: controller1, child: MyApp(otherController: controller2)), RegularWindow(controller: controller2, child: MyApp(otherController: controller1)), ] )); } class IncrementIntent extends Intent { const IncrementIntent(); } class MyApp extends StatelessWidget { const MyApp({super.key, required this.otherController}); final RegularWindowController otherController; @override Widget build(BuildContext context) { return MaterialApp( title: 'Shortcut Counter', theme: ThemeData( primarySwatch: Colors.blue, ), home: CounterPage(otherController: otherController), ); } } class CounterPage extends StatefulWidget { const CounterPage({super.key, required this.otherController}); final RegularWindowController otherController; @override _CounterPageState createState() => _CounterPageState(); } class _CounterPageState extends State<CounterPage> { int _counter = 0; void _incrementCounter() { setState(() { _counter++; }); } @override Widget build(BuildContext context) { return Shortcuts( shortcuts: { LogicalKeySet(LogicalKeyboardKey.space): const IncrementIntent(), }, child: Actions( actions: { IncrementIntent: CallbackAction<IncrementIntent>(onInvoke: (intent) { _incrementCounter(); return null; }), }, child: Focus( autofocus: true, child: Scaffold( appBar: AppBar(title: const Text('Shortcut Counter')), body: Center( child: Column(children: [Text( 'Counter: $_counter', style: const TextStyle(fontSize: 24), ), OutlinedButton(onPressed: () { WidgetsBinding.instance.platformDispatcher.requestViewFocusChange( direction: ViewFocusDirection.forward, state: ViewFocusState.focused, viewId: widget.otherController.rootView.viewId, ); }, child: const Text('Focus other window'))]), ), ), ), ), ); } } ``` 3. Run with: ``` flutter run --debug --local-engine-src-path C:/dev/flutter/engine/src/ --local-engine host_debug_unopt --local-engine-host host_debug_unopt lib/main.dart --enable-multi-window ``` 4. Pressing spacebar while either window is focused should make the corresponding counter go up 5. Clicking the button on either window should make the other window become focused ## 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 |
||
|
|
78d5a95a52 |
Roll Skia from 0c3880f94970 to e315b0ab7c84 (1 revision) (#164669)
https://skia.googlesource.com/skia.git/+log/0c3880f94970..e315b0ab7c84 2025-03-05 kjlubick@google.com Add chromium-specific tools for dealing with SkPMColor 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 codefu@google.com,kjlubick@google.com,michaelludwig@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 |
||
|
|
80913c3389 |
[Impeller] use device private on non-iOS devices. (#164601)
Redo of https://github.com/flutter/flutter/pull/164573 Fixes https://github.com/flutter/flutter/issues/136365 Fixes https://github.com/flutter/flutter/issues/134399 We should avoid using "host visible" textures outside of iOS, which besides arm macs, is the only place they are supported. Deletes a test that was completely invalid because it was testing a feature "the gpu sync switch aka iOS background check" that was never used in mutli_frame image codecs. |
||
|
|
27030bb245 |
Roll Skia from 43294a662fd0 to 0c3880f94970 (1 revision) (#164661)
https://skia.googlesource.com/skia.git/+log/43294a662fd0..0c3880f94970 2025-03-05 michaelludwig@google.com [graphite] Add universal TextureFormat enum 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 codefu@google.com,kjlubick@google.com,michaelludwig@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 |
||
|
|
0e43c50faa |
Roll Skia from 4cf9f0b77d41 to 43294a662fd0 (4 revisions) (#164649)
https://skia.googlesource.com/skia.git/+log/4cf9f0b77d41..43294a662fd0 2025-03-05 kjlubick@google.com Remove outdated SK_GANESH documentation from SkUserConfig.h 2025-03-05 bungeman@google.com Roll HarfBuzz from a070f9eb to ca3cd48f (502 commits) 2025-03-05 lukasza@chromium.org [rust png] Update `cxx` from 1.0.135 to 1.0.143. 2025-03-05 bungeman@google.com Roll FreeType from 59320b2d to 5d4e649f (46 commits) 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 codefu@google.com,kjlubick@google.com,michaelludwig@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 |
||
|
|
fef2adca24 |
Cleanup content context (#164229)
cleanup followup to https://github.com/flutter/flutter/pull/164058 This is just a refactor that makes content_context.h more manageable. ## 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 |
||
|
|
1cd6cb0cdc |
[Impeller] fix macOS managed memory. (#164635)
Still crashes with non UMA GPU. Reason is that the if check is using `MTLResourceStorageModeManaged` when it should be using `MTLStorageModeManaged` Fixes https://github.com/flutter/flutter/issues/163218 |
||
|
|
1e9676fc95 |
[skwasm] Clear font collection cache when font is loaded manually. (#164588)
This addresses https://github.com/flutter/flutter/issues/159375 We just need to clear the font collection's cache if we added a font via the `loadFontFromList` API. |
||
|
|
1301475873 |
Implement clipPath Mutator for hcpp (#164525)
Implements `clipPath` mutator for hcpp. Fixes https://github.com/flutter/flutter/issues/164219 https://github.com/user-attachments/assets/2c98e621-c73e-40ca-bc76-77de1a3826a0 ## 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> |
||
|
|
ca9d3b018a |
Reverts "[Impeller] use DeviceLocal textures for gifs on non-iOS devices. (#164573)" (#164600)
<!-- start_original_pr_link --> Reverts: flutter/flutter#164573 <!-- end_original_pr_link --> <!-- start_initiating_author --> Initiated by: jonahwilliams <!-- end_initiating_author --> <!-- start_revert_reason --> Reason for reverting: le crash <!-- end_revert_reason --> <!-- start_original_pr_author --> Original PR Author: jonahwilliams <!-- end_original_pr_author --> <!-- start_reviewers --> Reviewed By: {matanlurey} <!-- end_reviewers --> <!-- start_revert_body --> This change reverts the following previous change: Part of https://github.com/flutter/flutter/issues/136365, https://github.com/flutter/flutter/issues/134399 We only use DeviceLocal on iOS to work around background requirements. On other platforms there is no need for this. <!-- end_revert_body --> Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com> |
||
|
|
ccf99229c7 |
[macos] prefer integrated GPU. (#164569)
Attempted fix for https://github.com/flutter/flutter/issues/163218 There are very few macOS devices with multiple GPUs and they were only brielfy sold. We seem to have a problem o the specific devices when choosing the dedicated GPU. INstead, lets try forcing the integrated GPU when its available. |
||
|
|
c35fd09792 |
Roll Skia from 46705a22edc3 to 03a3f653d64e (1 revision) (#164590)
https://skia.googlesource.com/skia.git/+log/46705a22edc3..03a3f653d64e 2025-03-04 jamesgk@google.com [graphite] Don't statically initialize objects 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 codefu@google.com,kjlubick@google.com,michaelludwig@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 |
||
|
|
99d265e484 |
when resetting FlutterPlatformViewsController, clear out some additional internal state to prevent it from carrying over across a Hot Restart (#164456)
<!-- 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 --> When performing a Hot Restart on iOS in an app that uses PlatformViews, a "recreating_view" PlatformException can be thrown. This happens because some of the state of FlutterPlatformViewsController is not cleared as part of the Hot Restart. Specifically, `self.previousCompositionOrder` will have its previous value from before the Hot Restart. The fix here clears that state as part of the Hot Restart. Fixes https://github.com/flutter/flutter/issues/163935 ## 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 |
||
|
|
f3d0f5a2ca |
Roll Fuchsia Linux SDK from Rt6pxGFLVAJHduM0V... to fhm5z889sA5T1AQao... (#164583)
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 codefu@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 |
||
|
|
80aefeb01e |
[Impeller] use DeviceLocal textures for gifs on non-iOS devices. (#164573)
Part of https://github.com/flutter/flutter/issues/136365, https://github.com/flutter/flutter/issues/134399 We only use DeviceLocal on iOS to work around background requirements. On other platforms there is no need for this. |
||
|
|
7e2b4e8f86 | [Web] Improve onboarding docs (#164246) | ||
|
|
db8dde6564 |
Roll Skia from 15b0d7575e64 to 20266c9ca4c0 (3 revisions) (#164558)
https://skia.googlesource.com/skia.git/+log/15b0d7575e64..20266c9ca4c0 2025-03-04 jamesgk@google.com [graphite] Take SkColorInfo array as argument to precomp image object 2025-03-04 kjlubick@google.com Make ARGB32 blitting more consistent on x64 and NEON (arm) codepaths 2025-03-04 hcm@google.com Merge 6 release notes into RELEASE_NOTES.md 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 codefu@google.com,kjlubick@google.com,michaelludwig@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 |
||
|
|
ae7388838c |
Reland dart sdks that were causing dartaotruntime issues in g3 (#164307) (#164554)
This reverts commit
|