-
Notifications
You must be signed in to change notification settings - Fork 142
Serialize property display #461
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -300,7 +300,7 @@ The <dfn method for=StylePropertyMap>append(DOMString <var>property</var>, | |
|
||
3. If {{StylePropertyMap}}’s [=property model=] contains an entry for |property|, | ||
return the first value found in that entry. | ||
|
||
4. Else, return `null`. | ||
</div> | ||
|
||
|
@@ -2275,7 +2275,7 @@ objects, the {{CSSURLImageValue/url}} attribute contains the URL that references | |
when called, | ||
perform the following steps: | ||
|
||
1. If the |url| passed into the constructor doesn't correctly | ||
1. If the |url| passed into the constructor doesn't correctly | ||
parse as a <<url>>, throw a {{TypeError}} and exit this algorithm. | ||
2. Else, return a new {{CSSURLImageValue}} | ||
with its {{CSSURLImageValue/url}} internal slot | ||
|
@@ -2879,7 +2879,7 @@ depending on the property they came from: | |
3. If 'border-image-slice' does not specify ''100%'' for all sides and omits the ''border-image-slice/fill'' keyword, | ||
serialize 'border-image-slice' and append it to |values|. | ||
4. If 'border-image-width' does not specify ''1'' for all sides, | ||
append "/ " (U+002F FORWARD SLASH followed by U+0020 SPACE) | ||
append "/ " (U+002F FORWARD SLASH followed by U+0020 SPACE) | ||
to the result of serializing 'border-image-width' and append it to |values|. | ||
5. If 'border-image-outset' does not specify ''0'' for all sides: | ||
1. If the previous 'border-image-width' step did not append anything to |values|, | ||
|
@@ -2888,7 +2888,7 @@ depending on the property they came from: | |
otherwise let |prefix| be <nobr>"/ "</nobr> | ||
(U+002F FORWARD SLASH followed by U+0020 SPACE) | ||
2. Append |prefix| | ||
to the result of serializing 'border-image-outset' | ||
to the result of serializing 'border-image-outset' | ||
and append it to |values|. | ||
6. If 'border-image-repeat' is not ''border-image-repeat/stretch'' in both axises, | ||
serialize 'border-image-repeat' and append it to |values|. | ||
|
@@ -2903,6 +2903,44 @@ depending on the property they came from: | |
return "currentcolor". | ||
2. Otherwise, return the result of serializing the <<color>> value. | ||
|
||
: 'display' | ||
:: | ||
1. Let |values| initially be the empty [=list=]. | ||
2. If 'display-outside' or 'display-inside' is specified: | ||
1. Append value of 'display-outside' to |values|. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The value is an abstract CSS value; need to serialize it to produce a JS value. (Same applies to all the steps.) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done, thanks! |
||
2. Append value of 'display-inside' to |values|. | ||
3. Goto step 7. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This means you won't hit the list-item step at all if you specified something like There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, and I understand this is what the spec says according to "|", i.e. these are mutually exclusive? |
||
3. If 'display-listitem' is specified: | ||
1. Append ''list-item'' to |values|. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Append a string, There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done |
||
2. If 'display-outside' is specified, serialize it and append it to |values|. | ||
3. If ''flow'' or ''flow-root'' is specified, append it to |values|. | ||
4. Goto step 7. | ||
4. If 'display-internal' is specified: | ||
1. Append its value to |values|. | ||
2. Goto step 7. | ||
5. If 'display-box' is specified: | ||
1. Append its value to |values|. | ||
2. Goto step 7. | ||
6. If 'display-legacy' is specified: | ||
1. Append its value to |values|. | ||
2. Goto step 7. | ||
7. If |values| is: | ||
1. ''block flow'', return 'block'. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |values| is a list of strings, not a sequence of CSS values. Needs to be There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. And There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done, thanks for pointing out! |
||
2. ''block flow-root'', return ''flow-root''. | ||
3. ''inline flow'', return ''inline''. | ||
4. ''inline flow-root'', return ''inline-block''. | ||
5. ''run-in flow'', return ''run-in''. | ||
6. ''list-item block flow'', return ''list-item''. | ||
7. ''list-item inline flow'', return ''inline list-item''. | ||
8. ''block flex'', return ''flex''. | ||
9. ''inline flex'', return ''inline-flex''. | ||
10. ''block grid'', return ''grid''. | ||
11. ''inline ruby'', return ''ruby''. | ||
12. ''block table'', return ''table''. | ||
13. ''inline table'', return ''inline-table''. | ||
14. [=list/empty=], return "none". | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How does it end up empty, and how does emptiness equate to There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I thought it would be empty if property is simply "display:", but I guess it's illegal anyway. So I removed the case for empty-list. |
||
15. otherwise, return the result of concatenating all the items in |values|, | ||
separated by " " (U+0020 SPACE). | ||
|
||
|
||
Security Considerations {#security-considerations} | ||
|
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.
These properties don't exist. You probably mean the
<<display-inside>>
and<<display-outside>>
values. ^_^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.
Done, thanks for pointing out! :)