<?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>126189</bug_id>
          
          <creation_ts>2013-12-23 16:18:30 -0800</creation_ts>
          <short_desc>Add the pseudo class :focus to the Selector Code Generator</short_desc>
          <delta_ts>2013-12-23 17:19:41 -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>New Bugs</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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>koivisto</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>962632</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-12-23 16:18:30 -0800</bug_when>
    <thetext>Add the pseudo class :focus to the Selector Code Generator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962633</commentid>
    <comment_count>1</comment_count>
      <attachid>219940</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-12-23 16:18:46 -0800</bug_when>
    <thetext>Created attachment 219940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962637</commentid>
    <comment_count>2</comment_count>
      <attachid>219940</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-12-23 16:30:36 -0800</bug_when>
    <thetext>Comment on attachment 219940
Patch

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

&gt; Source/WebCore/cssjit/SelectorCompiler.cpp:244
&gt; +            m_functionType = std::max(m_functionType, addPseudoType(selector-&gt;pseudoType(), fragment.pseudoClasses));

Maybe we should replace std::max with some descriptive inline function?
Or maybe addPseudoType should be a member function of SelectorCodeGenerator that auto-updates m_functionType.
Or it should take m_functionType as an argument?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962659</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-12-23 17:19:41 -0800</bug_when>
    <thetext>Committed r161041: &lt;http://trac.webkit.org/changeset/161041&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219940</attachid>
            <date>2013-12-23 16:18:46 -0800</date>
            <delta_ts>2013-12-23 16:30:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126189-20131223161845.patch</filename>
            <type>text/plain</type>
            <size>4938</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmU3Y2ExNGJlYmEzMGUw
