<?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>109789</bug_id>
          
          <creation_ts>2013-02-14 00:11:40 -0800</creation_ts>
          <short_desc>[V8] Remove reload, assign and replace attributes from Location</short_desc>
          <delta_ts>2013-05-02 11:29:51 -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>WONTFIX</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="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>dglazkov</cc>
    
    <cc>japhet</cc>
    
    <cc>mbelshe</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>832784</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-14 00:11:40 -0800</bug_when>
    <thetext>We should remove hard-coded implementation for Location::reload, Location::replace, and Location::assign in CodeGeneratorV8.pm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832785</commentid>
    <comment_count>1</comment_count>
      <attachid>188275</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-14 00:12:55 -0800</bug_when>
    <thetext>Created attachment 188275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832834</commentid>
    <comment_count>2</comment_count>
      <attachid>188275</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-14 01:31:42 -0800</bug_when>
    <thetext>Comment on attachment 188275
Patch

Attachment 188275 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16580248

New failing tests:
http/tests/security/cross-frame-access-location-get.html
http/tests/inspector/console-cross-origin-iframe-logging.html
http/tests/security/cross-frame-access-location-get-override.html
http/tests/security/xss-DENIED-defineProperty.html
http/tests/misc/location-replace-crossdomain.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832893</commentid>
    <comment_count>3</comment_count>
      <attachid>188296</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-14 03:02:14 -0800</bug_when>
    <thetext>Created attachment 188296
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833148</commentid>
    <comment_count>4</comment_count>
      <attachid>188296</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-14 09:31:27 -0800</bug_when>
    <thetext>Comment on attachment 188296
Patch

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

&gt; Source/WebCore/page/Location.idl:54
&gt;      [Custom, V8Unforgeable] void assign(in [Optional=DefaultIsUndefined] DOMString url);
&gt;      [Custom, V8Unforgeable] void replace(in [Optional=DefaultIsUndefined] DOMString url);
&gt;      [Custom, V8Unforgeable] void reload();
&gt; +#if defined(V8_BINDING) &amp;&amp; V8_BINDING
&gt; +    [Custom, V8Unforgeable, DoNotCheckSecurity] readonly attribute any assign;
&gt; +    [Custom, V8Unforgeable, DoNotCheckSecurity] readonly attribute any replace;
&gt; +    [Custom, V8Unforgeable, DoNotCheckSecurity] readonly attribute any reload;
&gt; +#endif

It&apos;s really strange to have both functions and attributes with the same name....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833149</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-14 09:32:08 -0800</bug_when>
    <thetext>I&apos;m not sure having both functions and attributes with the same name is the right thing to do.  If you think it&apos;s the right thing, can you add more explanation as to why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833552</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-14 16:37:04 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; I&apos;m not sure having both functions and attributes with the same name is the right thing to do.  If you think it&apos;s the right thing, can you add more explanation as to why?

I don&apos;t think it&apos;s a right thing to do, but V8 currently support it (i.e. my patch doesn&apos;t change the current behavior of V8). For example, http/tests/security/cross-frame-access-location-get-override.html depends on the fact that assign/reload/replace work as attributes.

JSC has only functions for these names, which looks correct to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834072</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-15 09:02:47 -0800</bug_when>
    <thetext>What is the difference between having an attribute and having a function with the same name?  I though that they both are implemented as properties...  Maybe one is on the prototype and one is on the instance?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836048</commentid>
    <comment_count>8</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-18 23:55:18 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; What is the difference between having an attribute and having a function with the same name? Maybe one is on the prototype and one is on the instance?

No. Given that [V8Unforgeable] is set on the reload() method, both the method and the attribute are defined on the instance. (In terms of implementation, a method is registered by Set(), and an attribute is registered by SetAccessor().)

I have no idea about why we need both. Let me try to remove the attribute and see what test fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836775</commentid>
    <comment_count>9</comment_count>
      <attachid>189161</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-19 14:23:33 -0800</bug_when>
    <thetext>Created attachment 189161
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836777</commentid>
    <comment_count>10</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-19 14:26:12 -0800</bug_when>
    <thetext>dglazkov, mike: Attributes for Location::reload, Location::assign and Location::replace were introduced in http://trac.webkit.org/changeset/41693. It looks strange to have both attributes and methods for these Location properties. Would it make sense to remove the attributes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836946</commentid>
    <comment_count>11</comment_count>
      <attachid>189161</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-19 16:24:30 -0800</bug_when>
    <thetext>Comment on attachment 189161
Patch

Attachment 189161 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16640014

New failing tests:
http/tests/inspector/console-cross-origin-iframe-logging.html
http/tests/security/cross-frame-access-location-put.html
http/tests/security/cross-frame-access-location-get.html
http/tests/security/xss-DENIED-defineProperty.html
http/tests/misc/location-replace-crossdomain.html
http/tests/security/cross-frame-access-location-get-override.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837035</commentid>
    <comment_count>12</comment_count>
      <attachid>189161</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-19 18:11:41 -0800</bug_when>
    <thetext>Comment on attachment 189161
