<?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>126154</bug_id>
          
          <creation_ts>2013-12-23 03:12:30 -0800</creation_ts>
          <short_desc>Add id matching to the Selector Code Generator</short_desc>
          <delta_ts>2013-12-23 12:18:13 -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>barraclough</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>962430</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-12-23 03:12:30 -0800</bug_when>
    <thetext>Add id matching to the Selector Code Generator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962431</commentid>
    <comment_count>1</comment_count>
      <attachid>219903</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-12-23 03:15:33 -0800</bug_when>
    <thetext>Created attachment 219903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962513</commentid>
    <comment_count>2</comment_count>
      <attachid>219903</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-12-23 10:39:59 -0800</bug_when>
    <thetext>Comment on attachment 219903
Patch

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

&gt; Source/WebCore/cssjit/SelectorCompiler.cpp:91
&gt;          , tagName(0)
&gt; +        , id(0)

nullptr (both)

&gt; Source/WebCore/cssjit/SelectorCompiler.cpp:216
&gt;          case CSSSelector::Id:
&gt; +            {
&gt; +                const AtomicString&amp; id = selector-&gt;value();

I think we usually put { after case and indent only one level.

&gt; Source/WebCore/cssjit/SelectorCompiler.cpp:763
&gt; +
&gt; +    //  Generate:
&gt; +    //     elementDataAddress = element-&gt;elementData();
&gt; +    //     if (!elementDataAddress)
&gt; +    //         failure!
&gt; +    LocalRegister elementDataAddress(m_registerAllocator);
&gt; +    m_assembler.loadPtr(Assembler::Address(elementAddressRegister, Element::elementDataMemoryOffset()), elementDataAddress);
&gt; +    failureCases.append(m_assembler.branchTestPtr(Assembler::Zero, elementDataAddress));
&gt; +
&gt; +    generateElementHasId(failureCases, elementDataAddress, *fragment.id);
&gt;  }

Would be nice if we could just write the C++ and have tooling do the rest!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962540</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-12-23 12:18:13 -0800</bug_when>
    <thetext>Committed r161010: &lt;http://trac.webkit.org/changeset/161010&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219903</attachid>
            <date>2013-12-23 03:15:33 -0800</date>
            <delta_ts>2013-12-23 10:39:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126154-20131223031530.patch</filename>
            <type>text/plain</type>
            <size>9002</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwOTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzc3MzI0Y2ZlZWI5ZDM4
OGJhNzI1MDBmNWM2NGI0MjBhZTc4ZjVkYy4uODNkNzhhZjQyMDliZjAyMTFhZmFkY2U5ZTZkM2Vk
OGExMDUxNzA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTEyLTIzICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgaWQgbWF0
Y2hpbmcgdG8gdGhlIFNlbGVjdG9yIENvZGUgR2VuZXJhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjYxNTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21waWxlIG1hdGNoaW5nIGZvciAjaWQgc2Vs
ZWN0b3JzLiBJRHMgYXJlIEF0b21pYyBTdHJpbmcgc28gaXQgaXMganVzdCBhIG1hdHRlcgorICAg
ICAgICBvZiBjb21wYXJpbmcgdGhlIHBvaW50ZXJzLgorCisgICAgICAgIE5vIGF0dGVtcHQgaXMg
bWFkZSBhdCBvcHRpbWl6aW5nIGZvciB0aGUgZG91YmxlICNpZCBjYXNlIGJlY2F1c2Ugc3VjaCBw
cm9ibGVtCisgICAgICAgIGRvIG5vdCByZWFsbHkgaGFwcGVuIG91dHNpZGUgdGVzdHMuCisKKyAg
ICAgICAgKiBjc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
ZWxlY3RvckNvbXBpbGVyOjpTZWxlY3RvckZyYWdtZW50OjpTZWxlY3RvckZyYWdtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6
U2VsZWN0b3JDb2RlR2VuZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGls
ZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Y29tcGlsZSk6CisgICAgICAgIChXZWJDb3JlOjpT
ZWxlY3RvckNvbXBpbGVyOjpTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVudE1h
dGNoaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNlbGVjdG9yQ29k
ZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50RGF0YU1hdGNoaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVt
ZW50SGFzSWQpOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjplbGVtZW50RGF0YU1lbW9yeU9mZnNldCk6CisgICAgICAgICogZG9tL0VsZW1lbnRE
YXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50RGF0YTo6aWRGb3JTdHlsZVJlc29sdXRp
b25NZW1vcnlPZmZzZXQpOgorCiAyMDEzLTEyLTIyICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxh
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIENyZWF0ZSBhIHNrZWxldG9uIGZvciBDU1MgU2VsZWN0
b3IgY29kZSBnZW5lcmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2Vs
ZWN0b3JDb21waWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxl
ci5jcHAKaW5kZXggY2QxZDQ2MmQ4YWIyYTgwYTQ2MjJkNjNkZTE5MzlhYjBjMDhiZjVhNC4uZjI5
OTVhMjJkMjk5ZTA1Njk5ZGRiOTk2OTI5YjFhZDM5ZWVkNDM5MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcApAQCAtODgsNiArODgsNyBAQCBzdHJ1Y3QgU2Vs
ZWN0b3JGcmFnbWVudCB7CiAgICAgICAgICwgbWF0Y2hpbmdCYWNrdHJhY2tpbmdBY3Rpb24oQmFj
a3RyYWNraW5nQWN0aW9uOjpOb0JhY2t0cmFja2luZykKICAgICAgICAgLCBiYWNrdHJhY2tpbmdG
bGFncygwKQogICAgICAgICAsIHRhZ05hbWUoMCkKKyAgICAgICAgLCBpZCgwKQogICAgIHsKICAg
ICB9CiAgICAgRnJhZ21lbnRSZWxhdGlvbiByZWxhdGlvblRvTGVmdEZyYWdtZW50OwpAQCAtOTgs
NiArOTksNyBAQCBzdHJ1Y3QgU2VsZWN0b3JGcmFnbWVudCB7CiAgICAgdW5zaWduZWQgY2hhciBi
YWNrdHJhY2tpbmdGbGFnczsKIAogICAgIGNvbnN0IFF1YWxpZmllZE5hbWUqIHRhZ05hbWU7Cisg
ICAgY29uc3QgQXRvbWljU3RyaW5nKiBpZDsKIH07CiAKIHR5cGVkZWYgSlNDOjpNYWNyb0Fzc2Vt
YmxlciBBc3NlbWJsZXI7CkBAIC0xMzMsNyArMTM1LDkgQEAgcHJpdmF0ZToKIAogICAgIC8vIEVs
ZW1lbnQgcHJvcGVydGllcyBtYXRjaGVycy4KICAgICB2b2lkIGdlbmVyYXRlRWxlbWVudE1hdGNo
aW5nKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3QgU2VsZWN0b3JGcmFn
bWVudCYpOworICAgIHZvaWQgZ2VuZXJhdGVFbGVtZW50RGF0YU1hdGNoaW5nKEFzc2VtYmxlcjo6
SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3QgU2VsZWN0b3JGcmFnbWVudCYpOwogICAgIHZv
aWQgZ2VuZXJhdGVFbGVtZW50SGFzVGFnTmFtZShBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWlsdXJl
Q2FzZXMsIGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWVUb01hdGNoKTsKKyAgICB2b2lkIGdlbmVy
YXRlRWxlbWVudEhhc0lkKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3Qg
TG9jYWxSZWdpc3RlciYgZWxlbWVudERhdGFBZGRyZXNzLCBjb25zdCBBdG9taWNTdHJpbmcmIGlk
VG9NYXRjaCk7CiAKICAgICBBc3NlbWJsZXIgbV9hc3NlbWJsZXI7CiAgICAgUmVnaXN0ZXJBbGxv
Y2F0b3IgbV9yZWdpc3RlckFsbG9jYXRvcjsKQEAgLTE0Miw2ICsxNDYsNyBAQCBwcml2YXRlOgog
CiAgICAgRnVuY3Rpb25UeXBlIG1fZnVuY3Rpb25UeXBlOwogICAgIFZlY3RvcjxTZWxlY3RvckZy
YWdtZW50LCA4PiBtX3NlbGVjdG9yRnJhZ21lbnRzOworICAgIGJvb2wgbV9zZWxlY3RvckNhbm5v
dE1hdGNoQW55dGhpbmc7CiAKICAgICBTdGFja0FsbG9jYXRvcjo6U3RhY2tSZWZlcmVuY2UgbV9j
aGVja2luZ0NvbnRleHRTdGFja1JlZmVyZW5jZTsKIApAQCAtMTg5LDYgKzE5NCw3IEBAIHN0YXRp
YyBpbmxpbmUgRnJhZ21lbnRSZWxhdGlvbiBmcmFnbWVudFJlbGF0aW9uRm9yU2VsZWN0b3JSZWxh
dGlvbihDU1NTZWxlY3Rvcjo6CiBpbmxpbmUgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpTZWxlY3Rv
ckNvZGVHZW5lcmF0b3IoY29uc3QgQ1NTU2VsZWN0b3IqIHJvb3RTZWxlY3RvcikKICAgICA6IG1f
c3RhY2tBbGxvY2F0b3IobV9hc3NlbWJsZXIpCiAgICAgLCBtX2Z1bmN0aW9uVHlwZShGdW5jdGlv
blR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcikKKyAgICAsIG1fc2VsZWN0b3JDYW5ub3RNYXRj
aEFueXRoaW5nKGZhbHNlKQogI2lmIENTU19TRUxFQ1RPUl9KSVRfREVCVUdHSU5HCiAgICAgLCBt
X29yaWdpbmFsU2VsZWN0b3Iocm9vdFNlbGVjdG9yKQogI2VuZGlmCkBAIC0yMDUsOCArMjExLDE3
IEBAIGlubGluZSBTZWxlY3RvckNvZGVHZW5lcmF0b3I6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcihj
b25zdCBDU1NTZWxlY3Rvciogcm9vdFNlbGVjCiAgICAgICAgICAgICBBU1NFUlQoIWZyYWdtZW50
LnRhZ05hbWUpOwogICAgICAgICAgICAgZnJhZ21lbnQudGFnTmFtZSA9ICYoc2VsZWN0b3ItPnRh
Z1FOYW1lKCkpOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlVua25vd246CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OklkOgorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaWQgPSBzZWxlY3Rvci0+dmFsdWUo
KTsKKyAgICAgICAgICAgICAgICBpZiAoZnJhZ21lbnQuaWQpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGlkICE9ICpmcmFnbWVudC5pZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8g
SW5jb25zaXN0ZW50U2VsZWN0b3I7CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAg
ICAgICAgICAgIGZyYWdtZW50LmlkID0gJihzZWxlY3Rvci0+dmFsdWUoKSk7CisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlVu
a25vd246CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkNsYXNzOgogICAgICAgICBjYXNlIENT
U1NlbGVjdG9yOjpFeGFjdDoKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2V0OgpAQCAtMjQy
LDE0ICsyNTcsMTYgQEAgaW5saW5lIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6U2VsZWN0b3JDb2Rl
R2VuZXJhdG9yKGNvbnN0IENTU1NlbGVjdG9yKiByb290U2VsZWMKICAgICBjb21wdXRlQmFja3Ry
YWNraW5nSW5mb3JtYXRpb24oKTsKIAogICAgIHJldHVybjsKLQorSW5jb25zaXN0ZW50U2VsZWN0
b3I6CisgICAgbV9mdW5jdGlvblR5cGUgPSBGdW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hl
Y2tlcjsKKyAgICBtX3NlbGVjdG9yQ2Fubm90TWF0Y2hBbnl0aGluZyA9IHRydWU7CiBDYW5ub3RI
YW5kbGVTZWxlY3RvcjoKICAgICBtX3NlbGVjdG9yRnJhZ21lbnRzLmNsZWFyKCk7CiB9CiAKIGlu
bGluZSBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Y29t
cGlsZShKU0M6OlZNKiB2bSwgSlNDOjpNYWNyb0Fzc2VtYmxlckNvZGVSZWYmIGNvZGVSZWYpCiB7
Ci0gICAgaWYgKG1fc2VsZWN0b3JGcmFnbWVudHMuaXNFbXB0eSgpKQorICAgIGlmIChtX3NlbGVj
dG9yRnJhZ21lbnRzLmlzRW1wdHkoKSAmJiAhbV9zZWxlY3RvckNhbm5vdE1hdGNoQW55dGhpbmcp
CiAgICAgICAgIHJldHVybiBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzOjpDYW5ub3RDb21waWxl
OwogCiAgICAgbV9yZWdpc3RlckFsbG9jYXRvci5hbGxvY2F0ZVJlZ2lzdGVyKGVsZW1lbnRBZGRy
ZXNzUmVnaXN0ZXIpOwpAQCAtMjg0LDEyICszMDEsMTQgQEAgaW5saW5lIFNlbGVjdG9yQ29tcGls
YXRpb25TdGF0dXMgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpjb21waWxlKEpTQzo6Vk0qIHZtLCBK
U0MKICAgICBtX3JlZ2lzdGVyQWxsb2NhdG9yLmRlYWxsb2NhdGVSZWdpc3RlcihlbGVtZW50QWRk
cmVzc1JlZ2lzdGVyKTsKIAogICAgIGlmIChtX2Z1bmN0aW9uVHlwZSA9PSBGdW5jdGlvblR5cGU6
OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcikgewotICAgICAgICAvLyBTdWNjZXNzLgotICAgICAgICBt
X2Fzc2VtYmxlci5tb3ZlKEFzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKDEpLCByZXR1cm5SZWdpc3Rl
cik7Ci0gICAgICAgIG1fYXNzZW1ibGVyLnJldCgpOworICAgICAgICBpZiAoIW1fc2VsZWN0b3JD
YW5ub3RNYXRjaEFueXRoaW5nKSB7CisgICAgICAgICAgICAvLyBTdWNjZXNzLgorICAgICAgICAg
ICAgbV9hc3NlbWJsZXIubW92ZShBc3NlbWJsZXI6OlRydXN0ZWRJbW0zMigxKSwgcmV0dXJuUmVn
aXN0ZXIpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIucmV0KCk7CisgICAgICAgIH0KIAogICAg
ICAgICAvLyBGYWlsdXJlLgotICAgICAgICBpZiAoIWZhaWx1cmVDYXNlcy5lbXB0eSgpKSB7Cisg
ICAgICAgIGlmIChtX3NlbGVjdG9yQ2Fubm90TWF0Y2hBbnl0aGluZyB8fCAhZmFpbHVyZUNhc2Vz
LmVtcHR5KCkpIHsKICAgICAgICAgICAgIGZhaWx1cmVDYXNlcy5saW5rKCZtX2Fzc2VtYmxlcik7
CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZlKEFzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKDAp
LCByZXR1cm5SZWdpc3Rlcik7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5yZXQoKTsKQEAgLTcy
NCw2ICs3NDMsMjMgQEAgdm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVu
dE1hdGNoaW5nKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmUKIHsKICAgICBpZiAoZnJhZ21l
bnQudGFnTmFtZSkKICAgICAgICAgZ2VuZXJhdGVFbGVtZW50SGFzVGFnTmFtZShmYWlsdXJlQ2Fz
ZXMsICooZnJhZ21lbnQudGFnTmFtZSkpOworICAgIGdlbmVyYXRlRWxlbWVudERhdGFNYXRjaGlu
ZyhmYWlsdXJlQ2FzZXMsIGZyYWdtZW50KTsKK30KKwordm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0
b3I6OmdlbmVyYXRlRWxlbWVudERhdGFNYXRjaGluZyhBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWls
dXJlQ2FzZXMsIGNvbnN0IFNlbGVjdG9yRnJhZ21lbnQmIGZyYWdtZW50KQoreworICAgIGlmICgh
ZnJhZ21lbnQuaWQpCisgICAgICAgIHJldHVybjsKKworICAgIC8vICBHZW5lcmF0ZToKKyAgICAv
LyAgICAgZWxlbWVudERhdGFBZGRyZXNzID0gZWxlbWVudC0+ZWxlbWVudERhdGEoKTsKKyAgICAv
LyAgICAgaWYgKCFlbGVtZW50RGF0YUFkZHJlc3MpCisgICAgLy8gICAgICAgICBmYWlsdXJlIQor
ICAgIExvY2FsUmVnaXN0ZXIgZWxlbWVudERhdGFBZGRyZXNzKG1fcmVnaXN0ZXJBbGxvY2F0b3Ip
OworICAgIG1fYXNzZW1ibGVyLmxvYWRQdHIoQXNzZW1ibGVyOjpBZGRyZXNzKGVsZW1lbnRBZGRy
ZXNzUmVnaXN0ZXIsIEVsZW1lbnQ6OmVsZW1lbnREYXRhTWVtb3J5T2Zmc2V0KCkpLCBlbGVtZW50
RGF0YUFkZHJlc3MpOworICAgIGZhaWx1cmVDYXNlcy5hcHBlbmQobV9hc3NlbWJsZXIuYnJhbmNo
VGVzdFB0cihBc3NlbWJsZXI6Olplcm8sIGVsZW1lbnREYXRhQWRkcmVzcykpOworCisgICAgZ2Vu
ZXJhdGVFbGVtZW50SGFzSWQoZmFpbHVyZUNhc2VzLCBlbGVtZW50RGF0YUFkZHJlc3MsICpmcmFn
bWVudC5pZCk7CiB9CiAKIGlubGluZSB2b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJh
dGVFbGVtZW50SGFzVGFnTmFtZShBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWlsdXJlQ2FzZXMsIGNv
bnN0IFF1YWxpZmllZE5hbWUmIG5hbWVUb01hdGNoKQpAQCAtNzUyLDYgKzc4OCwxNCBAQCBpbmxp
bmUgdm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVudEhhc1RhZ05hbWUo
QXNzZW1ibGVyOjpKdW1wTGlzdAogICAgIH0KIH0KIAordm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0
b3I6OmdlbmVyYXRlRWxlbWVudEhhc0lkKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNl
cywgY29uc3QgTG9jYWxSZWdpc3RlciYgZWxlbWVudERhdGFBZGRyZXNzLCBjb25zdCBBdG9taWNT
dHJpbmcmIGlkVG9NYXRjaCkKK3sKKyAgICAvLyBDb21wYXJlIHRoZSBwb2ludGVycyBvZiB0aGUg
QXRvbWljU3RyaW5nSW1wbCBmcm9tIGlkRm9yU3R5bGVSZXNvbHV0aW9uIHdpdGggdGhlIHJlZmVy
ZW5jZSBpZFRvTWF0Y2guCisgICAgTG9jYWxSZWdpc3RlciBpZFRvTWF0Y2hSZWdpc3RlcihtX3Jl
Z2lzdGVyQWxsb2NhdG9yKTsKKyAgICBtX2Fzc2VtYmxlci5tb3ZlKEFzc2VtYmxlcjo6VHJ1c3Rl
ZEltbVB0cihpZFRvTWF0Y2guaW1wbCgpKSwgaWRUb01hdGNoUmVnaXN0ZXIpOworICAgIGZhaWx1
cmVDYXNlcy5hcHBlbmQobV9hc3NlbWJsZXIuYnJhbmNoUHRyKEFzc2VtYmxlcjo6Tm90RXF1YWws
IEFzc2VtYmxlcjo6QWRkcmVzcyhlbGVtZW50RGF0YUFkZHJlc3MsIEVsZW1lbnREYXRhOjppZEZv
clN0eWxlUmVzb2x1dGlvbk1lbW9yeU9mZnNldCgpKSwgaWRUb01hdGNoUmVnaXN0ZXIpKTsKK30K
KwogfTsgLy8gbmFtZXNwYWNlIFNlbGVjdG9yQ29tcGlsZXIuCiB9OyAvLyBuYW1lc3BhY2UgV2Vi
Q29yZS4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggMDg5OTlhZWZmZDYyYjMyODAzNGU1ZTMwNzc4
YzFjN2UwZDg4MzEyMi4uOWQxMmYyMDM4ZDc3MDY5Njc0YzFkNjQyZWMyY2JlNTIzZWFjYWM5YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCkBAIC0yOTMsNiArMjkzLDcgQEAgcHVibGljOgogICAgIHZvaWQg
c3RyaXBTY3JpcHRpbmdBdHRyaWJ1dGVzKFZlY3RvcjxBdHRyaWJ1dGU+JikgY29uc3Q7CiAKICAg
ICBjb25zdCBFbGVtZW50RGF0YSogZWxlbWVudERhdGEoKSBjb25zdCB7IHJldHVybiBtX2VsZW1l
bnREYXRhLmdldCgpOyB9CisgICAgc3RhdGljIHB0cmRpZmZfdCBlbGVtZW50RGF0YU1lbW9yeU9m
ZnNldCgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihFbGVtZW50LCBtX2VsZW1lbnREYXRhKTsg
fQogICAgIFVuaXF1ZUVsZW1lbnREYXRhJiBlbnN1cmVVbmlxdWVFbGVtZW50RGF0YSgpOwogCiAg
ICAgdm9pZCBzeW5jaHJvbml6ZUFsbEF0dHJpYnV0ZXMoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnREYXRhLmgKaW5kZXggNjJmY2M0ZTUzOTFkM2UxNjlmZTY3OTUzNWFjZDYxMmVkZDU3OTNiYy4u
NzdmN2M1NWY2ZTRhMjYzZDI1MzA4NzQyMDVhN2E4NTkwNWM0NWE5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnREYXRhLmgKQEAgLTUxLDYgKzUxLDcgQEAgcHVibGljOgogICAgIGNvbnN0IFNwYWNlU3Bs
aXRTdHJpbmcmIGNsYXNzTmFtZXMoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzTmFtZXM7IH0KIAog
ICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaWRGb3JTdHlsZVJlc29sdXRpb24oKSBjb25zdCB7IHJl
dHVybiBtX2lkRm9yU3R5bGVSZXNvbHV0aW9uOyB9CisgICAgc3RhdGljIHB0cmRpZmZfdCBpZEZv
clN0eWxlUmVzb2x1dGlvbk1lbW9yeU9mZnNldCgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihF
bGVtZW50RGF0YSwgbV9pZEZvclN0eWxlUmVzb2x1dGlvbik7IH0KICAgICB2b2lkIHNldElkRm9y
U3R5bGVSZXNvbHV0aW9uKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3SWQpIGNvbnN0IHsgbV9pZEZv
clN0eWxlUmVzb2x1dGlvbiA9IG5ld0lkOyB9CiAKICAgICBjb25zdCBTdHlsZVByb3BlcnRpZXMq
IGlubGluZVN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9pbmxpbmVTdHlsZS5nZXQoKTsgfQo=
</data>
<flag name="review"
          id="243566"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>