<?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>75619</bug_id>
          
          <creation_ts>2012-01-05 06:06:50 -0800</creation_ts>
          <short_desc>Improve SelectorChecker::determineSelectorScopes</short_desc>
          <delta_ts>2012-01-05 06:41:38 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          <cc>macpherson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>530236</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-01-05 06:06:50 -0800</bug_when>
    <thetext>SelectorChecker::determineSelectorScopes currently searches to the end of the selector chain and then sees if the last one is suitable to be a scope. A better algorithm will find a scope from anywhere in the chain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530237</commentid>
    <comment_count>1</comment_count>
      <attachid>121268</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-01-05 06:12:35 -0800</bug_when>
    <thetext>Created attachment 121268
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530246</commentid>
    <comment_count>2</comment_count>
      <attachid>121268</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-05 06:31:15 -0800</bug_when>
    <thetext>Comment on attachment 121268
patch

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

&gt; Source/WebCore/ChangeLog:14
&gt; +

Needs more marketing!

&gt; Source/WebCore/css/SelectorChecker.cpp:1405
&gt; +        // This picks the widest scope, not the narrowest, to minimize the number of found scoped.

Typo, scopes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530252</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-01-05 06:41:38 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/104152, with improved marketing</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121268</attachid>
            <date>2012-01-05 06:12:35 -0800</date>
            <delta_ts>2012-01-05 06:31:15 -0800</delta_ts>
            <desc>patch</desc>
            <filename>selector-scope.patch</filename>
            <type>text/plain</type>
            <size>3539</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNDE0OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAxLTA1ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBJbXByb3ZlIFNlbGVjdG9yQ2hl
