layout: Implement ordered lists, CSS counters, and quotes per CSS 2.1

§ 12.3-12.5.

Only simple alphabetic and numeric counter styles are supported. (This
is most of them though.)

Although this PR adds a sequential pass to layout, I verified that on
pages that contain a reasonable number of ordered lists (Reddit
`/r/rust`), the time spent in generated content resolution is dwarfed by
the time spent in the parallelizable parts of layout. So I don't expect
this to negatively affect our parallelism expect perhaps in pathological
cases.
This commit is contained in:
Patrick Walton 2015-03-05 12:37:37 -08:00
parent 2df4dd9e09
commit f9cdd05d58
39 changed files with 1704 additions and 537 deletions

View file

@ -65,6 +65,8 @@ flaky_cpu == append_style_a.html append_style_b.html
== case-insensitive-font-family.html case-insensitive-font-family-ref.html
== clear_generated_content_table_a.html clear_generated_content_table_ref.html
== clip_a.html clip_ref.html
== counters_nested_a.html counters_nested_ref.html
== counters_simple_a.html counters_simple_ref.html
== data_img_a.html data_img_b.html
== empty_cells_a.html empty_cells_ref.html
== filter_opacity_a.html filter_opacity_ref.html
@ -177,6 +179,9 @@ flaky_cpu == linebreak_simple_a.html linebreak_simple_b.html
== nth_last_of_type_pseudo_a.html nth_last_of_type_pseudo_b.html
== nth_of_type_pseudo_a.html nth_of_type_pseudo_b.html
== object_element_a.html object_element_b.html
== ol_japanese_iroha_a.html ol_japanese_iroha_ref.html
!= ol_japanese_iroha_bullet_styles.html ol_japanese_iroha_ref.html
== ol_simple_a.html ol_simple_ref.html
== only_child_pseudo_a.html only_child_pseudo_b.html
== only_of_type_pseudo_a.html only_of_type_pseudo_b.html
== opacity_simple_a.html opacity_simple_ref.html
@ -220,6 +225,7 @@ experimental != overconstrained_block.html overconstrained_block_ref.html
== pre_ignorable_whitespace_a.html pre_ignorable_whitespace_ref.html
== pseudo_element_a.html pseudo_element_b.html
== pseudo_inherit.html pseudo_inherit_ref.html
== quotes_simple_a.html quotes_simple_ref.html
== root_height_a.html root_height_b.html
== root_margin_collapse_a.html root_margin_collapse_b.html
== root_pseudo_a.html root_pseudo_b.html