<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>136052</bug_id>
          
          <creation_ts>2014-08-18 16:51:14 -0700</creation_ts>
          <short_desc>Stop using pseudo-aware traversal in RenderListItem</short_desc>
          <delta_ts>2014-08-18 17:50:45 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1029914</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-08-18 16:51:14 -0700</bug_when>
    <thetext>Normal traversal works fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029915</commentid>
    <comment_count>1</comment_count>
      <attachid>236790</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-08-18 16:58:01 -0700</bug_when>
    <thetext>Created attachment 236790
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029916</commentid>
    <comment_count>2</comment_count>
      <attachid>236790</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-08-18 17:15:33 -0700</bug_when>
    <thetext>Comment on attachment 236790
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=236790&amp;action=review

&gt; Source/WebCore/rendering/RenderListItem.cpp:-138
&gt; -        // FIXME: Can this be optimized to skip the children of the elements without a renderer?

So I guess you are removing this because the answer is no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029919</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-08-18 17:34:00 -0700</bug_when>
    <thetext>&gt; &gt; -        // FIXME: Can this be optimized to skip the children of the elements without a renderer?
&gt; 
&gt; So I guess you are removing this because the answer is no?

It could, it just didn&apos;t feel important enough for a FIXME.

We should really have abstraction for &quot;traverse render tree in DOM order&quot; which would do optimisations like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029923</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-08-18 17:50:35 -0700</bug_when>
    <thetext>This is actually wrong, a pseudo element can have display:list-item.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236790</attachid>
            <date>2014-08-18 16:58:01 -0700</date>
            <delta_ts>2014-08-18 17:50:45 -0700</delta_ts>
            <desc>patch</desc>
            <filename>list-item-pseudo-aware.patch</filename>
            <type>text/plain</type>
            <size>6126</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MjczNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTA4LTE4ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIHBzZXVkby1h
