RESOLVED FIXED 190492
[css-grid] Fix percentages in relative offsets for grid items
https://bugs.webkit.org/show_bug.cgi?id=190492
Summary [css-grid] Fix percentages in relative offsets for grid items
Manuel Rego Casasnovas
Reported 2018-10-11 14:58:45 PDT
There are issues if you use position relative and percentage offsets in grid items. This has been already fixed in Blink: https://bugs.chromium.org/p/chromium/issues/detail?id=835607
Attachments
Patch (27.08 KB, patch)
2018-10-11 15:12 PDT, Manuel Rego Casasnovas
no flags
Rebased patch (16.41 KB, patch)
2018-12-20 14:24 PST, Manuel Rego Casasnovas
no flags
Rebased patch (16.40 KB, patch)
2018-12-20 14:55 PST, Manuel Rego Casasnovas
no flags
Apply suggested changes (16.35 KB, patch)
2018-12-20 15:00 PST, Manuel Rego Casasnovas
no flags
Manuel Rego Casasnovas
Comment 1 2018-10-11 15:12:58 PDT
Sergio Villar Senin
Comment 2 2018-10-16 09:31:46 PDT
Comment on attachment 352088 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=352088&action=review Looks good overall. However I am not sure whether this change could cause performance regressions. See bellow, have you observed any significant change in Blink? > Source/WebCore/rendering/RenderBoxModelObject.cpp:426 > + bool hasOverrideContainingBlockContent = hasOverrideContainingBlockContentHeight(); You're unconditionally adding a hashmap query here. I think it's better to have the call inside the if so we can shortcircuit it if any of the previous conditions is already true. On the other hand it might be the case that we need to call it twice in the worst case...
Javier Fernandez
Comment 3 2018-10-17 01:47:06 PDT
Comment on attachment 352088 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=352088&action=review >> Source/WebCore/rendering/RenderBoxModelObject.cpp:426 >> + bool hasOverrideContainingBlockContent = hasOverrideContainingBlockContentHeight(); > > You're unconditionally adding a hashmap query here. I think it's better to have the call inside the if so we can shortcircuit it if any of the previous conditions is already true. > > On the other hand it might be the case that we need to call it twice in the worst case... We should get rid of the hashmap to manage the RenderBox override size, as we do in Blink. About this specific case, I wouldn't complicate the code because of performance, since we'll probably get rid of the hashmap in the near future.
Manuel Rego Casasnovas
Comment 4 2018-10-17 08:44:24 PDT
Comment on attachment 352088 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=352088&action=review >>> Source/WebCore/rendering/RenderBoxModelObject.cpp:426 >>> + bool hasOverrideContainingBlockContent = hasOverrideContainingBlockContentHeight(); >> >> You're unconditionally adding a hashmap query here. I think it's better to have the call inside the if so we can shortcircuit it if any of the previous conditions is already true. >> >> On the other hand it might be the case that we need to call it twice in the worst case... > > We should get rid of the hashmap to manage the RenderBox override size, as we do in Blink. > > About this specific case, I wouldn't complicate the code because of performance, since we'll probably get rid of the hashmap in the near future. We're getting some issues in Blink, so until we stablize the code there I don't think it makes sense to merge this on WebKit.
Manuel Rego Casasnovas
Comment 5 2018-12-20 14:24:25 PST
Created attachment 357871 [details] Rebased patch
Manuel Rego Casasnovas
Comment 6 2018-12-20 14:55:16 PST
Created attachment 357874 [details] Rebased patch
Manuel Rego Casasnovas
Comment 7 2018-12-20 15:00:59 PST
Created attachment 357875 [details] Apply suggested changes
Manuel Rego Casasnovas
Comment 8 2018-12-20 15:01:55 PST
Comment on attachment 352088 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=352088&action=review Thanks for the reviews. PTAL. >>>> Source/WebCore/rendering/RenderBoxModelObject.cpp:426 >>>> + bool hasOverrideContainingBlockContent = hasOverrideContainingBlockContentHeight(); >>> >>> You're unconditionally adding a hashmap query here. I think it's better to have the call inside the if so we can shortcircuit it if any of the previous conditions is already true. >>> >>> On the other hand it might be the case that we need to call it twice in the worst case... >> >> We should get rid of the hashmap to manage the RenderBox override size, as we do in Blink. >> >> About this specific case, I wouldn't complicate the code because of performance, since we'll probably get rid of the hashmap in the near future. > > We're getting some issues in Blink, so until we stablize the code there I don't think it makes sense to merge this on WebKit. The code in Blink seems to have stabilized. I'm applying the change suggested by Sergio on the last version of this patch.
WebKit Commit Bot
Comment 9 2018-12-21 04:30:05 PST
Comment on attachment 357875 [details] Apply suggested changes Clearing flags on attachment: 357875 Committed r239502: <https://trac.webkit.org/changeset/239502>
WebKit Commit Bot
Comment 10 2018-12-21 04:30:07 PST
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 11 2018-12-21 04:31:34 PST
Note You need to log in before you can comment on or make changes to this bug.