-
Notifications
You must be signed in to change notification settings - Fork 6k
Engine/LibTxt/dart:ui impl of TextHeightBehavior #15087
Conversation
This may be landed independently from the framework side changes as it is backwards compatible and non-breaking. |
Bugfix portion of this is extracted out in standalone PR: #15106 |
cc @Hixie for API review. The framework side PR would add |
Framework side changes: flutter/flutter#48346 |
Will require a manual roll to pass ParagraphStyle toString tests need to be updated with new property. |
lib/ui/text.dart
Outdated
@@ -443,6 +443,8 @@ class BoundaryLineHeightBehavior { | |||
/// * last: When true, the [TextStyle.height] modifier will be applied to | |||
/// to the descent of the last line. When false, the font's default descent | |||
/// will be used. | |||
/// | |||
/// All properties default to true (height modificaitons applied as normal). |
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.
typo
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.
(also the cases below)
lib/ui/text.dart
Outdated
/// the [TextStyle.height] will have no effect on the ascent of the first line. | ||
/// | ||
/// Defaults to true (height modificaitons applied as normal). | ||
final bool first; |
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.
"first" is not a yes/no question. It would be more intuitive with a name like "padFirstLine" or something.
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.
or "applyAscentToFirstLine" and "applyDescentToLastLine" maybe
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.
Changed to applyHeightToFirstLineAscent
A bit long but very descriptive.
lib/ui/text.dart
Outdated
/// the [TextStyle.height] will have no effect on the descent of the last line. | ||
/// | ||
/// Defaults to true (height modificaitons applied as normal). | ||
final bool last; |
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.
similar comment here
lib/ui/text.dart
Outdated
|
||
@override | ||
bool operator ==(dynamic other) { | ||
if (identical(this, other)) |
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.
identical check shouldn't be necessary here
lib/ui/text.dart
Outdated
String toString() { | ||
return 'BoundaryLineHeightBehavior(' | ||
'first: $first, ' | ||
'last: $last, ' |
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.
when you write a test for the toString, you'll see you have a trailing comma. :-)
@@ -765,13 +844,14 @@ Int32List _encodeParagraphStyle( | |||
String fontFamily, |
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.
the comment on this method is out of date
@@ -881,6 +965,7 @@ class ParagraphStyle { | |||
String fontFamily, |
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.
docs on this constructor are out of date
Landing this will break engine->framework roller until flutter/flutter#48346 is also landed/manually rolled. build_and_test_linux_unopt_debug will be red until framework PR is landed as well. |
…)" This reverts commit cbf4536.
flutter/engine@c4229bf...ec32966 git log c4229bf..ec32966 --first-parent --oneline 2020-01-28 [email protected] Revert "Always make gpu thread different from platform thread regardless of platform view (#16068)" (flutter/engine#16161) 2020-01-28 [email protected] Roll fuchsia/sdk/core/mac-amd64 from gNitp... to 5fMtM... (flutter/engine#16153) 2020-01-28 [email protected] Revert "Disable setting a library tag handler." (flutter/engine#16157) 2020-01-28 [email protected] Always make gpu thread different from platform thread regardless of platform view (flutter/engine#16068) 2020-01-28 [email protected] Add test to ensure that concurrent message loops have at least one workers. (flutter/engine#16074) 2020-01-28 [email protected] Revert breaking PRs (flutter/engine#16148) 2020-01-28 [email protected] Roll fuchsia/sdk/core/linux-amd64 from 8Ns10... to 2rLoq... (flutter/engine#15971) 2020-01-28 [email protected] Gets the DPI for all awareness mode and older Windows versions (flutter/engine#15951) 2020-01-28 [email protected] Hold a mutex when updating all CanPostTaskToAllNativeThreads::Captures members. (flutter/engine#16085) 2020-01-28 [email protected] Disable setting a library tag handler. (flutter/engine#16086) 2020-01-28 [email protected] Web PargraphStyle TextHeightBehavior integration (flutter/engine#16075) 2020-01-28 [email protected] Fix flake by making thread ID tracking in CanPostTaskToAllNativeThreads thread safe. (flutter/engine#16081) 2020-01-28 [email protected] Remove buggy assertion in EmbedderTest::CanPostTaskToAllNativeThreads. (flutter/engine#16071) 2020-01-27 [email protected] Remove tonic/platform. (flutter/engine#16062) 2020-01-27 [email protected] Allow embedders to schedule a callback on all engine managed threads. (flutter/engine#15980) 2020-01-27 [email protected] Engine/LibTxt/dart:ui impl of TextHeightBehavior (flutter/engine#15087) 2020-01-27 [email protected] Roll src/third_party/skia f1b2b42613cb..9c1d30dd163e (8 commits) (flutter/engine#16060) 2020-01-27 [email protected] Remove stale recipe changelog. (flutter/engine#15985) 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] on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
* Revert "Web PargraphStyle TextHeightBehavior integration (flutter#16075)" This reverts commit 86682a2. * Revert "Engine/LibTxt/dart:ui impl of TextHeightBehavior (flutter#15087)" This reverts commit cbf4536.
…ter#15087" (flutter#16155)" This reverts commit b7ccc90.
…)" This reverts commit 5938439.
Part of a series of changes to resolve flutter/flutter#47175
Paired with the Framework-side changes: flutter/flutter#48346
Adds
HeightBehavior
to allow for adjustment of how vertical line height is applied for the first and last lines.