Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(261)

Issue 1219113003: Make popup menus line up to their baseline per the Material spec. (Closed)

Created:
5 years, 5 months ago by Hixie
Modified:
5 years, 5 months ago
Reviewers:
abarth-chromium
CC:
abarth-chromium, gregsimon, jackson_old, mojo-reviews_chromium.org, qsr+mojo_chromium.org
Base URL:
https://github.com/domokit/mojo.git@master
Target Ref:
refs/heads/master
Project:
mojo
Visibility:
Public.

Description

Make popup menus line up to their baseline per the Material spec. This entails: - Making the baseline logic cache results. - Making the baseline logic track who used its information. - Making the baseline logic mark all ancestors up to whoever used its information wheneven its node gets markNeedsLayout. - Making RenderShrinkWrapWidth make its child respect the step width and step height, rather than just sizing the child then snapping. This is required to make the ink splashes render right on menus that are snapped. - Adding debugDescribeSettings() to RenderShrinkWrapWidth. - Introducing a RenderBaseline class that offsets its child to a certain baseline. - Factoring out some common code from RenderBaseline and RenderPositionedBox to RenderShiftedBox. - Redoing all the menu layout logic. BUG= R=abarth@chromium.org Committed: https://chromium.googlesource.com/external/mojo/+/b5dcf78f609212eced8d6657182e9cc5e98619ce

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Total comments: 1

Patch Set 6 : #

Total comments: 1

Patch Set 7 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+243 lines, -84 lines) Patch
M sky/sdk/example/stocks/lib/stock_menu.dart View 1 chunk +2 lines, -2 lines 0 comments Download
M sky/sdk/lib/rendering/block.dart View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M sky/sdk/lib/rendering/box.dart View 1 2 3 4 5 6 13 chunks +166 lines, -43 lines 0 comments Download
M sky/sdk/lib/rendering/flex.dart View 1 2 3 4 5 1 chunk +3 lines, -4 lines 0 comments Download
M sky/sdk/lib/rendering/object.dart View 1 2 3 4 5 4 chunks +4 lines, -4 lines 0 comments Download
M sky/sdk/lib/rendering/paragraph.dart View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M sky/sdk/lib/rendering/stack.dart View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M sky/sdk/lib/widgets/basic.dart View 1 1 chunk +24 lines, -0 lines 0 comments Download
M sky/sdk/lib/widgets/popup_menu.dart View 1 2 3 chunks +26 lines, -19 lines 0 comments Download
M sky/sdk/lib/widgets/popup_menu_item.dart View 2 chunks +8 lines, -2 lines 0 comments Download
M sky/specs/style-guide.md View 1 2 3 4 1 chunk +5 lines, -5 lines 0 comments Download

Messages

Total messages: 4 (1 generated)
abarth-chromium
https://codereview.chromium.org/1219113003/diff/80001/sky/sdk/lib/rendering/box.dart File sky/sdk/lib/rendering/box.dart (right): https://codereview.chromium.org/1219113003/diff/80001/sky/sdk/lib/rendering/box.dart#newcode334 sky/sdk/lib/rendering/box.dart:334: _cachedBaselines[baseline] = computeDistanceToActualBaseline(baseline, client); _cachedBaselines.putIfAbsent(...)
5 years, 5 months ago (2015-07-01 17:29:53 UTC) #2
abarth-chromium
lgtm https://codereview.chromium.org/1219113003/diff/100001/sky/sdk/lib/rendering/box.dart File sky/sdk/lib/rendering/box.dart (right): https://codereview.chromium.org/1219113003/diff/100001/sky/sdk/lib/rendering/box.dart#newcode368 sky/sdk/lib/rendering/box.dart:368: RenderBox node = this; Is it possible to ...
5 years, 5 months ago (2015-07-01 18:22:59 UTC) #3
Hixie
5 years, 5 months ago (2015-07-01 19:24:49 UTC) #4
Message was sent while issue was closed.
Committed patchset #7 (id:120001) manually as
b5dcf78f609212eced8d6657182e9cc5e98619ce (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698