RESOLVED FIXED 197840
[css-grid] specified value for (eg.) grid-template-columns expands repeat()
https://bugs.webkit.org/show_bug.cgi?id=197840
Summary [css-grid] specified value for (eg.) grid-template-columns expands repeat()
Oriol Brufau
Reported 2019-05-13 09:53:39 PDT
Steps to reproduce the problem: 1. write a short document with an element having specified 'grid-template-columns' property to 'repeat(2, [e] 40px)' through a style rule 2. query, through the CSS OM, the specified value for that property on that element 3. show the value Here's a reduced testcase: <!DOCTYPE html> <body> <script> document.body.style.gridTemplateColumns = "repeat(2, [e] 40px)" console.log(document.body.style.gridTemplateColumns); </script> What is the expected behavior? The value should be the specified value, exactly. What went wrong? The displayed value is `[e] 40px [e] 40px` ; that behaviour breaks CSS editor that want to preserve precisely what the CSS author specified. Has been fixed in Blink: https://crbug.com/716114
Attachments
Patch (20.38 KB, patch)
2019-05-13 10:02 PDT, Oriol Brufau
no flags
Patch (35.57 KB, patch)
2019-05-13 10:44 PDT, Oriol Brufau
no flags
Patch (38.39 KB, patch)
2019-05-13 12:36 PDT, Oriol Brufau
no flags
Patch (42.59 KB, patch)
2019-05-13 15:14 PDT, Oriol Brufau
no flags
Patch (44.77 KB, patch)
2019-05-13 17:48 PDT, Oriol Brufau
no flags
Patch (44.85 KB, patch)
2019-05-14 13:07 PDT, Oriol Brufau
no flags
Oriol Brufau
Comment 1 2019-05-13 10:02:10 PDT
Oriol Brufau
Comment 2 2019-05-13 10:44:28 PDT
Oriol Brufau
Comment 3 2019-05-13 12:36:51 PDT
Oriol Brufau
Comment 4 2019-05-13 15:14:19 PDT
Oriol Brufau
Comment 5 2019-05-13 17:48:45 PDT
Javier Fernandez
Comment 6 2019-05-14 02:01:56 PDT
Comment on attachment 369804 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=369804&action=review > Source/WebCore/css/parser/CSSPropertyParser.cpp:3432 > + list.append(*integerRepeatedValues); I think you should use integerRepeatedValues.releaseNonNull() instead of deref the RefPtr > Tools/TestWebKitAPI/Tests/WebCore/CSSParser.cpp:28 > +#include <WebCore/CSSGridIntegerRepeatValue.h> The CSSGridIntegerRepeatValue.h is under the WebCore/css folder.
Oriol Brufau
Comment 7 2019-05-14 11:47:44 PDT
Comment on attachment 369804 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=369804&action=review >> Source/WebCore/css/parser/CSSPropertyParser.cpp:3432 >> + list.append(*integerRepeatedValues); > > I think you should use integerRepeatedValues.releaseNonNull() instead of deref the RefPtr You are right, thanks >> Tools/TestWebKitAPI/Tests/WebCore/CSSParser.cpp:28 >> +#include <WebCore/CSSGridIntegerRepeatValue.h> > > The CSSGridIntegerRepeatValue.h is under the WebCore/css folder. But if I use WebCore/css/CSSGridIntegerRepeatValue.h, it doesn't compile locally. And for example the StyleProperties.h below is also inside the css folder
Oriol Brufau
Comment 8 2019-05-14 13:07:50 PDT
Oriol Brufau
Comment 9 2019-05-14 13:12:36 PDT
I added "settings = {ATTRIBUTES = (Private, ); };" in project.pbxproj, now it seems to compile on Mac.
Manuel Rego Casasnovas
Comment 10 2019-05-27 13:54:21 PDT
Comment on attachment 369887 [details] Patch Thanks for fixing this.
WebKit Commit Bot
Comment 11 2019-05-27 14:27:22 PDT
Comment on attachment 369887 [details] Patch Clearing flags on attachment: 369887 Committed r245798: <https://trac.webkit.org/changeset/245798>
WebKit Commit Bot
Comment 12 2019-05-27 14:27:24 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 13 2019-05-27 14:28:17 PDT
Note You need to log in before you can comment on or make changes to this bug.