Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 13 users
Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature



Sign in to add a comment
Implement ::marker pseudo-element
Reported by supuhst...@gmail.com, Feb 11 2015 Back to list
Chrome Version       : 42.0.2301.0 (Official Build) canary (64-bit)
Blink Version        : 537.36 (@189896)
URLs (if applicable) : http://stackoverflow.com/q/76564/453435, http://www.w3.org/TR/css3-lists/#marker-pseudo-element
Other browsers tested:
Add OK or FAIL after other browsers where you have tested this issue:
     Safari 6: FAIL
  Firefox 20: FAIL
       IE 7/8/9/10: FAIL

What steps will reproduce the problem?
1. Create a webpage with bulleted lists. Do not use any stylesheets that remove the markers from lists.
2. Create a CSS stylesheet that specifies, using the ::marker pseudo-element, how these markers should look/behave, as specified by the W3C CSS3 Working Draft.

What is the expected result?
Markers are modified as specified.


What happens instead?
Markers remain unmodified.


Please provide any additional information below. Attach a screenshot if
possible.

I hope this isn't a duplicate; I tried searching for it (like https://code.google.com/p/chromium/issues/list?can=2&q=css+marker+pseudo-element&colspec=ID+Pri+M+Week+ReleaseBlock+Cr+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=tiles), but couldn't find an existing one.
 
Comment 1 by tkent@chromium.org, Feb 13 2015
Labels: -Type-Bug Type-Feature Cr-Blink-CSS
Status: Untriaged
Comment 2 by e...@chromium.org, Mar 30 2015
Owner: dsinclair@chromium.org
Comment 3 by e...@chromium.org, Mar 30 2015
Labels: Cr-Blink-Layout
According to the spec, nothing in it should be considered suitable for implementation yet. Until the spec is in a better state I don't see this moving forward.
Cc: dsinclair@chromium.org
Owner: ----
Status: Available
An initial implementation of this was done in: https://codereview.chromium.org/778003003/ but I'm going a different route to fix the issue I was working on. It maybe useful to someone in the future if they pick this up.

Of note, the PseudoElement system was designed to be used for things that are rare. ::before, ::after, etc are not that common on a page. But, when you get to something like LI elements, they can be quite common.

Implementing marker will mean that we allocate a RareDataObject and an Element node for each of the marker elements that we didn't before. In order to move forward with something like the above patch, we would need to justify the cost in terms of how many additional elements will we be creating? What is the cost on things like Facebook, Github, Gitles in terms of the number of LI and display:list-item elements they have on the page. Are there other list heavy pages we need to take into consideration and what will be the performance impact.
Cc: jchaffraix@chromium.org
 Issue 433353  has been merged into this issue.
Comment 7 by leave...@gmail.com, Nov 20 2015
@dsinclair@chromium.org:

Facebook’s home page has 76-79 LI elements. However, keep in mind that ::marker only applies to elements that *don’t* have list-style-type: none; 
I currently counted and out of all elements in Facebook, 0 have both display: list-item AND list-style-type: none. I suspect it's very similar with most big websites, as lists with native bullets are rarely used, except perhaps in the main content area on content-heavy websites. E.g. in The Guardian, I get 3. In any case, not many.

Check yourself on any website, by running this in the console:
i=0; $$("*").forEach(function(el) { var cs = getComputedStyle(el); if (cs.display === "list-item" && cs.listStyleType != "none") i++}); i
@dsinclair@chromium.org:

To the point that the spec was not finalized enough to merit the implementation of ::marker, https://www.w3.org/TR/css-lists-3/#marker-pseudo-element is now in Working Draft status, and as far as I can tell, it does not say it's unsuitable for implementation.
Labels: Update-Quarterly
Comment 10 by prom...@gmail.com, Feb 21 2017
Do it.
Comment 11 by suzyh@chromium.org, Mar 30 2017
Labels: Objective
Sign in to add a comment