-
Notifications
You must be signed in to change notification settings - Fork 6k
Fix: On the Web, cannot support multiline inputting when registering customized TextInputControl #45522
Conversation
|
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie or stuartmorgan on the #hackers channel in Chat (don't just cc them here, they won't see it! Use Discord!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
68dde85 to
0269e8a
Compare
mdebbar
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution!
It makes sense to fix this bug, but I'm not sure if we should always treat TextInputType.none as multiline.
0269e8a to
629765b
Compare
629765b to
12c2be7
Compare
bb0b606 to
101df2c
Compare
101df2c to
0a98e39
Compare
|
I'm sorry about asking for review again and again. But this time, I think that all work is done. Ask for a review again. |
htoor3
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this! This lgtm. Before merging, let's verify the framework approach is the correct one with @Renzo-Olivares
| const EngineInputType(); | ||
|
|
||
| static EngineInputType fromName(String name, {bool isDecimal = false}) { | ||
| static EngineInputType fromName(String name, {bool isDecimal = false, bool isMultiline= false}) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: change isMultiline= false to isMultiline = false
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry about this. Now I have fixed it. Thank you!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@htoor3, Happy New Year! The framework PR has been merged. Is it time to merge this PR?
For #125875 and flutter/engine#45522 According to [this discussion](#139446 (comment)), Just added `forceMultiline` to JSON on `_configurationToJson`. @LongCatIsLooong @Renzo-Olivares
5e18965 to
7523e7d
Compare
|
lgtm, thank you @Satsrag for your contribution! |
|
@mdebbar, Please have a review. |
|
@htoor3 when this PR will be merged? |
|
auto label is removed for flutter/engine/45522, due to This PR has not met approval requirements for merging. The PR author is not a member of flutter-hackers and needs 1 more review(s) in order to merge this PR.
|
|
Let's get a review from @mdebbar and then we can get this merged |
mdebbar
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for helping make Flutter better!
The PR looks good to me with some minor suggestions.
1c18add to
ef1a8db
Compare
…customized TextInputControl
Co-authored-by: Mouad Debbar <[email protected]>
Co-authored-by: Mouad Debbar <[email protected]>
ef1a8db to
9b49e0b
Compare
@mdebbar Thank you! Fixed according to your suggestion. |
…gistering customized TextInputControl (flutter/engine#45522)
…143082) flutter/engine@1ac6beb...6807342 2024-02-07 [email protected] Roll Skia from 0fb71bedffa2 to 7777976cd518 (3 revisions) (flutter/engine#50435) 2024-02-07 [email protected] Fix: On the Web, cannot support multiline inputting when registering customized TextInputControl (flutter/engine#45522) 2024-02-07 [email protected] Roll Skia from 3cc2a15196cb to 0fb71bedffa2 (1 revision) (flutter/engine#50429) 2024-02-07 [email protected] Roll Skia from 1b266b36a4c8 to 3cc2a15196cb (1 revision) (flutter/engine#50427) 2024-02-07 [email protected] [Impeller] Always pop clips on restore. (flutter/engine#50419) 2024-02-07 [email protected] Roll Dart SDK from 35269fa71956 to 452dd17120b7 (1 revision) (flutter/engine#50424) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
For flutter/flutter/125875
When registering customized TextInputControl, the _PlatformTextInputControl sends inputType = TextInputType.none to the engine. After receiving TextInputType.none, the engine on the Web will create a
<input>element instead of<textarea>. So there is no way to input \n(multiline).This is my solution. I tested in Android Chrome, iOS Safari, and macOS Chrome. It works for me. But I'm not sure about other use cases. I pleasure, If someone gives me suggestions.