<?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>110794</bug_id>
          
          <creation_ts>2013-02-25 14:06:16 -0800</creation_ts>
          <short_desc>[V8] Generate a wrapper function for named constructor callbacks</short_desc>
          <delta_ts>2013-09-01 10:33:08 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>
          
          <blocked>110667</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>841264</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-25 14:06:16 -0800</bug_when>
    <thetext>This would be the final step of generating wrapper functions. The patch generates the following wrapper function for named constructor callbacks.

Handle&lt;Value&gt; namedConstructorCallback()
{
  return namedConstructor();
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841266</commentid>
    <comment_count>1</comment_count>
      <attachid>190122</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-25 14:08:08 -0800</bug_when>
    <thetext>Created attachment 190122
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842822</commentid>
    <comment_count>2</comment_count>
      <attachid>190122</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 01:11:14 -0800</bug_when>
    <thetext>Comment on attachment 190122
Patch

Clearing flags on attachment: 190122

Committed r144157: &lt;http://trac.webkit.org/changeset/144157&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842823</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 01:11:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844171</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-28 10:02:43 -0800</bug_when>
    <thetext>Reverted r144157 for reason:

It broke chromium windows build

Committed r144322: &lt;http://trac.webkit.org/changeset/144322&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844266</commentid>
    <comment_count>5</comment_count>
      <attachid>190765</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-28 11:28:36 -0800</bug_when>
    <thetext>Created attachment 190765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844269</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-28 11:30:30 -0800</bug_when>
    <thetext>I fixed the windows build error: http://master.chrome.corp.google.com:8010/builders/win/builds/933/steps/compile/logs/stdio

It was a problem of namespace conflict. To avoid the conflict:

- namedConstructorCallback() should be a static method of class V8XXX.

- namedConstructor() should be in the namespace XXXV8Internal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844508</commentid>
    <comment_count>7</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-28 14:56:35 -0800</bug_when>
    <thetext>abarth: would you review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844512</commentid>
    <comment_count>8</comment_count>
      <attachid>190765</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-28 14:59:30 -0800</bug_when>
    <thetext>Comment on attachment 190765
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844541</commentid>
    <comment_count>9</comment_count>
      <attachid>190765</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-28 15:30:32 -0800</bug_when>
    <thetext>Comment on attachment 190765
Patch

Rejecting attachment 190765 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=gce-cq-01&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 190765, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
t/git/webkit-commit-queue/Source/WebKit/chromium/v8 --revision 13737 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
54&gt;At revision 13737.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://webkit-commit-queue.appspot.com/results/16864021</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923510</commentid>
    <comment_count>10</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-01 10:33:08 -0700</bug_when>
    <thetext>V8 is gone.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190122</attachid>
            <date>2013-02-25 14:08:08 -0800</date>
            <delta_ts>2013-02-28 11:28:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110794-20130225140423.patch</filename>
            <type>text/plain</type>
            <size>8411</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzOTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmFkNjQ2ZWI4ODU1MTgy
ZTY3ZDliMGU2ZDY5NTg0OGJlYzJkY2Y4NC4uNjUyM2E1MzM2YjZlYzdhYzNjZTlmOTZmYTQ5NmUw
Y2RhNThiMzQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM2IEBACiAyMDEzLTAyLTI1ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIEdlbmVyYXRl
IGEgd3JhcHBlciBmdW5jdGlvbiBmb3IgbmFtZWQgY29uc3RydWN0b3IgY2FsbGJhY2tzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA3OTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHdvdWxkIGJl
IHRoZSBmaW5hbCBzdGVwIG9mIGdlbmVyYXRpbmcgd3JhcHBlciBmdW5jdGlvbnMuCisgICAgICAg
IFRoZSBwYXRjaCBnZW5lcmF0ZXMgdGhlIGZvbGxvd2luZyB3cmFwcGVyIGZ1bmN0aW9uIGZvciBu
YW1lZAorICAgICAgICBjb25zdHJ1Y3RvciBjYWxsYmFja3MuCisKKyAgICAgICAgSGFuZGxlPFZh
bHVlPiBuYW1lZENvbnN0cnVjdG9yQ2FsbGJhY2soLi4uKQorICAgICAgICB7CisgICAgICAgICAg
ICByZXR1cm4gbmFtZWRDb25zdHJ1Y3RvciguLi4pOworICAgICAgICB9CisKKyAgICAgICAgTm8g
dGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoR2VuZXJhdGVOYW1lZENvbnN0cnVjdG9y
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpuYW1lZENvbnN0cnVjdG9yKToKKyAgICAgICAg
KFdlYkNvcmU6Om5hbWVkQ29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6R2V0
VGVtcGxhdGUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1l
bnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpuYW1lZENvbnN0cnVjdG9yKToK
KyAgICAgICAgKFdlYkNvcmU6Om5hbWVkQ29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9y
OjpHZXRUZW1wbGF0ZSk6CisKKzIwMTMtMDItMjUgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hy
b21pdW0ub3JnPgorCiAgICAgICAgIFtWOF0gR2VuZXJhdGUgYSB3cmFwcGVyIGZ1bmN0aW9uIGZv
ciBtZXRob2QgY2FsbGJhY2tzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTA3NjkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCA1ODlhYjJkOGZjZjNiZjM3NDE3ZTc5ZTExMzFi
ODMzYWU5MzJiMGZjLi4yZGM3ZGMzNTIwOWU5NDQ5NzQwNjRlYjg4ZDMzZWI3MGJlYzQ4YWM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JW
OC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JW
OC5wbQpAQCAtMjE1OSwxMSArMjE1OSw4IEBAIHN1YiBHZW5lcmF0ZU5hbWVkQ29uc3RydWN0b3IK
ICAgICAgICAgfQogICAgIH0KIAotICAgIG15ICRtYXliZU9ic2VydmVGZWF0dXJlID0gR2VuZXJh
dGVGZWF0dXJlT2JzZXJ2YXRpb24oJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJWOE1lYXN1cmVBcyJ9KTsKLQogICAgIG15IEBiZWZvcmVBcmd1bWVudExpc3Q7CiAg
ICAgbXkgQGFmdGVyQXJndW1lbnRMaXN0OwotCiAgICAgbXkgJHRvQWN0aXZlRE9NT2JqZWN0ID0g
IjAiOwogICAgIGlmICgkY29kZUdlbmVyYXRvci0+SW5oZXJpdHNFeHRlbmRlZEF0dHJpYnV0ZSgk
aW50ZXJmYWNlLCAiQWN0aXZlRE9NT2JqZWN0IikpIHsKICAgICAgICAgJHRvQWN0aXZlRE9NT2Jq
ZWN0ID0gIiR7djhJbnRlcmZhY2VOYW1lfTo6dG9BY3RpdmVET01PYmplY3QiOwpAQCAtMjE3OCwx
MCArMjE3NSwxMCBAQCBzdWIgR2VuZXJhdGVOYW1lZENvbnN0cnVjdG9yCiAgICAgcHVzaChAaW1w
bENvbnRlbnQsIDw8RU5EKTsKIFdyYXBwZXJUeXBlSW5mbyAke3Y4SW50ZXJmYWNlTmFtZX1Db25z
dHJ1Y3Rvcjo6aW5mbyA9IHsgJHt2OEludGVyZmFjZU5hbWV9Q29uc3RydWN0b3I6OkdldFRlbXBs
YXRlLCAke3Y4SW50ZXJmYWNlTmFtZX06OmRlcmVmT2JqZWN0LCAkdG9BY3RpdmVET01PYmplY3Qs
ICR0b0V2ZW50VGFyZ2V0LCAwLCAke3Y4SW50ZXJmYWNlTmFtZX06Omluc3RhbGxQZXJDb250ZXh0
UHJvdG90eXBlUHJvcGVydGllcywgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKIAot
c3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiAke3Y4SW50ZXJmYWNlTmFtZX1Db25zdHJ1Y3Rv
ckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCitzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IG5hbWVkQ29uc3RydWN0b3IoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsK
LSAgICAke21heWJlT2JzZXJ2ZUZlYXR1cmV9CiBFTkQKKyAgICBwdXNoKEBpbXBsQ29udGVudCwg
R2VuZXJhdGVGZWF0dXJlT2JzZXJ2YXRpb24oJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJWOE1lYXN1cmVBcyJ9KSk7CiAgICAgcHVzaChAaW1wbENvbnRlbnQsIEdl
bmVyYXRlQ29uc3RydWN0b3JIZWFkZXIoKSk7CiAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5E
KTsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjdXJyZW50RG9jdW1lbnQoQmluZGluZ1N0YXRl
OjppbnN0YW5jZSgpKTsKQEAgLTIyMzYsMTUgKzIyMzMsMTcgQEAgRU5ECiAgICAgVjhET01XcmFw
cGVyOjphc3NvY2lhdGVPYmplY3RXaXRoV3JhcHBlcihpbXBsLnJlbGVhc2UoKSwgJiR7djhJbnRl
cmZhY2VOYW1lfUNvbnN0cnVjdG9yOjppbmZvLCB3cmFwcGVyLCBhcmdzLkdldElzb2xhdGUoKSwg
V3JhcHBlckNvbmZpZ3VyYXRpb246OkRlcGVuZGVudCk7CiAgICAgcmV0dXJuIHdyYXBwZXI7CiBF
TkQKLQogICAgIGlmICgkcmFpc2VzRXhjZXB0aW9ucykgewogICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICBmYWlsOlxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJl
dHVybiBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiIpOwogICAgIH0K
LQotICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuIik7Ci0KICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgPDxFTkQpOworfQorCitzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG5hbWVkQ29uc3Ry
dWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIHJldHVybiBu
YW1lZENvbnN0cnVjdG9yKGFyZ3MpOworfQogCiB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25U
ZW1wbGF0ZT4gJHt2OEludGVyZmFjZU5hbWV9Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlKHY4OjpJ
c29sYXRlKiBpc29sYXRlKQogewpAQCAtMjI1Myw3ICsyMjUyLDcgQEAgdjg6OlBlcnNpc3RlbnQ8
djg6OkZ1bmN0aW9uVGVtcGxhdGU+ICR7djhJbnRlcmZhY2VOYW1lfUNvbnN0cnVjdG9yOjpHZXRU
ZW1wbGF0ZSgKICAgICAgICAgcmV0dXJuIGNhY2hlZFRlbXBsYXRlOwogCiAgICAgdjg6OkhhbmRs
ZVNjb3BlIHNjb3BlOwotICAgIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gcmVzdWx0
ID0gdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldygke3Y4SW50ZXJmYWNlTmFtZX1Db25zdHJ1Y3Rv
ckNhbGxiYWNrKTsKKyAgICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHJlc3VsdCA9
IHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcobmFtZWRDb25zdHJ1Y3RvckNhbGxiYWNrKTsKIAog
ICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0VGVtcGxhdGU+IGluc3RhbmNlID0gcmVzdWx0LT5JbnN0
YW5jZVRlbXBsYXRlKCk7CiAgICAgaW5zdGFuY2UtPlNldEludGVybmFsRmllbGRDb3VudCgke3Y4
SW50ZXJmYWNlTmFtZX06OmludGVybmFsRmllbGRDb3VudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRD
b25zdHJ1Y3Rvci5jcHAKaW5kZXggNjE3ZWE1ZWEwMTU3OGZjM2RmYjZkY2VhMDc1YTdkNDc5Yzc4
NWExMy4uOGY2MWQ1MjBlY2IyMzE2ZTY1ZThkNmM1YjU4NzI1ZWE0OTE2YjQyYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcApAQCAtNzQsOSArNzQsOCBAQCB0ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4gdm9pZCBWOF9VU0UoVCkgeyB9CiAKIFdyYXBwZXJUeXBlSW5mbyBWOFRlc3RO
YW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OmluZm8gPSB7IFY4VGVzdE5hbWVkQ29uc3RydWN0
b3JDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OmRlcmVm
T2JqZWN0LCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjp0b0FjdGl2ZURPTU9iamVjdCwgMCwgMCwg
VjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6aW5zdGFsbFBlckNvbnRleHRQcm90b3R5cGVQcm9wZXJ0
aWVzLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OwogCi1zdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4VGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3RvckNhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCitzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG5h
bWVkQ29uc3RydWN0b3IoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKLSAgICAKICAgICBp
ZiAoIWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCiAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJv
cigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24u
IiwgYXJncy5HZXRJc29sYXRlKCkpOwogCkBAIC0xMDgsNiArMTA3LDExIEBAIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yQ2FsbGJh
Y2soY29uc3Qgdjg6CiAgICAgcmV0dXJuIHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29s
YXRlKCkpOwogfQogCitzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG5hbWVkQ29uc3RydWN0
b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIHJldHVybiBuYW1l
ZENvbnN0cnVjdG9yKGFyZ3MpOworfQorCiB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1w
bGF0ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSh2ODo6
SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0
aW9uVGVtcGxhdGU+IGNhY2hlZFRlbXBsYXRlOwpAQCAtMTE1LDcgKzExOSw3IEBAIHY4OjpQZXJz
aXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBWOFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3Ry
dWN0b3I6OkdldFRlbXBsCiAgICAgICAgIHJldHVybiBjYWNoZWRUZW1wbGF0ZTsKIAogICAgIHY4
OjpIYW5kbGVTY29wZSBzY29wZTsKLSAgICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uVGVtcGxhdGU+
IHJlc3VsdCA9IHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVjhUZXN0TmFtZWRDb25zdHJ1Y3Rv
ckNvbnN0cnVjdG9yQ2FsbGJhY2spOworICAgIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb25UZW1wbGF0
ZT4gcmVzdWx0ID0gdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhuYW1lZENvbnN0cnVjdG9yQ2Fs
bGJhY2spOwogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4gaW5zdGFuY2UgPSBy
ZXN1bHQtPkluc3RhbmNlVGVtcGxhdGUoKTsKICAgICBpbnN0YW5jZS0+U2V0SW50ZXJuYWxGaWVs
ZENvdW50KFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OmludGVybmFsRmllbGRDb3VudCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVt
ZW50Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcAppbmRleCA5MzU1ZWUzZGY1ZjAwZDZlZTQw
ODUxNjJiNjU1NWM1Y2Y0MjgxYzI1Li45ZTNkY2Q5ZTBkNzRjZTk3MmNlN2IxZTNlNTM3M2M5M2M5
YjkyNGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhI
VE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKQEAgLTQ1LDcg
KzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXcmFwcGVyVHlwZUluZm8gVjhIVE1MSW1h
Z2VFbGVtZW50Q29uc3RydWN0b3I6OmluZm8gPSB7IFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVj
dG9yOjpHZXRUZW1wbGF0ZSwgVjhIVE1MSW1hZ2VFbGVtZW50OjpkZXJlZk9iamVjdCwgMCwgVjhI
VE1MSW1hZ2VFbGVtZW50Ojp0b0V2ZW50VGFyZ2V0LCAwLCBWOEhUTUxJbWFnZUVsZW1lbnQ6Omlu
c3RhbGxQZXJDb250ZXh0UHJvdG90eXBlUHJvcGVydGllcywgMCwgV3JhcHBlclR5cGVPYmplY3RQ
cm90b3R5cGUgfTsKIAotc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2OEhUTUxJbWFnZUVs
ZW1lbnRDb25zdHJ1Y3Rvck1ldGhvZEN1c3RvbShjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQor
c3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBuYW1lZENvbnN0cnVjdG9yKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgaWYgKCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQogICAg
ICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90
IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKQEAgLTgxLDYg
KzgxLDExIEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdjhIVE1MSW1hZ2VFbGVtZW50
Q29uc3RydWN0b3JNZXRob2RDdXN0b20oY29uc3Qgdjg6CiAgICAgcmV0dXJuIHdyYXBwZXI7CiB9
CiAKK3N0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbmFtZWRDb25zdHJ1Y3RvckNhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgcmV0dXJuIG5hbWVkQ29uc3RydWN0
b3IoYXJncyk7Cit9CisKIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBWOEhU
TUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUodjg6Oklzb2xhdGUqIGlzb2xh
dGUpCiB7CiAgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBj
YWNoZWRUZW1wbGF0ZTsKQEAgLTg4LDcgKzkzLDcgQEAgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0
aW9uVGVtcGxhdGU+IFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSgK
ICAgICAgICAgcmV0dXJuIGNhY2hlZFRlbXBsYXRlOwogCiAgICAgdjg6OkhhbmRsZVNjb3BlIHNj
b3BlOwotICAgIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gcmVzdWx0ID0gdjg6OkZ1
bmN0aW9uVGVtcGxhdGU6Ok5ldyh2OEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvck1ldGhvZEN1
c3RvbSk7CisgICAgdjg6OkxvY2FsPHY4OjpGdW5jdGlvblRlbXBsYXRlPiByZXN1bHQgPSB2ODo6
RnVuY3Rpb25UZW1wbGF0ZTo6TmV3KG5hbWVkQ29uc3RydWN0b3JDYWxsYmFjayk7CiAKICAgICB2
ODo6TG9jYWw8djg6Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSA9IHJlc3VsdC0+SW5zdGFuY2VU
ZW1wbGF0ZSgpOwogICAgIGluc3RhbmNlLT5TZXRJbnRlcm5hbEZpZWxkQ291bnQoVjhIVE1MSW1h
Z2VFbGVtZW50OjppbnRlcm5hbEZpZWxkQ291bnQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190765</attachid>
            <date>2013-02-28 11:28:36 -0800</date>
            <delta_ts>2013-02-28 15:30:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110794-20130228112448.patch</filename>
            <type>text/plain</type>
            <size>12549</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTUwMWE4ZTM5ZWQ1NjM5
NTk0YWNiYWM2MzU5Y2VkZTAyZTRlNjU2ZC4uYzAwMGQxNjJkZWU2NzM0Y2I0MGNkNTYxNTA0M2U1
ZmY2YWFmNGI4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTAyLTI4ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIEdlbmVyYXRl
IGEgd3JhcHBlciBmdW5jdGlvbiBmb3IgbmFtZWQgY29uc3RydWN0b3IgY2FsbGJhY2tzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA3OTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHdvdWxkIGJl
IHRoZSBmaW5hbCBzdGVwIG9mIGdlbmVyYXRpbmcgd3JhcHBlciBmdW5jdGlvbnMuCisgICAgICAg
IFRoZSBwYXRjaCBnZW5lcmF0ZXMgdGhlIGZvbGxvd2luZyB3cmFwcGVyIGZ1bmN0aW9uIGZvciBu
YW1lZAorICAgICAgICBjb25zdHJ1Y3RvciBjYWxsYmFja3MuCisKKyAgICAgICAgSGFuZGxlPFZh
bHVlPiBuYW1lZENvbnN0cnVjdG9yQ2FsbGJhY2soLi4uKQorICAgICAgICB7CisgICAgICAgICAg
ICByZXR1cm4gbmFtZWRDb25zdHJ1Y3RvciguLi4pOworICAgICAgICB9CisKKyAgICAgICAgTm8g
dGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAg
ICAoR2VuZXJhdGVOYW1lZENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpu
YW1lZENvbnN0cnVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Om5hbWVkQ29uc3RydWN0b3JDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdE5hbWVk
Q29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpuYW1lZENvbnN0cnVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Om5hbWVkQ29uc3Ry
dWN0b3JDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlY4
SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSk6CisKIDIwMTMtMDItMjgg
IERhdmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWRE
QjogSU8gZXJyb3Igd2hlbiBjaGVja2luZyBzY2hlbWEgc2hvdWxkIGRlc3Ryb3kgTGV2ZWxEQiBk
aXJlY3RvcnkKQEAgLTM2OTksNiArMzczMSwzNyBAQAogCiAyMDEzLTAyLTI1ICBLZW50YXJvIEhh
cmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIEdlbmVyYXRlIGEgd3Jh
cHBlciBmdW5jdGlvbiBmb3IgbmFtZWQgY29uc3RydWN0b3IgY2FsbGJhY2tzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA3OTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHdvdWxkIGJlIHRoZSBm
aW5hbCBzdGVwIG9mIGdlbmVyYXRpbmcgd3JhcHBlciBmdW5jdGlvbnMuCisgICAgICAgIFRoZSBw
YXRjaCBnZW5lcmF0ZXMgdGhlIGZvbGxvd2luZyB3cmFwcGVyIGZ1bmN0aW9uIGZvciBuYW1lZAor
ICAgICAgICBjb25zdHJ1Y3RvciBjYWxsYmFja3MuCisKKyAgICAgICAgSGFuZGxlPFZhbHVlPiBu
YW1lZENvbnN0cnVjdG9yQ2FsbGJhY2soLi4uKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1
cm4gbmFtZWRDb25zdHJ1Y3RvciguLi4pOworICAgICAgICB9CisKKyAgICAgICAgTm8gdGVzdHMu
IE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoR2VuZXJhdGVOYW1lZENvbnN0cnVjdG9yKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpuYW1lZENvbnN0cnVjdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6Om5hbWVkQ29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlY4VGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxh
dGUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25z
dHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpuYW1lZENvbnN0cnVjdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6Om5hbWVkQ29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OlY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yOjpHZXRU
ZW1wbGF0ZSk6CisKKzIwMTMtMDItMjUgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0u
b3JnPgorCiAgICAgICAgIFtWOF0gR2VuZXJhdGUgYSB3cmFwcGVyIGZ1bmN0aW9uIGZvciBtZXRo
b2QgY2FsbGJhY2tzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTA3NjkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JWOC5wbQppbmRleCBiY2QzZGM2ODFhNmFjNGU1OWFlZDg2YmYwZGZjYjE1NTI4
OGQzOWNkLi42NTFkZGE2OWZiYTk3ODNhNmQ1NWQ5NjkxNzI3NzhkYTkwNjU5MzBjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpA
QCAtNDE2LDExICs0MTYsMTMgQEAgRU5ECiAKICAgICBpZiAoSXNDb25zdHJ1Y3RhYmxlKCRpbnRl
cmZhY2UpKSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
KTtcbiIpOwotRU5ECiAgICAgfQogICAgIGlmIChIYXNDdXN0b21Db25zdHJ1Y3RvcigkaW50ZXJm
YWNlKSkgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0b3JDdXN0b20oY29uc3Qgdjg6OkFyZ3VtZW50cyYpO1xu
Iik7CiAgICAgfQorICAgIGlmICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmFt
ZWRDb25zdHJ1Y3RvciJ9KSB7CisgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3Rh
dGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBuYW1lZENvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYpO1xuIik7CisgICAgfQogCiAgICAgbXkgQGVuYWJsZWRQZXJDb250ZXh0
QXR0cmlidXRlczsKICAgICBmb3JlYWNoIG15ICRhdHRyaWJ1dGUgKEB7JGludGVyZmFjZS0+YXR0
cmlidXRlc30pIHsKQEAgLTIxNTcsMTEgKzIxNTksOCBAQCBzdWIgR2VuZXJhdGVOYW1lZENvbnN0
cnVjdG9yCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBteSAkbWF5YmVPYnNlcnZlRmVhdHVyZSA9
IEdlbmVyYXRlRmVhdHVyZU9ic2VydmF0aW9uKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiVjhNZWFzdXJlQXMifSk7Ci0KICAgICBteSBAYmVmb3JlQXJndW1lbnRM
aXN0OwogICAgIG15IEBhZnRlckFyZ3VtZW50TGlzdDsKLQogICAgIG15ICR0b0FjdGl2ZURPTU9i
amVjdCA9ICIwIjsKICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPkluaGVyaXRzRXh0ZW5kZWRBdHRy
aWJ1dGUoJGludGVyZmFjZSwgIkFjdGl2ZURPTU9iamVjdCIpKSB7CiAgICAgICAgICR0b0FjdGl2
ZURPTU9iamVjdCA9ICIke3Y4SW50ZXJmYWNlTmFtZX06OnRvQWN0aXZlRE9NT2JqZWN0IjsKQEAg
LTIxNzYsMTIgKzIxNzUsMTUgQEAgc3ViIEdlbmVyYXRlTmFtZWRDb25zdHJ1Y3RvcgogICAgIHB1
c2goQGltcGxDb250ZW50LCA8PEVORCk7CiBXcmFwcGVyVHlwZUluZm8gJHt2OEludGVyZmFjZU5h
bWV9Q29uc3RydWN0b3I6OmluZm8gPSB7ICR7djhJbnRlcmZhY2VOYW1lfUNvbnN0cnVjdG9yOjpH
ZXRUZW1wbGF0ZSwgJHt2OEludGVyZmFjZU5hbWV9OjpkZXJlZk9iamVjdCwgJHRvQWN0aXZlRE9N
T2JqZWN0LCAkdG9FdmVudFRhcmdldCwgMCwgJHt2OEludGVyZmFjZU5hbWV9OjppbnN0YWxsUGVy
Q29udGV4dFByb3RvdHlwZVByb3BlcnRpZXMsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBl
IH07CiAKLXN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gJHt2OEludGVyZmFjZU5hbWV9Q29u
c3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQorRU5ECisKKyAgICBw
dXNoKEBpbXBsQ29udGVudERlY2xzLCA8PEVORCk7CitzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IG5hbWVkQ29uc3RydWN0b3IoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKLSAgICAk
e21heWJlT2JzZXJ2ZUZlYXR1cmV9CiBFTkQKLSAgICBwdXNoKEBpbXBsQ29udGVudCwgR2VuZXJh
dGVDb25zdHJ1Y3RvckhlYWRlcigpKTsKLSAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwor
ICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsIEdlbmVyYXRlRmVhdHVyZU9ic2VydmF0aW9uKCRm
dW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVjhNZWFzdXJlQXMifSkp
OworICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsIEdlbmVyYXRlQ29uc3RydWN0b3JIZWFkZXIo
KSk7CisgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgPDxFTkQpOwogICAgIERvY3VtZW50KiBk
b2N1bWVudCA9IGN1cnJlbnREb2N1bWVudChCaW5kaW5nU3RhdGU6Omluc3RhbmNlKCkpOwogCiAg
ICAgLy8gTWFrZSBzdXJlIHRoZSBkb2N1bWVudCBpcyBhZGRlZCB0byB0aGUgRE9NIE5vZGUgbWFw
LiBPdGhlcndpc2UsIHRoZSAke2ludGVyZmFjZU5hbWV9IGluc3RhbmNlCkBAIC0yMTkwLDE2ICsy
MTkyLDE2IEBAIEVORAogCiBFTkQKIAotICAgIHB1c2goQGltcGxDb250ZW50LCBHZW5lcmF0ZUFy
Z3VtZW50c0NvdW50Q2hlY2soJGZ1bmN0aW9uLCAkaW50ZXJmYWNlKSk7CisgICAgcHVzaChAaW1w
bENvbnRlbnREZWNscywgR2VuZXJhdGVBcmd1bWVudHNDb3VudENoZWNrKCRmdW5jdGlvbiwgJGlu
dGVyZmFjZSkpOwogCiAgICAgaWYgKCRyYWlzZXNFeGNlcHRpb25zKSB7CiAgICAgICAgIEFkZFRv
SW1wbEluY2x1ZGVzKCJFeGNlcHRpb25Db2RlLmgiKTsKLSAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICJcbiIpOwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBFeGNlcHRpb25Db2Rl
IGVjID0gMDtcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiXG4iKTsKKyAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICBFeGNlcHRpb25Db2RlIGVjID0gMDtc
biIpOwogICAgIH0KIAogICAgIG15ICgkcGFyYW1ldGVyQ2hlY2tTdHJpbmcsICRwYXJhbUluZGV4
LCAlcmVwbGFjZW1lbnRzKSA9IEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrKCRmdW5jdGlvbiwgJGlu
dGVyZmFjZU5hbWUpOwotICAgIHB1c2goQGltcGxDb250ZW50LCAkcGFyYW1ldGVyQ2hlY2tTdHJp
bmcpOworICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICRwYXJhbWV0ZXJDaGVja1N0cmluZyk7
CiAKICAgICBwdXNoKEBiZWZvcmVBcmd1bWVudExpc3QsICJkb2N1bWVudCIpOwogCkBAIC0yMjIw
LDI5ICsyMjIyLDMxIEBAIEVORAogICAgIH0KIAogICAgIG15ICRhcmd1bWVudFN0cmluZyA9IGpv
aW4oIiwgIiwgQGJlZm9yZUFyZ3VtZW50TGlzdCwgQGFyZ3VtZW50TGlzdCwgQGFmdGVyQXJndW1l
bnRMaXN0KTsKLSAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxuIik7Ci0gICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgUmVmUHRyPCR7aW50ZXJmYWNlTmFtZX0+IGltcGwgPSAke2ludGVyZmFjZU5h
bWV9OjpjcmVhdGVGb3JKU0NvbnN0cnVjdG9yKCR7YXJndW1lbnRTdHJpbmd9KTtcbiIpOwotICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9
IGFyZ3MuSG9sZGVyKCk7XG4iKTsKKyAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiXG4iKTsK
KyAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIFJlZlB0cjwke2ludGVyZmFjZU5hbWV9
PiBpbXBsID0gJHtpbnRlcmZhY2VOYW1lfTo6Y3JlYXRlRm9ySlNDb25zdHJ1Y3Rvcigke2FyZ3Vt
ZW50U3RyaW5nfSk7XG4iKTsKKyAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IGFyZ3MuSG9sZGVyKCk7XG4iKTsKIAogICAgIGlm
ICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3JSYWlzZXNFeGNl
cHRpb24ifSkgewotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoZWMpXG4iKTsK
LSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIGdvdG8gZmFpbDtcbiIpOworICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIGlmIChlYylcbiIpOworICAgICAgICBw
dXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgICAgICBnb3RvIGZhaWw7XG4iKTsKICAgICB9CiAK
LSAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOworICAgIHB1c2goQGltcGxDb250ZW50RGVj
bHMsIDw8RU5EKTsKIAogICAgIFY4RE9NV3JhcHBlcjo6YXNzb2NpYXRlT2JqZWN0V2l0aFdyYXBw
ZXIoaW1wbC5yZWxlYXNlKCksICYke3Y4SW50ZXJmYWNlTmFtZX1Db25zdHJ1Y3Rvcjo6aW5mbywg
d3JhcHBlciwgYXJncy5HZXRJc29sYXRlKCksIFdyYXBwZXJDb25maWd1cmF0aW9uOjpEZXBlbmRl
bnQpOwogICAgIHJldHVybiB3cmFwcGVyOwogRU5ECi0KICAgICBpZiAoJHJhaXNlc0V4Y2VwdGlv
bnMpIHsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgZmFpbDpcbiIpOwotICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdz
LkdldElzb2xhdGUoKSk7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAg
ICBmYWlsOlxuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgcmV0dXJu
IHNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpO1xuIik7CiAgICAgfQotCi0g
ICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG4iKTsKKyAgICBwdXNoKEBpbXBsQ29udGVudERlY2xz
LCAifVxuXG4iKTsKIAogICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7Cit2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gJHt2OEludGVyZmFjZU5hbWV9OjpuYW1lZENvbnN0cnVjdG9yQ2FsbGJhY2so
Y29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICByZXR1cm4gJHtpbnRlcmZhY2VOYW1l
fVY4SW50ZXJuYWw6Om5hbWVkQ29uc3RydWN0b3IoYXJncyk7Cit9CiAKIHY4OjpQZXJzaXN0ZW50
PHY4OjpGdW5jdGlvblRlbXBsYXRlPiAke3Y4SW50ZXJmYWNlTmFtZX1Db25zdHJ1Y3Rvcjo6R2V0
VGVtcGxhdGUodjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CkBAIC0yMjUxLDcgKzIyNTUsNyBAQCB2
ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gJHt2OEludGVyZmFjZU5hbWV9Q29u
c3RydWN0b3I6OkdldFRlbXBsYXRlKAogICAgICAgICByZXR1cm4gY2FjaGVkVGVtcGxhdGU7CiAK
ICAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7Ci0gICAgdjg6OkxvY2FsPHY4OjpGdW5jdGlvblRl
bXBsYXRlPiByZXN1bHQgPSB2ODo6RnVuY3Rpb25UZW1wbGF0ZTo6TmV3KCR7djhJbnRlcmZhY2VO
YW1lfUNvbnN0cnVjdG9yQ2FsbGJhY2spOworICAgIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb25UZW1w
bGF0ZT4gcmVzdWx0ID0gdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldygke3Y4SW50ZXJmYWNlTmFt
ZX06Om5hbWVkQ29uc3RydWN0b3JDYWxsYmFjayk7CiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVj
dFRlbXBsYXRlPiBpbnN0YW5jZSA9IHJlc3VsdC0+SW5zdGFuY2VUZW1wbGF0ZSgpOwogICAgIGlu
c3RhbmNlLT5TZXRJbnRlcm5hbEZpZWxkQ291bnQoJHt2OEludGVyZmFjZU5hbWV9OjppbnRlcm5h
bEZpZWxkQ291bnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCmluZGV4IDYx
N2VhNWVhMDE1NzhmYzNkZmI2ZGNlYTA3NWE3ZDQ3OWM3ODVhMTMuLjhmNjFkNTIwZWNiMjMxNmU2
NWU4ZDZjNWI1ODcyNWVhNDkxNmI0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rv
ci5jcHAKQEAgLTc0LDkgKzc0LDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgVjhfVVNF
KFQpIHsgfQogCiBXcmFwcGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVj
dG9yOjppbmZvID0geyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OkdldFRlbXBs
YXRlLCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgVjhUZXN0TmFtZWRDb25z
dHJ1Y3Rvcjo6dG9BY3RpdmVET01PYmplY3QsIDAsIDAsIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6
Omluc3RhbGxQZXJDb250ZXh0UHJvdG90eXBlUHJvcGVydGllcywgMCwgV3JhcHBlclR5cGVPYmpl
Y3RQcm90b3R5cGUgfTsKIAotc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRlc3ROYW1l
ZENvbnN0cnVjdG9yQ29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdz
KQorc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBuYW1lZENvbnN0cnVjdG9yKGNvbnN0IHY4
OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgCiAgICAgaWYgKCFhcmdzLklzQ29uc3RydWN0Q2Fs
bCgpKQogICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0
b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
IApAQCAtMTA4LDYgKzEwNywxMSBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VGVz
dE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OgogICAgIHJldHVy
biBzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIH0KIAorc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBuYW1lZENvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncykKK3sKKyAgICByZXR1cm4gbmFtZWRDb25zdHJ1Y3RvcihhcmdzKTsKK30K
Kwogdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IFY4VGVzdE5hbWVkQ29uc3Ry
dWN0b3JDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUodjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAg
ICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBjYWNoZWRUZW1w
bGF0ZTsKQEAgLTExNSw3ICsxMTksNyBAQCB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1w
bGF0ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpHZXRUZW1wbAogICAgICAg
ICByZXR1cm4gY2FjaGVkVGVtcGxhdGU7CiAKICAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7Ci0g
ICAgdjg6OkxvY2FsPHY4OjpGdW5jdGlvblRlbXBsYXRlPiByZXN1bHQgPSB2ODo6RnVuY3Rpb25U
ZW1wbGF0ZTo6TmV3KFY4VGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3RvckNhbGxiYWNrKTsK
KyAgICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHJlc3VsdCA9IHY4OjpGdW5jdGlv
blRlbXBsYXRlOjpOZXcobmFtZWRDb25zdHJ1Y3RvckNhbGxiYWNrKTsKIAogICAgIHY4OjpMb2Nh
bDx2ODo6T2JqZWN0VGVtcGxhdGU+IGluc3RhbmNlID0gcmVzdWx0LT5JbnN0YW5jZVRlbXBsYXRl
KCk7CiAgICAgaW5zdGFuY2UtPlNldEludGVybmFsRmllbGRDb3VudChWOFRlc3ROYW1lZENvbnN0
cnVjdG9yOjppbnRlcm5hbEZpZWxkQ291bnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1
Y3Rvci5jcHAKaW5kZXggOTM1NWVlM2RmNWYwMGQ2ZWU0MDg1MTYyYjY1NTVjNWNmNDI4MWMyNS4u
OWUzZGNkOWUwZDc0Y2U5NzJjZTdiMWUzZTUzNzNjOTNjOWI5MjRjYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1h
Z2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogV3JhcHBlclR5cGVJbmZvIFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yOjpp
bmZvID0geyBWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4SFRN
TEltYWdlRWxlbWVudDo6ZGVyZWZPYmplY3QsIDAsIFY4SFRNTEltYWdlRWxlbWVudDo6dG9FdmVu
dFRhcmdldCwgMCwgVjhIVE1MSW1hZ2VFbGVtZW50OjppbnN0YWxsUGVyQ29udGV4dFByb3RvdHlw
ZVByb3BlcnRpZXMsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKLXN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3JNZXRob2RD
dXN0b20oY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3N0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gbmFtZWRDb25zdHJ1Y3Rvcihjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAg
IGlmICghYXJncy5Jc0NvbnN0cnVjdENhbGwoKSkKICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVy
cm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlv
bi4iLCBhcmdzLkdldElzb2xhdGUoKSk7CkBAIC04MSw2ICs4MSwxMSBAQCBzdGF0aWMgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yTWV0aG9kQ3VzdG9t
KGNvbnN0IHY4OgogICAgIHJldHVybiB3cmFwcGVyOwogfQogCitzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IG5hbWVkQ29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBh
cmdzKQoreworICAgIHJldHVybiBuYW1lZENvbnN0cnVjdG9yKGFyZ3MpOworfQorCiB2ODo6UGVy
c2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0
b3I6OkdldFRlbXBsYXRlKHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIHN0YXRpYyB2ODo6
UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gY2FjaGVkVGVtcGxhdGU7CkBAIC04OCw3
ICs5Myw3IEBAIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBWOEhUTUxJbWFn
ZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUoCiAgICAgICAgIHJldHVybiBjYWNoZWRU
ZW1wbGF0ZTsKIAogICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKLSAgICB2ODo6TG9jYWw8djg6
OkZ1bmN0aW9uVGVtcGxhdGU+IHJlc3VsdCA9IHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcodjhI
VE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3JNZXRob2RDdXN0b20pOworICAgIHY4OjpMb2NhbDx2
ODo6RnVuY3Rpb25UZW1wbGF0ZT4gcmVzdWx0ID0gdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhu
YW1lZENvbnN0cnVjdG9yQ2FsbGJhY2spOwogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RUZW1w
bGF0ZT4gaW5zdGFuY2UgPSByZXN1bHQtPkluc3RhbmNlVGVtcGxhdGUoKTsKICAgICBpbnN0YW5j
ZS0+U2V0SW50ZXJuYWxGaWVsZENvdW50KFY4SFRNTEltYWdlRWxlbWVudDo6aW50ZXJuYWxGaWVs
ZENvdW50KTsK
</data>
<flag name="review"
          id="211536"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="211607"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>