<?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>53578</bug_id>
          
          <creation_ts>2011-02-01 23:11:24 -0800</creation_ts>
          <short_desc>[V8] Incorrect handling of JavaScript properties in DOMStringMap</short_desc>
          <delta_ts>2011-11-15 00:37:20 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</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>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>53752</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>abarth</cc>
    
    <cc>antonm</cc>
    
    <cc>arv</cc>
    
    <cc>dglazkov</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>343878</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-02-01 23:11:24 -0800</bug_when>
    <thetext>[V8] Incorrect handling of JavaScript properties in DOMStringMap</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343879</commentid>
    <comment_count>1</comment_count>
      <attachid>80893</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-02-01 23:16:22 -0800</bug_when>
    <thetext>Created attachment 80893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343941</commentid>
    <comment_count>2</comment_count>
      <attachid>80893</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2011-02-02 03:56:46 -0800</bug_when>
    <thetext>Comment on attachment 80893
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp:54
&gt; +    if (map-&gt;contains(nameString))

I am complete ignoramus of WebCore::DOMStringMap internals, but is there a contract what DOMStringMap::item should return if there is no binding for the name?  If it returns empty string (WebCore::String::isEmpty()), it might be more efficient to look the result up and check for string emptiness.  Feel free to ignore if you think it&apos;s premature optimization.

&gt; Source/WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp:88
&gt;      INC_STATS(&quot;DOM.DOMStringMap.NamedPropertySetter&quot;);

Shouldn&apos;t NamedPropertyDelete be updated as well?

&gt; Source/WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp:91
&gt; +        return notHandledByInterceptor();

I suspect (but not 100% sure) it doesn&apos;t do the right thing: I would expect that in your test case you would get real JS property &apos;foobarbaz&apos; on JS wrapper itself, and this update won&apos;t be stored in the instance of WebCore::DOMStringMap.  Can we extend layout test to check if it&apos;s indeed the case?

