cp: Reverts "[cupertino.dart] Implement CupertinoMenuAnchor and Cupertino…#183019
Conversation
…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>
|
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. |
There was a problem hiding this comment.
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.
| /// 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; |
There was a problem hiding this comment.
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
- The current documentation for
onOpenandonCloseis 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)
8dd81f1
into
flutter:flutter-3.42-candidate.0
…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-assistbot 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-assistbot 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.