Y2tlcjo6ZGV0ZXJtaW5lU2VsZWN0b3JTY29wZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU2VsZWN0b3JDaGVja2VyOjpkZXRlcm1pbmVTZWxlY3RvclNj
b3BlcyBjdXJyZW50bHkgc2VhcmNoZXMgdG8gdGhlIGVuZCBvZiB0aGUgc2VsZWN0b3IgY2hhaW4g
YW5kCisgICAgICAgIHRoZW4gc2VlcyBpZiB0aGUgbGFzdCBvbmUgaXMgc3VpdGFibGUgdG8gYmUg
YSBzY29wZS4gQSBiZXR0ZXIgYWxnb3JpdGhtIHdpbGwgZmluZCBhIHNjb3BlIGZyb20KKyAgICAg
ICAgYW55d2hlcmUgaW4gdGhlIGNoYWluLgorICAgICAgICAKKyAgICAgICAgV2l0aCB0aGlzIHBh
dGNoIHdlIHNlYXJjaCB0aGUgd2hvbGUgY2hhaW4gZm9yIHBvdGVudGlhbCBzY29wZXMuIFdlIG5v
dyBwcmVmZXIgaWQgc2NvcGVzCisgICAgICAgIG92ZXIgY2xhc3Mgc2NvcGVzLiBTY29wZXMgY2Fu
IGJlIGZvdW5kIGZvciBydWxlcyB1c2luZyBzaWJsaW5nIHNlbGVjdG9ycyB0b28uCisKKyAgICAg
ICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9y
Q2hlY2tlcjo6ZGV0ZXJtaW5lU2VsZWN0b3JTY29wZXMpOgorCiAyMDEyLTAxLTA1ICBBbHBoYSBM
YW0gIDxoY2xhbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gQnVpbGQgZml4
LgpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAJKHJldmlzaW9uIDEw
NDEzMSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDAxLDIzICsxNDAxLDI1IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjppc0Zy
YW1lRm9jdXNlZChjb24KIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpkZXRlcm1pbmVTZWxlY3RvclNj
b3Blcyhjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCwgSGFzaFNldDxBdG9taWNT
dHJpbmdJbXBsKj4mIGlkU2NvcGVzLCBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiYgY2xhc3NT
Y29wZXMpCiB7CiAgICAgZm9yIChDU1NTZWxlY3Rvciogc2VsZWN0b3IgPSBzZWxlY3Rvckxpc3Qu
Zmlyc3QoKTsgc2VsZWN0b3I7IHNlbGVjdG9yID0gQ1NTU2VsZWN0b3JMaXN0OjpuZXh0KHNlbGVj
dG9yKSkgewotICAgICAgICBDU1NTZWxlY3RvciogcmlnaHRtb3N0U2VsZWN0b3IgPSBzZWxlY3Rv
cjsKLSAgICAgICAgQ1NTU2VsZWN0b3I6OlJlbGF0aW9uIHJlbGF0aW9uID0gQ1NTU2VsZWN0b3I6
OkRlc2NlbmRhbnQ7Ci0gICAgICAgIGZvciAoO3JpZ2h0bW9zdFNlbGVjdG9yLT50YWdIaXN0b3J5
KCk7IHJpZ2h0bW9zdFNlbGVjdG9yID0gcmlnaHRtb3N0U2VsZWN0b3ItPnRhZ0hpc3RvcnkoKSkg
ewotICAgICAgICAgICAgaWYgKHJpZ2h0bW9zdFNlbGVjdG9yLT5yZWxhdGlvbigpICE9IENTU1Nl
bGVjdG9yOjpTdWJTZWxlY3RvcikKLSAgICAgICAgICAgICAgICByZWxhdGlvbiA9IHJpZ2h0bW9z
dFNlbGVjdG9yLT5yZWxhdGlvbigpOworICAgICAgICBDU1NTZWxlY3Rvciogc2NvcGVTZWxlY3Rv
ciA9IDA7CisgICAgICAgIC8vIFRoaXMgcGlja3MgdGhlIHdpZGVzdCBzY29wZSwgbm90IHRoZSBu
YXJyb3dlc3QsIHRvIG1pbmltaXplIHRoZSBudW1iZXIgb2YgZm91bmQgc2NvcGVkLgorICAgICAg
ICBmb3IgKENTU1NlbGVjdG9yKiBjdXJyZW50ID0gc2VsZWN0b3I7IGN1cnJlbnQ7IGN1cnJlbnQg
PSBjdXJyZW50LT50YWdIaXN0b3J5KCkpIHsKKyAgICAgICAgICAgIC8vIFByZWZlciBpZHMgb3Zl
ciBjbGFzc2VzLgorICAgICAgICAgICAgaWYgKGN1cnJlbnQtPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0
b3I6OklkKQorICAgICAgICAgICAgICAgIHNjb3BlU2VsZWN0b3IgPSBjdXJyZW50OworICAgICAg
ICAgICAgZWxzZSBpZiAoY3VycmVudC0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rvcjo6Q2xhc3MgJiYg
KCFzY29wZVNlbGVjdG9yIHx8IHNjb3BlU2VsZWN0b3ItPm1fbWF0Y2ggIT0gQ1NTU2VsZWN0b3I6
OklkKSkKKyAgICAgICAgICAgICAgICBzY29wZVNlbGVjdG9yID0gY3VycmVudDsKKyAgICAgICAg
ICAgIENTU1NlbGVjdG9yOjpSZWxhdGlvbiByZWxhdGlvbiA9IGN1cnJlbnQtPnJlbGF0aW9uKCk7
CisgICAgICAgICAgICBpZiAocmVsYXRpb24gIT0gQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnQgJiYg
cmVsYXRpb24gIT0gQ1NTU2VsZWN0b3I6OkNoaWxkICYmIHJlbGF0aW9uICE9IENTU1NlbGVjdG9y
OjpTdWJTZWxlY3RvcikKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAg
ICBpZiAocmVsYXRpb24gIT0gQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnQgJiYgcmVsYXRpb24gIT0g
Q1NTU2VsZWN0b3I6OkNoaWxkKQorICAgICAgICBpZiAoIXNjb3BlU2VsZWN0b3IpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGlmIChyaWdodG1vc3RTZWxlY3Rvci0+bV9tYXRj
aCA9PSBDU1NTZWxlY3Rvcjo6SWQpIHsKLSAgICAgICAgICAgIGlkU2NvcGVzLmFkZChyaWdodG1v
c3RTZWxlY3Rvci0+dmFsdWUoKS5pbXBsKCkpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAg
ICAgIH0KLSAgICAgICAgaWYgKHJpZ2h0bW9zdFNlbGVjdG9yLT5tX21hdGNoID09IENTU1NlbGVj
dG9yOjpDbGFzcykgewotICAgICAgICAgICAgY2xhc3NTY29wZXMuYWRkKHJpZ2h0bW9zdFNlbGVj
dG9yLT52YWx1ZSgpLmltcGwoKSk7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQot
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIEFTU0VSVChzY29wZVNlbGVjdG9yLT5tX21h
dGNoID09IENTU1NlbGVjdG9yOjpDbGFzcyB8fCBzY29wZVNlbGVjdG9yLT5tX21hdGNoID09IENT
U1NlbGVjdG9yOjpJZCk7CisgICAgICAgIGlmIChzY29wZVNlbGVjdG9yLT5tX21hdGNoID09IENT
U1NlbGVjdG9yOjpJZCkKKyAgICAgICAgICAgIGlkU2NvcGVzLmFkZChzY29wZVNlbGVjdG9yLT52
YWx1ZSgpLmltcGwoKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNsYXNzU2NvcGVzLmFk
ZChzY29wZVNlbGVjdG9yLT52YWx1ZSgpLmltcGwoKSk7CiAgICAgfQogICAgIHJldHVybiB0cnVl
OwogfQo=
</data>
<flag name="review"
          id="121712"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>