d2FyZSB0cmF2ZXJzYWwgaW4gUmVuZGVyTGlzdEl0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjA1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGNhbid0IGJlIGxpc3QgaXRlbXMgaW4gcHNl
dWRvIGVsZW1lbnRzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmVuY2xvc2luZ0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6bmV4
dExpc3RJdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OnByZXZpb3VzTGlzdEl0ZW0pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGlzdEl0ZW06OmNhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMaXN0SXRlbTo6ZXhwbGljaXRWYWx1ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGlzdEl0ZW06OnVwZGF0ZUxpc3RNYXJrZXJOdW1iZXJzKToKKwogMjAxNC0wOC0x
OCAgUHJhdGlrIFNvbGFua2kgIDxwc29sYW5raUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3Zl
IFB1cmdlYWJsZUJ1ZmZlciBzaW5jZSBpdCBpcyBub3QgdmVyeSB1c2VmdWwgYW55IG1vcmUKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAkocmV2aXNp
b24gMTcyNzM2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTYsMTEgKzk2LDEwIEBAIHN0YXRpYyBib29sIGlzTGlzdChj
b25zdCBFbGVtZW50KiBlbGVtZW4KIH0KIAogLy8gUmV0dXJucyB0aGUgZW5jbG9zaW5nIGxpc3Qg
d2l0aCByZXNwZWN0IHRvIHRoZSBET00gb3JkZXIuCi1zdGF0aWMgRWxlbWVudCogZW5jbG9zaW5n
TGlzdChjb25zdCBSZW5kZXJMaXN0SXRlbSogbGlzdEl0ZW0pCitzdGF0aWMgRWxlbWVudCogZW5j
bG9zaW5nTGlzdChjb25zdCBSZW5kZXJMaXN0SXRlbSYgbGlzdFJlbmRlcmVyKQogewotICAgIEVs
ZW1lbnQmIGxpc3RJdGVtRWxlbWVudCA9IGxpc3RJdGVtLT5lbGVtZW50KCk7Ci0gICAgRWxlbWVu
dCogZmlyc3ROb2RlID0gMDsKLSAgICBFbGVtZW50KiBwYXJlbnQgPSBsaXN0SXRlbUVsZW1lbnQu
aXNQc2V1ZG9FbGVtZW50KCkgPyB0b1BzZXVkb0VsZW1lbnQobGlzdEl0ZW1FbGVtZW50KS5ob3N0
RWxlbWVudCgpIDogbGlzdEl0ZW1FbGVtZW50LnBhcmVudEVsZW1lbnQoKTsKKyAgICBFbGVtZW50
KiBmaXJzdE5vZGUgPSBudWxscHRyOworICAgIEVsZW1lbnQqIHBhcmVudCA9IGxpc3RSZW5kZXJl
ci5pc1BzZXVkb0VsZW1lbnQoKSA/IGxpc3RSZW5kZXJlci5nZW5lcmF0aW5nRWxlbWVudCgpIDog
bGlzdFJlbmRlcmVyLmVsZW1lbnQoKS5wYXJlbnRFbGVtZW50KCk7CiAgICAgLy8gV2UgdXNlIHBh
cmVudE5vZGUgYmVjYXVzZSB0aGUgZW5jbG9zaW5nIGxpc3QgY291bGQgYmUgYSBTaGFkb3dSb290
IHRoYXQncyBub3QgRWxlbWVudC4KICAgICBmb3IgKDsgcGFyZW50OyBwYXJlbnQgPSBwYXJlbnQt
PnBhcmVudEVsZW1lbnQoKSkgewogICAgICAgICBpZiAoaXNMaXN0KHBhcmVudCkpCkBAIC0xMTYs
MTggKzExNSwxOCBAQCBzdGF0aWMgRWxlbWVudCogZW5jbG9zaW5nTGlzdChjb25zdCBSZW5kCiB9
CiAKIC8vIFJldHVybnMgdGhlIG5leHQgbGlzdCBpdGVtIHdpdGggcmVzcGVjdCB0byB0aGUgRE9N
IG9yZGVyLgotc3RhdGljIFJlbmRlckxpc3RJdGVtKiBuZXh0TGlzdEl0ZW0oY29uc3QgRWxlbWVu
dCogbGlzdE5vZGUsIGNvbnN0IFJlbmRlckxpc3RJdGVtKiBpdGVtID0gMCkKK3N0YXRpYyBSZW5k
ZXJMaXN0SXRlbSogbmV4dExpc3RJdGVtKGNvbnN0IEVsZW1lbnQqIGxpc3ROb2RlLCBjb25zdCBS
ZW5kZXJMaXN0SXRlbSogaXRlbSA9IG51bGxwdHIpCiB7CiAgICAgaWYgKCFsaXN0Tm9kZSkKLSAg
ICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgY29uc3QgRWxl
bWVudCogY3VycmVudCA9IGl0ZW0gPyAmaXRlbS0+ZWxlbWVudCgpIDogbGlzdE5vZGU7Ci0gICAg
Y3VycmVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6Om5leHRJbmNsdWRpbmdQc2V1ZG8oY3VycmVudCwg
bGlzdE5vZGUpOworICAgIGN1cnJlbnQgPSBFbGVtZW50VHJhdmVyc2FsOjpuZXh0KGN1cnJlbnQs
IGxpc3ROb2RlKTsKIAogICAgIHdoaWxlIChjdXJyZW50KSB7CiAgICAgICAgIGlmIChpc0xpc3Qo
Y3VycmVudCkpIHsKICAgICAgICAgICAgIC8vIFdlJ3ZlIGZvdW5kIGEgbmVzdGVkLCBpbmRlcGVu
ZGVudCBsaXN0OiBub3RoaW5nIHRvIGRvIGhlcmUuCi0gICAgICAgICAgICBjdXJyZW50ID0gRWxl
bWVudFRyYXZlcnNhbDo6bmV4dEluY2x1ZGluZ1BzZXVkb1NraXBwaW5nQ2hpbGRyZW4oY3VycmVu
dCwgbGlzdE5vZGUpOworICAgICAgICAgICAgY3VycmVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6Om5l
eHRTa2lwcGluZ0NoaWxkcmVuKGN1cnJlbnQsIGxpc3ROb2RlKTsKICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICB9CiAKQEAgLTEzNSwzMyArMTM0LDMyIEBAIHN0YXRpYyBSZW5kZXJMaXN0
SXRlbSogbmV4dExpc3RJdGVtKGNvbnMKICAgICAgICAgaWYgKHJlbmRlcmVyICYmIHJlbmRlcmVy
LT5pc0xpc3RJdGVtKCkpCiAgICAgICAgICAgICByZXR1cm4gdG9SZW5kZXJMaXN0SXRlbShyZW5k
ZXJlcik7CiAKLSAgICAgICAgLy8gRklYTUU6IENhbiB0aGlzIGJlIG9wdGltaXplZCB0byBza2lw
IHRoZSBjaGlsZHJlbiBvZiB0aGUgZWxlbWVudHMgd2l0aG91dCBhIHJlbmRlcmVyPwotICAgICAg
ICBjdXJyZW50ID0gRWxlbWVudFRyYXZlcnNhbDo6bmV4dEluY2x1ZGluZ1BzZXVkbyhjdXJyZW50
LCBsaXN0Tm9kZSk7CisgICAgICAgIGN1cnJlbnQgPSBFbGVtZW50VHJhdmVyc2FsOjpuZXh0KGN1
cnJlbnQsIGxpc3ROb2RlKTsKICAgICB9CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAogLy8gUmV0dXJucyB0aGUgcHJldmlvdXMgbGlzdCBpdGVtIHdpdGggcmVzcGVj
dCB0byB0aGUgRE9NIG9yZGVyLgogc3RhdGljIFJlbmRlckxpc3RJdGVtKiBwcmV2aW91c0xpc3RJ
dGVtKGNvbnN0IEVsZW1lbnQqIGxpc3ROb2RlLCBjb25zdCBSZW5kZXJMaXN0SXRlbSogaXRlbSkK
IHsKICAgICBFbGVtZW50KiBjdXJyZW50ID0gJml0ZW0tPmVsZW1lbnQoKTsKLSAgICBmb3IgKGN1
cnJlbnQgPSBFbGVtZW50VHJhdmVyc2FsOjpwcmV2aW91c0luY2x1ZGluZ1BzZXVkbyhjdXJyZW50
LCBsaXN0Tm9kZSk7IGN1cnJlbnQ7IGN1cnJlbnQgPSBFbGVtZW50VHJhdmVyc2FsOjpwcmV2aW91
c0luY2x1ZGluZ1BzZXVkbyhjdXJyZW50LCBsaXN0Tm9kZSkpIHsKKyAgICBmb3IgKGN1cnJlbnQg
PSBFbGVtZW50VHJhdmVyc2FsOjpwcmV2aW91cyhjdXJyZW50LCBsaXN0Tm9kZSk7IGN1cnJlbnQ7
IGN1cnJlbnQgPSBFbGVtZW50VHJhdmVyc2FsOjpwcmV2aW91cyhjdXJyZW50LCBsaXN0Tm9kZSkp
IHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IGN1cnJlbnQtPnJlbmRlcmVyKCk7
CiAgICAgICAgIGlmICghcmVuZGVyZXIgfHwgKHJlbmRlcmVyICYmICFyZW5kZXJlci0+aXNMaXN0
SXRlbSgpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBOb2RlKiBvdGhlckxpc3Qg
PSBlbmNsb3NpbmdMaXN0KHRvUmVuZGVyTGlzdEl0ZW0ocmVuZGVyZXIpKTsKKyAgICAgICAgTm9k
ZSogb3RoZXJMaXN0ID0gZW5jbG9zaW5nTGlzdCh0b1JlbmRlckxpc3RJdGVtKCpyZW5kZXJlcikp
OwogICAgICAgICAvLyBUaGlzIGl0ZW0gaXMgcGFydCBvZiBvdXIgY3VycmVudCBsaXN0LCBzbyBp
dCdzIHdoYXQgd2UncmUgbG9va2luZyBmb3IuCiAgICAgICAgIGlmIChsaXN0Tm9kZSA9PSBvdGhl
ckxpc3QpCiAgICAgICAgICAgICByZXR1cm4gdG9SZW5kZXJMaXN0SXRlbShyZW5kZXJlcik7CiAg
ICAgICAgIC8vIFdlIGZvdW5kIG91cnNlbGYgaW5zaWRlIGFub3RoZXIgbGlzdDsgbGV0cyBza2lw
IHRoZSByZXN0IG9mIGl0LgotICAgICAgICAvLyBVc2UgbmV4dEluY2x1ZGluZ1BzZXVkbygpIGhl
cmUgYmVjYXVzZSB0aGUgb3RoZXIgbGlzdCBpdHNlbGYgbWF5IGFjdHVhbGx5CisgICAgICAgIC8v
IFVzZSBuZXh0KCkgaGVyZSBiZWNhdXNlIHRoZSBvdGhlciBsaXN0IGl0c2VsZiBtYXkgYWN0dWFs
bHkKICAgICAgICAgLy8gYmUgYSBsaXN0IGl0ZW0gaXRzZWxmLiBXZSBuZWVkIHRvIGV4YW1pbmUg
aXQsIHNvIHdlIGRvIHRoaXMgdG8gY291bnRlcmFjdAotICAgICAgICAvLyB0aGUgcHJldmlvdXNJ
bmNsdWRpbmdQc2V1ZG8oKSB0aGF0IHdpbGwgYmUgZG9uZSBieSB0aGUgbG9vcC4KKyAgICAgICAg
Ly8gdGhlIHByZXZpb3VzKCkgdGhhdCB3aWxsIGJlIGRvbmUgYnkgdGhlIGxvb3AuCiAgICAgICAg
IGlmIChvdGhlckxpc3QpCi0gICAgICAgICAgICBjdXJyZW50ID0gRWxlbWVudFRyYXZlcnNhbDo6
bmV4dEluY2x1ZGluZ1BzZXVkbyhvdGhlckxpc3QpOworICAgICAgICAgICAgY3VycmVudCA9IEVs
ZW1lbnRUcmF2ZXJzYWw6Om5leHQob3RoZXJMaXN0KTsKICAgICB9Ci0gICAgcmV0dXJuIDA7Cisg
ICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIHZvaWQgUmVuZGVyTGlzdEl0ZW06OnVwZGF0ZUl0ZW1W
YWx1ZXNGb3JPcmRlcmVkTGlzdChjb25zdCBIVE1MT0xpc3RFbGVtZW50KiBsaXN0Tm9kZSkKQEAg
LTE4OCw3ICsxODYsNyBAQCBpbmxpbmUgaW50IFJlbmRlckxpc3RJdGVtOjpjYWxjVmFsdWUoKSBj
CiAgICAgaWYgKG1faGFzRXhwbGljaXRWYWx1ZSkKICAgICAgICAgcmV0dXJuIG1fZXhwbGljaXRW
YWx1ZTsKIAotICAgIEVsZW1lbnQqIGxpc3QgPSBlbmNsb3NpbmdMaXN0KHRoaXMpOworICAgIEVs
ZW1lbnQqIGxpc3QgPSBlbmNsb3NpbmdMaXN0KCp0aGlzKTsKICAgICBIVE1MT0xpc3RFbGVtZW50
KiBvTGlzdEVsZW1lbnQgPSAobGlzdCAmJiBsaXN0LT5oYXNUYWdOYW1lKG9sVGFnKSkgPyB0b0hU
TUxPTGlzdEVsZW1lbnQobGlzdCkgOiBudWxscHRyOwogICAgIGludCB2YWx1ZVN0ZXAgPSAxOwog
ICAgIGlmIChvTGlzdEVsZW1lbnQgJiYgb0xpc3RFbGVtZW50LT5pc1JldmVyc2VkKCkpCkBAIC00
NjQsNyArNDYyLDcgQEAgdm9pZCBSZW5kZXJMaXN0SXRlbTo6ZXhwbGljaXRWYWx1ZUNoYW5nZQog
ewogICAgIGlmIChtX21hcmtlcikKICAgICAgICAgbV9tYXJrZXItPnNldE5lZWRzTGF5b3V0QW5k
UHJlZldpZHRoc1JlY2FsYygpOwotICAgIEVsZW1lbnQqIGxpc3ROb2RlID0gZW5jbG9zaW5nTGlz
dCh0aGlzKTsKKyAgICBFbGVtZW50KiBsaXN0Tm9kZSA9IGVuY2xvc2luZ0xpc3QoKnRoaXMpOwog
ICAgIGZvciAoUmVuZGVyTGlzdEl0ZW0qIGl0ZW0gPSB0aGlzOyBpdGVtOyBpdGVtID0gbmV4dExp
c3RJdGVtKGxpc3ROb2RlLCBpdGVtKSkKICAgICAgICAgaXRlbS0+dXBkYXRlVmFsdWUoKTsKIH0K
QEAgLTQ5NSw3ICs0OTMsNyBAQCBzdGF0aWMgUmVuZGVyTGlzdEl0ZW0qIHByZXZpb3VzT3JOZXh0
SXRlCiAKIHZvaWQgUmVuZGVyTGlzdEl0ZW06OnVwZGF0ZUxpc3RNYXJrZXJOdW1iZXJzKCkKIHsK
LSAgICBFbGVtZW50KiBsaXN0Tm9kZSA9IGVuY2xvc2luZ0xpc3QodGhpcyk7CisgICAgRWxlbWVu
dCogbGlzdE5vZGUgPSBlbmNsb3NpbmdMaXN0KCp0aGlzKTsKICAgICAvLyBUaGUgbGlzdCBub2Rl
IGNhbiBiZSB0aGUgc2hhZG93IHJvb3Qgd2hpY2ggaGFzIG5vIHJlbmRlcmVyLgogICAgIGlmICgh
bGlzdE5vZGUpCiAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>