<?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>136838</bug_id>
          
          <creation_ts>2014-09-15 14:26:06 -0700</creation_ts>
          <short_desc>Return early in SelectorChecker::checkOne() if selector.isAttributeSelector() is true</short_desc>
          <delta_ts>2014-09-15 19:30:29 -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>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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1035311</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-15 14:26:06 -0700</bug_when>
    <thetext>Return early in SelectorChecker::checkOne() if selector.isAttributeSelector() is true and the selector matched. Previously, we were only returning early if the selector did not match and we were falling through if it did. This means that we ended up doing the 2 if() checks below in the method unnecessarily:
- selector.m_match == CSSSelector::PseudoClass
- selector.m_match == CSSSelector::PseudoElement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035312</commentid>
    <comment_count>1</comment_count>
      <attachid>238142</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-15 14:28:16 -0700</bug_when>
    <thetext>Created attachment 238142
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035340</commentid>
    <comment_count>2</comment_count>
      <attachid>238142</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-15 17:01:55 -0700</bug_when>
    <thetext>Comment on attachment 238142
Patch

Please do not optimize SelectorChecker, it is *completely* untested.

The rule for SelectorChecker is now to make it correct no matter how slow &quot;correct&quot; is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035364</commentid>
    <comment_count>3</comment_count>
      <attachid>238142</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-15 19:30:25 -0700</bug_when>
    <thetext>Comment on attachment 238142
Patch

Clearing flags on attachment: 238142

Committed r173646: &lt;http://trac.webkit.org/changeset/173646&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035365</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-15 19:30:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238142</attachid>
            <date>2014-09-15 14:28:16 -0700</date>
            <delta_ts>2014-09-15 19:30:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136838-20140915142813.patch</filename>
            <type>text/plain</type>
            <size>2042</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzdjOTYzYzliY2Q1YWJk
NmJiNThlNWFiZTY0NWMzOGE4NzBiODBkMS4uYzJhMDMyODg5ODYyNWIzOWMyNGFjODk4MmMzYmMz
NGFhNmI5NjY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE0LTA5LTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmV0dXJuIGVhcmx5IGluIFNl
bGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUoKSBpZiBzZWxlY3Rvci5pc0F0dHJpYnV0ZVNlbGVjdG9y
KCkgaXMgdHJ1ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTM2ODM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmV0dXJuIGVhcmx5IGluIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUoKSBpZiBzZWxlY3Rv
ci5pc0F0dHJpYnV0ZVNlbGVjdG9yKCkKKyAgICAgICAgaXMgdHJ1ZSBhbmQgdGhlIHNlbGVjdG9y
IG1hdGNoZWQuIFByZXZpb3VzbHksIHdlIHdlcmUgb25seSByZXR1cm5pbmcgZWFybHkgaWYKKyAg
ICAgICAgdGhlIHNlbGVjdG9yIGRpZCBub3QgbWF0Y2ggYW5kIHdlIHdlcmUgZmFsbGluZyB0aHJv
dWdoIGlmIGl0IGRpZC4gVGhpcyBtZWFucworICAgICAgICB0aGF0IHdlIGVuZGVkIHVwIGRvaW5n
IHRoZSAyIGlmKCkgY2hlY2tzIGJlbG93IGluIHRoZSBtZXRob2QgdW5uZWNlc3NhcmlseToKKyAg
ICAgICAgLSBzZWxlY3Rvci5tX21hdGNoID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzcworICAg
ICAgICAtIHNlbGVjdG9yLm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQKKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGNz
cy9TZWxlY3RvckNoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2Vy
OjpjaGVja09uZSk6CisKIDIwMTQtMDktMTUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgW01hY10gU3VwcG9ydCBhdWRpb1NvdXJjZVByb3ZpZGVyKCkgaW4gTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JD
aGVja2VyLmNwcAppbmRleCBiZTc0MjA3YmVmNWI0Nzg0ZmVmNjRjMTMzNTIzODRlM2U2NzBjNmYz
Li5hNzY0MjZkZjZiNzNhMzBiOTJiOTU3ZTEyYzBjYzU5NDU5OTBlYjFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcApAQCAtNTEyLDggKzUxMiw3IEBAIGJvb2wgU2VsZWN0
b3JDaGVja2VyOjpjaGVja09uZShjb25zdCBDaGVja2luZ0NvbnRleHRXaXRoU3RhdHVzJiBjb250
ZXh0KSBjb25zdAogICAgICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyID0gc2VsZWN0b3It
PmF0dHJpYnV0ZSgpOwogICAgICAgICBib29sIGNhc2VTZW5zaXRpdmUgPSAhKG1fZG9jdW1lbnRJ
c0hUTUwgJiYgZWxlbWVudC0+aXNIVE1MRWxlbWVudCgpKSB8fCBIVE1MRG9jdW1lbnQ6OmlzQ2Fz
ZVNlbnNpdGl2ZUF0dHJpYnV0ZShhdHRyKTsKIAotICAgICAgICBpZiAoIWFueUF0dHJpYnV0ZU1h
dGNoZXMoZWxlbWVudCwgc2VsZWN0b3IsIGF0dHIsIGNhc2VTZW5zaXRpdmUpKQotICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gYW55QXR0cmlidXRlTWF0Y2hlcyhlbGVt
ZW50LCBzZWxlY3RvciwgYXR0ciwgY2FzZVNlbnNpdGl2ZSk7CiAgICAgfQogCiAgICAgaWYgKHNl
bGVjdG9yLT5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzcykgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>