Patch

Looks like I need to work through more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883850</commentid>
    <comment_count>13</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-02 11:29:51 -0700</bug_when>
    <thetext>V8 is gone from WebKit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188275</attachid>
            <date>2013-02-14 00:12:55 -0800</date>
            <delta_ts>2013-02-14 03:02:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109789-20130214170923.patch</filename>
            <type>text/plain</type>
            <size>3892</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjc1Y2IzYjYxMzgyYTk1
MGY1MTNlYzZmMzE3MTgwNjZmMmRhNWVjZC4uNzYyYWU5MjIyNWQ2ZDM5ODVlMTVlYWJmMjQwZDJl
MzUxYWFkODE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAyLTE0ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIExvY2F0aW9u
OjpyZWxvYWQsIExvY2F0aW9uOjpyZXBsYWNlLCBhbmQgTG9jYXRpb246OmFzc2lnbiBzaG91bGQg
YmUgYXV0by1nZW5lcmF0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwOTc4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFdlIHNob3VsZCByZW1vdmUgaGFyZC1jb2RlZCBpbXBsZW1lbnRhdGlvbiBmb3Ig
TG9jYXRpb246OnJlbG9hZCwKKyAgICAgICAgTG9jYXRpb246OnJlcGxhY2UsIGFuZCBMb2NhdGlv
bjo6YXNzaWduIGluIENvZGVHZW5lcmF0b3JWOC5wbS4KKworICAgICAgICBObyB0ZXN0cy4gTm8g
Y2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yVjgucG06CisgICAgICAgIChHZW5lcmF0ZUhlYWRlckN1c3RvbUNhbGwpOgorICAgICAg
ICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogcGFnZS9Mb2NhdGlvbi5pZGw6
CisKIDIwMTMtMDItMTMgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtWOF0gR2VuZXJhdGUgd3JhcHBlciBtZXRob2RzIGZvciBjdXN0b20gbWV0aG9kcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
VjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bQppbmRleCAwNWY2NTg5YzdhZmJkNWM1Yjc0NDIxZjhkMDJhNzMxNmVkMjBjMDMxLi43ZjQ3MjM1
YmZmMmJlZjNlNDE5ZmQ3NTMzNjQyOTExYWUxYmQzODU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtNzMyLDExICs3MzIs
NiBAQCBzdWIgR2VuZXJhdGVIZWFkZXJDdXN0b21DYWxsCiAgICAgICAgIHB1c2goQGhlYWRlckNv
bnRlbnQsICIgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBkYXRhVHJhbnNmZXJBdHRy
R2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNz
b3JJbmZvJik7XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMg
dm9pZCB2YWx1ZUF0dHJTZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4
OjpMb2NhbDx2ODo6VmFsdWU+LCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJik7XG4iKTsKICAgICB9
Ci0gICAgaWYgKCRpbnRlcmZhY2UtPm5hbWUgZXEgIkxvY2F0aW9uIikgewotICAgICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXNzaWdu
QXR0ckdldHRlckN1c3RvbSh2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFj
Y2Vzc29ySW5mbyYpO1xuIik7Ci0gICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3Rh
dGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiByZWxvYWRBdHRyR2V0dGVyQ3VzdG9tKHY4OjpMb2Nh
bDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJik7XG4iKTsKLSAgICAg
ICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHJlcGxhY2VBdHRyR2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25z
dCB2ODo6QWNjZXNzb3JJbmZvJik7XG4iKTsKLSAgICB9CiB9CiAKIHN1YiBJc0NvbnN0cnVjdGFi
bGUKQEAgLTMwODMsMTYgKzMwNzgsNiBAQCBFTkQKICAgICBkZXNjLT5TZXRIaWRkZW5Qcm90b3R5
cGUodHJ1ZSk7CiBFTkQKICAgICB9Ci0gICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJMb2NhdGlv
biIpIHsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKLQotICAgIC8vIEZvciBz
ZWN1cml0eSByZWFzb25zLCB0aGVzZSBmdW5jdGlvbnMgYXJlIG9uIHRoZSBpbnN0YW5jZSBpbnN0
ZWFkCi0gICAgLy8gb2Ygb24gdGhlIHByb3RvdHlwZSBvYmplY3QgdG8gZW5zdXJlIHRoYXQgdGhl
eSBjYW5ub3QgYmUgb3ZlcndyaXR0ZW4uCi0gICAgaW5zdGFuY2UtPlNldEFjY2Vzc29yKHY4OjpT
dHJpbmc6Ok5ld1N5bWJvbCgicmVsb2FkIiksIFY4TG9jYXRpb246OnJlbG9hZEF0dHJHZXR0ZXJD
dXN0b20sIDAsIHY4VW5kZWZpbmVkKCksIHY4OjpBTExfQ0FOX1JFQUQsIHN0YXRpY19jYXN0PHY4
OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6OkRvbnREZWxldGUgfCB2ODo6UmVhZE9ubHkpKTsKLSAg
ICBpbnN0YW5jZS0+U2V0QWNjZXNzb3Iodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJyZXBsYWNlIiks
IFY4TG9jYXRpb246OnJlcGxhY2VBdHRyR2V0dGVyQ3VzdG9tLCAwLCB2OFVuZGVmaW5lZCgpLCB2
ODo6QUxMX0NBTl9SRUFELCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpE
b250RGVsZXRlIHwgdjg6OlJlYWRPbmx5KSk7Ci0gICAgaW5zdGFuY2UtPlNldEFjY2Vzc29yKHY4
OjpTdHJpbmc6Ok5ld1N5bWJvbCgiYXNzaWduIiksIFY4TG9jYXRpb246OmFzc2lnbkF0dHJHZXR0
ZXJDdXN0b20sIDAsIHY4VW5kZWZpbmVkKCksIHY4OjpBTExfQ0FOX1JFQUQsIHN0YXRpY19jYXN0
PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6OkRvbnREZWxldGUgfCB2ODo6UmVhZE9ubHkpKTsK
LUVORAotICAgIH0KIAogICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Mb2NhdGlvbi5pZGwKaW5kZXggMDcwN2YwNzU4ZWVhMTZiZTQwNDVhMTg2N2VmM2VjYjk2MDM2
ZTg3YS4uZWIzMmYyYmI3YjE1MzgwYTE4MjA0NWEzM2VhMTYyNWZhYWMxZTk0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Mb2NhdGlvbi5pZGwKQEAgLTQ3LDYgKzQ3LDExIEBACiAgICAgW0N1c3RvbSwgVjhVbmZv
cmdlYWJsZV0gdm9pZCBhc3NpZ24oaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9N
U3RyaW5nIHVybCk7CiAgICAgW0N1c3RvbSwgVjhVbmZvcmdlYWJsZV0gdm9pZCByZXBsYWNlKGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyB1cmwpOwogICAgIFtDdXN0
b20sIFY4VW5mb3JnZWFibGVdIHZvaWQgcmVsb2FkKCk7CisjaWYgZGVmaW5lZChWOF9CSU5ESU5H
KSAmJiBWOF9CSU5ESU5HCisgICAgW0N1c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRlIGFueSBhc3Np
Z247CisgICAgW0N1c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRlIGFueSByZXBsYWNlOworICAgIFtD
dXN0b21dIHJlYWRvbmx5IGF0dHJpYnV0ZSBhbnkgcmVsb2FkOworI2VuZGlmCiAKICAgICAvLyBV
UkkgZGVjb21wb3NpdGlvbiBhdHRyaWJ1dGVzCiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfQ1BQKSB8
fCAhTEFOR1VBR0VfQ1BQCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188296</attachid>
            <date>2013-02-14 03:02:14 -0800</date>
            <delta_ts>2013-02-19 14:23:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109789-20130214195842.patch</filename>
            <type>text/plain</type>
            <size>3997</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjc1Y2IzYjYxMzgyYTk1
