Skip to content

cp: Reverts "[cupertino.dart] Implement CupertinoMenuAnchor and Cupertino…#183019

Merged
auto-submit[bot] merged 1 commit into
flutter:flutter-3.42-candidate.0from
chunhtai:cp-flutter-3.42-candidate.0
Feb 27, 2026
Merged

cp: Reverts "[cupertino.dart] Implement CupertinoMenuAnchor and Cupertino…#183019
auto-submit[bot] merged 1 commit into
flutter:flutter-3.42-candidate.0from
chunhtai:cp-flutter-3.42-candidate.0

Conversation

@chunhtai

@chunhtai chunhtai commented Feb 27, 2026

Copy link
Copy Markdown
Contributor

…MenuItem using RawMenuAnchor (#174695)" (#182010)

cp: fa51de9

Fixes: #183007

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for
GitHub
. 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.

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

Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.

List which issues are fixed by this PR. You must list at least one issue. An issue is not required if the PR fixes something trivial like a typo.

If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. 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.

…MenuItem using RawMenuAnchor (flutter#174695)" (flutter#182010)

<!-- start_original_pr_link -->
Reverts: flutter#174695
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: jtmcdole
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: post submits are broken

Please do not directly add to the merge queue until all presubmits pass.

#21 main.<anonymous closure>
(file:///C:/b/s/w/ir/x/w/flutter/packages/flutter/test/cupertino/menu_anchor_test.dart:969:18)

<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: davidhicks980
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {dkwingsmt}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
This PR implements `CupertinoMenuAnchor`, `CupertinoMenuItem`, and
`CupertinoMenuDivider` using `RawMenuAnchor`.

Resolves flutter#60298,
notDmDrl/pull_down_button#26,
flutter#137936.


https://github.com/user-attachments/assets/551f2169-cac4-4078-890b-6728ab9c2ae5

Dartpad: https://dartpad.dev/8c6bba779b6a00e95582b61b132292bc

@dkwingsmt 

## 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].

**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.

<!-- 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

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
@flutter-dashboard

Copy link
Copy Markdown

This pull request was opened from and to a release candidate branch. This should only be done as part of the official Flutter release process. If you are attempting to make a regular contribution to the Flutter project, please close this PR and follow the instructions at Tree Hygiene for detailed instructions on contributing to Flutter.

Reviewers: Use caution before merging pull requests to release branches. Ensure the proper procedure has been followed.

@github-actions github-actions Bot added framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. f: cupertino flutter/packages/flutter/cupertino repository d: api docs Issues with https://api.flutter.dev/ d: examples Sample code and demos labels Feb 27, 2026
@reidbaker reidbaker self-requested a review February 27, 2026 18:20
@reidbaker reidbaker added the autosubmit Merge PR when tree becomes green via auto submit App label Feb 27, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request reverts the implementation of CupertinoMenuAnchor and CupertinoMenuItem. This involves removing example files, test files, and the export from cupertino.dart. My review focuses on a documentation change in material/menu_anchor.dart where the descriptions for onOpen and onClose callbacks have become less precise. I've suggested an improvement to make the documentation clearer and more accurate.

Comment on lines +365 to 369
/// A callback that is invoked when the menu is opened.
final VoidCallback? onOpen;

/// A callback that is invoked when the menu finishes closing.
///
/// Defaults to null.
/// A callback that is invoked when the menu is closed.
final VoidCallback? onClose;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The documentation for onOpen and onClose is becoming less precise with this revert.

  • For onOpen, the previous description "when the menu begins opening" was more accurate as the callback is invoked at the start of the opening process.
  • For onClose, the previous description "when the menu finishes closing" was incorrect. The new version "when the menu is closed" is also ambiguous, as the callback is invoked at the start of the closing process.

To improve clarity and accuracy for developers using this API, I suggest updating the documentation as follows:

  /// A callback that is invoked when the menu begins to open.
  final VoidCallback? onOpen;

  /// A callback that is invoked when the menu begins to close.
  final VoidCallback? onClose;
References
  1. The current documentation for onOpen and onClose is ambiguous. The suggested change makes the documentation more useful and accurate by clearly stating when the callbacks are invoked, adhering to the principle that documentation should be useful (line 55). (link)

@auto-submit auto-submit Bot merged commit 8dd81f1 into flutter:flutter-3.42-candidate.0 Feb 27, 2026
143 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App d: api docs Issues with https://api.flutter.dev/ d: examples Sample code and demos f: cupertino flutter/packages/flutter/cupertino repository f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants