<?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>53987</bug_id>
          
          <creation_ts>2011-02-08 02:24:52 -0800</creation_ts>
          <short_desc>Skip over sibling selectors when collecting descendant selector hashes</short_desc>
          <delta_ts>2011-02-08 02:53:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>347246</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-02-08 02:24:52 -0800</bug_when>
    <thetext>Skip instead of bailing out. This will allow optimizing some sibling selector cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347247</commentid>
    <comment_count>1</comment_count>
      <attachid>81616</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-02-08 02:31:19 -0800</bug_when>
    <thetext>Created attachment 81616
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347254</commentid>
    <comment_count>2</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-02-08 02:53:43 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/77919</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81616</attachid>
            <date>2011-02-08 02:31:19 -0800</date>
            <delta_ts>2011-02-08 02:39:03 -0800</delta_ts>
            <desc>patch</desc>
            <filename>styleselector-skip-sibling.patch</filename>
            <type>text/plain</type>
            <size>6115</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc3OTE3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDItMDggIEFudHRpIEtv
aXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFNraXAgb3ZlciBzaWJsaW5nIHNlbGVjdG9ycyB3aGVuIGNvbGxl
Y3RpbmcgZGVzY2VuZGFudCBzZWxlY3RvciBoYXNoZXMgCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mzk4NworICAgICAgICAKKyAgICAgICAgU2tpcCBp
bnN0ZWFkIG9mIGJhaWxpbmcgb3V0LiBUaGlzIHdpbGwgYWxsb3cgb3B0aW1pemluZyBzb21lIHNp
Ymxpbmcgc2VsZWN0b3IgY2FzZXMuCisKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSdWxlRGF0YTo6UnVsZURhdGEpOgorICAgICAgICAoV2Vi
Q29yZTo6UnVsZURhdGE6OmNvbGxlY3RJZGVudGlmaWVySGFzaGVzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJ1bGVEYXRhOjpjb2xsZWN0RGVzY2VuZGFudFNlbGVjdG9ySWRlbnRpZmllckhhc2hlcyk6
CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKwogMjAxMS0wMi0wNyAgQ3JpcyBO
ZWNrYXIgIDxjZG5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEppYW4gTGku
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiA3
Nzg2NCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMiw3ICsyLDcgQEAKICAqIENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtub2xs
IChrbm9sbEBrZGUub3JnKQogICogICAgICAgICAgIChDKSAyMDA0LTIwMDUgQWxsYW4gU2FuZGZl
bGQgSmVuc2VuIChrZGVAY2FyZXdvbGYuY29tKQogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3
IE5pY2hvbGFzIFNoYW5rcyAod2Via2l0QG5pY2tzaGFua3MuY29tKQotICogQ29weXJpZ2h0IChD
KSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAw
OSwgMjAxMCwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqIENvcHly
aWdodCAoQykgMjAwNywgMjAwOCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgogICogQ29w
eXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCkBAIC0zNjEsNyArMzYxLDYgQEAgcHVi
bGljOgogICAgIHsKICAgICAgICAgY29sbGVjdERlc2NlbmRhbnRTZWxlY3RvcklkZW50aWZpZXJI
YXNoZXMoKTsKICAgICB9Ci0gICAgdm9pZCBjb2xsZWN0RGVzY2VuZGFudFNlbGVjdG9ySWRlbnRp
Zmllckhhc2hlcygpOwogICAgIHVuc2lnbmVkIHBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9w
b3NpdGlvbjsgfQogICAgIENTU1N0eWxlUnVsZSogcnVsZSgpIGNvbnN0IHsgcmV0dXJuIG1fcnVs
ZTsgfQogICAgIENTU1NlbGVjdG9yKiBzZWxlY3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fc2VsZWN0
b3I7IH0KQEAgLTM3MSw2ICszNzAsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgdW5zaWduZWQqIGRl
c2NlbmRhbnRTZWxlY3RvcklkZW50aWZpZXJIYXNoZXMoKSBjb25zdCB7IHJldHVybiBtX2Rlc2Nl
bmRhbnRTZWxlY3RvcklkZW50aWZpZXJIYXNoZXM7IH0KIAogcHJpdmF0ZToKKyAgICB2b2lkIGNv
bGxlY3REZXNjZW5kYW50U2VsZWN0b3JJZGVudGlmaWVySGFzaGVzKCk7CisgICAgdm9pZCBjb2xs
ZWN0SWRlbnRpZmllckhhc2hlcyhjb25zdCBDU1NTZWxlY3RvciosIHVuc2lnbmVkJiBpZGVudGlm
aWVyQ291bnQpOworICAgIAogICAgIENTU1N0eWxlUnVsZSogbV9ydWxlOwogICAgIENTU1NlbGVj
dG9yKiBtX3NlbGVjdG9yOwogICAgIHVuc2lnbmVkIG1fcG9zaXRpb247CkBAIC0yOTMyLDMwICsy
OTM0LDQzIEBAIGJvb2wgQ1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjoKIH0KIAog
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKyAgICAKK2lubGluZSB2b2lkIFJ1bGVEYXRhOjpjb2xsZWN0SWRlbnRpZmll
ckhhc2hlcyhjb25zdCBDU1NTZWxlY3Rvciogc2VsZWN0b3IsIHVuc2lnbmVkJiBpZGVudGlmaWVy
Q291bnQpCit7CisgICAgaWYgKChzZWxlY3Rvci0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rvcjo6SWQg
fHwgc2VsZWN0b3ItPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6OkNsYXNzKSAmJiAhc2VsZWN0b3It
PnZhbHVlKCkuaXNFbXB0eSgpKQorICAgICAgICBtX2Rlc2NlbmRhbnRTZWxlY3RvcklkZW50aWZp
ZXJIYXNoZXNbaWRlbnRpZmllckNvdW50KytdID0gc2VsZWN0b3ItPnZhbHVlKCkuaW1wbCgpLT5l
eGlzdGluZ0hhc2goKTsKKyAgICBpZiAoaWRlbnRpZmllckNvdW50ID09IG1heGltdW1JZGVudGlm
aWVyQ291bnQpCisgICAgICAgIHJldHVybjsKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2Fs
TmFtZSA9IHNlbGVjdG9yLT50YWcoKS5sb2NhbE5hbWUoKTsKKyAgICBpZiAobG9jYWxOYW1lICE9
IHN0YXJBdG9tKQorICAgICAgICBtX2Rlc2NlbmRhbnRTZWxlY3RvcklkZW50aWZpZXJIYXNoZXNb
aWRlbnRpZmllckNvdW50KytdID0gbG9jYWxOYW1lLmltcGwoKS0+ZXhpc3RpbmdIYXNoKCk7Cit9
CiAKIGlubGluZSB2b2lkIFJ1bGVEYXRhOjpjb2xsZWN0RGVzY2VuZGFudFNlbGVjdG9ySWRlbnRp
Zmllckhhc2hlcygpCiB7CiAgICAgdW5zaWduZWQgaWRlbnRpZmllckNvdW50ID0gMDsKICAgICBD
U1NTZWxlY3Rvcjo6UmVsYXRpb24gcmVsYXRpb24gPSBtX3NlbGVjdG9yLT5yZWxhdGlvbigpOwot
ICAgIENTU1NlbGVjdG9yKiBzZWxlY3RvciA9IG1fc2VsZWN0b3ItPnRhZ0hpc3RvcnkoKTsKLSAg
ICAvLyBTa2lwIHRoZSB0b3Btb3N0IHNlbGVjdG9yLiBJdCBpcyBoYW5kbGVkIHF1aWNrbHkgYnkg
dGhlIHJ1bGUgaGFzaGVzLgotICAgIGZvciAoOyBzZWxlY3Rvcjsgc2VsZWN0b3IgPSBzZWxlY3Rv
ci0+dGFnSGlzdG9yeSgpKSB7Ci0gICAgICAgIGlmIChyZWxhdGlvbiAhPSBDU1NTZWxlY3Rvcjo6
U3ViU2VsZWN0b3IpCisgICAgCisgICAgLy8gU2tpcCB0aGUgdG9wbW9zdCBzZWxlY3Rvci4gSXQg
aXMgaGFuZGxlZCBxdWlja2x5IGJ5IHRoZSBydWxlIGhhc2hlcy4gICAgCisgICAgYm9vbCBza2lw
T3ZlclN1YnNlbGVjdG9ycyA9IHRydWU7CisgICAgZm9yIChjb25zdCBDU1NTZWxlY3Rvciogc2Vs
ZWN0b3IgPSBtX3NlbGVjdG9yLT50YWdIaXN0b3J5KCk7IHNlbGVjdG9yOyBzZWxlY3RvciA9IHNl
bGVjdG9yLT50YWdIaXN0b3J5KCkpIHsKKyAgICAgICAgLy8gT25seSBjb2xsZWN0IGlkZW50aWZp
ZXJzIHRoYXQgbWF0Y2ggYW5jZXN0b3JzLgorICAgICAgICBzd2l0Y2ggKHJlbGF0aW9uKSB7Cisg
ICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlN1YlNlbGVjdG9yOgorICAgICAgICAgICAgaWYgKCFz
a2lwT3ZlclN1YnNlbGVjdG9ycykKKyAgICAgICAgICAgICAgICBjb2xsZWN0SWRlbnRpZmllckhh
c2hlcyhzZWxlY3RvciwgaWRlbnRpZmllckNvdW50KTsKICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICByZWxhdGlvbiA9IHNlbGVjdG9yLT5yZWxhdGlvbigpOwotICAgIH0KLSAgICBmb3IgKDsg
c2VsZWN0b3I7IHNlbGVjdG9yID0gc2VsZWN0b3ItPnRhZ0hpc3RvcnkoKSkgewotICAgICAgICAv
LyBPbmx5IGNvbGxlY3QgaWRlbnRpZmllcnMgdGhhdCBtYXRjaCBkaXJlY3QgYW5jZXN0b3JzLgot
ICAgICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiBqdXN0IHN0b3BwaW5nLCB0aGlzIHNob3VsZCBz
a2lwIG92ZXIgc2libGluZyBzZWxlY3RvcnMuCi0gICAgICAgIGlmIChyZWxhdGlvbiAhPSBDU1NT
ZWxlY3Rvcjo6RGVzY2VuZGFudCAmJiByZWxhdGlvbiAhPSBDU1NTZWxlY3Rvcjo6Q2hpbGQgJiYg
cmVsYXRpb24gIT0gQ1NTU2VsZWN0b3I6OlN1YlNlbGVjdG9yKQorICAgICAgICBjYXNlIENTU1Nl
bGVjdG9yOjpEaXJlY3RBZGphY2VudDoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6SW5kaXJl
Y3RBZGphY2VudDoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFudDoK
KyAgICAgICAgICAgIHNraXBPdmVyU3Vic2VsZWN0b3JzID0gdHJ1ZTsKICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBpZiAoKHNlbGVjdG9yLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpJZCB8
fCBzZWxlY3Rvci0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rvcjo6Q2xhc3MpICYmICFzZWxlY3Rvci0+
dmFsdWUoKS5pc0VtcHR5KCkpCi0gICAgICAgICAgICBtX2Rlc2NlbmRhbnRTZWxlY3RvcklkZW50
aWZpZXJIYXNoZXNbaWRlbnRpZmllckNvdW50KytdID0gc2VsZWN0b3ItPnZhbHVlKCkuaW1wbCgp
LT5leGlzdGluZ0hhc2goKTsKLSAgICAgICAgaWYgKGlkZW50aWZpZXJDb3VudCA9PSBtYXhpbXVt
SWRlbnRpZmllckNvdW50KQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIGxvY2FsTmFtZSA9IHNlbGVjdG9yLT50YWcoKS5sb2NhbE5hbWUoKTsKLSAgICAg
ICAgaWYgKGxvY2FsTmFtZSAhPSBzdGFyQXRvbSkKLSAgICAgICAgICAgIG1fZGVzY2VuZGFudFNl
bGVjdG9ySWRlbnRpZmllckhhc2hlc1tpZGVudGlmaWVyQ291bnQrK10gPSBsb2NhbE5hbWUuaW1w
bCgpLT5leGlzdGluZ0hhc2goKTsKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFu
dDoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6Q2hpbGQ6CisgICAgICAgICAgICBza2lwT3Zl
clN1YnNlbGVjdG9ycyA9IGZhbHNlOworICAgICAgICAgICAgY29sbGVjdElkZW50aWZpZXJIYXNo
ZXMoc2VsZWN0b3IsIGlkZW50aWZpZXJDb3VudCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQogICAgICAgICBpZiAoaWRlbnRpZmllckNvdW50ID09IG1heGltdW1JZGVudGlmaWVyQ291
bnQpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHJlbGF0aW9uID0gc2VsZWN0b3ItPnJl
bGF0aW9uKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgJKHJldmlz
aW9uIDc3ODY0KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAkod29y
a2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFy
cyBLbm9sbCAoa25vbGxAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAw
NSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIw
MDgsIDIwMDksIDIwMTAsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCg==
</data>
<flag name="review"
          id="73225"
          type_id="1"
          status="+"
          setter="zwarich"
    />
          </attachment>
      

    </bug>

</bugzilla>