Repository navigation
Comparing changes
Open a pull request
base repository: flutter/packages
base: e55e7ac30b8c
head repository: flutter/packages
compare: ba0364a650af
- 9 commits
- 157 files changed
- 5 contributors
Commits on Sep 25, 2026
-
[google_maps_flutter_web] Fix AdvancedMarker anchors on web (#11966)
Fixes AdvancedMarker anchor handling in `google_maps_flutter_web`. Previously `AdvancedMarker.anchor` was not applied on web, so custom advanced marker content was positioned as if it used the default anchor. This caused markers with non-default anchors to appear offset from their intended map coordinates. This PR converts Flutter marker anchor offsets into the Google Maps JavaScript Advanced Marker `anchorLeft` and `anchorTop` CSS offset properties when creating marker options, and reapplies those properties when an existing advanced marker is updated. Adds integration test coverage for creating and updating an `AdvancedMarker` with custom anchors. Addresses flutter/flutter#80578. ## Pre-Review Checklist
Configuration menu - View commit details
-
Copy full SHA for 756c474 - Browse repository at this point
Copy the full SHA 756c474View commit details -
[material_ui] Migrate M3 Divider template to use new gen_defaults (#1…
…2915) Work toward flutter/flutter#187899. Fixes flutter/flutter#188412. This PR migrates the M3 Divider defaults template to the new packages/material_ui/tool/gen_defaults generator. ## Pre-Review Checklist
Configuration menu - View commit details
-
Copy full SHA for 897192a - Browse repository at this point
Copy the full SHA 897192aView commit details -
[material_ui] Migrate M3 Drawer template to use new gen_defaults (#12916
) Work toward flutter/flutter#187899. Fixes flutter/flutter#188413. This PR migrates the M3 Drawer defaults template to the new packages/material_ui/tool/gen_defaults generator. ## Pre-Review Checklist
Configuration menu - View commit details
-
Copy full SHA for 6b8b927 - Browse repository at this point
Copy the full SHA 6b8b927View commit details -
[two_dimensional_scrollables] Exclude trailing pinned spans from the …
…non-pinned range (#12666) `RenderTableViewport` lays out and paints the table as nine regions: leading pinned, regular and trailing pinned rows, each crossed with the same three column categories. `_updateFirstAndLastVisibleCell` binary searches for the last regular row and column of the visible range, and when no regular span reaches the trailing edge of the layout target it fell back to the last index in the metrics map: ```dart _lastNonPinnedColumn ??= _columnMetrics.length - 1; ``` Whenever `trailingPinnedRowCount` or `trailingPinnedColumnCount` is greater than zero, that last index *is* a trailing pinned span. The regular range then overlaps the trailing pinned range, and the same `TableVicinity` is visited by two regions in a single layout and paint pass. `_updateColumnMetrics` and `_updateRowMetrics` already cap the same value correctly, with the rule that `_lastRegularColumnIndex` and `_lastRegularRowIndex` express, so the two code paths disagreed. This PR makes `_updateFirstAndLastVisibleCell` use those getters. The old fallback is kept for the case where they are null — infinite spans with no null terminator — where trailing pinned spans cannot exist, since `_firstTrailingPinnedColumn` and `_firstTrailingPinnedRow` both require a non-null span count. Fixes flutter/flutter#185842 Fixes flutter/flutter#190800 ## Beyond the duplicated work The overlap is not only wasted layout. Scrolling a table to the end with a trailing pinned span throws, because two regions claim the same cell: ``` Expected to re-use an element at (row: 0, column: 19), but none was found. package:flutter/src/widgets/two_dimensional_viewport.dart:377 'elementToReuse != null' ``` and, once the spans carry a decoration, the non-pinned region reaches a cell whose `paintOffset` was never set for it: ``` Null check operator used on a null value RenderTableViewport._paintCells.getColumnRect (table.dart:1888) ``` Dragging through a 60x60 table with pinned and trailing pinned rows and columns throws `Expected to re-use an element at ...` and `TableViewCell for (row: 1, column: 58) could not be found` before this change, and nothing after it. That is the same subsystem and trigger as flutter/flutter#190800, but the specific assertion reported there did not reproduce in my runs, so I am not claiming this fixes it. ## Tests Two regression tests are added to `table_test.dart`, one per axis. Each scrolls a table with a trailing pinned span to the end, asserts that no exception is thrown, and asserts that the trailing pinned span's decoration is painted exactly once — by the trailing pinned region only. Both fail before this change. Counting `cellBuilder` calls does not work as a test here: `buildOrObtainChildFor` caches children for the frame and `RenderObject.layout` early-returns on unchanged constraints, so the duplicated visit is invisible from the delegate. The new `CountingSpanDecoration` helper observes it through the public `TableSpanDecoration.paint` API instead. ## Pre-Review Checklist [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
Configuration menu - View commit details
-
Copy full SHA for c983254 - Browse repository at this point
Copy the full SHA c983254View commit details -
[material_ui] Migrate M3 ExpansionTile template to use new gen_defaul…
…ts (#12920) Work toward flutter/flutter#187899. Fixes flutter/flutter#188414. This PR migrates the M3 ExpansionTile defaults template to use the new `gen_defaults` in `material_ui`. The generated defaults remain unchanged. ## Pre-Review Checklist
Configuration menu - View commit details
-
Copy full SHA for 5eb35f5 - Browse repository at this point
Copy the full SHA 5eb35f5View commit details -
[material_ui] Don't clip MenuItemButton.leadingIcon (#12986)
`_MenuItemLabel` wrapped the leading `Row` in a hard-coded `ClipRect` when `overflowAxis` is vertical, which clipped `leadingIcon` to its own bounds. This clips any decoration painting outside those bounds, such as a `Badge`. This PR is to remove the `ClipRect` so leading icons won't be incorrectly clipped. Fixes flutter/flutter#192732 Before <img width="158" height="196" alt="badge_before_real" src="https://github.com/user-attachments/assets/4f1a5121-3908-4f5b-b1ea-f78803da7540" /> After <img width="158" height="196" alt="badge_after_real" src="https://github.com/user-attachments/assets/8c302692-5dcf-40d7-92bf-111a72437cfc" /> ## Pre-Review Checklist
Configuration menu - View commit details
-
Copy full SHA for f0c985d - Browse repository at this point
Copy the full SHA f0c985dView commit details -
Plugin example apps to 9.3.1 (#13019)
Update Flutter plugin examples to AGP: 9.3.1 KGP: 2.4.20 Gradle: 9.5.0 Partially Addresses flutter/flutter#189518 ## Pre-Review Checklist **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
Configuration menu - View commit details
-
Copy full SHA for d8933fd - Browse repository at this point
Copy the full SHA d8933fdView commit details
Commits on Sep 26, 2026
-
[material_ui] Add Material 3 Expressive IconButton (#12832)
This PR is to port #12093 which was created in `m3e_migration` feature branch. ### The original PR description This PR is to add Material 3 Expressive IconButton support behind an explicit component-level opt-in. This PR adds: * 3 new `ButtonStyle` properties used by the IconButton M3E migration: * `sizeVariant` * `iconButtonWidth` * `shapeVariant` * `IconButtonThemeData.variant` so `IconButtons` can opt into `StyleVariant.material3Expressive`. * `IconButtonTemplateM3E` to generate `IconButton` defaults from the M3E token data. * Adds the generated M3E `IconButton` defaults in: * `packages/material_ui/lib/src/generated/icon_button_defaults_m3e.g.dart` * Material 3 Expressive defines an extra-small IconButton with a 32dp visual container while retaining a 48dp interaction target. `ThemeData.materialTapTargetSize` defaults to `shrinkWrap` on desktop, so inheriting it would reduce the interaction target to 32dp. M3E therefore defaults to `MaterialTapTargetSize.padded`. Applications can still override ButtonStyle.tapTargetSize explicitly. ### TODO: * I'll add a separate PR/demo showing the Material 3 Expressive IconButton variants. * Will also update IconButton shape morphing to use physics-based motion animation. <img width="1858" height="1514" alt="image" src="https://github.com/user-attachments/assets/1914ca8e-a1e2-4881-aa9b-083f26d44b50" /> ## Pre-Review Checklist
Configuration menu - View commit details
-
Copy full SHA for 15e15cc - Browse repository at this point
Copy the full SHA 15e15ccView commit details -
[google_maps_flutter] Indicate that default iOS impl is discoraged (#…
…12872) Updates the app-facing package's README to tell clients to pick either the SDK 9 or SDK 10 package, explicitly discouraging using the default implementation. As discussed in flutter/flutter#119108 this is an interim step until either: - Flutter drops support for iOS 15, or - we decide that it's okay to potentially cause minor regressions for clients with apps that require iOS 16+ by making the endorsed implementation the `_sdk9` variant, rather than the legacy version that will auto-select SDK 10 for those users. Follow-up to flutter/flutter#119108 ## Pre-Review Checklist [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
Configuration menu - View commit details
-
Copy full SHA for ba0364a - Browse repository at this point
Copy the full SHA ba0364aView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff e55e7ac30b8c...ba0364a650af