OGUxMTlmN2JlNTAyNGZmYjU2OGRkMjg5NC4uNWEzZDY0ZDcwY2IzZGFhNWUzNzlkOWEwYzg0NWEx
NmVjOTIzZjIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDEzLTEyLTIzICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAorICAgICAgICBBZGQgdGhlIHBz
ZXVkbyBjbGFzcyA6Zm9jdXMgdG8gdGhlIFNlbGVjdG9yIENvZGUgR2VuZXJhdG9yCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjYxODkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzc2ppdC9TZWxlY3Rv
ckNvbXBpbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OmFkZFBz
ZXVkb1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6U2VsZWN0b3JD
b2RlR2VuZXJhdG9yOjpTZWxlY3RvckNvZGVHZW5lcmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6
U2VsZWN0b3JDb21waWxlcjo6U2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZUVsZW1lbnRN
YXRjaGluZyk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpTZWxlY3RvckNv
ZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVudElzRm9jdXNlZCk6CisKKzIwMTMtMTItMjMgIEJl
bmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgorCiAgICAgICAgIEFkZCBjbGFz
cyBtYXRjaGluZyB0byB0aGUgU2VsZWN0b3IgQ29kZSBHZW5lcmF0b3IKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjE3NgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKaW5kZXggMmIzMDllYWM3ZTBkZmMwMWRjYzRm
YmUzYTEwNTFkY2JiMWRmODU1OS4uMThhYTY1YjlhN2Q0MTU3ZGU3Y2U5NzYwODhiODY2MjQyNGMx
ZDljZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcApAQCAt
NzksNyArNzksOCBAQCBlbnVtIGNsYXNzIEZyYWdtZW50UmVsYXRpb24gewogCiBlbnVtIGNsYXNz
IEZ1bmN0aW9uVHlwZSB7CiAgICAgU2ltcGxlU2VsZWN0b3JDaGVja2VyLAotICAgIFNlbGVjdG9y
Q2hlY2tlcldpdGhDaGVja2luZ0NvbnRleHQKKyAgICBTZWxlY3RvckNoZWNrZXJXaXRoQ2hlY2tp
bmdDb250ZXh0LAorICAgIENhbm5vdENvbXBpbGUKIH07CiAKIHN0cnVjdCBTZWxlY3RvckZyYWdt
ZW50IHsKQEAgLTEwMSw2ICsxMDIsNyBAQCBzdHJ1Y3QgU2VsZWN0b3JGcmFnbWVudCB7CiAgICAg
Y29uc3QgUXVhbGlmaWVkTmFtZSogdGFnTmFtZTsKICAgICBjb25zdCBBdG9taWNTdHJpbmcqIGlk
OwogICAgIFZlY3Rvcjxjb25zdCBBdG9taWNTdHJpbmdJbXBsKiwgMT4gY2xhc3NOYW1lczsKKyAg
ICBIYXNoU2V0PHVuc2lnbmVkPiBwc2V1ZG9DbGFzc2VzOwogfTsKIAogdHlwZWRlZiBKU0M6Ok1h
Y3JvQXNzZW1ibGVyIEFzc2VtYmxlcjsKQEAgLTE0MCw2ICsxNDIsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgZ2VuZXJhdGVFbGVtZW50SGFzVGFnTmFtZShBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWls
dXJlQ2FzZXMsIGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWVUb01hdGNoKTsKICAgICB2b2lkIGdl
bmVyYXRlRWxlbWVudEhhc0lkKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29u
c3QgTG9jYWxSZWdpc3RlciYgZWxlbWVudERhdGFBZGRyZXNzLCBjb25zdCBBdG9taWNTdHJpbmcm
IGlkVG9NYXRjaCk7CiAgICAgdm9pZCBnZW5lcmF0ZUVsZW1lbnRIYXNDbGFzc2VzKEFzc2VtYmxl
cjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3QgTG9jYWxSZWdpc3RlciYgZWxlbWVudERh
dGFBZGRyZXNzLCBjb25zdCBWZWN0b3I8Y29uc3QgQXRvbWljU3RyaW5nSW1wbCo+JiBjbGFzc05h
bWVzKTsKKyAgICB2b2lkIGdlbmVyYXRlRWxlbWVudElzRm9jdXNlZChBc3NlbWJsZXI6Okp1bXBM
aXN0JiBmYWlsdXJlQ2FzZXMpOwogCiAgICAgQXNzZW1ibGVyIG1fYXNzZW1ibGVyOwogICAgIFJl
Z2lzdGVyQWxsb2NhdG9yIG1fcmVnaXN0ZXJBbGxvY2F0b3I7CkBAIC0xOTMsNiArMTk2LDE4IEBA
IHN0YXRpYyBpbmxpbmUgRnJhZ21lbnRSZWxhdGlvbiBmcmFnbWVudFJlbGF0aW9uRm9yU2VsZWN0
b3JSZWxhdGlvbihDU1NTZWxlY3Rvcjo6CiAgICAgcmV0dXJuIEZyYWdtZW50UmVsYXRpb246OkRl
c2NlbmRhbnQ7CiB9CiAKK3N0YXRpYyBpbmxpbmUgRnVuY3Rpb25UeXBlIGFkZFBzZXVkb1R5cGUo
Q1NTU2VsZWN0b3I6OlBzZXVkb1R5cGUgdHlwZSwgSGFzaFNldDx1bnNpZ25lZD4mIHBzZXVkb0Ns
YXNzZXMpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNl
dWRvRm9jdXM6CisgICAgICAgIHBzZXVkb0NsYXNzZXMuYWRkKENTU1NlbGVjdG9yOjpQc2V1ZG9G
b2N1cyk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tl
cjsKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIEZ1bmN0
aW9uVHlwZTo6Q2Fubm90Q29tcGlsZTsKK30KKwogaW5saW5lIFNlbGVjdG9yQ29kZUdlbmVyYXRv
cjo6U2VsZWN0b3JDb2RlR2VuZXJhdG9yKGNvbnN0IENTU1NlbGVjdG9yKiByb290U2VsZWN0b3Ip
CiAgICAgOiBtX3N0YWNrQWxsb2NhdG9yKG1fYXNzZW1ibGVyKQogICAgICwgbV9mdW5jdGlvblR5
cGUoRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNoZWNrZXIpCkBAIC0yMjUsMTIgKzI0MCwx
NiBAQCBpbmxpbmUgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpTZWxlY3RvckNvZGVHZW5lcmF0b3Io
Y29uc3QgQ1NTU2VsZWN0b3IqIHJvb3RTZWxlYwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpD
bGFzczoKICAgICAgICAgICAgIGZyYWdtZW50LmNsYXNzTmFtZXMuYXBwZW5kKHNlbGVjdG9yLT52
YWx1ZSgpLmltcGwoKSk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3M6CisgICAgICAgICAgICBtX2Z1bmN0aW9uVHlwZSA9IHN0ZDo6bWF4
KG1fZnVuY3Rpb25UeXBlLCBhZGRQc2V1ZG9UeXBlKHNlbGVjdG9yLT5wc2V1ZG9UeXBlKCksIGZy
YWdtZW50LnBzZXVkb0NsYXNzZXMpKTsKKyAgICAgICAgICAgIGlmIChtX2Z1bmN0aW9uVHlwZSA9
PSBGdW5jdGlvblR5cGU6OkNhbm5vdENvbXBpbGUpCisgICAgICAgICAgICAgICAgZ290byBDYW5u
b3RIYW5kbGVTZWxlY3RvcjsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU1Nl
bGVjdG9yOjpVbmtub3duOgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpFeGFjdDoKICAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2V0OgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpMaXN0
OgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpIeXBoZW46Ci0gICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0NsYXNzOgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVt
ZW50OgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpDb250YWluOgogICAgICAgICBjYXNlIENT
U1NlbGVjdG9yOjpCZWdpbjoKQEAgLTc0Niw2ICs3NjUsMTAgQEAgdm9pZCBTZWxlY3RvckNvZGVH
ZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVudE1hdGNoaW5nKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZh
aWx1cmUKIHsKICAgICBpZiAoZnJhZ21lbnQudGFnTmFtZSkKICAgICAgICAgZ2VuZXJhdGVFbGVt
ZW50SGFzVGFnTmFtZShmYWlsdXJlQ2FzZXMsICooZnJhZ21lbnQudGFnTmFtZSkpOworCisgICAg
aWYgKGZyYWdtZW50LnBzZXVkb0NsYXNzZXMuY29udGFpbnMoQ1NTU2VsZWN0b3I6OlBzZXVkb0Zv
Y3VzKSkKKyAgICAgICAgZ2VuZXJhdGVFbGVtZW50SXNGb2N1c2VkKGZhaWx1cmVDYXNlcyk7CisK
ICAgICBnZW5lcmF0ZUVsZW1lbnREYXRhTWF0Y2hpbmcoZmFpbHVyZUNhc2VzLCBmcmFnbWVudCk7
CiB9CiAKQEAgLTgzNyw2ICs4NjAsMTUgQEAgdm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6Omdl
bmVyYXRlRWxlbWVudEhhc0NsYXNzZXMoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHUKICAgICB9
CiB9CiAKK3ZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZUVsZW1lbnRJc0ZvY3Vz
ZWQoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVyZUNhc2VzKQoreworICAgIEFzc2VtYmxlcjo6
UmVnaXN0ZXJJRCBlbGVtZW50QWRkcmVzcyA9IGVsZW1lbnRBZGRyZXNzUmVnaXN0ZXI7CisgICAg
RnVuY3Rpb25DYWxsIGZ1bmN0aW9uQ2FsbChtX2Fzc2VtYmxlciwgbV9yZWdpc3RlckFsbG9jYXRv
ciwgbV9zdGFja0FsbG9jYXRvciwgbV9mdW5jdGlvbkNhbGxzKTsKKyAgICBmdW5jdGlvbkNhbGwu
c2V0RnVuY3Rpb25BZGRyZXNzKFNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2hlc0ZvY3VzUHNldWRvQ2xh
c3MpOworICAgIGZ1bmN0aW9uQ2FsbC5zZXRGaXJzdEFyZ3VtZW50KGVsZW1lbnRBZGRyZXNzKTsK
KyAgICBmYWlsdXJlQ2FzZXMuYXBwZW5kKGZ1bmN0aW9uQ2FsbC5jYWxsQW5kQnJhbmNoT25Db25k
aXRpb24oQXNzZW1ibGVyOjpaZXJvKSk7Cit9CisKIH07IC8vIG5hbWVzcGFjZSBTZWxlY3RvckNv
bXBpbGVyLgogfTsgLy8gbmFtZXNwYWNlIFdlYkNvcmUuCiAK
</data>
<flag name="review"
          id="243607"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>