MGY1MTNlYzZmMzE3MTgwNjZmMmRhNWVjZC4uNzYyYWU5MjIyNWQ2ZDM5ODVlMTVlYWJmMjQwZDJl
MzUxYWFkODE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAyLTE0ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIExvY2F0aW9u
OjpyZWxvYWQsIExvY2F0aW9uOjpyZXBsYWNlLCBhbmQgTG9jYXRpb246OmFzc2lnbiBzaG91bGQg
YmUgYXV0by1nZW5lcmF0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwOTc4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFdlIHNob3VsZCByZW1vdmUgaGFyZC1jb2RlZCBpbXBsZW1lbnRhdGlvbiBmb3Ig
TG9jYXRpb246OnJlbG9hZCwKKyAgICAgICAgTG9jYXRpb246OnJlcGxhY2UsIGFuZCBMb2NhdGlv
bjo6YXNzaWduIGluIENvZGVHZW5lcmF0b3JWOC5wbS4KKworICAgICAgICBObyB0ZXN0cy4gTm8g
Y2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yVjgucG06CisgICAgICAgIChHZW5lcmF0ZUhlYWRlckN1c3RvbUNhbGwpOgorICAgICAg
ICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogcGFnZS9Mb2NhdGlvbi5pZGw6
CisKIDIwMTMtMDItMTMgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtWOF0gR2VuZXJhdGUgd3JhcHBlciBtZXRob2RzIGZvciBjdXN0b20gbWV0aG9kcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
VjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bQppbmRleCAwNWY2NTg5YzdhZmJkNWM1Yjc0NDIxZjhkMDJhNzMxNmVkMjBjMDMxLi43ZjQ3MjM1
YmZmMmJlZjNlNDE5ZmQ3NTMzNjQyOTExYWUxYmQzODU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtNzMyLDExICs3MzIs
NiBAQCBzdWIgR2VuZXJhdGVIZWFkZXJDdXN0b21DYWxsCiAgICAgICAgIHB1c2goQGhlYWRlckNv
bnRlbnQsICIgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBkYXRhVHJhbnNmZXJBdHRy
R2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNz
b3JJbmZvJik7XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMg
dm9pZCB2YWx1ZUF0dHJTZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4
OjpMb2NhbDx2ODo6VmFsdWU+LCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJik7XG4iKTsKICAgICB9
Ci0gICAgaWYgKCRpbnRlcmZhY2UtPm5hbWUgZXEgIkxvY2F0aW9uIikgewotICAgICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXNzaWdu
QXR0ckdldHRlckN1c3RvbSh2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFj
Y2Vzc29ySW5mbyYpO1xuIik7Ci0gICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3Rh
dGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiByZWxvYWRBdHRyR2V0dGVyQ3VzdG9tKHY4OjpMb2Nh
bDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJik7XG4iKTsKLSAgICAg
ICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHJlcGxhY2VBdHRyR2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25z
dCB2ODo6QWNjZXNzb3JJbmZvJik7XG4iKTsKLSAgICB9CiB9CiAKIHN1YiBJc0NvbnN0cnVjdGFi
bGUKQEAgLTMwODMsMTYgKzMwNzgsNiBAQCBFTkQKICAgICBkZXNjLT5TZXRIaWRkZW5Qcm90b3R5
cGUodHJ1ZSk7CiBFTkQKICAgICB9Ci0gICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJMb2NhdGlv
biIpIHsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKLQotICAgIC8vIEZvciBz
ZWN1cml0eSByZWFzb25zLCB0aGVzZSBmdW5jdGlvbnMgYXJlIG9uIHRoZSBpbnN0YW5jZSBpbnN0
ZWFkCi0gICAgLy8gb2Ygb24gdGhlIHByb3RvdHlwZSBvYmplY3QgdG8gZW5zdXJlIHRoYXQgdGhl
eSBjYW5ub3QgYmUgb3ZlcndyaXR0ZW4uCi0gICAgaW5zdGFuY2UtPlNldEFjY2Vzc29yKHY4OjpT
dHJpbmc6Ok5ld1N5bWJvbCgicmVsb2FkIiksIFY4TG9jYXRpb246OnJlbG9hZEF0dHJHZXR0ZXJD
dXN0b20sIDAsIHY4VW5kZWZpbmVkKCksIHY4OjpBTExfQ0FOX1JFQUQsIHN0YXRpY19jYXN0PHY4
OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6OkRvbnREZWxldGUgfCB2ODo6UmVhZE9ubHkpKTsKLSAg
ICBpbnN0YW5jZS0+U2V0QWNjZXNzb3Iodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJyZXBsYWNlIiks
IFY4TG9jYXRpb246OnJlcGxhY2VBdHRyR2V0dGVyQ3VzdG9tLCAwLCB2OFVuZGVmaW5lZCgpLCB2
ODo6QUxMX0NBTl9SRUFELCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpE
b250RGVsZXRlIHwgdjg6OlJlYWRPbmx5KSk7Ci0gICAgaW5zdGFuY2UtPlNldEFjY2Vzc29yKHY4
OjpTdHJpbmc6Ok5ld1N5bWJvbCgiYXNzaWduIiksIFY4TG9jYXRpb246OmFzc2lnbkF0dHJHZXR0
ZXJDdXN0b20sIDAsIHY4VW5kZWZpbmVkKCksIHY4OjpBTExfQ0FOX1JFQUQsIHN0YXRpY19jYXN0
PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6OkRvbnREZWxldGUgfCB2ODo6UmVhZE9ubHkpKTsK
LUVORAotICAgIH0KIAogICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Mb2NhdGlvbi5pZGwKaW5kZXggMDcwN2YwNzU4ZWVhMTZiZTQwNDVhMTg2N2VmM2VjYjk2MDM2
ZTg3YS4uOWUwZmJiODYzN2E0NGNiNTVmNzAyOTk3ODZmMzMwMDQyOWJlZDVmNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Mb2NhdGlvbi5pZGwKQEAgLTQ3LDYgKzQ3LDExIEBACiAgICAgW0N1c3RvbSwgVjhVbmZv
cmdlYWJsZV0gdm9pZCBhc3NpZ24oaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9N
U3RyaW5nIHVybCk7CiAgICAgW0N1c3RvbSwgVjhVbmZvcmdlYWJsZV0gdm9pZCByZXBsYWNlKGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyB1cmwpOwogICAgIFtDdXN0
b20sIFY4VW5mb3JnZWFibGVdIHZvaWQgcmVsb2FkKCk7CisjaWYgZGVmaW5lZChWOF9CSU5ESU5H
KSAmJiBWOF9CSU5ESU5HCisgICAgW0N1c3RvbSwgVjhVbmZvcmdlYWJsZSwgRG9Ob3RDaGVja1Nl
Y3VyaXR5XSByZWFkb25seSBhdHRyaWJ1dGUgYW55IGFzc2lnbjsKKyAgICBbQ3VzdG9tLCBWOFVu
Zm9yZ2VhYmxlLCBEb05vdENoZWNrU2VjdXJpdHldIHJlYWRvbmx5IGF0dHJpYnV0ZSBhbnkgcmVw
bGFjZTsKKyAgICBbQ3VzdG9tLCBWOFVuZm9yZ2VhYmxlLCBEb05vdENoZWNrU2VjdXJpdHldIHJl
YWRvbmx5IGF0dHJpYnV0ZSBhbnkgcmVsb2FkOworI2VuZGlmCiAKICAgICAvLyBVUkkgZGVjb21w
b3NpdGlvbiBhdHRyaWJ1dGVzCiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfQ1BQKSB8fCAhTEFOR1VB
R0VfQ1BQCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189161</attachid>
            <date>2013-02-19 14:23:33 -0800</date>
            <delta_ts>2013-02-19 18:11:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109789-20130219141955.patch</filename>
            <type>text/plain</type>
            <size>7817</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzU5MWFhMWU2YTc2OGMw