If I am right, I think you should use v8::Object::HasRealNamedProperty instead of both GetRealNamedPropertyInPrototypeChain and HasRealNamedCallback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345263</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-02-03 19:31:07 -0800</bug_when>
    <thetext>(In reply to comment #2)

Thank you for the comments.  Now I believe the current JSC behavior is also incorrect.
I&apos;ll try to correct it, then will update the V8 behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479797</commentid>
    <comment_count>4</comment_count>
      <attachid>110090</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-10-06 22:37:31 -0700</bug_when>
    <thetext>Created attachment 110090
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479810</commentid>
    <comment_count>5</comment_count>
      <attachid>110090</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-06 23:02:11 -0700</bug_when>
    <thetext>Comment on attachment 110090
Patch 2

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

New failing tests:
fast/dom/dataset.html
fast/dom/dataset-xhtml.xhtml</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479846</commentid>
    <comment_count>6</comment_count>
      <attachid>110100</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-10-07 00:26:39 -0700</bug_when>
    <thetext>Created attachment 110100
Patch 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479854</commentid>
    <comment_count>7</comment_count>
      <attachid>110100</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-07 00:55:07 -0700</bug_when>
    <thetext>Comment on attachment 110100
Patch 3

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

New failing tests:
fast/dom/dataset.html
fast/dom/dataset-xhtml.xhtml</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479859</commentid>
    <comment_count>8</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-10-07 00:59:48 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; New failing tests:
&gt; fast/dom/dataset.html
&gt; fast/dom/dataset-xhtml.xhtml

Hmm, why they fail? They passed on my Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481471</commentid>
    <comment_count>9</comment_count>
      <attachid>110481</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-10-10 23:47:54 -0700</bug_when>
    <thetext>Created attachment 110481
Patch 4

Fix namedPropertySetter behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502607</commentid>
    <comment_count>10</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-11-14 20:22:53 -0800</bug_when>
    <thetext>Would anyone review this please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502652</commentid>
    <comment_count>11</comment_count>
      <attachid>110481</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-14 22:55:11 -0800</bug_when>
    <thetext>Comment on attachment 110481
Patch 4

Great!  I&apos;m glad to see this code go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502654</commentid>
    <comment_count>12</comment_count>
      <attachid>110481</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-11-14 22:56:45 -0800</bug_when>
    <thetext>Comment on attachment 110481
Patch 4

Thank you for reviewing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502658</commentid>
    <comment_count>13</comment_count>
      <attachid>110481</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-14 22:59:46 -0800</bug_when>
    <thetext>Comment on attachment 110481
Patch 4

Rejecting attachment 110481 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
ucceeded at 1 with fuzz 3.
patching file LayoutTests/platform/chromium/test_expectations.txt
Hunk #1 FAILED at 3762.
1 out of 1 hunk FAILED -- saving rejects to file LayoutTests/platform/chromium/test_expectations.txt.rej
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Adam Barth&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/10485236</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502666</commentid>
    <comment_count>14</comment_count>
      <attachid>115102</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-11-14 23:09:23 -0800</bug_when>
    <thetext>Created attachment 115102
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502702</commentid>
    <comment_count>15</comment_count>
      <attachid>115102</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-15 00:37:14 -0800</bug_when>
    <thetext>Comment on attachment 115102
Patch for landing

Clearing flags on attachment: 115102

Committed r100247: &lt;http://trac.webkit.org/changeset/100247&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502703</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-15 00:37:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80893</attachid>
            <date>2011-02-01 23:16:22 -0800</date>
            <delta_ts>2011-10-06 22:37:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53578-20110202161620.patch</filename>
            <type>text/plain</type>
            <size>5261</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZWMwOTdjYTZkOWIwMTczODBlYzRiMjBhNTVlNmMxODQ3YWEyNWVhLi43N2Q3Njlj
MDY5MWYwYmQ5ZjQyMzQwN2U3NGMwMGI4YmIxNWUxNTY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTEtMDItMDEgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtWOF0gSW5jb3JyZWN0IGhh
bmRsaW5nIG9mIEphdmFTY3JpcHQgcHJvcGVydGllcyBpbiBET01TdHJpbmdNYXAKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNTc4CisKKyAgICAgICAg
QWRkIHNvbWUgdGVzdHMgZm9yIHRoZSBWOCBiaW5kaW5nIGlzc3VlLgorCisgICAgICAgICogZmFz
dC9kb20vZGF0YXNldC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vc2NyaXB0LXRl
c3RzL2RhdGFzZXQuanM6CisKIDIwMTEtMDItMDEgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZXhwZWN0YXRpb25zIGNoYW5nZS4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2RhdGFzZXQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vZGF0YXNldC1leHBlY3RlZC50eHQKaW5kZXggMWVmNjg1OWQ0MmRj
NTdmZDU0MTliYjg0MDRiZjA4YTRhNjZjMDRjZi4uZWMyYTQyZjliZDgyZDMzYTY0M2ZiYmUwMTQ5
NjQzODc2NTM4YzMyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZGF0YXNldC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vZGF0YXNldC1leHBlY3RlZC50
eHQKQEAgLTQwLDYgKzQwLDE0IEBAIFBBU1MgdGVzdEZvckluKFsnZGF0YS1mb28nLCAnZGF0YS1i
YXInLCAnZGF0YS1iYXonXSkgaXMgMwogUEFTUyB0ZXN0Rm9ySW4oWydkYXRhLWZvbycsICdkYXRh
LWJhcicsICdkYXRhRm9vJ10pIGlzIDIKIFBBU1MgdGVzdEZvckluKFsnZGF0YS1mb28nLCAnZGF0
YS1iYXInLCAnc3R5bGUnXSkgaXMgMgogUEFTUyB0ZXN0Rm9ySW4oWydkYXRhLWZvbycsICdkYXRh
LWJhcicsICdkYXRhLSddKSBpcyAzCisKK1Byb3BlcnR5IG92ZXJyaWRlOgorUEFTUyBPYmplY3Qu
cHJvdG90eXBlLmZvb2JhcmJheiA9ICdvbiBPYmplY3QnOyBkaXYuZGF0YXNldC5mb29iYXJiYXog
aXMgJ29uIE9iamVjdCcKK1BBU1MgZGl2LmRhdGFzZXRbJ2Zvb2JhcmJheiddID0gJ29uIGRhdGFz
ZXQnIGlzICdvbiBkYXRhc2V0JworUEFTUyBkaXYuZGF0YXNldC5mb29iYXJiYXogaXMgJ29uIGRh
dGFzZXQnCitQQVNTIGRpdi5oYXNBdHRyaWJ1dGUoJ2RhdGEtZm9vYmFyYmF6JykgaXMgZmFsc2UK
K1BBU1MgZGl2LnNldEF0dHJpYnV0ZSgnZGF0YS1mb29iYXJiYXonLCAnYXR0cicpOyBkaXYuZGF0
YXNldC5mb29iYXJiYXogaXMgJ2F0dHInCitQQVNTIGRpdi5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEt
Zm9vYmFyYmF6Jyk7IGRpdi5kYXRhc2V0LmZvb2JhcmJheiBpcyAnb24gZGF0YXNldCcKIFBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL2RhdGFzZXQuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvZGF0YXNldC5qcwppbmRleCA2YWFhMTRhMTJjYjkyYjk4
OTRlYmRhY2RhZGFlMGVjYzlhOTE2ZGFjLi44ZmY2NDhlOTIyMjcxMTE3MGFhMTI0MDBjMmRjYjU0
YTE2MzM3MTI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMv
ZGF0YXNldC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvZGF0YXNl
dC5qcwpAQCAtOTEsNCArOTEsMTYgQEAgc2hvdWxkQmUoInRlc3RGb3JJbihbJ2RhdGEtZm9vJywg
J2RhdGEtYmFyJywgJ2RhdGFGb28nXSkiLCAiMiIpOwogc2hvdWxkQmUoInRlc3RGb3JJbihbJ2Rh
dGEtZm9vJywgJ2RhdGEtYmFyJywgJ3N0eWxlJ10pIiwgIjIiKTsKIHNob3VsZEJlKCJ0ZXN0Rm9y
SW4oWydkYXRhLWZvbycsICdkYXRhLWJhcicsICdkYXRhLSddKSIsICIzIik7CiAKKworZGVidWco
IiIpOworZGVidWcoIlByb3BlcnR5IG92ZXJyaWRlOiIpOwordmFyIGRpdiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOworT2JqZWN0LnByb3RvdHlwZS5mb29iYXJiYXogPSAib24gT2Jq
ZWN0IjsKK3Nob3VsZEJlKCJPYmplY3QucHJvdG90eXBlLmZvb2JhcmJheiA9ICdvbiBPYmplY3Qn
OyBkaXYuZGF0YXNldC5mb29iYXJiYXoiLCAiJ29uIE9iamVjdCciKTsKK3Nob3VsZEJlKCJkaXYu
ZGF0YXNldFsnZm9vYmFyYmF6J10gPSAnb24gZGF0YXNldCciLCAiJ29uIGRhdGFzZXQnIik7Citz
aG91bGRCZSgiZGl2LmRhdGFzZXQuZm9vYmFyYmF6IiwgIidvbiBkYXRhc2V0JyIpOworc2hvdWxk
QmVGYWxzZSgiZGl2Lmhhc0F0dHJpYnV0ZSgnZGF0YS1mb29iYXJiYXonKSIpOworc2hvdWxkQmUo
ImRpdi5zZXRBdHRyaWJ1dGUoJ2RhdGEtZm9vYmFyYmF6JywgJ2F0dHInKTsgZGl2LmRhdGFzZXQu
Zm9vYmFyYmF6IiwgIidhdHRyJyIpOworc2hvdWxkQmUoImRpdi5yZW1vdmVBdHRyaWJ1dGUoJ2Rh
dGEtZm9vYmFyYmF6Jyk7IGRpdi5kYXRhc2V0LmZvb2JhcmJheiIsICInb24gZGF0YXNldCciKTsK
KwogdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBiYzI5NmJj
ZDBmMWJlMzQyNTE1NDg5ZGZiNDhjYTFkZGM2Y2MxMi4uZDFmYzRiYTIyZTI1ODBiZTFhNmVhNDZk
Y2FiNDU5ZGRmMGQzNDUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDExLTAyLTAx
ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbVjhdIEluY29ycmVjdCBoYW5kbGluZyBvZiBK
YXZhU2NyaXB0IHByb3BlcnRpZXMgaW4gRE9NU3RyaW5nTWFwCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzU3OAorCisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4
RE9NU3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5R2V0dGVyKToKKyAgICAgICAgICBTZWFyY2ggSmF2
YVNjcmlwdCBwcm9wZXJ0aWVzIGlmIHRoZSBET01TdHJpbmdNYXAgb2JqZWN0IGRvZXNuJ3QgaGF2
ZQorICAgICAgICAgIHRoZSBpdGVtIGZvciB0aGUgbmFtZS4KKyAgICAgICAgKFdlYkNvcmU6OlY4
RE9NU3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5U2V0dGVyKToKKyAgICAgICAgICBTZXQgdGhlIHZh
bHVlIGFzIGEgSmF2YVNjcmlwdCBwcm9wZXJ0aWVzIGlmIHRoZSBwcm9wZXJ0eSBuYW1lIGlzIGlu
CisgICAgICAgICAgdGhlIHByb3RvdHlwZSBjaGFpbi4KKwogMjAxMS0wMi0wMSAgQWRhbSBCYXJ0
aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xp
bmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01T
dHJpbmdNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAppbmRleCA3MWZmMzU3NmRhNjEzMDMwOTA1MmJlODRjZmQ1
NWQ3MjBiMDJiMDY1Li5iOTA2NjIxY2NmYjJhNmYyMmU5NTJiMzA2MjM0ZGQzODQ1NDI2NjQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdN
YXBDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVN0cmluZ01hcEN1c3RvbS5jcHAKQEAgLTQ5LDcgKzQ5LDExIEBAIHY4OjpIYW5kbGU8djg6Oklu
dGVnZXI+IFY4RE9NU3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5UXVlcnkodjg6OkxvY2FsPHY4OjpT
dHJpbmc+CiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVy
dHlHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3Nvcklu
Zm8mIGluZm8pCiB7CiAgICAgSU5DX1NUQVRTKCJET00uRE9NU3RyaW5nTWFwLk5hbWVkUHJvcGVy
dHlHZXR0ZXIiKTsKLSAgICByZXR1cm4gdjhTdHJpbmcoVjhET01TdHJpbmdNYXA6OnRvTmF0aXZl
KGluZm8uSG9sZGVyKCkpLT5pdGVtKHRvV2ViQ29yZVN0cmluZyhuYW1lKSkpOworICAgIERPTVN0
cmluZ01hcCogbWFwID0gVjhET01TdHJpbmdNYXA6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOwor
ICAgIFN0cmluZyBuYW1lU3RyaW5nID0gdG9XZWJDb3JlU3RyaW5nKG5hbWUpOworICAgIGlmICht
YXAtPmNvbnRhaW5zKG5hbWVTdHJpbmcpKQorICAgICAgICByZXR1cm4gdjhTdHJpbmcobWFwLT5p
dGVtKG5hbWVTdHJpbmcpKTsKKyAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsK
IH0KIAogdjg6OkhhbmRsZTx2ODo6QXJyYXk+IFY4RE9NU3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5
RW51bWVyYXRvcihjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQpAQCAtODQsNyArODgsNyBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVydHlTZXR0
ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+CiAgICAgSU5DX1NUQVRTKCJET00uRE9NU3RyaW5nTWFw
Lk5hbWVkUHJvcGVydHlTZXR0ZXIiKTsKICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcHJvcGVy
dHkgPSBpbmZvLkhvbGRlcigpLT5HZXRSZWFsTmFtZWRQcm9wZXJ0eUluUHJvdG90eXBlQ2hhaW4o
bmFtZSk7CiAgICAgaWYgKCFwcm9wZXJ0eS5Jc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiB2YWx1
ZTsKKyAgICAgICAgcmV0dXJuIG5vdEhhbmRsZWRCeUludGVyY2VwdG9yKCk7CiAgICAgaWYgKGlu
Zm8uSG9sZGVyKCktPkhhc1JlYWxOYW1lZENhbGxiYWNrUHJvcGVydHkobmFtZSkpCiAgICAgICAg
IHJldHVybiB2YWx1ZTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110090</attachid>
            <date>2011-10-06 22:37:31 -0700</date>
            <delta_ts>2011-10-07 00:26:33 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-53578-20111007143730.patch</filename>
            <type>text/plain</type>
            <size>4942</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY4OTkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxNzljNTg4ZmY1YmY1MjA4N2EwMDlh
NzliMzUwZDBmYTFiNmUxOGY0Li44NjgwM2IxNzg4MWI3MjJkZDljNDkzZTFmN2EzZjY2ZjhhZTNh
MjMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTAtMDYgIEtlbnQgVGFtdXJhICA8dGtl
bnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gRml4IGluY29ycmVjdCBoYW5kbGluZyBv
ZiBKYXZhU2NyaXB0IHByb3BlcnRpZXMgaW4gRE9NU3RyaW5nTWFwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzU3OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9l
eHBlY3RhdGlvbnMudHh0OgorICAgICAgICBSZW1vdmUgYSBmYWlsdXJlIGV4cGVjdGF0aW9uIG9m
IGRvbS9kYXRhc2V0Lmh0bWwuCisKIDIwMTEtMTAtMDYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgV2luZG93cyByZWJhc2VsaW5lIGFmdGVyIHI5Njg3MC4gQWxz
byBza2lwIGVkaXRpbmcvcGFzdGVib2FyZC9zbWFydC1wYXN0ZS0wMDguaHRtbCBiZWNhdXNlIGl0
J3MgYSByZWFsIGZhaWx1cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCBiNTUxNTkwOThlZGZiMTY3MzZlOTBmZTc3ODQy
OGVjOTFkNmQ3YjRhLi41YTBlZGZhZGQxZGI3MjY0YTgzNmYzMzZhZDUwYzZlMGRkMzRlOGQ1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9u
cy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0CkBAIC0zNzQ1LDkgKzM3NDUsNiBAQCBCVUdXSzY4OTcwIE1BQyBDUFUtQ0cgUkVMRUFT
RSA6IHN2Zy90ZXh0L3NlbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLnhodG1sID0gSU1BRwogQlVH
V0s2ODk4MiA6IHN2Zy9jdXN0b20vb3ZlcnNpemVkLXBhdHRlcm4tc2NhbGUuc3ZnID0gSU1BR0Ug
UEFTUwogQlVHV0s2ODk4MiA6IHN2Zy9jdXN0b20vdHJhbnNmb3JtZWQtcGF0dGVybi1jbGFtcC1z
dmctcm9vdC5zdmcgPSBJTUFHRSBQQVNTCiAKLS8vIE5lZWQgdG8gZm9sbG93IGEgSlNDIGJpbmRp
bmcgY2hhbmdlLiBTZWUgd2Via2l0Lm9yZy9iLzUzNzUyLgotQlVHV0s1MzU3OCA6IGZhc3QvZG9t
L2RhdGFzZXQuaHRtbCA9IFRFWFQKLQogLy8gTmVlZCByZWJhc2VsaW5lcyBhZnRlciByOTYyNTcK
IEJVR1dLNjIwOTIgTUFDIDogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXhtbC54aHRtbCA9IFRF
WFQKIEJVR1dLNjIwOTIgTUFDIDogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtMDA2Lmh0
bWwgPSBJTUFHRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDE0ZjQ0NTRmOWMxODY5ZDJiZDZlZmViMzg0YjcwMzEz
NWI0MGEyNDMuLmIyYTBhZTUzNjQ5YWFmYWExOWJiNjEzN2M5M2E1ZjgwZWFmMzRlNDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMS0xMC0wNiAgS2VudCBUYW11cmEgIDx0a2VudEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Y4XSBGaXggaW5jb3JyZWN0IGhhbmRsaW5nIG9mIEph
dmFTY3JpcHQgcHJvcGVydGllcyBpbiBET01TdHJpbmdNYXAKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNTc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9sbG93cyBhIEpTQyBiZWhhdmlvciBjaGFuZ2Ug
Ynkgcjk2ODkzLgorCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFw
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NU3RyaW5nTWFwOjpuYW1lZFByb3Bl
cnR5R2V0dGVyKToKKyAgICAgICAgUHJvcGFnYXRlIHRvIHRoZSBKYXZhU2NyaXB0IG9iamVjdCBp
ZiB0aGUgRE9NU3RyaW5nTWFwIG9iamVjdAorICAgICAgICBkb2Vzbid0IGhhdmUgdGhlIHJlcXVl
c3RlZCBpdGVtLgorICAgICAgICAoV2ViQ29yZTo6VjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVy
dHlEZWxldGVyKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpWOERPTVN0cmluZ01hcDo6bmFt
ZWRQcm9wZXJ0eVNldHRlcik6IGRpdHRvLgorCiAyMDExLTEwLTA2ICBBbnRvaW5lIExhYm91ciAg
PHBpbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWJraXQgQVBJIGZvciBjb21wb3NpdG9y
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJp
bmdNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9N
U3RyaW5nTWFwQ3VzdG9tLmNwcAppbmRleCA3M2YzMGM0ZjcyZjkwNTJhMjk5ZmE0ZWQxNDc5ZmQ3
NDYxNjZlZjAxLi43ZjMzZWVhOTI3NjUwNWY2OGQ2NmYyM2I5MDQyZjNlOGQwYmQ5MzdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBD
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0
cmluZ01hcEN1c3RvbS5jcHAKQEAgLTQ5LDcgKzQ5LDEwIEBAIHY4OjpIYW5kbGU8djg6OkludGVn
ZXI+IFY4RE9NU3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5UXVlcnkodjg6OkxvY2FsPHY4OjpTdHJp
bmc+CiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVydHlH
ZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8m
IGluZm8pCiB7CiAgICAgSU5DX1NUQVRTKCJET00uRE9NU3RyaW5nTWFwLk5hbWVkUHJvcGVydHlH
ZXR0ZXIiKTsKLSAgICByZXR1cm4gdjhTdHJpbmdPclVuZGVmaW5lZChWOERPTVN0cmluZ01hcDo6
dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSktPml0ZW0odG9XZWJDb3JlU3RyaW5nKG5hbWUpKSk7Cisg
ICAgU3RyaW5nIHZhbHVlID0gVjhET01TdHJpbmdNYXA6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkp
LT5pdGVtKHRvV2ViQ29yZVN0cmluZyhuYW1lKSk7CisgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQor
ICAgICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKKyAgICByZXR1cm4gdjhT
dHJpbmdPclVuZGVmaW5lZCh2YWx1ZSk7CiB9CiAKIHY4OjpIYW5kbGU8djg6OkFycmF5PiBWOERP
TVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0eUVudW1lcmF0b3IoY29uc3Qgdjg6OkFjY2Vzc29ySW5m
byYgaW5mbykKQEAgLTY2LDMyICs2OSwxOCBAQCB2ODo6SGFuZGxlPHY4OjpBcnJheT4gVjhET01T
dHJpbmdNYXA6Om5hbWVkUHJvcGVydHlFbnVtZXJhdG9yKGNvbnN0IHY4OjpBY2Nlc3Nvcgogdjg6
OkhhbmRsZTx2ODo6Qm9vbGVhbj4gVjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVydHlEZWxldGVy
KHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZv
KQogewogICAgIElOQ19TVEFUUygiRE9NLkRPTVN0cmluZ01hcC5OYW1lZFByb3BlcnR5RGVsZXRl
ciIpOwotCi0gICAgaWYgKCFpbmZvLkhvbGRlcigpLT5HZXRSZWFsTmFtZWRQcm9wZXJ0eUluUHJv
dG90eXBlQ2hhaW4obmFtZSkuSXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gdjg6OkZhbHNlKCk7
Ci0gICAgaWYgKGluZm8uSG9sZGVyKCktPkhhc1JlYWxOYW1lZENhbGxiYWNrUHJvcGVydHkobmFt
ZSkpCi0gICAgICAgIHJldHVybiB2ODo6RmFsc2UoKTsKLQogICAgIEV4Y2VwdGlvbkNvZGUgZWMg
PSAwOwogICAgIFY4RE9NU3RyaW5nTWFwOjp0b05hdGl2ZShpbmZvLkhvbGRlcigpKS0+ZGVsZXRl
SXRlbSh0b1dlYkNvcmVTdHJpbmcobmFtZSksIGVjKTsKLSAgICBpZiAoZWMpCi0gICAgICAgIHRo
cm93RXJyb3IoZWMpOwotICAgIHJldHVybiB2ODo6VHJ1ZSgpOworICAgIHJldHVybiBlYyA/IHY4
OjpGYWxzZSgpIDogdjg6OlRydWUoKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9N
U3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5U2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1l
LCB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5m
bykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5ET01TdHJpbmdNYXAuTmFtZWRQcm9wZXJ0eVNldHRl
ciIpOwotCi0gICAgaWYgKCFpbmZvLkhvbGRlcigpLT5HZXRSZWFsTmFtZWRQcm9wZXJ0eUluUHJv
dG90eXBlQ2hhaW4obmFtZSkuSXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gdmFsdWU7Ci0gICAg
aWYgKGluZm8uSG9sZGVyKCktPkhhc1JlYWxOYW1lZENhbGxiYWNrUHJvcGVydHkobmFtZSkpCi0g
ICAgICAgIHJldHVybiB2YWx1ZTsKLQogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIFY4
RE9NU3RyaW5nTWFwOjp0b05hdGl2ZShpbmZvLkhvbGRlcigpKS0+c2V0SXRlbSh0b1dlYkNvcmVT
dHJpbmcobmFtZSksIHRvV2ViQ29yZVN0cmluZyh2YWx1ZSksIGVjKTsKICAgICBpZiAoZWMpCi0g
ICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVjKTsKKyAgICAgICAgcmV0dXJuIG5vdEhhbmRsZWRC
eUludGVyY2VwdG9yKCk7CiAgICAgcmV0dXJuIHZhbHVlOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110100</attachid>
            <date>2011-10-07 00:26:39 -0700</date>
            <delta_ts>2011-10-10 23:47:47 -0700</delta_ts>
            <desc>Patch 3</desc>
            <filename>bug-53578-20111007162637.patch</filename>
            <type>text/plain</type>
            <size>4953</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY5MTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxMDRkNjU2N2UxMDRlZTVhNDU5NTEw
NDUxOTNmZGU0MzM1MTdkMmI4Li42MjgyNmZjYzlmODYzZjg2MWJkOTgyNTY0MTVhYWEzZDE0NTVh
ODBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTAtMDYgIEtlbnQgVGFtdXJhICA8dGtl
bnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gRml4IGluY29ycmVjdCBoYW5kbGluZyBv
ZiBKYXZhU2NyaXB0IHByb3BlcnRpZXMgaW4gRE9NU3RyaW5nTWFwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzU3OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9l
eHBlY3RhdGlvbnMudHh0OgorICAgICAgICBSZW1vdmUgZmFpbHVyZSBleHBlY3RhdGlvbnMgb2Yg
ZmFzdC9kb20vZGF0YXNldC5odG1sIGFuZAorICAgICAgICBmYXN0L2RvbS9kYXRhc2V0LXhodG1s
LnhodG1sLgorCiAyMDExLTEwLTA3ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBUZXN0IHVwZGF0ZSBmb3Igcjk2ODkzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDA4Y2ZkM2RjZGVh
Nzg4MGM3ZWZjYzU5NWI1YTVlZTI1YzllNzM5ZmEuLmY5ZmYzOTUxMDU2OTU3OTkwOTRkZTVkNTBi
MDhjNTBjZmQxNDU4ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTM3NDUsMTAgKzM3NDUsNiBAQCBCVUdXSzY4OTcw
IE1BQyBDUFUtQ0cgUkVMRUFTRSA6IHN2Zy90ZXh0L3NlbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG9y
LnhodG1sID0gSU1BRwogQlVHV0s2ODk4MiA6IHN2Zy9jdXN0b20vb3ZlcnNpemVkLXBhdHRlcm4t
c2NhbGUuc3ZnID0gSU1BR0UgUEFTUwogQlVHV0s2ODk4MiA6IHN2Zy9jdXN0b20vdHJhbnNmb3Jt
ZWQtcGF0dGVybi1jbGFtcC1zdmctcm9vdC5zdmcgPSBJTUFHRSBQQVNTCiAKLS8vIE5lZWQgdG8g
Zm9sbG93IGEgSlNDIGJpbmRpbmcgY2hhbmdlLiBTZWUgd2Via2l0Lm9yZy9iLzUzNzUyLgotQlVH
V0s1MzU3OCA6IGZhc3QvZG9tL2RhdGFzZXQuaHRtbCA9IFRFWFQKLUJVR1dLNTM1NzggOiBmYXN0
L2RvbS9kYXRhc2V0LXhodG1sLnhodG1sID0gVEVYVAotCiAvLyBOZWVkIHJlYmFzZWxpbmVzIGFm
dGVyIHI5NjI1NwogQlVHV0s2MjA5MiBNQUMgOiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUteG1s
LnhodG1sID0gVEVYVAogQlVHV0s2MjA5MiBNQUMgOiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
dGV4dC0wMDYuaHRtbCA9IElNQUdFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGY4MWFiM2M4YmViOTZjNjJkYTdj
NmJmMWYwMzlkNzU1NDZmMDg1NS4uNTFjM2EwYzU1MTliNGRmY2E0ZTkwODI1YmQ1NzM5Y2VmYTcy
ZGRiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTEwLTA2ICBLZW50IFRhbXVy
YSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIEZpeCBpbmNvcnJlY3QgaGFu
ZGxpbmcgb2YgSmF2YVNjcmlwdCBwcm9wZXJ0aWVzIGluIERPTVN0cmluZ01hcAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1NzgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb2xsb3dzIGEgSlNDIGJlaGF2
aW9yIGNoYW5nZSBieSByOTY4OTMuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhE
T01TdHJpbmdNYXBDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhET01TdHJpbmdNYXA6
Om5hbWVkUHJvcGVydHlHZXR0ZXIpOgorICAgICAgICBQcm9wYWdhdGUgdG8gdGhlIEphdmFTY3Jp
cHQgb2JqZWN0IGlmIHRoZSBET01TdHJpbmdNYXAgb2JqZWN0CisgICAgICAgIGRvZXNuJ3QgaGF2
ZSB0aGUgcmVxdWVzdGVkIGl0ZW0uCisgICAgICAgIChXZWJDb3JlOjpWOERPTVN0cmluZ01hcDo6
bmFtZWRQcm9wZXJ0eURlbGV0ZXIpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NU3Ry
aW5nTWFwOjpuYW1lZFByb3BlcnR5U2V0dGVyKTogZGl0dG8uCisKIDIwMTEtMTAtMDYgIEFudG9p
bmUgTGFib3VyICA8cGltYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYmtpdCBBUEkgZm9y
IGNvbXBvc2l0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCmluZGV4IDczZjMwYzRmNzJmOTA1MmEyOTlm
YTRlZDE0NzlmZDc0NjE2NmVmMDEuLjdmMzNlZWE5Mjc2NTA1ZjY4ZDY2ZjIzYjkwNDJmM2U4ZDBi
ZDkzN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVN0cmluZ01hcEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcApAQCAtNDksNyArNDksMTAgQEAgdjg6OkhhbmRs
ZTx2ODo6SW50ZWdlcj4gVjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVydHlRdWVyeSh2ODo6TG9j
YWw8djg6OlN0cmluZz4KIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVN0cmluZ01hcDo6bmFt
ZWRQcm9wZXJ0eUdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFj
Y2Vzc29ySW5mbyYgaW5mbykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5ET01TdHJpbmdNYXAuTmFt
ZWRQcm9wZXJ0eUdldHRlciIpOwotICAgIHJldHVybiB2OFN0cmluZ09yVW5kZWZpbmVkKFY4RE9N
U3RyaW5nTWFwOjp0b05hdGl2ZShpbmZvLkhvbGRlcigpKS0+aXRlbSh0b1dlYkNvcmVTdHJpbmco
bmFtZSkpKTsKKyAgICBTdHJpbmcgdmFsdWUgPSBWOERPTVN0cmluZ01hcDo6dG9OYXRpdmUoaW5m
by5Ib2xkZXIoKSktPml0ZW0odG9XZWJDb3JlU3RyaW5nKG5hbWUpKTsKKyAgICBpZiAodmFsdWUu
aXNOdWxsKCkpCisgICAgICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOworICAg
IHJldHVybiB2OFN0cmluZ09yVW5kZWZpbmVkKHZhbHVlKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6
QXJyYXk+IFY4RE9NU3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5RW51bWVyYXRvcihjb25zdCB2ODo6
QWNjZXNzb3JJbmZvJiBpbmZvKQpAQCAtNjYsMzIgKzY5LDE4IEBAIHY4OjpIYW5kbGU8djg6OkFy
cmF5PiBWOERPTVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0eUVudW1lcmF0b3IoY29uc3Qgdjg6OkFj
Y2Vzc29yCiB2ODo6SGFuZGxlPHY4OjpCb29sZWFuPiBWOERPTVN0cmluZ01hcDo6bmFtZWRQcm9w
ZXJ0eURlbGV0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3Nv
ckluZm8mIGluZm8pCiB7CiAgICAgSU5DX1NUQVRTKCJET00uRE9NU3RyaW5nTWFwLk5hbWVkUHJv
cGVydHlEZWxldGVyIik7Ci0KLSAgICBpZiAoIWluZm8uSG9sZGVyKCktPkdldFJlYWxOYW1lZFBy
b3BlcnR5SW5Qcm90b3R5cGVDaGFpbihuYW1lKS5Jc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiB2
ODo6RmFsc2UoKTsKLSAgICBpZiAoaW5mby5Ib2xkZXIoKS0+SGFzUmVhbE5hbWVkQ2FsbGJhY2tQ
cm9wZXJ0eShuYW1lKSkKLSAgICAgICAgcmV0dXJuIHY4OjpGYWxzZSgpOwotCiAgICAgRXhjZXB0
aW9uQ29kZSBlYyA9IDA7CiAgICAgVjhET01TdHJpbmdNYXA6OnRvTmF0aXZlKGluZm8uSG9sZGVy
KCkpLT5kZWxldGVJdGVtKHRvV2ViQ29yZVN0cmluZyhuYW1lKSwgZWMpOwotICAgIGlmIChlYykK
LSAgICAgICAgdGhyb3dFcnJvcihlYyk7Ci0gICAgcmV0dXJuIHY4OjpUcnVlKCk7CisgICAgcmV0
dXJuIGVjID8gdjg6OkZhbHNlKCkgOiB2ODo6VHJ1ZSgpOwogfQogCiB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gVjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVydHlTZXR0ZXIodjg6OkxvY2FsPHY4OjpT
dHJpbmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBjb25zdCB2ODo6QWNjZXNz
b3JJbmZvJiBpbmZvKQogewogICAgIElOQ19TVEFUUygiRE9NLkRPTVN0cmluZ01hcC5OYW1lZFBy
b3BlcnR5U2V0dGVyIik7Ci0KLSAgICBpZiAoIWluZm8uSG9sZGVyKCktPkdldFJlYWxOYW1lZFBy
b3BlcnR5SW5Qcm90b3R5cGVDaGFpbihuYW1lKS5Jc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiB2
YWx1ZTsKLSAgICBpZiAoaW5mby5Ib2xkZXIoKS0+SGFzUmVhbE5hbWVkQ2FsbGJhY2tQcm9wZXJ0
eShuYW1lKSkKLSAgICAgICAgcmV0dXJuIHZhbHVlOwotCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7CiAgICAgVjhET01TdHJpbmdNYXA6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpLT5zZXRJdGVt
KHRvV2ViQ29yZVN0cmluZyhuYW1lKSwgdG9XZWJDb3JlU3RyaW5nKHZhbHVlKSwgZWMpOwogICAg
IGlmIChlYykKLSAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZWMpOworICAgICAgICByZXR1cm4g
bm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKICAgICByZXR1cm4gdmFsdWU7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110481</attachid>
            <date>2011-10-10 23:47:54 -0700</date>
            <delta_ts>2011-11-14 23:09:17 -0800</delta_ts>
            <desc>Patch 4</desc>
            <filename>bug-53578-20111011154752.patch</filename>
            <type>text/plain</type>
            <size>4947</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcxMjYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzOGM0NGViYzFiZjcyODc2MmYyZTlm
NGQ1ZTBiODQxMmJiMzE1Mzc4Li44NjU1MmJkYzU4M2NkM2E3MDUyOGViNTMxOGFiN2E4NmY4Nzg5
ZGNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTAtMDYgIEtlbnQgVGFtdXJhICA8dGtl
bnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gRml4IGluY29ycmVjdCBoYW5kbGluZyBv
ZiBKYXZhU2NyaXB0IHByb3BlcnRpZXMgaW4gRE9NU3RyaW5nTWFwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzU3OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9l
eHBlY3RhdGlvbnMudHh0OgorICAgICAgICBSZW1vdmUgZmFpbHVyZSBleHBlY3RhdGlvbnMgb2Yg
ZmFzdC9kb20vZGF0YXNldC5odG1sIGFuZAorICAgICAgICBmYXN0L2RvbS9kYXRhc2V0LXhodG1s
LnhodG1sLgorCiAyMDExLTEwLTEwICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIEZpeCBleHBlY3RhdGlvbnMgZnJvbSByOTcxMjAu
IChhZ2FpbikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhw
ZWN0YXRpb25zLnR4dAppbmRleCAwYjU1N2E1NTU0NDMxZmFhZTcxMTBjMzFjYTM3NWE1ZjU3Y2I3
MDU0Li5mZmQwN2YwMTFjMzk5YzQxZWZlYTU0MmE4ZWY3ZGFkYzFjMTc0MDIzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBA
IC0zNzYyLDExICszNzYyLDYgQEAgQlVHV0s2ODk3MCBNQUMgQ1BVLUNHIFJFTEVBU0UgOiBzdmcv
dGV4dC9zZWxlY3Rpb24tYmFja2dyb3VuZC1jb2xvci54aHRtbCA9IElNQUcKIEJVR1dLNjg5ODIg
OiBzdmcvY3VzdG9tL292ZXJzaXplZC1wYXR0ZXJuLXNjYWxlLnN2ZyA9IElNQUdFIFBBU1MKIEJV
R1dLNjg5ODIgOiBzdmcvY3VzdG9tL3RyYW5zZm9ybWVkLXBhdHRlcm4tY2xhbXAtc3ZnLXJvb3Qu
c3ZnID0gSU1BR0UgUEFTUwogCi0vLyBOZWVkIHRvIGZvbGxvdyBhIEpTQyBiaW5kaW5nIGNoYW5n
ZS4gU2VlIHdlYmtpdC5vcmcvYi81Mzc1Mi4KLUJVR1dLNTM1NzggOiBmYXN0L2RvbS9kYXRhc2V0
Lmh0bWwgPSBURVhUCi1CVUdXSzUzNTc4IDogZmFzdC9kb20vZGF0YXNldC14aHRtbC54aHRtbCA9
IFRFWFQKLQotCiBCVUdXSzYzNTA5IDogZWRpdGluZy9zdHlsZS9zbW9vc2gtc3R5bGVzLTAwMy5o
dG1sID0gUEFTUyBJTUFHRQogCiBCVUdXSzY5MDYwIFdJTiBMSU5VWCA6IGZhc3QvcmVwYWludC9z
ZWxlY3Rpb24tY2xlYXIuaHRtbCA9IElNQUdFK1RFWFQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMTdlZjg4ZGM0
YWIwMmNkNzc4OTYwYjU3ODVjMTE3ZWU5NDA5ODFmLi5lZDA4MWU2NmNjMjk5OWVkNDg0ZjNkMjEz
ZTViODE3YTQ4ZjE3MGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMTAtMDYg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gRml4IGlu
Y29ycmVjdCBoYW5kbGluZyBvZiBKYXZhU2NyaXB0IHByb3BlcnRpZXMgaW4gRE9NU3RyaW5nTWFw
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzU3OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvbGxvd3Mg
YSBKU0MgYmVoYXZpb3IgY2hhbmdlIGJ5IHI5Njg5My4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERP
TVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0eUdldHRlcik6CisgICAgICAgIFByb3BhZ2F0ZSB0byB0
aGUgSmF2YVNjcmlwdCBvYmplY3QgaWYgdGhlIERPTVN0cmluZ01hcCBvYmplY3QKKyAgICAgICAg
ZG9lc24ndCBoYXZlIHRoZSByZXF1ZXN0ZWQgaXRlbS4KKyAgICAgICAgKFdlYkNvcmU6OlY4RE9N
U3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5RGVsZXRlcik6IGRpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6VjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVydHlTZXR0ZXIpOgorICAgICAgICBUcnkgdG8g
c2V0IGEgcHJvcGVydHkgdG8gb25seSBhIERPTVN0cmluZ01hcCBvYmplY3QuCisKIDIwMTEtMTAt
MTAgIEFiaGlzaGVrIEFyeWEgIDxpbmZlcm5vQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTdHls
ZSBub3QgdXBkYXRlZCBvbiB0ZXh0IGZyYWdtZW50IGluIDpmaXJzdC1sZXR0ZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBD
dXN0b20uY3BwCmluZGV4IDczZjMwYzRmNzJmOTA1MmEyOTlmYTRlZDE0NzlmZDc0NjE2NmVmMDEu
LjI3OTlhZTJjODc0ZTM0ZWMzMDlhZGY2NWY4ZmQ3MWZhZWM3MDllMWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3Vz
dG9tLmNwcApAQCAtNDksNyArNDksMTAgQEAgdjg6OkhhbmRsZTx2ODo6SW50ZWdlcj4gVjhET01T
dHJpbmdNYXA6Om5hbWVkUHJvcGVydHlRdWVyeSh2ODo6TG9jYWw8djg6OlN0cmluZz4KIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOERPTVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0eUdldHRlcih2ODo6
TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKIHsK
ICAgICBJTkNfU1RBVFMoIkRPTS5ET01TdHJpbmdNYXAuTmFtZWRQcm9wZXJ0eUdldHRlciIpOwot
ICAgIHJldHVybiB2OFN0cmluZ09yVW5kZWZpbmVkKFY4RE9NU3RyaW5nTWFwOjp0b05hdGl2ZShp
bmZvLkhvbGRlcigpKS0+aXRlbSh0b1dlYkNvcmVTdHJpbmcobmFtZSkpKTsKKyAgICBTdHJpbmcg
dmFsdWUgPSBWOERPTVN0cmluZ01hcDo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSktPml0ZW0odG9X
ZWJDb3JlU3RyaW5nKG5hbWUpKTsKKyAgICBpZiAodmFsdWUuaXNOdWxsKCkpCisgICAgICAgIHJl
dHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOworICAgIHJldHVybiB2OFN0cmluZ09yVW5k
ZWZpbmVkKHZhbHVlKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6QXJyYXk+IFY4RE9NU3RyaW5nTWFw
OjpuYW1lZFByb3BlcnR5RW51bWVyYXRvcihjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQpA
QCAtNjYsMjggKzY5LDE0IEBAIHY4OjpIYW5kbGU8djg6OkFycmF5PiBWOERPTVN0cmluZ01hcDo6
bmFtZWRQcm9wZXJ0eUVudW1lcmF0b3IoY29uc3Qgdjg6OkFjY2Vzc29yCiB2ODo6SGFuZGxlPHY4
OjpCb29sZWFuPiBWOERPTVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0eURlbGV0ZXIodjg6OkxvY2Fs
PHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCiB7CiAgICAg
SU5DX1NUQVRTKCJET00uRE9NU3RyaW5nTWFwLk5hbWVkUHJvcGVydHlEZWxldGVyIik7Ci0KLSAg
ICBpZiAoIWluZm8uSG9sZGVyKCktPkdldFJlYWxOYW1lZFByb3BlcnR5SW5Qcm90b3R5cGVDaGFp
bihuYW1lKS5Jc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiB2ODo6RmFsc2UoKTsKLSAgICBpZiAo
aW5mby5Ib2xkZXIoKS0+SGFzUmVhbE5hbWVkQ2FsbGJhY2tQcm9wZXJ0eShuYW1lKSkKLSAgICAg
ICAgcmV0dXJuIHY4OjpGYWxzZSgpOwotCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAg
VjhET01TdHJpbmdNYXA6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpLT5kZWxldGVJdGVtKHRvV2Vi
Q29yZVN0cmluZyhuYW1lKSwgZWMpOwotICAgIGlmIChlYykKLSAgICAgICAgdGhyb3dFcnJvcihl
Yyk7Ci0gICAgcmV0dXJuIHY4OjpUcnVlKCk7CisgICAgcmV0dXJuIGVjID8gdjg6OkZhbHNlKCkg
OiB2ODo6VHJ1ZSgpOwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01TdHJpbmdNYXA6
Om5hbWVkUHJvcGVydHlTZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpMb2Nh
bDx2ODo6VmFsdWU+IHZhbHVlLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQogewogICAg
IElOQ19TVEFUUygiRE9NLkRPTVN0cmluZ01hcC5OYW1lZFByb3BlcnR5U2V0dGVyIik7Ci0KLSAg
ICBpZiAoIWluZm8uSG9sZGVyKCktPkdldFJlYWxOYW1lZFByb3BlcnR5SW5Qcm90b3R5cGVDaGFp
bihuYW1lKS5Jc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiB2YWx1ZTsKLSAgICBpZiAoaW5mby5I
b2xkZXIoKS0+SGFzUmVhbE5hbWVkQ2FsbGJhY2tQcm9wZXJ0eShuYW1lKSkKLSAgICAgICAgcmV0
dXJuIHZhbHVlOwotCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgVjhET01TdHJpbmdN
YXA6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpLT5zZXRJdGVtKHRvV2ViQ29yZVN0cmluZyhuYW1l
KSwgdG9XZWJDb3JlU3RyaW5nKHZhbHVlKSwgZWMpOwogICAgIGlmIChlYykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115102</attachid>
            <date>2011-11-14 23:09:23 -0800</date>
            <delta_ts>2011-11-15 00:37:14 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-53578-20111115160921.patch</filename>
            <type>text/plain</type>
            <size>4931</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTRlMzE3ZGE0MjYwYzEw
NDI3MWQ3NzQyMDY3ZTRiZGYxNDYxY2RiYy4uOGJkZDhiZTFiZThjMGQwOGE0YzI0M2VhNGIyNjA2
OGMxMjAwYjA2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEwLTA2ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIEZpeCBpbmNvcnJl
Y3QgaGFuZGxpbmcgb2YgSmF2YVNjcmlwdCBwcm9wZXJ0aWVzIGluIERPTVN0cmluZ01hcAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1NzgKKworICAg
ICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIEZvbGxvd3MgYSBKU0MgYmVo
YXZpb3IgY2hhbmdlIGJ5IHI5Njg5My4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OERPTVN0cmluZ01hcEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVN0cmluZ01h
cDo6bmFtZWRQcm9wZXJ0eUdldHRlcik6CisgICAgICAgIFByb3BhZ2F0ZSB0byB0aGUgSmF2YVNj
cmlwdCBvYmplY3QgaWYgdGhlIERPTVN0cmluZ01hcCBvYmplY3QKKyAgICAgICAgZG9lc24ndCBo
YXZlIHRoZSByZXF1ZXN0ZWQgaXRlbS4KKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NU3RyaW5nTWFw
OjpuYW1lZFByb3BlcnR5RGVsZXRlcik6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6VjhET01T
dHJpbmdNYXA6Om5hbWVkUHJvcGVydHlTZXR0ZXIpOgorICAgICAgICBUcnkgdG8gc2V0IGEgcHJv
cGVydHkgdG8gb25seSBhIERPTVN0cmluZ01hcCBvYmplY3QuCisKIDIwMTEtMTEtMTQgIFJ5b3N1
a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IHRoZSBjaGFuZ2UgbG9n
IGVudHJ5IGZvciByNTkxOTAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAppbmRleCA3M2YzMGM0ZjcyZjkw
NTJhMjk5ZmE0ZWQxNDc5ZmQ3NDYxNjZlZjAxLi4yNzk5YWUyYzg3NGUzNGVjMzA5YWRmNjVmOGZk
NzFmYWVjNzA5ZTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKQEAgLTQ5LDcgKzQ5LDEwIEBAIHY4
OjpIYW5kbGU8djg6OkludGVnZXI+IFY4RE9NU3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5UXVlcnko
djg6OkxvY2FsPHY4OjpTdHJpbmc+CiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01TdHJpbmdN
YXA6Om5hbWVkUHJvcGVydHlHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0
IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCiB7CiAgICAgSU5DX1NUQVRTKCJET00uRE9NU3RyaW5n
TWFwLk5hbWVkUHJvcGVydHlHZXR0ZXIiKTsKLSAgICByZXR1cm4gdjhTdHJpbmdPclVuZGVmaW5l
ZChWOERPTVN0cmluZ01hcDo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSktPml0ZW0odG9XZWJDb3Jl
U3RyaW5nKG5hbWUpKSk7CisgICAgU3RyaW5nIHZhbHVlID0gVjhET01TdHJpbmdNYXA6OnRvTmF0
aXZlKGluZm8uSG9sZGVyKCkpLT5pdGVtKHRvV2ViQ29yZVN0cmluZyhuYW1lKSk7CisgICAgaWYg
KHZhbHVlLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3Io
KTsKKyAgICByZXR1cm4gdjhTdHJpbmdPclVuZGVmaW5lZCh2YWx1ZSk7CiB9CiAKIHY4OjpIYW5k
bGU8djg6OkFycmF5PiBWOERPTVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0eUVudW1lcmF0b3IoY29u
c3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKQEAgLTY2LDI4ICs2OSwxNCBAQCB2ODo6SGFuZGxl
PHY4OjpBcnJheT4gVjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVydHlFbnVtZXJhdG9yKGNvbnN0
IHY4OjpBY2Nlc3Nvcgogdjg6OkhhbmRsZTx2ODo6Qm9vbGVhbj4gVjhET01TdHJpbmdNYXA6Om5h
bWVkUHJvcGVydHlEZWxldGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6
QWNjZXNzb3JJbmZvJiBpbmZvKQogewogICAgIElOQ19TVEFUUygiRE9NLkRPTVN0cmluZ01hcC5O
YW1lZFByb3BlcnR5RGVsZXRlciIpOwotCi0gICAgaWYgKCFpbmZvLkhvbGRlcigpLT5HZXRSZWFs
TmFtZWRQcm9wZXJ0eUluUHJvdG90eXBlQ2hhaW4obmFtZSkuSXNFbXB0eSgpKQotICAgICAgICBy
ZXR1cm4gdjg6OkZhbHNlKCk7Ci0gICAgaWYgKGluZm8uSG9sZGVyKCktPkhhc1JlYWxOYW1lZENh
bGxiYWNrUHJvcGVydHkobmFtZSkpCi0gICAgICAgIHJldHVybiB2ODo6RmFsc2UoKTsKLQogICAg
IEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIFY4RE9NU3RyaW5nTWFwOjp0b05hdGl2ZShpbmZv
LkhvbGRlcigpKS0+ZGVsZXRlSXRlbSh0b1dlYkNvcmVTdHJpbmcobmFtZSksIGVjKTsKLSAgICBp
ZiAoZWMpCi0gICAgICAgIHRocm93RXJyb3IoZWMpOwotICAgIHJldHVybiB2ODo6VHJ1ZSgpOwor
ICAgIHJldHVybiBlYyA/IHY4OjpGYWxzZSgpIDogdjg6OlRydWUoKTsKIH0KIAogdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4RE9NU3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5U2V0dGVyKHY4OjpMb2Nh
bDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6
OkFjY2Vzc29ySW5mbyYgaW5mbykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5ET01TdHJpbmdNYXAu
TmFtZWRQcm9wZXJ0eVNldHRlciIpOwotCi0gICAgaWYgKCFpbmZvLkhvbGRlcigpLT5HZXRSZWFs
TmFtZWRQcm9wZXJ0eUluUHJvdG90eXBlQ2hhaW4obmFtZSkuSXNFbXB0eSgpKQotICAgICAgICBy
ZXR1cm4gdmFsdWU7Ci0gICAgaWYgKGluZm8uSG9sZGVyKCktPkhhc1JlYWxOYW1lZENhbGxiYWNr
UHJvcGVydHkobmFtZSkpCi0gICAgICAgIHJldHVybiB2YWx1ZTsKLQogICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOwogICAgIFY4RE9NU3RyaW5nTWFwOjp0b05hdGl2ZShpbmZvLkhvbGRlcigpKS0+
c2V0SXRlbSh0b1dlYkNvcmVTdHJpbmcobmFtZSksIHRvV2ViQ29yZVN0cmluZyh2YWx1ZSksIGVj
KTsKICAgICBpZiAoZWMpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWIzM2I5NDY4MDFjMDE2MjUzMWYxOGYwMTllNmM3Zjdl
ZTUyMGI2OC4uNWIzZTQ0ODFkZjAyYzE1MDM1YjRlOTA4Mzg1ZmJlMzg3OWJmNzJkOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDExLTEwLTA2ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBbVjhdIEZpeCBpbmNvcnJlY3QgaGFuZGxpbmcgb2YgSmF2YVNjcmlw
dCBwcm9wZXJ0aWVzIGluIERPTVN0cmluZ01hcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1NzgKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJh
cnRoLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
OgorICAgICAgICBSZW1vdmUgZmFpbHVyZSBleHBlY3RhdGlvbnMgb2YgZmFzdC9kb20vZGF0YXNl
dC5odG1sIGFuZAorICAgICAgICBmYXN0L2RvbS9kYXRhc2V0LXhodG1sLnhodG1sLgorCiAyMDEx
LTExLTE0ICBQZXRlciBLYXN0aW5nICA8cGthc3RpbmdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBy
MTAwMTk2IG5lZWRlZCB0byBhbHNvIHJlYmFzZWxpbmUgV2luZG93cywgbm90IGp1c3QgTGludXgu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0
aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9u
cy50eHQKaW5kZXggMTRkYjEyZjFlNDZjZGMwOGU1NDliYjVmOWU4N2Q4NjI3ZmQyMjFlYS4uYjA0
ODdiY2QyMGQwOTQxYTVlYTFiOWIwZDU1ZWNlYjJhYzA3ZmQ2YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMzY3Mywx
MCArMzY3Myw2IEBAIEJVR1dLNjg5NzAgTUFDIENQVS1DRyBSRUxFQVNFIDogc3ZnL3RleHQvc2Vs
ZWN0aW9uLWJhY2tncm91bmQtY29sb3IueGh0bWwgPSBJTUFHCiBCVUdXSzY4OTgyIDogc3ZnL2N1
c3RvbS9vdmVyc2l6ZWQtcGF0dGVybi1zY2FsZS5zdmcgPSBJTUFHRSBQQVNTCiBCVUdXSzY4OTgy
IDogc3ZnL2N1c3RvbS90cmFuc2Zvcm1lZC1wYXR0ZXJuLWNsYW1wLXN2Zy1yb290LnN2ZyA9IElN
QUdFIFBBU1MKIAotLy8gTmVlZCB0byBmb2xsb3cgYSBKU0MgYmluZGluZyBjaGFuZ2UuIFNlZSB3
ZWJraXQub3JnL2IvNTM3NTIuCi1CVUdXSzUzNTc4IDogZmFzdC9kb20vZGF0YXNldC5odG1sID0g
VEVYVAotQlVHV0s1MzU3OCA6IGZhc3QvZG9tL2RhdGFzZXQteGh0bWwueGh0bWwgPSBURVhUCi0K
IEJVR1dLNjkwNjAgV0lOIExJTlVYIDogZmFzdC9yZXBhaW50L3NlbGVjdGlvbi1jbGVhci5odG1s
ID0gSU1BR0UrVEVYVAogCiBCVUdXSzY5MDYyIFdJTiBHUFUgOiBjb21wb3NpdGluZy9zaGFkb3dz
L3NoYWRvdy1kcmF3aW5nLmh0bWwgPSBJTUFHRQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>