M3 Button padding adjustments (#118449)
* init scaled changes
* add correct padding values for M3
* revert unneeded change
* Update packages/flutter/lib/src/material/text_button.dart
Co-authored-by: Pierre-Louis <6655696+guidezpl@users.noreply.github.com>
* Update packages/flutter/lib/src/material/text_button.dart
Co-authored-by: Pierre-Louis <6655696+guidezpl@users.noreply.github.com>
* comment fixes
* test update
* docstring fixes
* e44a0de4c Roll Fuchsia Mac SDK from JLTTlcNPJeScjSO2B... to FeFYsNPy64-PEXPer... (flutter/engine#38558) (#117779)
* Roll Plugins from e11cb245bb8e to 2d66f30e5825 (2 revisions) (#117781)
* 417b37009 Roll Flutter from ae292cc4e5e4 to 17482fd425ee (28 revisions) (flutter/plugins#6889)
* 2d66f30e5 [webview_flutter_web] Adds auto registration of the `WebViewPlatform` implementation (flutter/plugins#6886)
* 4dd8a694f Roll Skia from cc3e0cd0a743 to c776239198f7 (1 revision) (flutter/engine#38560) (#117783)
* 3460f349b [fuchsia] Set presentation interval (flutter/engine#38549) (#117785)
* Roll Flutter Engine from 3460f349b01d to 1752b5b84680 (2 revisions) (#117788)
* 332c0a2f2 Roll Skia from c776239198f7 to 13435162b783 (1 revision) (flutter/engine#38561)
* 1752b5b84 Roll Dart SDK from 7f154f949aaf to fa6cf7241184 (2 revisions) (flutter/engine#38563)
* a63bd854a [fuchsia] Add trace flow for Flatland::Present (flutter/engine#38565) (#117790)
* Roll Flutter Engine from a63bd854ac5a to 5713a216076f (2 revisions) (#117795)
* e012dc825 [Windows] Add engine builder to simplify tests (flutter/engine#38546)
* 5713a2160 Revert "[web] Don't overwrite editing state with semantic updates (#38271)" (flutter/engine#38562)
* Roll Flutter Engine from 5713a216076f to 780082203ea9 (2 revisions) (#117797)
* fd94b04b1 [Impeller Scene] Import skinned mesh vertex data (flutter/engine#38554)
* 780082203 Roll Fuchsia Linux SDK from gnyHyot4AZp7HZgUI... to KCm_e3N4gosNuY4IW... (flutter/engine#38568)
* 9095f7a8b Roll Dart SDK from fa6cf7241184 to 224ac5ed9c66 (1 revision) (flutter/engine#38569) (#117799)
* 0118b461b Roll Fuchsia Mac SDK from FeFYsNPy64-PEXPer... to 2lzQU8FEjR5AkOr4d... (flutter/engine#38571) (#117800)
* e03d7c8bb Roll Skia from 13435162b783 to 9e8f31e3020c (3 revisions) (flutter/engine#38572) (#117802)
* af6078b5f Roll Skia from 9e8f31e3020c to 486deb23bc2a (2 revisions) (flutter/engine#38574) (#117804)
* 7e5cc7bb6 Roll Dart SDK from 224ac5ed9c66 to 9f0d8b9f20da (1 revision) (flutter/engine#38575) (#117805)
* d4a04a538 Roll Fuchsia Linux SDK from KCm_e3N4gosNuY4IW... to IApTRqW8UUSWAOcqA... (flutter/engine#38578) (#117817)
* b202b3db9 Roll Flutter from 17482fd425ee to d2127ad344e8 (14 revisions) (flutter/plugins#6892) (#117824)
* Roll Flutter Engine from d4a04a538050 to 9153966bcb06 (2 revisions) (#117830)
* 53806fa1e Roll Fuchsia Mac SDK from 2lzQU8FEjR5AkOr4d... to Bewt-eq7gNu6sU_Ob... (flutter/engine#38579)
* 9153966bc [fuchsia] Bump the target API level to 11 (flutter/engine#38544)
* b9bf51d16 Roll Dart SDK from 9f0d8b9f20da to 881c0b56a1f7 (1 revision) (flutter/engine#38580) (#117832)
* Roll Flutter Engine from b9bf51d16f25 to f6ad9b6d00e3 (2 revisions) (#117834)
* 4b38736e7 [Impeller Scene] Import materials, load embedded textures (flutter/engine#38577)
* f6ad9b6d0 Roll Fuchsia Linux SDK from IApTRqW8UUSWAOcqA... to CXcPP_JZKQbSu2eIP... (flutter/engine#38581)
* 932591ec0 Roll Fuchsia Linux SDK from CXcPP_JZKQbSu2eIP... to PkN8FdI4aC9z7W4mI... (flutter/engine#38584) (#117840)
* 3d8c5ef10 Roll Fuchsia Linux SDK from PkN8FdI4aC9z7W4mI... to OOL-jWRElkQ2P3vJz... (flutter/engine#38585) (#117846)
* Roll Flutter Engine from 3d8c5ef1060c to a7decc3e459b (2 revisions) (#117856)
* 3470fa848 Roll Skia from 486deb23bc2a to a31d9c3b4583 (2 revisions) (flutter/engine#38586)
* a7decc3e4 Roll Skia from a31d9c3b4583 to 01aeec883a43 (4 revisions) (flutter/engine#38587)
* 0a2029cf3 Roll Fuchsia Linux SDK from OOL-jWRElkQ2P3vJz... to AE3lAqTc632VsY14L... (flutter/engine#38588) (#117858)
* 5fe7d5b4e Roll Skia from 01aeec883a43 to 2ffa04c2f77c (2 revisions) (flutter/engine#38591) (#117863)
* e5d605b3a Roll Skia from 2ffa04c2f77c to 269dce7e16bb (1 revision) (flutter/engine#38592) (#117865)
* 71c5f1704 Roll Fuchsia Linux SDK from AE3lAqTc632VsY14L... to UAq0LO56_kbgA_BUQ... (flutter/engine#38593) (#117868)
* 472e34cbb Roll Skia from 269dce7e16bb to fde37f5986fd (1 revision) (flutter/engine#38594) (#117869)
* Roll Plugins from b202b3db98dc to e85f8ac1502d (3 revisions) (#117875)
* 035d85e62 Roll Flutter from d2127ad344e8 to 120058fd3ded (15 revisions) (flutter/plugins#6896)
* 80532e0ba Roll Flutter from 120058fd3ded to 0196e6050b75 (3 revisions) (flutter/plugins#6901)
* e85f8ac15 Roll Flutter from 0196e6050b75 to b938dc13df32 (7 revisions) (flutter/plugins#6908)
* [flutter_tools] timeline_test.dart flaky (#116667)
* contains name instead of remove last
* fix expect
* remove and expect on elements
* delete unused code
* 7e51aef0a Roll Skia from fde37f5986fd to 809e328ed55c (1 revision) (flutter/engine#38596) (#117874)
* Updated to tokens v0.150. (#117350)
* Updated to tokens v0.150.
* Updated with a reverted list_tile.dart.
* Simplify null check. (#117026)
* Simplify null check.
* Simplify null check.
* Simplify null check.
* Fix.
* Roll Flutter Engine from 7e51aef0a1be to 1d2ba73d1059 (9 revisions) (#117923)
* 3e1b0dcb2 Roll Dart SDK from 881c0b56a1f7 to 617e70c95f5b (1 revision) (flutter/engine#38597)
* 8b17efed8 Roll Fuchsia Linux SDK from UAq0LO56_kbgA_BUQ... to LA5kW39Gec7KvvM7x... (flutter/engine#38598)
* 27960a700 [Impeller Scene] Import animation data (flutter/engine#38583)
* b5acb2099 Roll Skia from 809e328ed55c to 697f9b541a0e (1 revision) (flutter/engine#38599)
* dd0335b34 Roll Skia from 697f9b541a0e to 15d36b15bca1 (1 revision) (flutter/engine#38601)
* adda2e80c [Impeller Scene] Animation binding and playback (flutter/engine#38595)
* 71a296d53 Roll Fuchsia Linux SDK from LA5kW39Gec7KvvM7x... to rPo4_TYHCtkoOfRup... (flutter/engine#38607)
* bde8d4524 Implement ITextProvider and ITextRangeProvider for UIA (flutter/engine#38538)
* 1d2ba73d1 [Windows] Make the engine own the cursor plugin (flutter/engine#38570)
* Reland "Remove single-view assumption from ScrollPhysics (#117503)" (#117916)
This reverts commit c956121ac098b91061bfc0a93c930121ff3279ba.
* Minor documentation fix on BorderRadiusDirectional.zero (#117661)
* fix typos (#117592)
* c0b3f8fce Make `AccessibilityBridge` a `AXPlatformTreeManager` (flutter/engine#38610) (#117931)
* Add convenience constructors for SliverList (#116605)
* init
* lint
* add the other two slivers
* fix lint
* add test for sliverlist.separated
* add3 more
* fix lint and tests
* remove trailing spaces
* remove trailing spaces 2
* fix lint
* fix lint again
* 2213b80dd [Impeller Scene] Use std::chrono for animation durations (flutter/engine#38606) (#117935)
* Reland "Add support for double tap and drag for text selection #109573" (#117502)
* Revert "Revert "Add support for double tap and drag for text selection (#109573)" (#117497)"
This reverts commit 39fa0117a919bd401c4c8734c97ddb46fbc45cb7.
* Allow TapAndDragGestureRecognizer to accept pointer events from any devices -- the TapGestureRecognizer it replaces was previously doing this
Co-authored-by: Renzo Olivares <roliv@google.com>
* == override parameters are non-nullable (#117839)
* Fix the message strings for xcodeMissing and xcodeIncomplete (#117922)
* Add macOS to xcodeMissing and xcodeIncomplete
* And unit test
* 32c468507 Roll quiver to 3.2.1 (flutter/engine#38617) (#117942)
* Send text direction in selection rects (#117436)
* Correctly propagate verbosity to subtasks in flutter.gradle (#117897)
* Correctly propagate verbosity to subtasks in flutter.gradle
* Add test
* Revert accidental changes
* Fix copyright year
* Fix imports
* Roll Plugins from e85f8ac1502d to f9dda6a27b79 (3 revisions) (#117972)
* 6df3ef23f [in_app_pur] Add screenshots to pubspec.yaml (flutter/plugins#6540)
* 42f8093c2 [google_maps_flutter] Fixed minor syntax error in the README.md (flutter/plugins#6909)
* f9dda6a27 [image_picker_ios] Fix FLTPHPickerSaveImageToPathOperation property attributes (flutter/plugins#6890)
* [flutter_tools] Fix null check in parsing web plugin from pubspec.yaml (#117939)
* fix null check in parsing web plugin yaml
* revert accidental diff
* remove comment
* roll packages (#117940)
* roll packages (#118001)
* [Android] Increase timeout duration for spell check integration test (#117989)
* Add timeout
* Add library directive
* Add comment, remove testing only changes
* Roll Flutter Engine from 32c468507b32 to cdd3bf29e27a (8 revisions) (#118014)
* 22f872d5e Roll Dart SDK from 617e70c95f5b to f6dcb8b0b5d3 (7 revisions) (flutter/engine#38626)
* c5e0f9ed0 Roll Dart SDK from f6dcb8b0b5d3 to 0b064bc49557 (1 revision) (flutter/engine#38630)
* 398f5d3bd Roll Skia from 15d36b15bca1 to 9423a8a0fc2d (37 revisions) (flutter/engine#38631)
* ebf01dcdb Update FlutterPlatformNodeDelegate (flutter/engine#38615)
* d7dbe5bf3 Roll Skia from 9423a8a0fc2d to 60e4a4a27375 (5 revisions) (flutter/engine#38633)
* 67440ccd5 fix roll (flutter/engine#38635)
* 87bdde8fe Fix build using VS 17.4's C++ STL (flutter/engine#38614)
* cdd3bf29e make DisplayListFlags constexpr throughout (flutter/engine#38649)
* 60515762e [Impeller Scene] Compute joint transforms and apply them to skinned meshes (flutter/engine#38628) (#118016)
* 35b7dee32 [Impeller] Set adaptive tolerance when rendering FillPathGeometry (flutter/engine#38497) (#118017)
* b9b0193ea Roll Skia from 60e4a4a27375 to 158d51b34caa (19 revisions) (flutter/engine#38654) (#118018)
* a01548f5f [Impeller Scene] Fix material/vertex color overlapping (flutter/engine#38653) (#118027)
* Roll Plugins from f9dda6a27b79 to 320461910156 (2 revisions) (#118040)
* 365332fe1 Roll Flutter from b938dc13df32 to 231855fc87d0 (19 revisions) (flutter/plugins#6913)
* 320461910 Update image_picker_ios CODEOWNER (flutter/plugins#6891)
* 072a9ca37 Add `TextProvider` and `TextEdit` patterns to `AXPlatformNodeWin` (flutter/engine#38646) (#118039)
* bb4015269 Roll Skia from 158d51b34caa to ecd3a2f865ba (1 revision) (flutter/engine#38659) (#118042)
* Avoid using `TextAffinity` in `TextBoundary` (#117446)
* Avoid affinity like the plague
* ignore lint
* clean up
* fix test
* review
* Move wordboundary to text painter
* docs
* fix tests
* 74861f369 Reduce the size of Overlay FlutterImageView in HC mode (flutter/engine#38393) (#118048)
* 5bd90d6e7 Consider more roles as text (flutter/engine#38645) (#118049)
* [EMPTY] Commit to refresh the tree that is currently red (#118062)
* Remove doc reference to the deprecated ui.FlutterWindow API (#118064)
* Fix `flutter update-packages` regression by fixing parameters in "pub get" runner (#116687)
* Make pub get runner respect printProgress and retry parameters
* Fix typo
* Add regression test
* Improve test
* Fix implementation and test
* Test to fix flutter_drone tests
* Revert test
* Attempt #2 to fix flutter_drone tests
* Revert attempt
* Hack: Force printProgress to debug Windows tests
* Use ProcessUtils.run to avoid dangling stdout and stderr
* Update documentation
* Clean up retry argument
* Adding 'is' to list of kotlin reserved keywords (#116299)
Co-authored-by: Gray Mackall <mackall@google.com>
* Added expandIconColor property on ExpansionPanelList Widget (#115950)
* Create expanIconColor doc template
* Add expandIconColor property to ExpansionPanelList
* Added tests for expandIconColor on ExpansionPanelList & radio
* Removed trailing spaces
* Update docstring (#118072)
Co-authored-by: a-wallen <stephenwallen@google.com>
* Fix out-of-sync ExpansionPanel animation (#105024)
* Increase minimum height of headerWidget in ExpansionPanel to smooth the animation.
Signed-off-by: Morris Kurz <morriskurz@gmail.com>
* Add regression tests that check for equal height of header elements in ExpansionPanel.
Signed-off-by: Morris Kurz <morriskurz@gmail.com>
* Clarify comment.
Signed-off-by: Morris Kurz <morriskurz@gmail.com>
* Reduce padding in ExpandIcon to 12px s.t. header height is 48px.
Signed-off-by: Morris Kurz <morriskurz@gmail.com>
* Update testcases to new header height (56px -> 48px).
Signed-off-by: Morris Kurz <morriskurz@gmail.com>
* Test for header height equal to 48px.
Signed-off-by: Morris Kurz <morriskurz@gmail.com>
* Change issue number to link in comment
* Add periods to comments
Signed-off-by: Morris Kurz <morriskurz@gmail.com>
* Roll Plugins from 320461910156 to 276cfd4b212d (2 revisions) (#118099)
* 3a6f63bed Roll Flutter from 231855fc87d0 to 43b912090224 (11 revisions) (flutter/plugins#6918)
* 276cfd4b2 [shared_preferences] Convert macOS to Pigeon (flutter/plugins#6914)
* 33d7f8a1b Remove single view assumptions from `window.dart` (flutter/engine#38453) (#118069)
* InteractiveViewer parameter to return to pre-3.3 trackpad/Magic Mouse behaviour (#114280)
* trackpadPanShouldActAsZoom
* Address feedback
* Move constant, add blank lines
* 0a0e3d205 Roll Flutter from 43b912090224 to 507062032fa4 (9 revisions) (flutter/plugins#6919) (#118183)
* Roll Flutter Engine from 33d7f8a1b307 to 03609b420beb (6 revisions) (#118125)
* c58254702 SkBudgeted -> skgpu::Budgeted (flutter/engine#38660)
* 3d9214ace Bump actions/checkout from 3.1.0 to 3.2.0 (flutter/engine#38390)
* a4775c7a7 Remove strict equality check for SkMatrix comparison (flutter/engine#38665)
* 046012e8e [fuchsia] Enable CI for branches like `fuchsia_r51a`. (flutter/engine#38683)
* cda410c28 Roll Skia from ecd3a2f865ba to 54dbda290908 (12 revisions) (flutter/engine#38668)
* 03609b420 [web] Fix canvas2d leaks in text measurement (flutter/engine#38640)
* remove the unused check in selectable_text (#117716)
* Roll Flutter Engine from 03609b420beb to b5513d7a442a (2 revisions) (#118186)
* fd5a96e10 Limit selection change to focused node on Windows (flutter/engine#38634)
* b5513d7a4 Roll Dart SDK from 0b064bc49557 to cb29cb6d1d0f (12 revisions) (flutter/engine#38688)
* Roll Flutter Engine from b5513d7a442a to 5bdb04f33f99 (2 revisions) (#118187)
* e20809014 Roll Skia from 54dbda290908 to b8c0a78a2378 (43 revisions) (flutter/engine#38690)
* 5bdb04f33 Roll Fuchsia Mac SDK from Bewt-eq7gNu6sU_Ob... to ORxExaprF9fW5d4MP... (flutter/engine#38697)
* 51baed6e0 [fuchsia][scenic] Use infinite hit region (flutter/engine#38647) (#118189)
* Update to Xcode 14.2 (#117507)
* Update to Xcode 14.2
* Only bump for devicelab builders
* Restore presubmit: false
* Allow iOS and macOS plugins to share darwin directory (#115337)
* Roll Flutter Engine from 51baed6e01b8 to 5df0072a0e63 (3 revisions) (#118192)
* 181286315 Roll Dart SDK from cb29cb6d1d0f to 853eff8b0faa (2 revisions) (flutter/engine#38694)
* 642f72f73 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (flutter/engine#38713)
* 5df0072a0 Bump actions/checkout from 3.2.0 to 3.3.0 (flutter/engine#38714)
* Use program during attach if provided (#118130)
* eb5c6f0b4 iOS FlutterTextureRegistry should be a proxy, not the engine itself (flutter/engine#37666) (#118197)
* Update `ListTile` to support Material 3 (#117965)
* Update `ListTile` to support Material 3
* Update `Default ListTile debugFillProperties`
* Add #99933 HTML workaround.
* 3a7d8862f Re-enable UIA text/range provider unit tests (flutter/engine#38718) (#118201)
* Fix path for require.js (#118120)
- Matches new location in the Dart SDK.
https://dart-review.googlesource.com/c/sdk/+/275482
- Includes fall back logic so the existing and new locations will work
depending on the file that is available.
* ee0c4d26b Roll flutter/packages to 25454e (flutter/engine#38685) (#118205)
* Roll Flutter Engine from ee0c4d26b0fa to 264aa032cf75 (2 revisions) (#118208)
* 5a39a8846 Add CI builder for windows-arm64. (flutter/engine#38394)
* 264aa032c Revert "Add CI builder for windows-arm64. (#38394)" (flutter/engine#38729)
* 9c0b187a1 Roll Dart SDK from 853eff8b0faa to 418bee5da2e2 (4 revisions) (flutter/engine#38727) (#118210)
* add closed/open focus traversal; use open on web (#115961)
* allow focus to leave FlutterView
* fix tests and docs
* small doc update
* fix analysis lint
* use closed loop for dialogs
* add tests for new API
* address comments
* test FocusScopeNode.traversalEdgeBehavior setter; reverse wrap-around
* rename actionResult to invokeResult
* address comments
* Roll Flutter Engine from 9c0b187a1139 to 716bb9172c0d (3 revisions) (#118220)
* b6720a5b7 Undo axes flip on Mac when shift+scroll-wheel (flutter/engine#38338)
* 4f0cdcd0b Inline usage of SkIsPow2 (flutter/engine#38722)
* 716bb9172 [Impeller Scene] Add DisplayList OP and Dart bindings (flutter/engine#38676)
* Hide InkWell hover highlight when an hovered InkWell is disabled (#118026)
* Allow select cases to be numbers (#116625)
* [Impeller Scene] Add SceneC asset importing (#118157)
* Add a comment about repeat event + fix typos (#118095)
* Add MaterialStateProperty `overlayColor` & `mouseCursor` and fix hovering on thumbs behavior (#116894)
* Roll Flutter Engine from 716bb9172c0d to 687e3cb0fbe2 (2 revisions) (#118242)
* 24ee5c10f Roll Fuchsia Mac SDK from ORxExaprF9fW5d4MP... to zC90VpkAGMG1jJ-BK... (flutter/engine#38734)
* 687e3cb0f Roll Dart SDK from 418bee5da2e2 to 8d7a6aabd3a3 (2 revisions) (flutter/engine#38738)
* Roll Plugins from 0a0e3d205ca3 to 9fdc899b72ca (8 revisions) (#118253)
* d03de2fce [tool] Don't add Guava in the all-packages app (flutter/plugins#6747)
* d485c7e83 [local_auth]: Bump espresso-core (flutter/plugins#6925)
* a47e71988 [webview_flutter_platform_interface] Improves error message when `WebViewPlatform.instance` is null (flutter/plugins#6938)
* 7132dac0e [google_maps]: Bump espresso-core from 3.4.0 to 3.5.1 in /packages/google_maps_flutter/google_maps_flutter_android/android (flutter/plugins#6937)
* dc3287ccf [espresso]: Bump truth from 1.4.0 to 1.5.0 in /packages/espresso/android (flutter/plugins#6707)
* 1de6477bd [camera]: Bump camerax_version from 1.3.0-alpha01 to 1.3.0-alpha02 in /packages/camera/camera_android_camerax/android (flutter/plugins#6828)
* fb405819e [shared_preferences] Merge iOS and macOS implementations (flutter/plugins#6920)
* 9fdc899b7 [various] Enable `avoid_dynamic_calls` (flutter/plugins#6834)
* Manually mark Windows run_debug_test_windows as unflaky (#118112)
* Marks Mac_arm64_android run_debug_test_android to be unflaky (#117469)
* Marks Mac_arm64_ios run_debug_test_macos to be unflaky (#117990)
* remove unsound mode web test (#118256)
* Update `CupertinoPicker` example (#118248)
* Update `CupertinoPicker` example
* format lines
* Revert making variable public
* revert variable change
* roll packages (#118117)
* Add option for opting out of enter route snapshotting. (#118086)
* Add option for opting out of enter route snapshotting.
* Fix typo.
* Merge find layers logic.
* Add justification comment on why web is skipped in test.
* Update documentation as suggested.
* Update documentation as suggested.
* roll packages (#118272)
* Roll Flutter Engine from 687e3cb0fbe2 to c1d61cf11da8 (6 revisions) (#118274)
* ad9052a38 Roll Dart SDK from 8d7a6aabd3a3 to b90a008ddb29 (1 revision) (flutter/engine#38740)
* c4c97023f Mark nodes as `kIsLineBreakingObject` by default, TODO further distinctions (flutter/engine#38721)
* f40af3eb4 Roll Dart SDK from b90a008ddb29 to 5e344de60564 (1 revision) (flutter/engine#38744)
* 41cfbdd7e Roll Fuchsia Mac SDK from zC90VpkAGMG1jJ-BK... to 6xysoRPCXJ3cJX12x... (flutter/engine#38746)
* 95c7b1f8a Make operator == parameter non-nullable (flutter/engine#38663)
* c1d61cf11 Move canvaskit artifacts to expected location in Web SDK Archive (flutter/engine#38168)
* Align `flutter pub get/upgrade/add/remove/downgrade` (#117896)
* Align `flutter pub get/upgrade/add/remove/downgrade`
* Add final . to command description
* Remove trailing whitespace
* Don't print message that command is being run
* Update expectations
* Use relative path
* Remove duplicated line
* Improve function dartdoc
* ae9e181e3 Roll Dart SDK from 5e344de60564 to 7b4d49402252 (1 revision) (flutter/engine#38756) (#118287)
* Fix Finnish TimeOfDate format (#118204)
* init
* add test
* Roll Flutter Engine from ae9e181e30c2 to 53bd4bbf9646 (3 revisions) (#118289)
* b9a723482 [web] retain GL/Gr context on window resize (flutter/engine#38576)
* fd4360671 Add SpringAnimation.js from React Native (flutter/engine#38750)
* 53bd4bbf9 Roll Skia from b8c0a78a2378 to e1f3980272f3 (24 revisions) (flutter/engine#38758)
* 9ade91c8b removed forbidden skia include (flutter/engine#38761) (#118296)
* 8d7beac82 Roll Dart SDK from 7b4d49402252 to 23cbd61a1327 (1 revision) (flutter/engine#38764) (#118297)
* 6256f05db Roll Fuchsia Mac SDK from 6xysoRPCXJ3cJX12x... to a9NpYJbjhDRX9P9u4... (flutter/engine#38767) (#118300)
* FIX: UnderlineInputBorder hashCode and equality by including borderRadius (#118284)
* Bump actions/upload-artifact from 3.1.1 to 3.1.2 (#118116)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/83fd05a356d7e2593de66fc9913b3002723633cb...0b7f8abb1508181956e8e162db84b466c27e18ce)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump actions/checkout from 3.1.0 to 3.3.0 (#118052)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.1.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8...ac593985615ec2ede58e132d2e21d2b1cbd6127c)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump github/codeql-action from 2.1.35 to 2.1.37 (#117104)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.1.35 to 2.1.37.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/b2a92eb56d8cb930006a1c6ed86b0782dd8a4297...959cbb7472c4d4ad70cdfe6f4976053fe48ab394)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* 6048f9110 Roll Dart SDK from 23cbd61a1327 to 22fa50e09ee8 (3 revisions) (flutter/engine#38776) (#118320)
* Roll Plugins from 9fdc899b72ca to 620a059d62b2 (4 revisions) (#118317)
* 6a24f2d7b == override parameters are non-nullable (flutter/plugins#6900)
* b9206bcfe [espresso]: Bump espresso-accessibility and espresso-idling-resource from 3.1.0 to 3.5.1 in /packages/espresso/android (flutter/plugins#6933)
* b1797c2bb [file_selector] Switch to Pigeon for macOS (flutter/plugins#6902)
* 620a059d6 [google_sign_in] Renames generated folder to js_interop. (flutter/plugins#6915)
* ee76ab71e Cleanup Skia includes in image_generator/descriptor (flutter/engine#38775) (#118335)
* Roll Flutter Engine from ee76ab71e0a6 to cccaae2f3d8b (3 revisions) (#118349)
* 5ec03d7d1 Roll Fuchsia Mac SDK from a9NpYJbjhDRX9P9u4... to ao8fSjW8HrZSsu3yq... (flutter/engine#38782)
* 87ead948e delete include of private GrMtlTypes header (flutter/engine#38783)
* cccaae2f3 [fuchsia] Replace deprecated AddLocalChild (flutter/engine#38788)
* 764a9e012 Roll Skia from e1f3980272f3 to dfb838747295 (48 revisions) (flutter/engine#38790) (#118355)
* Roll Flutter Engine from 764a9e01204d to 4a8d6866a1c0 (2 revisions) (#118357)
* 7abc5f13a [web] Update felt to use generated JS runtime for Dart2Wasm. (flutter/engine#38786)
* 4a8d6866a Add CI builder for windows-arm64. (#38394) (flutter/engine#38739)
* Marks Mac_ios complex_layout_scroll_perf_bad_ios__timeline_summary to be unflaky (#111570)
* Marks Mac channels_integration_test to be unflaky (#111571)
* Marks Mac_ios platform_views_scroll_perf_non_intersecting_impeller_ios__timeline_summary to be unflaky (#116668)
* Fix `SliverAppBar.large` and `SliverAppBar.medium` do not use `foregroundColor` (#118322)
* docs: update docs about color property in material card (#117263)
* update docs
* *
* typo
* Revert "typo"
This reverts commit 3e25d4be337b1a41d24b1a86136606d6551b30cf.
* Update card.dart
* Update card.dart
* Update card.dart
* Fix M3 `Drawer` default shape in RTL (#118185)
* [M3] Add error state support for side property of CheckBox (#118386)
* Add error state support for side property
* lint fixes
* lint fixes
* Roll Plugins from 620a059d62b2 to 39197f17ca59 (6 revisions) (#118391)
* 8c461cfde [gh_actions]: Bump ossf/scorecard-action from 2.0.6 to 2.1.2 (flutter/plugins#6882)
* a119afd47 [in_app_pur]: Bump espresso-core from 3.4.0 to 3.5.1 in /packages/in_app_purchase/in_app_purchase_android/android (flutter/plugins#6924)
* 12266846e Roll Flutter from 507062032fa4 to 7ddf42eae5ee (5 revisions) (flutter/plugins#6923)
* 44098fe34 [shared_preferences] Switch to `shared_preferences_foundation` (flutter/plugins#6940)
* 0dd166959 [tool] Replace `flutter format` (flutter/plugins#6946)
* 39197f17c [gh_actions]: Bump actions/checkout from 3.1.0 to 3.3.0 (flutter/plugins#6935)
* Move debug error message from failed pub to logger.printTrace (#118379)
* Move debug error message from failed pub to logger.printTrace
* Update test
* [tool] Generate a binary version of the asset manifest (#117233)
* initial
* update asset_bundle_package_test
* Update asset_bundle_test.dart
* Update asset_bundle_package_fonts_test.dart
* update pubspec checksum for smc dependency
* flutter update-packages --force-upgrade
* prefer += 1 over ++
Co-authored-by: Jonah Williams <jonahwilliams@google.com>
* add regexp comment
* rescope int list comparison function
* update packages
Co-authored-by: Jonah Williams <jonahwilliams@google.com>
* IconButtonTheme should be overridden by the AppBar/AppBarTheme's iconTheme and actionsIconTheme (#118216)
* reduce pub output from flutter create (#118285)
* reduce pub output from flutter create
* fix fake Pub implementations
* fix tests
* Update pub.dart
* replace enum with simpler boolean
* fix tests
* Revert "fix tests"
This reverts commit 8a3182d3b95d4f2bf337343cdb76e88c2f428ca8.
* Revert "replace enum with simpler boolean"
This reverts commit 445dbc443db4eb5ce284f76749f60e81208b8783.
* go back to using an enum
* roll packages (#118277)
* [web] Update build to use generated JS runtime for Dart2Wasm. (#118359)
* Roll Flutter Engine from 4a8d6866a1c0 to c01465a18f31 (9 revisions) (#118409)
* 2d2c5e7eb Roll Dart SDK from 22fa50e09ee8 to 21f5de0ad596 (2 revisions) (flutter/engine#38796)
* 24eb954da fix canvas drawLine bugs (flutter/engine#38753)
* 2b024cbb6 [Impeller Scene] Change how property resolution works to fix Animation blending; add mutation log to nodes; enable backface culling; add vertex color contribution back to meshes (flutter/engine#38766)
* 0192ea15e Roll Dart SDK from 21f5de0ad596 to 7879aa93da71 (1 revision) (flutter/engine#38804)
* 5cd50f568 Roll Fuchsia Mac SDK from ao8fSjW8HrZSsu3yq... to gZ6xbsp2MRsoXfKgY... (flutter/engine#38806)
* 4bf70c011 Roll Dart SDK from 7879aa93da71 to d7235947ff9b (1 revision) (flutter/engine#38808)
* bb2d5e93a Roll Dart SDK from d7235947ff9b to edd406c07399 (2 revisions) (flutter/engine#38814)
* 2a9fa7975 Revert "fix canvas drawLine bugs (#38753)" (flutter/engine#38815)
* c01465a18 Add wasm_release build to linux_host_engine.json (flutter/engine#38755)
* Add MSYS2 detection on Windows Terminal (#117612)
As the results of "uname -s" command is like the below on MSYS2 on
Windows Terminal,
MSYS_NT-10.0-22621
This patch fixes the Flutter command working on this kind of systems.
Signed-off-by: Deokgyu Yang <secugyu@gmail.com>
Signed-off-by: Deokgyu Yang <secugyu@gmail.com>
* Add documentation for drag/fling offset in WidgetController. (#118288)
* Documentation for drag/fling offset
* Fix typo
* Fix typo 2
* Fix the docs_test
* Fix the grammar
* 688015782 fixed glfw example for arm64 (flutter/engine#38426) (#118413)
* Use correct API docs link in create --sample help message (#118371)
* Use correct API doc link in create --sample help message
* Verify Flutter and Dart website links in tool help messages use https
* Adjust test failure reasoning message
* Roll Flutter Engine from 688015782762 to 35cfe9158648 (2 revisions) (#118415)
* e9b7a2d38 [macOS] Do not block raster thread when shutting down (flutter/engine#38777)
* 35cfe9158 Roll Fuchsia Mac SDK from gZ6xbsp2MRsoXfKgY... to nIPtQ59jG1pxyatOq... (flutter/engine#38819)
* Fix tap/drag callbacks firing when TapAndDragGestureRecognizer has not won the arena (#118342)
* Prevent drag and tap from accepting when a tap down exceeds the recognizers deadline but the recognizer has not won the arena
* Add test
* make analyzer happy
Co-authored-by: Renzo Olivares <roliv@google.com>
* 8aa26baa9 Roll Dart SDK from edd406c07399 to 20cca507d98b (1 revision) (flutter/engine#38823) (#118420)
* add generated_plugins.cmake (#116581)
Added files to the .gitignore that are generated on each "flutter pub get", so it's useless to ever commit these to a git repository.
* Enable xcode cache cleanup for a few days. (#118419)
This is to ensure the xcode caches get back to a normal state as they
seem to have gotten into a bad state after updating the xcode version.
Bug: https://github.com/flutter/flutter/issues/118324
Bug: https://github.com/flutter/flutter/issues/118327
Bug: https://github.com/flutter/flutter/issues/118328
* 99509a7e4 Correct FrameTimingRecorder's raster start time. (flutter/engine#38674) (#118425)
* Roll Flutter Engine from 99509a7e4275 to f3f05368033b (2 revisions) (#118429)
* 091c785a4 [windows] Use FML_DCHECK in place of C assert (flutter/engine#38826)
* f3f053680 [windows] Eliminate unnecessary iostream imports (flutter/engine#38824)
* Add `allowedButtonsFilter` to prevent Draggable from appearing with secondary click. (#111852)
* DragTarget part 1.
[WIP] Change GestureRecognizer. Sorry.
[WIP] Move from GestureRecognizer to MultiDragGestureRecognizer.
Make it a `Set<int>?`
Get bitwise operations working.
Fix test. Rename to allowedInputPointers.
Convert into a builder.
Improve code with default funciton.
Refactor everything again.
Rename to buttonEventFilter.
Use static function.
Fix analyzer.
Fix private reference.
Use // in private method.
* Fix Renzo request.
* Add `allowedButtonsFilter` everywhere.
* Refactor monoDrag for multi pointer support.
* Fix tests?
* Change default to always true.
* Fix PR comments.
* Completely refactor long press.
* Add forgotten class.
* Revert "Completely refactor long press."
This reverts commit 5038e8603e250e8c928b0f1754fb794b7b75738b.
* Add default value to LongPress
* Refactor doubleTap.
* Relax double tap.
* Write comment in LongPress.
* Use template.
* 15d59792e Roll Skia from dfb838747295 to 9e51c2c9e231 (26 revisions) (flutter/engine#38827) (#118432)
* a62d25326 Roll Skia from dfb838747295 to cc983d28f3bf (27 revisions) (flutter/engine#38830) (#118435)
* dfa0327f8 Roll Skia from cc983d28f3bf to fd54be29a3cc (3 revisions) (flutter/engine#38833) (#118436)
* 07603c6d4 Roll Dart SDK from 20cca507d98b to 3d629d00a8d7 (2 revisions) (flutter/engine#38834) (#118439)
* Fix copying/applying font fallback with package (#118393)
* Add test to check that package prefix of font fallback is not duplicated
* Fix duplicate package prefix of font family fallback
* Add test to check that package prefix of font fallback is not duplicated
* Fix duplicate package prefix of font family fallback
* dec608917 Roll Fuchsia Mac SDK from nIPtQ59jG1pxyatOq... to 21nYb648VWbpxc36t... (flutter/engine#38839) (#118445)
* 970889b87 Roll Skia from fd54be29a3cc to c72c7bf7e45b (3 revisions) (flutter/engine#38840) (#118448)
* a512cebdc Roll Dart SDK from 3d629d00a8d7 to 645fd748e79e (1 revision) (flutter/engine#38841) (#118454)
* Roll Plugins from 39197f17ca59 to 92a5367d58df (4 revisions) (#118457)
* b89e4fc2d Roll Flutter from 7ddf42eae5ee to 0d91c0343bdc (58 revisions) (flutter/plugins#6948)
* 86eda6992 [path_provider] Switch to Pigeon for macOS (flutter/plugins#6635)
* be2e3de7a [shared_preferences_foundation] Add Swift runtime search paths for Objective-C apps (flutter/plugins#6952)
* 92a5367d5 [tool] Fix false positives in update-exceprts (flutter/plugins#6950)
* Added LinearBorder, an OutlinedBorder like BoxBorder (#116940)
* Marks Mac_ios spell_check_test to be unflaky (#117743)
* [Linux] Add a 'flutter run' console output test (#118279)
* Add Linux support for the UI integration test project
* Add Linux run console test
* Add Info.plist from build directory as input path to Thin Binary build phase (#118209)
* Add Info.plist from build directory as input path to Thin Binary build phase
* fix directive ordering
* migrate benchmark, integration, and example tests
* [flutter_tools] re-enable web shader compilation (#118461)
* [flutter_tools] re-enable web shader compilation
* update test cases
* Bump github/codeql-action from 2.1.37 to 2.1.38 (#118482)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.1.37 to 2.1.38.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/959cbb7472c4d4ad70cdfe6f4976053fe48ab394...515828d97454b8354517688ddc5b48402b723750)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* remove whitespace
* add newline
* newline fixes
* newline fix
* test fix
* Update documentation about accent color (#116778)
* e44a0de4c Roll Fuchsia Mac SDK from JLTTlcNPJeScjSO2B... to FeFYsNPy64-PEXPer... (flutter/engine#38558) (#117779)
* Roll Plugins from e11cb245bb8e to 2d66f30e5825 (2 revisions) (#117781)
* 417b37009 Roll Flutter from ae292cc4e5e4 to 17482fd425ee (28 revisions) (flutter/plugins#6889)
* 2d66f30e5 [webview_flutter_web] Adds auto registration of the `WebViewPlatform` implementation (flutter/plugins#6886)
* Roll Flutter Engine from 5713a216076f to 780082203ea9 (2 revisions) (#117797)
* fd94b04b1 [Impeller Scene] Import skinned mesh vertex data (flutter/engine#38554)
* 780082203 Roll Fuchsia Linux SDK from gnyHyot4AZp7HZgUI... to KCm_e3N4gosNuY4IW... (flutter/engine#38568)
* Reland "Add support for double tap and drag for text selection #109573" (#117502)
* Revert "Revert "Add support for double tap and drag for text selection (#109573)" (#117497)"
This reverts commit 39fa0117a919bd401c4c8734c97ddb46fbc45cb7.
* Allow TapAndDragGestureRecognizer to accept pointer events from any devices -- the TapGestureRecognizer it replaces was previously doing this
Co-authored-by: Renzo Olivares <roliv@google.com>
* roll packages (#117940)
* roll packages (#118001)
* [EMPTY] Commit to refresh the tree that is currently red (#118062)
* Remove doc reference to the deprecated ui.FlutterWindow API (#118064)
* Fix `flutter update-packages` regression by fixing parameters in "pub get" runner (#116687)
* Make pub get runner respect printProgress and retry parameters
* Fix typo
* Add regression test
* Improve test
* Fix implementation and test
* Test to fix flutter_drone tests
* Revert test
* Attempt #2 to fix flutter_drone tests
* Revert attempt
* Hack: Force printProgress to debug Windows tests
* Use ProcessUtils.run to avoid dangling stdout and stderr
* Update documentation
* Clean up retry argument
* [Impeller Scene] Add SceneC asset importing (#118157)
* roll packages (#118117)
* roll packages (#118272)
* Align `flutter pub get/upgrade/add/remove/downgrade` (#117896)
* Align `flutter pub get/upgrade/add/remove/downgrade`
* Add final . to command description
* Remove trailing whitespace
* Don't print message that command is being run
* Update expectations
* Use relative path
* Remove duplicated line
* Improve function dartdoc
* Bump github/codeql-action from 2.1.35 to 2.1.37 (#117104)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.1.35 to 2.1.37.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/b2a92eb56d8cb930006a1c6ed86b0782dd8a4297...959cbb7472c4d4ad70cdfe6f4976053fe48ab394)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Move debug error message from failed pub to logger.printTrace (#118379)
* Move debug error message from failed pub to logger.printTrace
* Update test
* [tool] Generate a binary version of the asset manifest (#117233)
* initial
* update asset_bundle_package_test
* Update asset_bundle_test.dart
* Update asset_bundle_package_fonts_test.dart
* update pubspec checksum for smc dependency
* flutter update-packages --force-upgrade
* prefer += 1 over ++
Co-authored-by: Jonah Williams <jonahwilliams@google.com>
* add regexp comment
* rescope int list comparison function
* update packages
Co-authored-by: Jonah Williams <jonahwilliams@google.com>
* reduce pub output from flutter create (#118285)
* reduce pub output from flutter create
* fix fake Pub implementations
* fix tests
* Update pub.dart
* replace enum with simpler boolean
* fix tests
* Revert "fix tests"
This reverts commit 8a3182d3b95d4f2bf337343cdb76e88c2f428ca8.
* Revert "replace enum with simpler boolean"
This reverts commit 445dbc443db4eb5ce284f76749f60e81208b8783.
* go back to using an enum
* roll packages (#118277)
* Fix tap/drag callbacks firing when TapAndDragGestureRecognizer has not won the arena (#118342)
* Prevent drag and tap from accepting when a tap down exceeds the recognizers deadline but the recognizer has not won the arena
* Add test
* make analyzer happy
Co-authored-by: Renzo Olivares <roliv@google.com>
* Add `allowedButtonsFilter` to prevent Draggable from appearing with secondary click. (#111852)
* DragTarget part 1.
[WIP] Change GestureRecognizer. Sorry.
[WIP] Move from GestureRecognizer to MultiDragGestureRecognizer.
Make it a `Set<int>?`
Get bitwise operations working.
Fix test. Rename to allowedInputPointers.
Convert into a builder.
Improve code with default funciton.
Refactor everything again.
Rename to buttonEventFilter.
Use static function.
Fix analyzer.
Fix private reference.
Use // in private method.
* Fix Renzo request.
* Add `allowedButtonsFilter` everywhere.
* Refactor monoDrag for multi pointer support.
* Fix tests?
* Change default to always true.
* Fix PR comments.
* Completely refactor long press.
* Add forgotten class.
* Revert "Completely refactor long press."
This reverts commit 5038e8603e250e8c928b0f1754fb794b7b75738b.
* Add default value to LongPress
* Refactor doubleTap.
* Relax double tap.
* Write comment in LongPress.
* Use template.
* 15d59792e Roll Skia from dfb838747295 to 9e51c2c9e231 (26 revisions) (flutter/engine#38827) (#118432)
* [flutter_tools] re-enable web shader compilation (#118461)
* [flutter_tools] re-enable web shader compilation
* update test cases
* remove whitespace
* fix rebase mess
Signed-off-by: Morris Kurz <morriskurz@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Deokgyu Yang <secugyu@gmail.com>
Co-authored-by: Pierre-Louis <6655696+guidezpl@users.noreply.github.com>
Co-authored-by: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Co-authored-by: Jesús S Guerrero <jesus_sguerrero@hotmail.com>
Co-authored-by: Darren Austin <darrenaustin@google.com>
Co-authored-by: Ahmed Ashour <asashour@yahoo.com>
Co-authored-by: Michael Goderbauer <goderbauer@google.com>
Co-authored-by: Greg Price <gnprice@gmail.com>
Co-authored-by: CicadaCinema <52425971+CicadaCinema@users.noreply.github.com>
Co-authored-by: Tae Hyung Kim <thkim1011@users.noreply.github.com>
Co-authored-by: Renzo Olivares <rmolivares@renzo-olivares.dev>
Co-authored-by: Renzo Olivares <roliv@google.com>
Co-authored-by: Sam Rawlins <srawlins@google.com>
Co-authored-by: Peixin Li <pageli328@gmail.com>
Co-authored-by: Callum Moffat <smartercallum@gmail.com>
Co-authored-by: Vyacheslav Egorov <vegorov@google.com>
Co-authored-by: Christopher Fujino <christopherfujino@gmail.com>
Co-authored-by: Flutter GitHub Bot <fluttergithubbot@gmail.com>
Co-authored-by: Camille Simon <43054281+camsim99@users.noreply.github.com>
Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
Co-authored-by: Drew Roen <102626803+drewroengoogle@users.noreply.github.com>
Co-authored-by: Jason Simmons <jason-simmons@users.noreply.github.com>
Co-authored-by: Nehal Patel <nehalvpatel@users.noreply.github.com>
Co-authored-by: gmackall <34871572+gmackall@users.noreply.github.com>
Co-authored-by: Gray Mackall <mackall@google.com>
Co-authored-by: Mohammed CHAHBOUN <69054810+M97Chahboun@users.noreply.github.com>
Co-authored-by: Alex Wallen <wallenstephen@outlook.com>
Co-authored-by: a-wallen <stephenwallen@google.com>
Co-authored-by: Morris Kurz <morriskurz@gmail.com>
Co-authored-by: Lucas.Xu <tsuiyuenhong@gmail.com>
Co-authored-by: Jenn Magder <magder@google.com>
Co-authored-by: Helin Shiah <helinx@google.com>
Co-authored-by: Taha Tesser <tessertaha@gmail.com>
Co-authored-by: Nicholas Shahan <nshahan@google.com>
Co-authored-by: Yegor <yjbanov@google.com>
Co-authored-by: Bruno Leroux <leroux_bruno@yahoo.fr>
Co-authored-by: Brandon DeRosier <bdero@google.com>
Co-authored-by: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>
Co-authored-by: Jonah Williams <jonahwilliams@google.com>
Co-authored-by: Youchen Du <youchen.du@gmail.com>
Co-authored-by: Sigurd Meldgaard <sigurdm@google.com>
Co-authored-by: Rydmike <m.rydstrom@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Suhwan Cha <suhw4n@gmail.com>
Co-authored-by: Andrew Kolos <andrewrkolos@gmail.com>
Co-authored-by: Qun Cheng <36861262+QuncCccccc@users.noreply.github.com>
Co-authored-by: joshualitt <joshualitt@google.com>
Co-authored-by: Deokgyu Yang <secugyu@gmail.com>
Co-authored-by: Peixin Li <peixinli@google.com>
Co-authored-by: Parker Lougheed <parlough@gmail.com>
Co-authored-by: Ivo Beckers <35917382+IvoB1987@users.noreply.github.com>
Co-authored-by: godofredoc <godofredoc@google.com>
Co-authored-by: Bernardo Ferrari <bernaferrari2@gmail.com>
Co-authored-by: Dennis Kugelmann <kugelmann.dennis@gmail.com>
Co-authored-by: Hans Muller <hans.muller@gmail.com>
Co-authored-by: Victoria Ashworth <vashworth@google.com>
diff --git a/examples/api/lib/material/app_bar/app_bar.1.dart b/examples/api/lib/material/app_bar/app_bar.1.dart
index 9ded23b..2f4eb93 100644
--- a/examples/api/lib/material/app_bar/app_bar.1.dart
+++ b/examples/api/lib/material/app_bar/app_bar.1.dart
@@ -98,7 +98,7 @@
label: const Text('shadow color'),
),
const SizedBox(width: 5),
- ElevatedButton.icon(
+ ElevatedButton(
onPressed: () {
if (scrolledUnderElevation == null) {
setState(() {
@@ -111,8 +111,7 @@
});
}
},
- icon: const Icon(Icons.add),
- label: Text(
+ child: Text(
'scrolledUnderElevation: ${scrolledUnderElevation ?? 'default'}',
),
),
diff --git a/packages/flutter/lib/src/material/elevated_button.dart b/packages/flutter/lib/src/material/elevated_button.dart
index 94b6dfc..3b6c659 100644
--- a/packages/flutter/lib/src/material/elevated_button.dart
+++ b/packages/flutter/lib/src/material/elevated_button.dart
@@ -333,10 +333,10 @@
/// * hovered - 3
/// * focused or pressed - 1
/// * `padding`
- /// * `textScaleFactor <= 1` - horizontal(16)
- /// * `1 < textScaleFactor <= 2` - lerp(horizontal(16), horizontal(8))
- /// * `2 < textScaleFactor <= 3` - lerp(horizontal(8), horizontal(4))
- /// * `3 < textScaleFactor` - horizontal(4)
+ /// * `textScaleFactor <= 1` - horizontal(24)
+ /// * `1 < textScaleFactor <= 2` - lerp(horizontal(24), horizontal(12))
+ /// * `2 < textScaleFactor <= 3` - lerp(horizontal(12), horizontal(6))
+ /// * `3 < textScaleFactor` - horizontal(6)
/// * `minimumSize` - Size(64, 40)
/// * `fixedSize` - null
/// * `maximumSize` - Size.infinite
@@ -351,6 +351,10 @@
/// * `enableFeedback` - true
/// * `alignment` - Alignment.center
/// * `splashFactory` - Theme.splashFactory
+ ///
+ /// For the [ElevatedButton.icon] factory, the start (generally the left) value of
+ /// [padding] is reduced from 24 to 16.
+
@override
ButtonStyle defaultStyleOf(BuildContext context) {
final ThemeData theme = Theme.of(context);
@@ -390,10 +394,12 @@
}
EdgeInsetsGeometry _scaledPadding(BuildContext context) {
+ final bool useMaterial3 = Theme.of(context).useMaterial3;
+ final double padding1x = useMaterial3 ? 24.0 : 16.0;
return ButtonStyleButton.scaledPadding(
- const EdgeInsets.symmetric(horizontal: 16),
- const EdgeInsets.symmetric(horizontal: 8),
- const EdgeInsets.symmetric(horizontal: 4),
+ EdgeInsets.symmetric(horizontal: padding1x),
+ EdgeInsets.symmetric(horizontal: padding1x / 2),
+ EdgeInsets.symmetric(horizontal: padding1x / 2 / 2),
MediaQuery.textScaleFactorOf(context),
);
}
@@ -496,7 +502,13 @@
@override
ButtonStyle defaultStyleOf(BuildContext context) {
- final EdgeInsetsGeometry scaledPadding = ButtonStyleButton.scaledPadding(
+ final bool useMaterial3 = Theme.of(context).useMaterial3;
+ final EdgeInsetsGeometry scaledPadding = useMaterial3 ? ButtonStyleButton.scaledPadding(
+ const EdgeInsetsDirectional.fromSTEB(16, 0, 24, 0),
+ const EdgeInsetsDirectional.fromSTEB(8, 0, 12, 0),
+ const EdgeInsetsDirectional.fromSTEB(4, 0, 6, 0),
+ MediaQuery.textScaleFactorOf(context),
+ ) : ButtonStyleButton.scaledPadding(
const EdgeInsetsDirectional.fromSTEB(12, 0, 16, 0),
const EdgeInsets.symmetric(horizontal: 8),
const EdgeInsetsDirectional.fromSTEB(8, 0, 4, 0),
diff --git a/packages/flutter/lib/src/material/filled_button.dart b/packages/flutter/lib/src/material/filled_button.dart
index 69efdde..0f3f77e 100644
--- a/packages/flutter/lib/src/material/filled_button.dart
+++ b/packages/flutter/lib/src/material/filled_button.dart
@@ -345,6 +345,50 @@
/// shape's [OutlinedBorder.side]. Typically the default value of an
/// [OutlinedBorder]'s side is [BorderSide.none], so an outline is not drawn.
///
+ /// ## Material 3 defaults
+ ///
+ /// If [ThemeData.useMaterial3] is set to true the following defaults will
+ /// be used:
+ ///
+ /// * `textStyle` - Theme.textTheme.labelLarge
+ /// * `backgroundColor`
+ /// * disabled - Theme.colorScheme.onSurface(0.12)
+ /// * others - Theme.colorScheme.secondaryContainer
+ /// * `foregroundColor`
+ /// * disabled - Theme.colorScheme.onSurface(0.38)
+ /// * others - Theme.colorScheme.onSecondaryContainer
+ /// * `overlayColor`
+ /// * hovered - Theme.colorScheme.onSecondaryContainer(0.08)
+ /// * focused or pressed - Theme.colorScheme.onSecondaryContainer(0.12)
+ /// * `shadowColor` - Theme.colorScheme.shadow
+ /// * `surfaceTintColor` - Colors.transparent
+ /// * `elevation`
+ /// * disabled - 0
+ /// * default - 1
+ /// * hovered - 3
+ /// * focused or pressed - 1
+ /// * `padding`
+ /// * `textScaleFactor <= 1` - horizontal(24)
+ /// * `1 < textScaleFactor <= 2` - lerp(horizontal(24), horizontal(12))
+ /// * `2 < textScaleFactor <= 3` - lerp(horizontal(12), horizontal(6))
+ /// * `3 < textScaleFactor` - horizontal(6)
+ /// * `minimumSize` - Size(64, 40)
+ /// * `fixedSize` - null
+ /// * `maximumSize` - Size.infinite
+ /// * `side` - null
+ /// * `shape` - StadiumBorder()
+ /// * `mouseCursor`
+ /// * disabled - SystemMouseCursors.basic
+ /// * others - SystemMouseCursors.click
+ /// * `visualDensity` - Theme.visualDensity
+ /// * `tapTargetSize` - Theme.materialTapTargetSize
+ /// * `animationDuration` - kThemeChangeDuration
+ /// * `enableFeedback` - true
+ /// * `alignment` - Alignment.center
+ /// * `splashFactory` - Theme.splashFactory
+ ///
+ /// For the [FilledButton.icon] factory, the start (generally the left) value of
+ /// [padding] is reduced from 24 to 16.
@override
ButtonStyle defaultStyleOf(BuildContext context) {
switch (_variant) {
@@ -364,10 +408,12 @@
}
EdgeInsetsGeometry _scaledPadding(BuildContext context) {
+ final bool useMaterial3 = Theme.of(context).useMaterial3;
+ final double padding1x = useMaterial3 ? 24.0 : 16.0;
return ButtonStyleButton.scaledPadding(
- const EdgeInsets.symmetric(horizontal: 16),
- const EdgeInsets.symmetric(horizontal: 8),
- const EdgeInsets.symmetric(horizontal: 4),
+ EdgeInsets.symmetric(horizontal: padding1x),
+ EdgeInsets.symmetric(horizontal: padding1x / 2),
+ EdgeInsets.symmetric(horizontal: padding1x / 2 / 2),
MediaQuery.textScaleFactorOf(context),
);
}
@@ -467,7 +513,13 @@
@override
ButtonStyle defaultStyleOf(BuildContext context) {
- final EdgeInsetsGeometry scaledPadding = ButtonStyleButton.scaledPadding(
+ final bool useMaterial3 = Theme.of(context).useMaterial3;
+ final EdgeInsetsGeometry scaledPadding = useMaterial3 ? ButtonStyleButton.scaledPadding(
+ const EdgeInsetsDirectional.fromSTEB(16, 0, 24, 0),
+ const EdgeInsetsDirectional.fromSTEB(8, 0, 12, 0),
+ const EdgeInsetsDirectional.fromSTEB(4, 0, 6, 0),
+ MediaQuery.textScaleFactorOf(context),
+ ) : ButtonStyleButton.scaledPadding(
const EdgeInsetsDirectional.fromSTEB(12, 0, 16, 0),
const EdgeInsets.symmetric(horizontal: 8),
const EdgeInsetsDirectional.fromSTEB(8, 0, 4, 0),
diff --git a/packages/flutter/lib/src/material/outlined_button.dart b/packages/flutter/lib/src/material/outlined_button.dart
index b692cec..1d9633e 100644
--- a/packages/flutter/lib/src/material/outlined_button.dart
+++ b/packages/flutter/lib/src/material/outlined_button.dart
@@ -287,10 +287,10 @@
/// * `surfaceTintColor` - null
/// * `elevation` - 0
/// * `padding`
- /// * `textScaleFactor <= 1` - horizontal(16)
- /// * `1 < textScaleFactor <= 2` - lerp(horizontal(16), horizontal(8))
- /// * `2 < textScaleFactor <= 3` - lerp(horizontal(8), horizontal(4))
- /// * `3 < textScaleFactor` - horizontal(4)
+ /// * `textScaleFactor <= 1` - horizontal(24)
+ /// * `1 < textScaleFactor <= 2` - lerp(horizontal(24), horizontal(12))
+ /// * `2 < textScaleFactor <= 3` - lerp(horizontal(12), horizontal(6))
+ /// * `3 < textScaleFactor` - horizontal(6)
/// * `minimumSize` - Size(64, 40)
/// * `fixedSize` - null
/// * `maximumSize` - Size.infinite
@@ -307,6 +307,9 @@
/// * `enableFeedback` - true
/// * `alignment` - Alignment.center
/// * `splashFactory` - Theme.splashFactory
+ ///
+ /// For the [OutlinedButton.icon] factory, the start (generally the left) value of
+ /// [padding] is reduced from 24 to 16.
@override
ButtonStyle defaultStyleOf(BuildContext context) {
final ThemeData theme = Theme.of(context);
@@ -347,10 +350,12 @@
}
EdgeInsetsGeometry _scaledPadding(BuildContext context) {
+ final bool useMaterial3 = Theme.of(context).useMaterial3;
+ final double padding1x = useMaterial3 ? 24.0 : 16.0;
return ButtonStyleButton.scaledPadding(
- const EdgeInsets.symmetric(horizontal: 16),
- const EdgeInsets.symmetric(horizontal: 8),
- const EdgeInsets.symmetric(horizontal: 4),
+ EdgeInsets.symmetric(horizontal: padding1x),
+ EdgeInsets.symmetric(horizontal: padding1x / 2),
+ EdgeInsets.symmetric(horizontal: padding1x / 2 / 2),
MediaQuery.textScaleFactorOf(context),
);
}
@@ -424,6 +429,23 @@
clipBehavior: clipBehavior ?? Clip.none,
child: _OutlinedButtonWithIconChild(icon: icon, label: label),
);
+
+ @override
+ ButtonStyle defaultStyleOf(BuildContext context) {
+ final bool useMaterial3 = Theme.of(context).useMaterial3;
+ if (!useMaterial3) {
+ return super.defaultStyleOf(context);
+ }
+ final EdgeInsetsGeometry scaledPadding = ButtonStyleButton.scaledPadding(
+ const EdgeInsetsDirectional.fromSTEB(16, 0, 24, 0),
+ const EdgeInsetsDirectional.fromSTEB(8, 0, 12, 0),
+ const EdgeInsetsDirectional.fromSTEB(4, 0, 6, 0),
+ MediaQuery.textScaleFactorOf(context),
+ );
+ return super.defaultStyleOf(context).copyWith(
+ padding: MaterialStatePropertyAll<EdgeInsetsGeometry>(scaledPadding),
+ );
+ }
}
class _OutlinedButtonWithIconChild extends StatelessWidget {
diff --git a/packages/flutter/lib/src/material/text_button.dart b/packages/flutter/lib/src/material/text_button.dart
index a337ac6..97b77ff 100644
--- a/packages/flutter/lib/src/material/text_button.dart
+++ b/packages/flutter/lib/src/material/text_button.dart
@@ -270,7 +270,7 @@
/// * `shadowColor` - Theme.shadowColor
/// * `elevation` - 0
/// * `padding`
- /// * `textScaleFactor <= 1` - all(8)
+ /// * `textScaleFactor <= 1` - (horizontal(12), vertical(8))
/// * `1 < textScaleFactor <= 2` - lerp(all(8), horizontal(8))
/// * `2 < textScaleFactor <= 3` - lerp(horizontal(8), horizontal(4))
/// * `3 < textScaleFactor` - horizontal(4)
@@ -320,7 +320,7 @@
/// * `surfaceTintColor` - null
/// * `elevation` - 0
/// * `padding`
- /// * `textScaleFactor <= 1` - all(8)
+ /// * `textScaleFactor <= 1` - lerp(horizontal(12), horizontal(4))
/// * `1 < textScaleFactor <= 2` - lerp(all(8), horizontal(8))
/// * `2 < textScaleFactor <= 3` - lerp(horizontal(8), horizontal(4))
/// * `3 < textScaleFactor` - horizontal(4)
@@ -338,6 +338,9 @@
/// * `enableFeedback` - true
/// * `alignment` - Alignment.center
/// * `splashFactory` - Theme.splashFactory
+ ///
+ /// For the [TextButton.icon] factory, the end (generally the right) value of
+ /// [padding] is increased from 12 to 16.
/// {@endtemplate}
@override
ButtonStyle defaultStyleOf(BuildContext context) {
@@ -378,8 +381,9 @@
}
EdgeInsetsGeometry _scaledPadding(BuildContext context) {
+ final bool useMaterial3 = Theme.of(context).useMaterial3;
return ButtonStyleButton.scaledPadding(
- const EdgeInsets.all(8),
+ useMaterial3 ? const EdgeInsets.symmetric(horizontal: 12, vertical: 8) : const EdgeInsets.all(8),
const EdgeInsets.symmetric(horizontal: 8),
const EdgeInsets.symmetric(horizontal: 4),
MediaQuery.textScaleFactorOf(context),
@@ -491,8 +495,9 @@
@override
ButtonStyle defaultStyleOf(BuildContext context) {
+ final bool useMaterial3 = Theme.of(context).useMaterial3;
final EdgeInsetsGeometry scaledPadding = ButtonStyleButton.scaledPadding(
- const EdgeInsets.all(8),
+ useMaterial3 ? const EdgeInsetsDirectional.fromSTEB(12, 8, 16, 8) : const EdgeInsets.all(8),
const EdgeInsets.symmetric(horizontal: 4),
const EdgeInsets.symmetric(horizontal: 4),
MediaQuery.textScaleFactorOf(context),
diff --git a/packages/flutter/test/material/elevated_button_test.dart b/packages/flutter/test/material/elevated_button_test.dart
index bb0d15f..686fe96 100644
--- a/packages/flutter/test/material/elevated_button_test.dart
+++ b/packages/flutter/test/material/elevated_button_test.dart
@@ -1147,6 +1147,59 @@
expect(paddingWidget.padding, const EdgeInsets.all(22));
});
+ testWidgets('M3 ElevatedButton has correct padding', (WidgetTester tester) async {
+ final Key key = UniqueKey();
+ await tester.pumpWidget(
+ MaterialApp(
+ theme: ThemeData.from(colorScheme: const ColorScheme.light(), useMaterial3: true),
+ home: Scaffold(
+ body: Center(
+ child: ElevatedButton(
+ key: key,
+ onPressed: () {},
+ child: const Text('ElevatedButton'),
+ ),
+ ),
+ ),
+ ),
+ );
+
+ final Padding paddingWidget = tester.widget<Padding>(
+ find.descendant(
+ of: find.byKey(key),
+ matching: find.byType(Padding),
+ ),
+ );
+ expect(paddingWidget.padding, const EdgeInsets.symmetric(horizontal: 24));
+ });
+
+ testWidgets('M3 ElevatedButton.icon has correct padding', (WidgetTester tester) async {
+ final Key key = UniqueKey();
+ await tester.pumpWidget(
+ MaterialApp(
+ theme: ThemeData.from(colorScheme: const ColorScheme.light(), useMaterial3: true),
+ home: Scaffold(
+ body: Center(
+ child: ElevatedButton.icon(
+ key: key,
+ icon: const Icon(Icons.favorite),
+ onPressed: () {},
+ label: const Text('ElevatedButton'),
+ ),
+ ),
+ ),
+ ),
+ );
+
+ final Padding paddingWidget = tester.widget<Padding>(
+ find.descendant(
+ of: find.byKey(key),
+ matching: find.byType(Padding),
+ ),
+ );
+ expect(paddingWidget.padding, const EdgeInsetsDirectional.fromSTEB(16.0, 0.0, 24.0, 0.0));
+ });
+
testWidgets('Elevated buttons animate elevation before color on disable', (WidgetTester tester) async {
// This is a regression test for https://github.com/flutter/flutter/issues/387
diff --git a/packages/flutter/test/material/filled_button_test.dart b/packages/flutter/test/material/filled_button_test.dart
index fefdb72..235729d 100644
--- a/packages/flutter/test/material/filled_button_test.dart
+++ b/packages/flutter/test/material/filled_button_test.dart
@@ -1224,6 +1224,59 @@
expect(paddingWidget.padding, const EdgeInsets.all(22));
});
+ testWidgets('M3 FilledButton has correct padding', (WidgetTester tester) async {
+ final Key key = UniqueKey();
+ await tester.pumpWidget(
+ MaterialApp(
+ theme: ThemeData.from(colorScheme: const ColorScheme.light(), useMaterial3: true),
+ home: Scaffold(
+ body: Center(
+ child: ElevatedButton(
+ key: key,
+ onPressed: () {},
+ child: const Text('FilledButton'),
+ ),
+ ),
+ ),
+ ),
+ );
+
+ final Padding paddingWidget = tester.widget<Padding>(
+ find.descendant(
+ of: find.byKey(key),
+ matching: find.byType(Padding),
+ ),
+ );
+ expect(paddingWidget.padding, const EdgeInsets.symmetric(horizontal: 24));
+ });
+
+ testWidgets('M3 FilledButton.icon has correct padding', (WidgetTester tester) async {
+ final Key key = UniqueKey();
+ await tester.pumpWidget(
+ MaterialApp(
+ theme: ThemeData.from(colorScheme: const ColorScheme.light(), useMaterial3: true),
+ home: Scaffold(
+ body: Center(
+ child: FilledButton.icon(
+ key: key,
+ icon: const Icon(Icons.favorite),
+ onPressed: () {},
+ label: const Text('ElevatedButton'),
+ ),
+ ),
+ ),
+ ),
+ );
+
+ final Padding paddingWidget = tester.widget<Padding>(
+ find.descendant(
+ of: find.byKey(key),
+ matching: find.byType(Padding),
+ ),
+ );
+ expect(paddingWidget.padding, const EdgeInsetsDirectional.fromSTEB(16.0, 0.0, 24.0, 0.0));
+ });
+
testWidgets('By default, FilledButton shape outline is defined by shape.side', (WidgetTester tester) async {
const Color borderColor = Color(0xff4caf50);
await tester.pumpWidget(
diff --git a/packages/flutter/test/material/outlined_button_test.dart b/packages/flutter/test/material/outlined_button_test.dart
index 0bfb6e5..d53af3e 100644
--- a/packages/flutter/test/material/outlined_button_test.dart
+++ b/packages/flutter/test/material/outlined_button_test.dart
@@ -1388,6 +1388,59 @@
expect(paddingWidget.padding, const EdgeInsets.all(22));
});
+ testWidgets('M3 OutlinedButton has correct padding', (WidgetTester tester) async {
+ final Key key = UniqueKey();
+ await tester.pumpWidget(
+ MaterialApp(
+ theme: ThemeData.from(colorScheme: const ColorScheme.light(), useMaterial3: true),
+ home: Scaffold(
+ body: Center(
+ child: OutlinedButton(
+ key: key,
+ onPressed: () {},
+ child: const Text('OutlinedButton'),
+ ),
+ ),
+ ),
+ ),
+ );
+
+ final Padding paddingWidget = tester.widget<Padding>(
+ find.descendant(
+ of: find.byKey(key),
+ matching: find.byType(Padding),
+ ),
+ );
+ expect(paddingWidget.padding, const EdgeInsets.symmetric(horizontal: 24));
+ });
+
+ testWidgets('M3 OutlinedButton.icon has correct padding', (WidgetTester tester) async {
+ final Key key = UniqueKey();
+ await tester.pumpWidget(
+ MaterialApp(
+ theme: ThemeData.from(colorScheme: const ColorScheme.light(), useMaterial3: true),
+ home: Scaffold(
+ body: Center(
+ child: OutlinedButton.icon(
+ key: key,
+ icon: const Icon(Icons.favorite),
+ onPressed: () {},
+ label: const Text('OutlinedButton'),
+ ),
+ ),
+ ),
+ ),
+ );
+
+ final Padding paddingWidget = tester.widget<Padding>(
+ find.descendant(
+ of: find.byKey(key),
+ matching: find.byType(Padding),
+ ),
+ );
+ expect(paddingWidget.padding, const EdgeInsetsDirectional.fromSTEB(16.0, 0.0, 24.0, 0.0));
+ });
+
testWidgets('Fixed size OutlinedButtons', (WidgetTester tester) async {
await tester.pumpWidget(
MaterialApp(
diff --git a/packages/flutter/test/material/text_button_test.dart b/packages/flutter/test/material/text_button_test.dart
index 17fd102..224b4c6 100644
--- a/packages/flutter/test/material/text_button_test.dart
+++ b/packages/flutter/test/material/text_button_test.dart
@@ -1195,6 +1195,59 @@
expect(paddingWidget.padding, const EdgeInsets.all(22));
});
+ testWidgets('M3 TextButton has correct default padding', (WidgetTester tester) async {
+ final Key key = UniqueKey();
+ await tester.pumpWidget(
+ MaterialApp(
+ theme: ThemeData.from(colorScheme: const ColorScheme.light(), useMaterial3: true),
+ home: Scaffold(
+ body: Center(
+ child: TextButton(
+ key: key,
+ onPressed: () {},
+ child: const Text('TextButton'),
+ ),
+ ),
+ ),
+ ),
+ );
+
+ final Padding paddingWidget = tester.widget<Padding>(
+ find.descendant(
+ of: find.byKey(key),
+ matching: find.byType(Padding),
+ ),
+ );
+ expect(paddingWidget.padding, const EdgeInsets.symmetric(horizontal: 12,vertical: 8));
+ });
+
+ testWidgets('M3 TextButton.icon has correct default padding', (WidgetTester tester) async {
+ final Key key = UniqueKey();
+ await tester.pumpWidget(
+ MaterialApp(
+ theme: ThemeData.from(colorScheme: const ColorScheme.light(), useMaterial3: true),
+ home: Scaffold(
+ body: Center(
+ child: TextButton.icon(
+ key: key,
+ onPressed: () {},
+ icon: const Icon(Icons.add),
+ label: const Text('TextButton'),
+ ),
+ ),
+ ),
+ ),
+ );
+
+ final Padding paddingWidget = tester.widget<Padding>(
+ find.descendant(
+ of: find.byKey(key),
+ matching: find.byType(Padding),
+ ),
+ );
+ expect(paddingWidget.padding, const EdgeInsetsDirectional.fromSTEB(12, 8, 16, 8));
+ });
+
testWidgets('Fixed size TextButtons', (WidgetTester tester) async {
await tester.pumpWidget(
MaterialApp(