ZDhiYzU1ZmQxNjg2ZTEyNDcxMmU4YzBhYy4uZGRhZWUyMzI1YmM5MzQ0Yjk2NzRhOThhZDk5MzIy
NTlhMGExMDliNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTAyLTE5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIFJlbW92ZSBy
ZWxvYWQsIGFzc2lnbiBhbmQgcmVwbGFjZSBhdHRyaWJ1dGVzIGZyb20gTG9jYXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTc4OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZ2FyZGluZyBMb2Nh
dGlvbjo6cmVsb2FkLCBMb2NhdGlvbjo6YXNzaWduIGFuZCBMb2NhdGlvbjo6cmVwbGFjZSwKKyAg
ICAgICAgY3VycmVudGx5IGJvdGggYW4gYXR0cmlidXRlIGFuZCBhIG1ldGhvZCBhcmUgZGVmaW5l
ZCBvbiBhIERPTSBvYmplY3QuCisgICAgICAgIFRoaXMgbG9va3MgcmVhbGx5IHN0cmFuZ2UuIFdl
IHNob3VsZCByZW1vdmUgYXR0cmlidXRlcy4KKworICAgICAgICBjLmYuIEluIEpTQywgb25seSBt
ZXRob2RzIGFyZSBkZWZpbmVkIG9uIGEgRE9NIG9iamVjdC4KKworICAgICAgICBObyB0ZXN0cy4g
Tm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yVjgucG06CisgICAgICAgIChHZW5lcmF0ZUhlYWRlckN1c3RvbUNhbGwpOgorICAg
ICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4TG9jYXRpb25DdXN0b20uY3BwOgorCiAyMDEzLTAyLTE5ICBDaGFuZ1Nlb2sgT2ggIDxj
aGFuZ3Nlb2sub2hAY29sbGFib3JhLmNvbT4KIAogICAgICAgICBbR1RLXVtBQ10gSW1wbGVtZW50
IG1hdHJpeCB0cmFuc2Zvcm0gYW5pbWF0aW9uIHdpdGggY2x1dHRlciBhYyBiYWNrZW5kCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmlu
ZGV4IDJmNGY4ZGIwZGYyYzFkYTJkMzg0ZjJmMDJmNmRhMzQ0MDdlYjljYWUuLmE0YTgxNDY3NmE0
Mzc4MmMwZjg2YWVmNTEwMjU3NWRlOWU0MmZjZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC03MzIsMTEgKzczMiw2IEBA
IHN1YiBHZW5lcmF0ZUhlYWRlckN1c3RvbUNhbGwKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgIiAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGRhdGFUcmFuc2ZlckF0dHJHZXR0
ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3Nvcklu
Zm8mKTtcbiIpOwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyB2b2lk
IHZhbHVlQXR0clNldHRlckN1c3RvbSh2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6Okxv
Y2FsPHY4OjpWYWx1ZT4sIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mKTtcbiIpOwogICAgIH0KLSAg
ICBpZiAoJGludGVyZmFjZS0+bmFtZSBlcSAiTG9jYXRpb24iKSB7Ci0gICAgICAgIHB1c2goQGhl
YWRlckNvbnRlbnQsICIgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhc3NpZ25BdHRy
R2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNz
b3JJbmZvJik7XG4iKTsKLSAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHJlbG9hZEF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4
OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mKTtcbiIpOwotICAgICAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcmVw
bGFjZUF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4
OjpBY2Nlc3NvckluZm8mKTtcbiIpOwotICAgIH0KIH0KIAogc3ViIElzQ29uc3RydWN0YWJsZQpA
QCAtMzA1MywxNyArMzA0OCw2IEBAIEVORAogICAgIGRlc2MtPlNldEhpZGRlblByb3RvdHlwZSh0
cnVlKTsKIEVORAogICAgIH0KLSAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkxvY2F0aW9uIikg
ewotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwotCi0gICAgLy8gRm9yIHNlY3Vy
aXR5IHJlYXNvbnMsIHRoZXNlIGZ1bmN0aW9ucyBhcmUgb24gdGhlIGluc3RhbmNlIGluc3RlYWQK
LSAgICAvLyBvZiBvbiB0aGUgcHJvdG90eXBlIG9iamVjdCB0byBlbnN1cmUgdGhhdCB0aGV5IGNh
bm5vdCBiZSBvdmVyd3JpdHRlbi4KLSAgICBpbnN0YW5jZS0+U2V0QWNjZXNzb3Iodjg6OlN0cmlu
Zzo6TmV3U3ltYm9sKCJyZWxvYWQiKSwgVjhMb2NhdGlvbjo6cmVsb2FkQXR0ckdldHRlckN1c3Rv
bSwgMCwgdjhVbmRlZmluZWQoKSwgdjg6OkFMTF9DQU5fUkVBRCwgc3RhdGljX2Nhc3Q8djg6OlBy
b3BlcnR5QXR0cmlidXRlPih2ODo6RG9udERlbGV0ZSB8IHY4OjpSZWFkT25seSkpOwotICAgIGlu
c3RhbmNlLT5TZXRBY2Nlc3Nvcih2ODo6U3RyaW5nOjpOZXdTeW1ib2woInJlcGxhY2UiKSwgVjhM
b2NhdGlvbjo6cmVwbGFjZUF0dHJHZXR0ZXJDdXN0b20sIDAsIHY4VW5kZWZpbmVkKCksIHY4OjpB
TExfQ0FOX1JFQUQsIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6OkRvbnRE
ZWxldGUgfCB2ODo6UmVhZE9ubHkpKTsKLSAgICBpbnN0YW5jZS0+U2V0QWNjZXNzb3Iodjg6OlN0
cmluZzo6TmV3U3ltYm9sKCJhc3NpZ24iKSwgVjhMb2NhdGlvbjo6YXNzaWduQXR0ckdldHRlckN1
c3RvbSwgMCwgdjhVbmRlZmluZWQoKSwgdjg6OkFMTF9DQU5fUkVBRCwgc3RhdGljX2Nhc3Q8djg6
OlByb3BlcnR5QXR0cmlidXRlPih2ODo6RG9udERlbGV0ZSB8IHY4OjpSZWFkT25seSkpOwotRU5E
Ci0gICAgfQotCiAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKIAogICAgIC8vIEN1c3Rv
bSB0b1N0cmluZyB0ZW1wbGF0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0b20uY3BwCmluZGV4IDAyNTFkZWFlN2MwMGUzMzg0OWEz
ZGE5YmFkNjk3NTI1MjgzOGQ2MGYuLjhiZTE2OTVhNjk1ZWE4MzllZDk3ZTg1MjVhOWFiZmVhM2Iz
YTM1NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOExv
Y2F0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhMb2NhdGlvbkN1c3RvbS5jcHAKQEAgLTEzNiw2MSArMTM2LDYgQEAgdm9pZCBWOExvY2F0aW9u
OjpzZWFyY2hBdHRyU2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6
TG9jYWw8djgKICAgICBpbXBsLT5zZXRTZWFyY2goc2VhcmNoLCBhY3RpdmVET01XaW5kb3coc3Rh
dGUpLCBmaXJzdERPTVdpbmRvdyhzdGF0ZSkpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhMb2NhdGlvbjo6cmVsb2FkQXR0ckdldHRlckN1c3RvbSh2ODo6TG9jYWw8djg6OlN0cmluZz4g
bmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKLXsKLSAgICB2ODo6SXNvbGF0ZSog
aXNvbGF0ZSA9IGluZm8uR2V0SXNvbGF0ZSgpOwotICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2
ODo6RnVuY3Rpb25UZW1wbGF0ZT4gcHJpdmF0ZVRlbXBsYXRlID0gdjg6OlBlcnNpc3RlbnQ8djg6
OkZ1bmN0aW9uVGVtcGxhdGU+OjpOZXcoaXNvbGF0ZSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5l
dyhWOExvY2F0aW9uOjpyZWxvYWRDYWxsYmFja0N1c3RvbSwgdjhVbmRlZmluZWQoKSwgdjg6OlNp
Z25hdHVyZTo6TmV3KFY4TG9jYXRpb246OkdldFJhd1RlbXBsYXRlKGlzb2xhdGUpKSkpOwotICAg
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5UaGlzKCktPkZpbmRJbnN0YW5j
ZUluUHJvdG90eXBlQ2hhaW4oVjhMb2NhdGlvbjo6R2V0VGVtcGxhdGUoaXNvbGF0ZSkpOwotICAg
IGlmIChob2xkZXIuSXNFbXB0eSgpKSB7Ci0gICAgICAgIC8vIGNhbiBvbmx5IHJlYWNoIGhlcmUg
YnkgJ29iamVjdC5fX3Byb3RvX18uZnVuYycsIGFuZCBpdCBzaG91bGQgcGFzc2VkCi0gICAgICAg
IC8vIGRvbWFpbiBzZWN1cml0eSBjaGVjayBhbHJlYWR5Ci0gICAgICAgIHJldHVybiBwcml2YXRl
VGVtcGxhdGUtPkdldEZ1bmN0aW9uKCk7Ci0gICAgfQotICAgIExvY2F0aW9uKiBpbXAgPSBWOExv
Y2F0aW9uOjp0b05hdGl2ZShob2xkZXIpOwotICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91
bGRBbGxvd0FjY2Vzc1RvRnJhbWUoQmluZGluZ1N0YXRlOjppbnN0YW5jZSgpLCBpbXAtPmZyYW1l
KCksIERvTm90UmVwb3J0U2VjdXJpdHlFcnJvcikpIHsKLSAgICAgICAgc3RhdGljIHY4OjpQZXJz
aXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBzaGFyZWRUZW1wbGF0ZSA9IHY4OjpQZXJzaXN0
ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPjo6TmV3KGlzb2xhdGUsIHY4OjpGdW5jdGlvblRlbXBs
YXRlOjpOZXcoVjhMb2NhdGlvbjo6cmVsb2FkQ2FsbGJhY2tDdXN0b20sIHY4VW5kZWZpbmVkKCks
IHY4OjpTaWduYXR1cmU6Ok5ldyhWOExvY2F0aW9uOjpHZXRSYXdUZW1wbGF0ZShpc29sYXRlKSkp
KTsKLSAgICAgICAgcmV0dXJuIHNoYXJlZFRlbXBsYXRlLT5HZXRGdW5jdGlvbigpOwotICAgIH0K
LSAgICByZXR1cm4gcHJpdmF0ZVRlbXBsYXRlLT5HZXRGdW5jdGlvbigpOwotfQotCi12ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhMb2NhdGlvbjo6cmVwbGFjZUF0dHJHZXR0ZXJDdXN0b20odjg6Okxv
Y2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0g
ICAgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSBpbmZvLkdldElzb2xhdGUoKTsKLSAgICBzdGF0aWMg
djg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHByaXZhdGVUZW1wbGF0ZSA9IHY4
OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPjo6TmV3KGlzb2xhdGUsIHY4OjpGdW5j
dGlvblRlbXBsYXRlOjpOZXcoVjhMb2NhdGlvbjo6cmVwbGFjZUNhbGxiYWNrQ3VzdG9tLCB2OFVu
ZGVmaW5lZCgpLCB2ODo6U2lnbmF0dXJlOjpOZXcoVjhMb2NhdGlvbjo6R2V0UmF3VGVtcGxhdGUo
aXNvbGF0ZSkpKSk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLlRo
aXMoKS0+RmluZEluc3RhbmNlSW5Qcm90b3R5cGVDaGFpbihWOExvY2F0aW9uOjpHZXRUZW1wbGF0
ZShpc29sYXRlKSk7Ci0gICAgaWYgKGhvbGRlci5Jc0VtcHR5KCkpIHsKLSAgICAgICAgLy8gY2Fu
IG9ubHkgcmVhY2ggaGVyZSBieSAnb2JqZWN0Ll9fcHJvdG9fXy5mdW5jJywgYW5kIGl0IHNob3Vs
ZCBwYXNzZWQKLSAgICAgICAgLy8gZG9tYWluIHNlY3VyaXR5IGNoZWNrIGFscmVhZHkKLSAgICAg
ICAgcmV0dXJuIHByaXZhdGVUZW1wbGF0ZS0+R2V0RnVuY3Rpb24oKTsKLSAgICB9Ci0gICAgTG9j
YXRpb24qIGltcCA9IFY4TG9jYXRpb246OnRvTmF0aXZlKGhvbGRlcik7Ci0gICAgaWYgKCFCaW5k
aW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9GcmFtZShCaW5kaW5nU3RhdGU6Omluc3Rh
bmNlKCksIGltcC0+ZnJhbWUoKSwgRG9Ob3RSZXBvcnRTZWN1cml0eUVycm9yKSkgewotICAgICAg
ICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHNoYXJlZFRlbXBs
YXRlID0gdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+OjpOZXcoaXNvbGF0ZSwg
djg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhWOExvY2F0aW9uOjpyZXBsYWNlQ2FsbGJhY2tDdXN0
b20sIHY4VW5kZWZpbmVkKCksIHY4OjpTaWduYXR1cmU6Ok5ldyhWOExvY2F0aW9uOjpHZXRSYXdU
ZW1wbGF0ZShpc29sYXRlKSkpKTsKLSAgICAgICAgcmV0dXJuIHNoYXJlZFRlbXBsYXRlLT5HZXRG
dW5jdGlvbigpOwotICAgIH0KLSAgICByZXR1cm4gcHJpdmF0ZVRlbXBsYXRlLT5HZXRGdW5jdGlv
bigpOwotfQotCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhMb2NhdGlvbjo6YXNzaWduQXR0ckdl
dHRlckN1c3RvbSh2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29y
SW5mbyYgaW5mbykKLXsKLSAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IGluZm8uR2V0SXNvbGF0
ZSgpOwotICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gcHJp
dmF0ZVRlbXBsYXRlID0KLSAgICAgICAgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxh
dGU+OjpOZXcoaXNvbGF0ZSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhWOExvY2F0aW9uOjph
c3NpZ25DYWxsYmFja0N1c3RvbSwgdjhVbmRlZmluZWQoKSwgdjg6OlNpZ25hdHVyZTo6TmV3KFY4
TG9jYXRpb246OkdldFJhd1RlbXBsYXRlKGlzb2xhdGUpKSkpOwotICAgIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gaG9sZGVyID0gaW5mby5UaGlzKCktPkZpbmRJbnN0YW5jZUluUHJvdG90eXBlQ2hh
aW4oVjhMb2NhdGlvbjo6R2V0VGVtcGxhdGUoaXNvbGF0ZSkpOwotICAgIGlmIChob2xkZXIuSXNF
bXB0eSgpKSB7Ci0gICAgICAgIC8vIGNhbiBvbmx5IHJlYWNoIGhlcmUgYnkgJ29iamVjdC5fX3By
b3RvX18uZnVuYycsIGFuZCBpdCBzaG91bGQgcGFzc2VkCi0gICAgICAgIC8vIGRvbWFpbiBzZWN1
cml0eSBjaGVjayBhbHJlYWR5Ci0gICAgICAgIHJldHVybiBwcml2YXRlVGVtcGxhdGUtPkdldEZ1
bmN0aW9uKCk7Ci0gICAgfQotICAgIExvY2F0aW9uKiBpbXAgPSBWOExvY2F0aW9uOjp0b05hdGl2
ZShob2xkZXIpOwotICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1Rv
RnJhbWUoQmluZGluZ1N0YXRlOjppbnN0YW5jZSgpLCBpbXAtPmZyYW1lKCksIERvTm90UmVwb3J0
U2VjdXJpdHlFcnJvcikpIHsKLSAgICAgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5j
dGlvblRlbXBsYXRlPiBzaGFyZWRUZW1wbGF0ZSA9IHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlv
blRlbXBsYXRlPjo6TmV3KGlzb2xhdGUsIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVjhMb2Nh
dGlvbjo6YXNzaWduQ2FsbGJhY2tDdXN0b20sIHY4VW5kZWZpbmVkKCksIHY4OjpTaWduYXR1cmU6
Ok5ldyhWOExvY2F0aW9uOjpHZXRSYXdUZW1wbGF0ZShpc29sYXRlKSkpKTsKLSAgICAgICAgcmV0
dXJuIHNoYXJlZFRlbXBsYXRlLT5HZXRGdW5jdGlvbigpOwotICAgIH0KLSAgICByZXR1cm4gcHJp
dmF0ZVRlbXBsYXRlLT5HZXRGdW5jdGlvbigpOwotfQotCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhMb2NhdGlvbjo6cmVsb2FkQ2FsbGJhY2tDdXN0b20oY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
cykKIHsKICAgICBMb2NhdGlvbiogaW1wbCA9IFY4TG9jYXRpb246OnRvTmF0aXZlKGFyZ3MuSG9s
ZGVyKCkpOwo=
</data>
<flag name="review"
          id="209486"
          type_id="1"
          status="-"
          setter="haraken"
    />
    <flag name="commit-queue"
          id="209524"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>